From b5ab6830421b7147eac005470f50d0cb44080daf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= Date: Sun, 31 Aug 2014 20:29:38 +0200 Subject: [PATCH] =?utf8?q?Callback=20ajax=20apr=C3=A8s=20d=C3=A9placement.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- skins/photo_lightbox_viewer.js | 50 ++++++++++++++++++++++++++++------ skins/portfolio_move_photos.py | 17 ++++++++++++ 2 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 skins/portfolio_move_photos.py diff --git a/skins/photo_lightbox_viewer.js b/skins/photo_lightbox_viewer.js index cffa157..f4c4498 100644 --- a/skins/photo_lightbox_viewer.js +++ b/skins/photo_lightbox_viewer.js @@ -490,25 +490,59 @@ Lightbox.prototype.onDragOver = function(evt) { if (target !== this.dragged) { target.classList.add('dragover'); } - if (this.previousDragOver && this.previousDragOver !== target) { - this.previousDragOver.classList.remove('dragover'); + if (this.lastDropTarget && this.lastDropTarget !== target) { + this.lastDropTarget.classList.remove('dragover'); } - this.previousDragOver = target; + this.lastDropTarget = target; }; Lightbox.prototype.onDragEnd = function(evt) { - if (this.previousDragOver) { - this.previousDragOver.classList.remove('dragover'); + if (this.lastDropTarget) { + this.lastDropTarget.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); + this.grid.insertBefore(slide, this.lastDropTarget.nextSibling); slide.style.opacity = 1; slide.style.width = ''; } + this.moveSelectedPhotos(); } - this.draggedSelection = this.previousDragOver = this.dragged = undefined; + // this.draggedSelection = this.lastDropTarget + this.dragged = undefined; +}; + +Lightbox.prototype.moveSelectedPhotos = function() { + var req = new XMLHttpRequest(); + self = this; + req.onreadystatechange = function() { + switch (req.readyState) { + case 1 : + showProgressImage(); + break; + case 4 : + hideProgressImage(); + if (req.status === 200) { + console.log(req.responseText); + // self._refreshGrid(req); + } + break; + } + }; + + var url = absolute_url() + '/portfolio_move_photos'; + req.open("POST", url, true); + req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); + var query = 'container_type=' + this.container_type; + var i; + for (i=0 ; i