Now dynamically generates menu panels based on HTML! =o)
[htsworkflow.git] / www / js / htsw.js
index 062ff2a3e66bbd89195f8415c022da60ba49d019..d51ef2c9be15c7d393c03b6eba41be5a2fc36246 100644 (file)
@@ -17,60 +17,35 @@ var quick_msg = function(msg)
 }
 
 var goto_url = function(www_url)
-    {
-        //quick_msg(www_url);
-        window.location = www_url; 
-    }
+{
+    window.location = www_url; 
+}
 
 $(document).ready(function(){
     
-    var panel_freezers = new Ext.Panel({
-        frame: true,
-        title: 'Freezers',
-        //collapsible: true,
-        titleCollapse: true,
-        //collapsed: true,
-        stateful: true,
-        stateId: 'freezer_panel_state',
-        contentEl: 'freezer_menu',
-        stateEvents: ['collapse', 'expand']
-    });
-    
-    var panel_containers = new Ext.Panel({
-        frame: true,
-        title: 'Containers',
-        //collapsible: true,
-        titleCollapse: true,
-        //collapsed: true,
-        stateful: true,
-        stateId: 'container_panel_state',
-        contentEl: 'container_menu',
-        stateEvents: ['collapse', 'expand']
-    });
-    
-    var panel_samples = new Ext.Panel({
-        frame: true,
-        title: 'Samples',
-        //collapsible: true,
-        titleCollapse: true,
-        //collapsed: true,
-        stateful: true,
-        stateId: 'sample_panel_state',
-        contentEl: 'sample_menu',
-        stateEvents: ['collapse', 'expand']
-    });
-    
-    /*var panel_settings = new Ext.Panel({
-        frame: true,
-        title: 'Settings',
-        //collapsible: true,
-        titleCollapse: true,
-        //collapsed: true,
-        stateful: true,
-        stateId: 'settings_panel_state',
-        contentEl: 'settings_menu',
-        stateEvents: ['collapse', 'expand']
-    });*/
+    //----------------------------------------
+    // Dynamically Generate Panels from HTML!
+    var create_dynamic_panels = function(){
+        var wp_items = Ext.fly('west_panel_items');
+        var ul_items = wp_items.query('ul');
+        
+        var dynamic_panels = new Array();
+        Ext.each(ul_items, function(ul) {
+            var panel_obj = new Ext.Panel({
+                frame: true,
+                title: ul.id,
+                //collapsible: true,
+                //titleCollapse: true,
+                //collapsed: true,
+                //stateful: true,
+                //stateId: 'freezer_panel_state',
+                contentEl: ul
+                //stateEvents: ['collapse', 'expand']
+            });
+            dynamic_panels.push(panel_obj);
+        });
+        return dynamic_panels;
+    }
     
     var panel_bcmagic = new Ext.Panel({
         //title: 'BC Magic',
@@ -96,10 +71,13 @@ $(document).ready(function(){
             align: 'stretch',
             pack: 'start'
         },
-       items: [panel_freezers, panel_containers, panel_samples, /*panel_settings,*/ panel_bcmagic]
+        // Add dynamically generated panels from html and include barcode magic
+       items: create_dynamic_panels().concat([panel_bcmagic])
     });
     
-    
+    //-------------------------------
+    // Main Viewport Setup
+    //-------------------------------
     var mainBorderPanel = new Ext.Viewport({
        layout: 'border',
        items: [{