Author: tveronezi
Date: Tue Jun  5 23:20:28 2012
New Revision: 1346657

URL: http://svn.apache.org/viewvc?rev=1346657&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-205
preparing menu navigation

Added:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
      - copied, changed from r1346632, 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/El.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/I18N.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationToolbar.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging_index.html

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
 Tue Jun  5 23:20:28 2012
@@ -27,11 +27,11 @@ TOMEE.ApplicationController = function (
     //The views communicate with the controller (or other components) through 
this object
     var channel = TOMEE.ApplicationChannel({});
 
-    var view = TOMEE.ApplicationView({
+    var homeView = TOMEE.ApplicationViewHome({
         channel:channel
     });
 
-    view.loadJndi([
+    homeView.loadJndi([
         { text:TOMEE.Sequence.next('a'), children:[] },
         { text:TOMEE.Sequence.next('a') },
         { text:TOMEE.Sequence.next('a') },
@@ -59,7 +59,7 @@ TOMEE.ApplicationController = function (
         ] }
     ]);
 
-    view.loadSavedObjects([
+    homeView.loadSavedObjects([
         { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value') 
},
         { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value') 
},
         { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value') 
},
@@ -113,7 +113,23 @@ TOMEE.ApplicationController = function (
 
     channel.bind('jndi_leaf_click', function (params) {
         alert('name: ' + params.bean.text);
+    });
 
+    var view = TOMEE.ApplicationView({
+        channel:channel,
+        groups: {
+            'home': homeView,
+            'apps': {
+                getEl: function() {
+                    return $('<div></div>')
+                }
+            },
+            'log': {
+                getEl: function() {
+                    return $('<div></div>')
+                }
+            }
+        }
     });
 
     return {

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/El.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/El.js?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/El.js 
(original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/El.js 
Tue Jun  5 23:20:28 2012
@@ -28,10 +28,19 @@ TOMEE.el = (function () {
     var mountEl = function (elCfg, elMap) {
         var el = $('<' + elCfg.tag + '></' + elCfg.tag + '>');
 
-        var attrs = elCfg.attributes;
-        for(var key in attrs) {
-            el.attr(key, attrs[key]);
-        }
+        (function() {
+            var attrs = elCfg.attributes;
+            for(var key in attrs) {
+                el.attr(key, attrs[key]);
+            }
+        })();
+
+        (function() {
+            var listeners = elCfg.listeners;
+            for(var key in listeners) {
+                el.bind(key, listeners[key]);
+            }
+        })();
 
         if(elCfg.cls) {
             el.addClass(elCfg.cls);

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/I18N.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/I18N.js?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/I18N.js 
(original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/I18N.js 
Tue Jun  5 23:20:28 2012
@@ -27,6 +27,7 @@ TOMEE.I18N = (function () {
         'application.guest':'Guest',
 
         'application.home':'Home',
+        'application.apps':'Apps',
         'application.log':'Log',
 
         'application.jdni': 'Jndi',

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationToolbar.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationToolbar.js?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationToolbar.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationToolbar.js
 Tue Jun  5 23:20:28 2012
@@ -115,7 +115,14 @@ TOMEE.ApplicationToolbar = function (cfg
                                                         attributes:{
                                                             href:'#'
                                                         },
-                                                        
html:TOMEE.I18N.get('application.home')
+                                                        
html:TOMEE.I18N.get('application.home'),
+                                                        listeners: {
+                                                            'click': function 
(event) {
+                                                                
channel.send('toolbar.click', {
+                                                                    tab: 'home'
+                                                                });
+                                                            }
+                                                        }
                                                     }
                                                 ]
                                             },
@@ -127,7 +134,33 @@ TOMEE.ApplicationToolbar = function (cfg
                                                         attributes:{
                                                             href:'#'
                                                         },
-                                                        
html:TOMEE.I18N.get('application.log')
+                                                        
html:TOMEE.I18N.get('application.apps'),
+                                                        listeners: {
+                                                            'click': function 
(event) {
+                                                                
channel.send('toolbar.click', {
+                                                                    tab: 'apps'
+                                                                });
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                tag:'li',
+                                                children:[
+                                                    {
+                                                        tag:'a',
+                                                        attributes:{
+                                                            href:'#'
+                                                        },
+                                                        
html:TOMEE.I18N.get('application.log'),
+                                                        listeners: {
+                                                            'click': function 
(event) {
+                                                                
channel.send('toolbar.click', {
+                                                                    tab: 'log'
+                                                                });
+                                                            }
+                                                        }
                                                     }
                                                 ]
                                             }

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
 Tue Jun  5 23:20:28 2012
@@ -20,177 +20,63 @@ TOMEE.ApplicationView = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
+    var groups = cfg.groups;
 
     var toolbar = TOMEE.ApplicationToolbar({
-        channel: channel
+        channel:channel
+    });
+
+    var currentTab = 'home';
+    channel.bind('toolbar.click', function (params) {
+        if (currentTab === params.tab) {
+            return;
+        }
+        currentTab = params.tab;
+        showTab(currentTab);
     });
 
     $('body').append(toolbar.getEl());
 
     var elMapContent = TOMEE.el.getElMap({
-        elName: 'main',
-        tag: 'div',
-        attributes: {
-            style:'padding: 5px;'
-        },
-        children: [{
-            elName: 'left',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px;'
-            }
-        }, {
-            elName: 'center',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px; margin-left: 
5px; margin-right: 5px;'
-            }
-        }, {
-            elName: 'right',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px;'
-            }
-        }]
+        elName:'main',
+        tag:'div'
     });
 
-    var jndiPanel = (function() {
-        var jndi = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.jdni')
-        });
-
-        var tree = TOMEE.components.Tree({
-            key: 'jndi',
-            channel:channel,
-            getText: function (data) {
-                return data.text;
-            },
-            getChildren: function (data) {
-                return data.children;
-            }
-        });
-
-        var treeEl = tree.getEl();
-        jndi.getContentEl().append(treeEl);
-
-        return {
-            getEl: function() {
-                return jndi.getEl();
-            },
-            load: function(data) {
-                tree.load(data);
-            }
-        };
-    })();
-
-    var savedPanel = (function() {
-        var saved = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.saved.objects')
-        });
-
-        var table = TOMEE.components.Table({
-            channel:channel,
-            columns:['colA', 'colB']
-        });
-
-        saved.getContentEl().append(table.getEl());
-
-        return {
-            getEl: function() {
-                return saved.getEl();
-            },
-            load: function(data) {
-                table.load(data, function (bean) {
-                    return [bean.name, bean.value];
-                });
-            }
-        };
-    })();
-
-    elMapContent['left'].append(jndiPanel.getEl());
-    elMapContent['left'].append(savedPanel.getEl());
-
-
-    var consolePanel = (function() {
-        var console = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.console'),
-            extraStyles: {
-                height: '500px'
-            }
-        });
-
-        var el = console.getContentEl();
-        el.append('<textarea style="height: 469px; width: 100%;border: 
0px;padding: 0px;margin: 0px;"></textarea>');
-        el.append('<div style="background-color:#EEE; border-top: 1px solid 
#E5E5E5; height: 30px;"><div class="t-action-btn"></div><div 
class="t-action-btn"></div></div>');
-
-
-        return {
-            getEl: function() {
-                return console.getEl();
-            }
-        };
-    })();
-
-    elMapContent['center'].append(consolePanel.getEl());
-
-    var mdbsPanel = (function() {
-        var mdbs = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.mdbs')
-        });
-
-        return {
-            getEl: function() {
-                return mdbs.getEl();
-            }
-        };
-    })();
-
-    var wsPanel = (function() {
-        var ws = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.ws')
-        });
-
-        return {
-            getEl: function() {
-                return ws.getEl();
-            }
-        };
-    })();
-
-    elMapContent['right'].append(mdbsPanel.getEl());
-    elMapContent['right'].append(wsPanel.getEl());
-
     $('body').append(elMapContent.main);
 
     var elMapFooter = TOMEE.el.getElMap({
-        elName: 'main',
-        tag: 'div',
-        attributes: {
-            style: 'clear: both;'
+        elName:'main',
+        tag:'div',
+        attributes:{
+            style:'clear: both;'
         },
-        children: [{
-            tag: 'hr',
-            attributes: {
-                style: 'margin-top: 0px; margin-bottom: 0px;'
-            },
-            children:[{
-                tag: 'footer',
-                html: '<p style="text-align: center">' + 
TOMEE.I18N.get('application.footer') + '</p>'
-            }]
-        }]
+        children:[
+            {
+                tag:'hr',
+                attributes:{
+                    style:'margin-top: 0px; margin-bottom: 0px;'
+                },
+                children:[
+                    {
+                        tag:'footer',
+                        html:'<p style="text-align: center">' + 
TOMEE.I18N.get('application.footer') + '</p>'
+                    }
+                ]
+            }
+        ]
     });
     $('body').append(elMapFooter.main);
 
+    var showTab = function(tab) {
+        elMapContent.main.empty();
+        elMapContent.main.append(groups[tab].getEl());
+    };
+
+    showTab(currentTab);
+
     return {
         setLoggedUser:function (name) {
             toolbar.setLoggedUser(name);
-        } ,
-        loadJndi: function(data) {
-            jndiPanel.load(data);
-        },
-        loadSavedObjects: function(data) {
-            savedPanel.load(data);
         }
-
     };
 };
\ No newline at end of file

Copied: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
 (from r1346632, 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js&r1=1346632&r2=1346657&rev=1346657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
 Tue Jun  5 23:20:28 2012
@@ -16,56 +16,54 @@
  *  limitations under the License.
  */
 
-TOMEE.ApplicationView = function (cfg) {
+TOMEE.ApplicationViewHome = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
 
-    var toolbar = TOMEE.ApplicationToolbar({
-        channel: channel
-    });
-
-    $('body').append(toolbar.getEl());
-
     var elMapContent = TOMEE.el.getElMap({
-        elName: 'main',
-        tag: 'div',
-        attributes: {
+        elName:'main',
+        tag:'div',
+        attributes:{
             style:'padding: 5px;'
         },
-        children: [{
-            elName: 'left',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px;'
-            }
-        }, {
-            elName: 'center',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px; margin-left: 
5px; margin-right: 5px;'
-            }
-        }, {
-            elName: 'right',
-            tag: 'div',
-            attributes: {
-                style: 'float:left; width:33%; min-width:170px;'
+        children:[
+            {
+                elName:'left',
+                tag:'div',
+                attributes:{
+                    style:'float:left; width:33%; min-width:170px;'
+                }
+            },
+            {
+                elName:'center',
+                tag:'div',
+                attributes:{
+                    style:'float:left; width:33%; min-width:170px; 
margin-left: 5px; margin-right: 5px;'
+                }
+            },
+            {
+                elName:'right',
+                tag:'div',
+                attributes:{
+                    style:'float:left; width:33%; min-width:170px;'
+                }
             }
-        }]
+        ]
     });
 
-    var jndiPanel = (function() {
+    var jndiPanel = (function () {
         var jndi = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.jdni')
+            title:TOMEE.I18N.get('application.jdni')
         });
 
         var tree = TOMEE.components.Tree({
-            key: 'jndi',
+            key:'jndi',
             channel:channel,
-            getText: function (data) {
+            getText:function (data) {
                 return data.text;
             },
-            getChildren: function (data) {
+            getChildren:function (data) {
                 return data.children;
             }
         });
@@ -74,18 +72,18 @@ TOMEE.ApplicationView = function (cfg) {
         jndi.getContentEl().append(treeEl);
 
         return {
-            getEl: function() {
+            getEl:function () {
                 return jndi.getEl();
             },
-            load: function(data) {
+            load:function (data) {
                 tree.load(data);
             }
         };
     })();
 
-    var savedPanel = (function() {
+    var savedPanel = (function () {
         var saved = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.saved.objects')
+            title:TOMEE.I18N.get('application.saved.objects')
         });
 
         var table = TOMEE.components.Table({
@@ -96,10 +94,10 @@ TOMEE.ApplicationView = function (cfg) {
         saved.getContentEl().append(table.getEl());
 
         return {
-            getEl: function() {
+            getEl:function () {
                 return saved.getEl();
             },
-            load: function(data) {
+            load:function (data) {
                 table.load(data, function (bean) {
                     return [bean.name, bean.value];
                 });
@@ -111,11 +109,11 @@ TOMEE.ApplicationView = function (cfg) {
     elMapContent['left'].append(savedPanel.getEl());
 
 
-    var consolePanel = (function() {
+    var consolePanel = (function () {
         var console = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.console'),
-            extraStyles: {
-                height: '500px'
+            title:TOMEE.I18N.get('application.console'),
+            extraStyles:{
+                height:'500px'
             }
         });
 
@@ -125,7 +123,7 @@ TOMEE.ApplicationView = function (cfg) {
 
 
         return {
-            getEl: function() {
+            getEl:function () {
                 return console.getEl();
             }
         };
@@ -133,25 +131,25 @@ TOMEE.ApplicationView = function (cfg) {
 
     elMapContent['center'].append(consolePanel.getEl());
 
-    var mdbsPanel = (function() {
+    var mdbsPanel = (function () {
         var mdbs = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.mdbs')
+            title:TOMEE.I18N.get('application.mdbs')
         });
 
         return {
-            getEl: function() {
+            getEl:function () {
                 return mdbs.getEl();
             }
         };
     })();
 
-    var wsPanel = (function() {
+    var wsPanel = (function () {
         var ws = TOMEE.components.Panel({
-            title: TOMEE.I18N.get('application.ws')
+            title:TOMEE.I18N.get('application.ws')
         });
 
         return {
-            getEl: function() {
+            getEl:function () {
                 return ws.getEl();
             }
         };
@@ -160,36 +158,18 @@ TOMEE.ApplicationView = function (cfg) {
     elMapContent['right'].append(mdbsPanel.getEl());
     elMapContent['right'].append(wsPanel.getEl());
 
-    $('body').append(elMapContent.main);
-
-    var elMapFooter = TOMEE.el.getElMap({
-        elName: 'main',
-        tag: 'div',
-        attributes: {
-            style: 'clear: both;'
-        },
-        children: [{
-            tag: 'hr',
-            attributes: {
-                style: 'margin-top: 0px; margin-bottom: 0px;'
-            },
-            children:[{
-                tag: 'footer',
-                html: '<p style="text-align: center">' + 
TOMEE.I18N.get('application.footer') + '</p>'
-            }]
-        }]
-    });
-    $('body').append(elMapFooter.main);
-
     return {
         setLoggedUser:function (name) {
             toolbar.setLoggedUser(name);
-        } ,
-        loadJndi: function(data) {
+        },
+        loadJndi:function (data) {
             jndiPanel.load(data);
         },
-        loadSavedObjects: function(data) {
+        loadSavedObjects:function (data) {
             savedPanel.load(data);
+        },
+        getEl: function() {
+            return elMapContent.main;
         }
 
     };

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging_index.html
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging_index.html?rev=1346657&r1=1346656&r2=1346657&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging_index.html 
(original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging_index.html 
Tue Jun  5 23:20:28 2012
@@ -29,6 +29,7 @@
 
     <script src="js/tomee/view/ApplicationToolbar.js"></script>
     <script src="js/tomee/view/ApplicationView.js"></script>
+    <script src="js/tomee/view/ApplicationViewHome.js"></script>
 
 </head>
 <body></body>


Reply via email to