[Fusionforge-commits] r13036 - in trunk/src: common/docman/views lib/vendor lib/vendor/jquery-storage www/docman/scripts

Franck VILLAUME nerville at fusionforge.org
Thu Apr 7 11:49:10 CEST 2011


Author: nerville
Date: 2011-04-07 11:49:10 +0200 (Thu, 07 Apr 2011)
New Revision: 13036

Added:
   trunk/src/lib/vendor/jquery-storage/
   trunk/src/lib/vendor/jquery-storage/jquery.Storage.js
Modified:
   trunk/src/common/docman/views/listfile.php
   trunk/src/www/docman/scripts/DocManController.js
Log:
remove ugly hack and use jquery storage plugin

Modified: trunk/src/common/docman/views/listfile.php
===================================================================
--- trunk/src/common/docman/views/listfile.php	2011-04-06 22:08:42 UTC (rev 13035)
+++ trunk/src/common/docman/views/listfile.php	2011-04-07 09:49:10 UTC (rev 13036)
@@ -41,8 +41,6 @@
 	session_redirect('/docman/?group_id='.$group_id.'&warning_msg='.urlencode($return_msg));
 }
 
-$treesize = getIntFromRequest('tree');
-
 $df->setDocGroupID($dirid);
 
 /**
@@ -107,7 +105,6 @@
 		divLeft:		jQuery('#left'),
 		divHandle:		jQuery('#handle'),
 		divRight:		jQuery('#right'),
-		treesize:		'<?php echo $treesize ?>'
 	});
 });
 

Added: trunk/src/lib/vendor/jquery-storage/jquery.Storage.js
===================================================================
--- trunk/src/lib/vendor/jquery-storage/jquery.Storage.js	                        (rev 0)
+++ trunk/src/lib/vendor/jquery-storage/jquery.Storage.js	2011-04-07 09:49:10 UTC (rev 13036)
@@ -0,0 +1,68 @@
+/**
+ * Storage plugin
+ * Provides a simple interface for storing data such as user preferences.
+ * Storage is useful for saving and retreiving data from the user's browser.
+ * For newer browsers, localStorage is used.
+ * If localStorage isn't supported, then cookies are used instead.
+ * Retrievable data is limited to the same domain as this file.
+ *
+ * Usage:
+ * This plugin extends jQuery by adding itself as a static method.
+ * $.Storage - is the class name, which represents the user's data store, whether it's cookies or local storage.
+ *             <code>if ($.Storage)</code> will tell you if the plugin is loaded.
+ * $.Storage.set("name", "value") - Stores a named value in the data store.
+ * $.Storage.set({"name1":"value1", "name2":"value2", etc}) - Stores multiple name/value pairs in the data store.
+ * $.Storage.get("name") - Retrieves the value of the given name from the data store.
+ * $.Storage.remove("name") - Permanently deletes the name/value pair from the data store.
+ *
+ * @author Dave Schindler
+ *
+ * Distributed under the MIT License
+ *
+ * Copyright (c) 2010 Dave Schindler
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+(function($) {
+	// Private data
+	var isLS=typeof window.localStorage!=='undefined';
+	// Private functions
+	function wls(n,v){var c;if(typeof n==="string"&&typeof v==="string"){localStorage[n]=v;return true;}else if(typeof n==="object"&&typeof v==="undefined"){for(c in n){if(n.hasOwnProperty(c)){localStorage[c]=n[c];}}return true;}return false;}
+	function wc(n,v){var dt,e,c;dt=new Date();dt.setTime(dt.getTime()+31536000000);e="; expires="+dt.toGMTString();if(typeof n==="string"&&typeof v==="string"){document.cookie=n+"="+v+e+"; path=/";return true;}else if(typeof n==="object"&&typeof v==="undefined"){for(c in n) {if(n.hasOwnProperty(c)){document.cookie=c+"="+n[c]+e+"; path=/";}}return true;}return false;}
+	function rls(n){return localStorage[n];}
+	function rc(n){var nn, ca, i, c;nn=n+"=";ca=document.cookie.split(';');for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)===' '){c=c.substring(1,c.length);}if(c.indexOf(nn)===0){return c.substring(nn.length,c.length);}}return null;}
+	function dls(n){return delete localStorage[n];}
+	function dc(n){return wc(n,"",-1);}
+
+	/**
+	* Public API
+	* $.Storage - Represents the user's data store, whether it's cookies or local storage.
+	* $.Storage.set("name", "value") - Stores a named value in the data store.
+	* $.Storage.set({"name1":"value1", "name2":"value2", etc}) - Stores multiple name/value pairs in the data store.
+	* $.Storage.get("name") - Retrieves the value of the given name from the data store.
+	* $.Storage.remove("name") - Permanently deletes the name/value pair from the data store.
+	*/
+	$.extend({
+		Storage: {
+			set: isLS ? wls : wc,
+			get: isLS ? rls : rc,
+			remove: isLS ? dls :dc
+		}
+	});
+})(jQuery);
\ No newline at end of file

Modified: trunk/src/www/docman/scripts/DocManController.js
===================================================================
--- trunk/src/www/docman/scripts/DocManController.js	2011-04-06 22:08:42 UTC (rev 13035)
+++ trunk/src/www/docman/scripts/DocManController.js	2011-04-07 09:49:10 UTC (rev 13036)
@@ -78,13 +78,7 @@
 				if (isDragging) {
 					params.divLeft.css('width', e.pageX);
 					params.divRight.css('width', w - e.pageX);
-					for (var i = 0; i< jQuery('.ThemeXPFolderText > a').length; i++) {
-						if (!jQuery('.ThemeXPFolderText > a')[i]['href'].match('&tree')) {
-							jQuery('.ThemeXPFolderText > a')[i]['href'] = jQuery('.ThemeXPFolderText > a')[i]['href'] + '&tree=' + params.divLeft.width();
-						} else {
-							jQuery('.ThemeXPFolderText > a')[i]['href'] = jQuery('.ThemeXPFolderText > a')[i]['href'].replace(/&tree=[0-9]*$/,'&tree='+params.divLeft.width())
-						}
-					}
+					jQuery.Storage.set("treesize",""+params.divLeft.width());
 				}
 			}
 		});
@@ -97,9 +91,9 @@
 		} else {
 			this.params.divHandle.css('height', this.params.divRight.height());
 		}
-		if (this.params.treesize != 0) {
-			this.params.divLeft.css('width', parseInt(this.params.treesize));
-		}
+ 		if (jQuery.Storage.get("treesize") != 0) {
+ 			this.params.divLeft.css('width', parseInt(jQuery.Storage.get("treesize")));
+ 		}
 	},
 
 	dragging: function() {




More information about the Fusionforge-commits mailing list