Lightbox.prototype.disableDefaultDragging = function() {};
}
+Lightbox.prototype.getSelectedSlides = function() {
+ var i, e, slide;
+ var slides = [];
+ for (i=0 ; i<this.form.elements.length ; i++) {
+ e = this.form.elements[i];
+ if (e.type === 'checkbox' && e.checked) {
+ slide = e.parentNode.parentNode;
+ slides.push(slide);
+ }
+ }
+ return slides;
+};
Lightbox.prototype.onDragStart = function(evt) {
var target = getTargetedObject(evt);
this.dragged = target;
+ this.draggedSelection = this.getSelectedSlides();
+ if (this.draggedSelection.indexOf(target) === -1) {
+ this.draggedSelection.push(target);
+ }
evt.dataTransfer.setData('text', '');
- target.style.opacity = 0;
- target.style.width = 0;
+ var i, slide;
+ for(i=0 ; i<this.draggedSelection.length ; i++) {
+ slide = this.draggedSelection[i];
+ slide.style.opacity = 0;
+ slide.style.width = 0;
+ }
};
Lightbox.prototype.onDragOver = function(evt) {
var target = getTargetedObject(evt);
+ if (!target) {return;}
while(target.className !== 'slide') {
target = target.parentNode;
}
};
Lightbox.prototype.onDragEnd = function(evt) {
- this.dragged.style.opacity = 1;
- this.dragged.style.width = '';
if (this.previousDragOver) {
this.previousDragOver.classList.remove('dragover');
+ var i, slide;
+ for(i=this.draggedSelection.length -1 ; i>=0 ; i--) {
+ console.log(i);
+ slide = this.draggedSelection[i].cloneNode(true);
+ this.grid.insertBefore(slide, this.previousDragOver.nextSibling);
+ slide.style.opacity = 1;
+ slide.style.width = '';
+ }
}
- this.previousDragOver = this.dragged = undefined;
+ this.draggedSelection = this.previousDragOver = this.dragged = undefined;
};
}());
\ No newline at end of file