added add/remove css functions to util class (didn't see such a beast in dojo). ...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 30 Oct 2008 13:49:34 +0000 (13:49 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 30 Oct 2008 13:49:34 +0000 (13:49 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@10984 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/Util.js
Open-ILS/web/vandelay/inc/toolbar.xml
Open-ILS/web/vandelay/vandelay.css
Open-ILS/web/vandelay/vandelay.js

index 904caa5..83ec5af 100644 (file)
@@ -118,4 +118,49 @@ if(!dojo._hasResource["openils.Util"]) {
         return val;
     };
 
+
+    /**
+     * Given a DOM node, adds the provided class to the node 
+     */
+    openils.Util.addCSSClass = function(node, cls) {
+        if(!(node && cls)) return; 
+        var className = node.className;
+
+        if(!className) {
+            node.className = cls;
+            return;
+        }
+
+        var classList = className.split(/\s+/);
+        var newName = '';
+            
+        for (var i = 0; i < classList.length; i++) {
+            if(classList[i] == cls) return;
+            if(classList[i] != null)
+                newName += classList[i] + " ";
+        }
+
+        newName += cls;
+        node.className = newName;
+    },
+
+    /**
+     * Given a DOM node, removes the provided class from the CSS class 
+     * name list.
+     */
+    openils.Util.removeCSSClass = function(node, cls) {
+        if(!(node && cls && node.className)) return;
+        var classList = node.className.split(/\s+/);
+        var className = '';
+        for(var i = 0; i < classList.length; i++) {
+            if (classList[i] != cls) {
+                if(i == 0)
+                    className = classList[i];
+                else 
+                    className += ' ' + classList[i];
+            }
+        }
+        node.className = className;
+    }
+
 }
index ad067d8..6bf3b39 100644 (file)
@@ -1,11 +1,10 @@
 <div dojoType="dijit.Toolbar" id='toolbar'>
-    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" id='vl-menu-marc-export'
         onclick="displayGlobalDiv('vl-marc-export-div');" showLabel="true">&vandelay.export.records;</div>
-    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"  id='vl-menu-marc-upload'
         onclick="displayGlobalDiv('vl-marc-upload-div');" showLabel="true">&vandelay.import.records;</div>
-    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"  id='vl-menu-queue-select'
         onclick="vlShowQueueSelect();" showLabel="true">&vandelay.inspect.queue;</div>
-    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"  id='vl-menu-attr-editor'
         onclick="vlShowAttrEditor();" showLabel="true">&vandelay.edit.attributes;</div>
 </div>
-
index 27831fb..17c2491 100644 (file)
@@ -33,3 +33,4 @@ table.dijitTooltipTable { border-collapse: separate; }
 
 .export_tr_border td { border-top: 1px solid #808080; }
 .nav_row_div {padding:1px; text-align:center; }
+.toolbar_selected { border: 2px dashed #808080; text-decoration:underline; font-weight:bold;}
index 14b0636..8efa049 100644 (file)
@@ -87,6 +87,7 @@ function vlInit() {
 
     openils.Util.registerEnterHandler(
         vlQueueDisplayPage.domNode, function(){retrieveQueuedRecords();});
+    openils.Util.addCSSClass(dojo.byId('vl-menu-marc-upload'), 'toolbar_selected');
 
     function checkInitDone() {
         initCount++;
@@ -207,6 +208,26 @@ function displayGlobalDiv(id) {
         }
     }
     dojo.style(dojo.byId(id),'display','block');
+
+    openils.Util.removeCSSClass(dojo.byId('vl-menu-marc-export'), 'toolbar_selected');
+    openils.Util.removeCSSClass(dojo.byId('vl-menu-marc-upload'), 'toolbar_selected');
+    openils.Util.removeCSSClass(dojo.byId('vl-menu-queue-select'), 'toolbar_selected');
+    openils.Util.removeCSSClass(dojo.byId('vl-menu-attr-editor'), 'toolbar_selected');
+
+    switch(id) {
+        case 'vl-marc-export-div':
+            openils.Util.addCSSClass(dojo.byId('vl-menu-marc-export'), 'toolbar_selected');
+            break;
+        case 'vl-marc-upload-div':
+            openils.Util.addCSSClass(dojo.byId('vl-menu-marc-upload'), 'toolbar_selected');
+            break;
+        case 'vl-queue-select-div':
+            openils.Util.addCSSClass(dojo.byId('vl-menu-queue-select'), 'toolbar_selected');
+            break;
+        case 'vl-attr-editor-div':
+            openils.Util.addCSSClass(dojo.byId('vl-menu-attr-editor'), 'toolbar_selected');
+            break;
+    }
 }
 
 function runStartupCommands() {