Now dynamically generates menu panels based on HTML! =o)
authorBrandon King <kingb@caltech.edu>
Fri, 19 Jun 2009 00:44:54 +0000 (00:44 +0000)
committerBrandon King <kingb@caltech.edu>
Fri, 19 Jun 2009 00:44:54 +0000 (00:44 +0000)
templates/app.html
www/js/htsw.js

index cc7bd2953f78d4e26ebaaf53c0d310246bbf865e..a673869e9801a2cac85bf0a08a87c29aaaf2f404 100644 (file)
     <div id="header">
         <h1>HTSWorkflow - Sample Tracker</h1>
     </div>
-    <ul id="freezer_menu" class="x-hidden">
+    
+    <!-- West Dynamic Panels -->
+    <div id="west_panel_items" class="x-hidden">
+        <ul id="Freezers" class="x-hidden">
+                <li>
+                    <img src="/static/images/s.gif" class="icon-show-all" />
+                    <a href="{% url samplebc.samples.views.freezer_index %}">Index</a><br />
+                </li>
+                <li>
+                    <img src="/static/images/s.gif" class="icon-show-all" />
+                    <a href="{% url samplebc.samples.views.freezer_add %}">Add</a><br />
+                </li>
+        </ul>
+        <ul id="Containers" class="x-hidden">
+            <li>
+                <img src="/static/images/s.gif" class="icon-show-all" />
+                <a href="{% url samplebc.samples.views.container_index %}">Index</a>
+            </li>
+            <li>
+                <img src="/static/images/s.gif" class="icon-show-all" />
+                <a href="{% url samplebc.samples.views.container_add %}">Add</a>
+            </li>
+        </ul>
+        <ul id="Samples" class="x-hidden">
+            <li>
+                <img src="/static/images/s.gif" class="icon-show-all" />
+                <a href="{% url samplebc.samples.views.sample_index %}">Index</a>
+            </li>
             <li>
                 <img src="/static/images/s.gif" class="icon-show-all" />
-                <a href="{% url samplebc.samples.views.freezer_index %}">Index</a><br />
+                <a href="{% url samplebc.samples.views.sample_homeless %}">Homeless</a>
             </li>
             <li>
                 <img src="/static/images/s.gif" class="icon-show-all" />
-                <a href="{% url samplebc.samples.views.freezer_add %}">Add</a><br />
+                <a href="{% url samplebc.samples.views.sample_add %}">Add</a>
             </li>
-    </ul>
-    <ul id="container_menu" class="x-hidden">
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.container_index %}">Index</a>
-        </li>
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.container_add %}">Add</a>
-        </li>
-    </ul>
-    <ul id="sample_menu" class="x-hidden">
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.sample_index %}">Index</a>
-        </li>
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.sample_homeless %}">Homeless</a>
-        </li>
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.sample_add %}">Add</a>
-        </li>
-    </ul>
-    <ul id="settings_menu" class="x-hidden">
-        {% if user.is_staff %}
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="/admin/">Admin</a>
-        </li>
-        {% endif %}
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url samplebc.samples.views.user_profile %}">Profile</a>
-        </li>
-        <li>
-            <img src="/static/images/s.gif" class="icon-show-all" />
-            <a href="{% url django.contrib.auth.views.password_change %}">Change_PW</a>
-        </li>
-    </ul>
+        </ul>
+    </div>
+    
+    <!-- Barcode Magic Div -->
     <div id="bcmagic_div" class="x-hidden">
         {% include "magic.html" %}
     </div>
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: [{