You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2009/12/11 11:56:16 UTC

svn commit: r889569 - in /felix/trunk/webconsole: LICENSE.cookies NOTICE src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java src/main/resources/res/ui/bundles.js src/main/resources/res/ui/jquery.cookies-2.1.0.min.js

Author: cziegeler
Date: Fri Dec 11 10:56:15 2009
New Revision: 889569

URL: http://svn.apache.org/viewvc?rev=889569&view=rev
Log:
FELIX-1931 : Keep sort order of bundle list across page reloads (eg. in a cookie)

Added:
    felix/trunk/webconsole/LICENSE.cookies
    felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js   (with props)
Modified:
    felix/trunk/webconsole/NOTICE
    felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java
    felix/trunk/webconsole/src/main/resources/res/ui/bundles.js

Added: felix/trunk/webconsole/LICENSE.cookies
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/LICENSE.cookies?rev=889569&view=auto
==============================================================================
--- felix/trunk/webconsole/LICENSE.cookies (added)
+++ felix/trunk/webconsole/LICENSE.cookies Fri Dec 11 10:56:15 2009
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2005 - 2009, James Auldridge
+
+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.

Modified: felix/trunk/webconsole/NOTICE
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/NOTICE?rev=889569&r1=889568&r2=889569&view=diff
==============================================================================
--- felix/trunk/webconsole/NOTICE (original)
+++ felix/trunk/webconsole/NOTICE Fri Dec 11 10:56:15 2009
@@ -38,6 +38,10 @@
 Copyright (c) 2009 Tanner Hildebrand
 Licensed under Tanner Hildebrand's License
 
+This product includes software from http://code.google.com/p/cookies/
+Copyright (c) 2005 - 2009, James Auldridge
+Licensed under the MIT License
+
 
 II. Used Software
 

Modified: felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java?rev=889569&r1=889568&r2=889569&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java (original)
+++ felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java Fri Dec 11 10:56:15 2009
@@ -620,6 +620,7 @@
         + "    </script>"
 
         + "    <script src=\"{2}/res/ui/jquery-1.3.2.min.js\" language=\"JavaScript\"></script>"
+        + "    <script src=\"{2}/res/ui/jquery.cookies-2.1.0.min.js\" language=\"JavaScript\"></script>"
         + "    <script src=\"{2}/res/ui/jquery.tablesorter-2.0.3.min.js\" language=\"JavaScript\"></script>"
 
         + "    <script src=\"{2}/res/ui/admin.js\" language=\"JavaScript\"></script>"

Modified: felix/trunk/webconsole/src/main/resources/res/ui/bundles.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/resources/res/ui/bundles.js?rev=889569&r1=889568&r2=889569&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/resources/res/ui/bundles.js (original)
+++ felix/trunk/webconsole/src/main/resources/res/ui/bundles.js Fri Dec 11 10:56:15 2009
@@ -243,13 +243,20 @@
             }
             return node.innerHTML;
         };
+        // check for cookie
+        var cv = $.cookies.get("webconsolebundlelist");
+        var lo = (cv ? cv.split(",") : [1,0]);
         $("#plugin_table").tablesorter({
             headers: {
         	    0: { sorter:"digit"},
                 5: { sorter: false }
             },
-            sortList: [[1,0]],
+            sortList: [cv],
             textExtraction:extractMethod 
         });
+        $("#plugin_table").bind("sortEnd", function() {
+        	var table = $("#plugin_table").eq(0).attr("config");
+        	$.cookies.set("webconsolebundlelist", table.sortList.toString());
+        });
     });
 }

