From e920fb0c2489e797d1a062a210c34545a62f98b8 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Benoi=CC=82t=20Pin?= <benoit.pin@gmail.com>
Date: Sun, 8 Dec 2013 21:59:09 +0100
Subject: [PATCH] =?utf8?q?L=E2=80=99objet=20FolderDDropControler=20doit=20?=
 =?utf8?q?=C3=AAtre=20instanci=C3=A9=20=C3=A0=20chaque=20fois=20(m=C3=AAme?=
 =?utf8?q?=20quand=20le=20crit=C3=A8re=20de=20tri=20n=E2=80=99est=20pas=20?=
 =?utf8?q?l=E2=80=99ordre)=20car=20il=20g=C3=A8re=20d=C3=A9sormais=20la=20?=
 =?utf8?q?s=C3=A9lection=20de=20cases=20=C3=A0=20cocher.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 skins/ajax_scripts/folder_contents_script.js | 12 ++++----
 skins/photo_theme/folder_contents_macros.pt  | 30 +++++++-------------
 2 files changed, 18 insertions(+), 24 deletions(-)

diff --git a/skins/ajax_scripts/folder_contents_script.js b/skins/ajax_scripts/folder_contents_script.js
index 7edda7d..45ec76a 100644
--- a/skins/ajax_scripts/folder_contents_script.js
+++ b/skins/ajax_scripts/folder_contents_script.js
@@ -18,7 +18,7 @@ function getTargetRow(evt){
 	return target;
 }
 
-FolderDDropControler = function(listing, firstItemPos) {
+FolderDDropControler = function(listing, orderable, firstItemPos) {
 	this.folderUrl = document.getElementById("FolderUrl").innerHTML;
 	this.targetRow = null;
 	this.lastOverPosition = null;
@@ -29,10 +29,12 @@ FolderDDropControler = function(listing, firstItemPos) {
 	this._updatePositions();
 	this.lastCBChecked = undefined;
 	var thisControler = this;
-	this.listing.onmousedown	= function(evt) {thisControler.drag(evt);};
-	this.listing.onmouseover	= function(evt) {thisControler.moveRow(evt);};
-	this.listing.onmouseup		= function(evt) {thisControler.drop(evt);};
-	addListener(this.listing, 'click', function(evt) {thisControler.disableClickAfterDrop(evt);});
+	if (orderable) {
+		this.listing.onmousedown	= function(evt) {thisControler.drag(evt);};
+		this.listing.onmouseover	= function(evt) {thisControler.moveRow(evt);};
+		this.listing.onmouseup		= function(evt) {thisControler.drop(evt);};
+		addListener(this.listing, 'click', function(evt) {thisControler.disableClickAfterDrop(evt);});
+	}
 	addListener(this.listing, 'click', function(evt) {thisControler.selectCBRange(evt);});
 	
 	if (browser.isIE) {
diff --git a/skins/photo_theme/folder_contents_macros.pt b/skins/photo_theme/folder_contents_macros.pt
index 042dfbc..a9d046a 100644
--- a/skins/photo_theme/folder_contents_macros.pt
+++ b/skins/photo_theme/folder_contents_macros.pt
@@ -75,37 +75,29 @@
     </div>
     <script type="text/javascript">
 		(function(){
-			// variables for drag-and-drop ordered support
-			var ddEnabled = false
-			try {
-				var firstItemPos = parseInt(document.getElementById("FirstItemPos").innerHTML);
-				ddEnabled = true;
-			}
-			catch (e) {}
-
-			var topNavBatchBar		= document.getElementById("topNavBatchBar");
-			var bottomNavBatchBar	= document.getElementById("bottomNavBatchBar");
+			// ordering / selecting
+			var firsItemPosElement = document.getElementById('FirstItemPos');
 			var listing = document.getElementById("FolderListingBody");
-
-			if (ddEnabled) {
-				var fDDcontroler = new FolderDDropControler(listing, firstItemPos);
-				var topNavBatchBar		= document.getElementById("topNavBatchBar");
-				var bottomNavBatchBar	= document.getElementById("bottomNavBatchBar");
+			var orderable = firsItemPosElement ? true : false;
+			var firstItemPos = orderable ? parseInt(firsItemPosElement.innerHTML, 10) : 1;
+			var fDDcontroler = new FolderDDropControler(listing, orderable, firstItemPos);
+			var topNavBatchBar, bottomNavBatchBar;
+			if (orderable) {
+				topNavBatchBar = document.getElementById("topNavBatchBar");
+				bottomNavBatchBar = document.getElementById("bottomNavBatchBar");
 				if (topNavBatchBar && bottomNavBatchBar) {
 					new DropTarget(topNavBatchBar, fDDcontroler);
 					new DropTarget(bottomNavBatchBar, fDDcontroler);
 				}
 			}
-
-
 			addListener(document.getElementById("FolderListingHeader"), "click", loadListing);
 			if (topNavBatchBar && bottomNavBatchBar) {
 				addListener(topNavBatchBar, "click", loadListing);
 				addListener(bottomNavBatchBar, "click", loadListing);
 			}
-			
+			// upload by drag and drop
 			var uploadUrl = absolute_url() + '/put_upload';
-      new DDFolderUploader(document.getElementById('ForematterCell'), uploadUrl, listing);
+			new DDFolderUploader(document.getElementById('ForematterCell'), uploadUrl, listing);
 
 		}());
     </script>
-- 
2.20.1