Added: felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js?rev=889569&view=auto
==============================================================================
--- felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js (added)
+++ felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js Fri Dec 11 10:56:15 2009
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2005 - 2009, James Auldridge
+ * All rights reserved.
+ *
+ * Licensed under the BSD, MIT, and GPL (your choice!) Licenses:
+ *  http://code.google.com/p/cookies/wiki/License
+ *
+ */
+var jaaulde=window.jaaulde||{};jaaulde.utils=jaaulde.utils||{};jaaulde.utils.cookies=(function()
+{var cookies=[];var defaultOptions={hoursToLive:null,path:'/',domain:null,secure:false};var resolveOptions=function(options)
+{var returnValue;if(typeof options!=='object'||options===null)
+{returnValue=defaultOptions;}
+else
+{returnValue={hoursToLive:(typeof options.hoursToLive==='number'&&options.hoursToLive!==0?options.hoursToLive:defaultOptions.hoursToLive),path:(typeof options.path==='string'&&options.path!==''?options.path:defaultOptions.path),domain:(typeof options.domain==='string'&&options.domain!==''?options.domain:defaultOptions.domain),secure:(typeof options.secure==='boolean'&&options.secure?options.secure:defaultOptions.secure)};}
+return returnValue;};var expiresGMTString=function(hoursToLive)
+{var dateObject=new Date();dateObject.setTime(dateObject.getTime()+(hoursToLive*60*60*1000));return dateObject.toGMTString();};var assembleOptionsString=function(options)
+{options=resolveOptions(options);return((typeof options.hoursToLive==='number'?'; expires='+expiresGMTString(options.hoursToLive):'')+'; path='+options.path+
+(typeof options.domain==='string'?'; domain='+options.domain:'')+
+(options.secure===true?'; secure':''));};var splitCookies=function()
+{cookies={};var pair,name,value,separated=document.cookie.split(';');for(var i=0;i<separated.length;i=i+1)
+{pair=separated[i].split('=');name=pair[0].replace(/^\s*/,'').replace(/\s*$/,'');value=decodeURIComponent(pair[1]);cookies[name]=value;}
+return cookies;};var constructor=function(){};constructor.prototype.get=function(cookieName)
+{var returnValue;splitCookies();if(typeof cookieName==='string')
+{returnValue=(typeof cookies[cookieName]!=='undefined')?cookies[cookieName]:null;}
+else if(typeof cookieName==='object'&&cookieName!==null)
+{returnValue={};for(var item in cookieName)
+{if(typeof cookies[cookieName[item]]!=='undefined')
+{returnValue[cookieName[item]]=cookies[cookieName[item]];}
+else
+{returnValue[cookieName[item]]=null;}}}
+else
+{returnValue=cookies;}
+return returnValue;};constructor.prototype.filter=function(cookieNameRegExp)
+{var returnValue={};splitCookies();if(typeof cookieNameRegExp==='string')
+{cookieNameRegExp=new RegExp(cookieNameRegExp);}
+for(var cookieName in cookies)
+{if(cookieName.match(cookieNameRegExp))
+{returnValue[cookieName]=cookies[cookieName];}}
+return returnValue;};constructor.prototype.set=function(cookieName,value,options)
+{if(typeof value==='undefined'||value===null)
+{if(typeof options!=='object'||options===null)
+{options={};}
+value='';options.hoursToLive=-8760;}
+var optionsString=assembleOptionsString(options);document.cookie=cookieName+'='+encodeURIComponent(value)+optionsString;};constructor.prototype.del=function(cookieName,options)
+{var allCookies={};if(typeof options!=='object'||options===null)
+{options={};}
+if(typeof cookieName==='boolean'&&cookieName===true)
+{allCookies=this.get();}
+else if(typeof cookieName==='string')
+{allCookies[cookieName]=true;}
+for(var name in allCookies)
+{if(typeof name==='string'&&name!=='')
+{this.set(name,null,options);}}};constructor.prototype.test=function()
+{var returnValue=false,testName='cT',testValue='data';this.set(testName,testValue);if(this.get(testName)===testValue)
+{this.del(testName);returnValue=true;}
+return returnValue;};constructor.prototype.setOptions=function(options)
+{if(typeof options!=='object')
+{options=null;}
+defaultOptions=resolveOptions(options);};return new constructor();})();(function()
+{if(window.jQuery)
+{(function($)
+{$.cookies=jaaulde.utils.cookies;var extensions={cookify:function(options)
+{return this.each(function()
+{var i,resolvedName=false,resolvedValue=false,name='',value='',nameAttrs=['name','id'],nodeName,inputType;for(i in nameAttrs)
+{if(!isNaN(i))
+{name=$(this).attr(nameAttrs[i]);if(typeof name==='string'&&name!=='')
+{resolvedName=true;break;}}}
+if(resolvedName)
+{nodeName=this.nodeName.toLowerCase();if(nodeName!=='input'&&nodeName!=='textarea'&&nodeName!=='select'&&nodeName!=='img')
+{value=$(this).html();resolvedValue=true;}
+else
+{inputType=$(this).attr('type');if(typeof inputType==='string'&&inputType!=='')
+{inputType=inputType.toLowerCase();}
+if(inputType!=='radio'&&inputType!=='checkbox')
+{value=$(this).val();resolvedValue=true;}}
+if(resolvedValue)
+{if(typeof value!=='string'||value==='')
+{value=null;}
+$.cookies.set(name,value,options);}}});},cookieFill:function()
+{return this.each(function()
+{var i,resolvedName=false,name='',value,nameAttrs=['name','id'],iteration=0,nodeName;for(i in nameAttrs)
+{if(!isNaN(i))
+{name=$(this).attr(nameAttrs[i]);if(typeof name==='string'&&name!=='')
+{resolvedName=true;break;}}}
+if(resolvedName)
+{value=$.cookies.get(name);if(value!==null)
+{nodeName=this.nodeName.toLowerCase();if(nodeName==='input'||nodeName==='textarea'||nodeName==='select')
+{$(this).val(value);}
+else
+{$(this).html(value);}}}
+iteration=0;});},cookieBind:function(options)
+{return this.each(function()
+{$(this).cookieFill().change(function()
+{$(this).cookify(options);});});}};$.each(extensions,function(i)
+{$.fn[i]=this;});})(window.jQuery);}})();
\ No newline at end of file

Propchange: felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: felix/trunk/webconsole/src/main/resources/res/ui/jquery.cookies-2.1.0.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain