Author: tveronezi
Date: Tue Jun 12 20:52:05 2012
New Revision: 1349519

URL: http://svn.apache.org/viewvc?rev=1349519&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* moving the bbar code to the Panel.js file

Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/El.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Console.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Saved.js

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/El.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/El.js?rev=1349519&r1=1349518&r2=1349519&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/El.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/util/El.js
 Tue Jun 12 20:52:05 2012
@@ -29,8 +29,22 @@ TOMEE.el = (function () {
     };
 
     var mountEl = function (elCfg, elMap) {
+        if (elCfg.el) {
+            elCfg.el.detach();
+
+            if (elCfg.elName) {
+                elMap[elCfg.elName] = elCfg.el;
+            }
+            //we dont need to construct it. it is already done
+            return;
+        }
+
         var el = $('<' + elCfg.tag + '></' + elCfg.tag + '>');
 
+        if (elCfg.elName) {
+            elMap[elCfg.elName] = el;
+        }
+
         (function () {
             var attrs = elCfg.attributes;
             for (var key in attrs) {
@@ -54,10 +68,6 @@ TOMEE.el = (function () {
             el.append(mountEl(children[i], elMap));
         }
 
-        if (elCfg.elName) {
-            elMap[elCfg.elName] = el;
-        }
-
         if (elCfg.html) {
             el.html(elCfg.html);
         }
@@ -72,8 +82,8 @@ TOMEE.el = (function () {
     return {
         getElMap:getElMap,
         getBorderSize:getBorderSize,
-        getLocationValue: function(value) {
-            if($.isNumeric(value)) {
+        getLocationValue:function (value) {
+            if ($.isNumeric(value)) {
                 return value + 'px';
             } else {
                 return TOMEE.utils.getSafe(value, '0px');

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js?rev=1349519&r1=1349518&r2=1349519&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js
 Tue Jun 12 20:52:05 2012
@@ -22,12 +22,14 @@ TOMEE.components.Panel = function (cfg) 
     var channel = cfg.channel;
     var avoidOverflow = TOMEE.utils.getSafe(cfg.avoidOverflow, false);
 
+    var elementsPointers = {};
+
     var parentEl = cfg.parent;
-    if(!parentEl) {
+    if (!parentEl) {
         parentEl = $(window);
     }
 
-    var elMapToolbar = TOMEE.el.getElMap({
+    var header = TOMEE.el.getElMap({
         elName:'main',
         tag:'div',
         cls:'navbar',
@@ -63,7 +65,54 @@ TOMEE.components.Panel = function (cfg) 
         ]
     });
 
-    if (cfg.actions) {
+    var elBottomBar = null;
+    if (cfg.bbar) {
+        elBottomBar = TOMEE.el.getElMap({
+            elName:'main',
+            tag:'form',
+            cls:'well form-inline',
+            attributes:{
+                style:'height: 27px;margin-bottom: 0px;padding-top: 
1px;padding-left: 1px;padding-bottom: 1px;padding-right: 1px;'
+            },
+            children:[
+                {
+                    elName:'childrenDiv',
+                    tag:'div',
+                    cls:'pull-right'
+                }
+            ]
+        });
+
+        (function () {
+            var arr = TOMEE.utils.getArray(cfg.bbar);
+            var childrenDiv = elBottomBar.childrenDiv;
+
+            var tempKey = TOMEE.Sequence.next('temp');
+            var newEl = null;
+            var current = null;
+            for (var i = 0; i < arr.length; i++) {
+                current = arr[i];
+
+                var keepIt = false;
+                if (current.elName) {
+                    keepIt = true;
+
+                } else {
+                    current.elName = tempKey;
+                }
+
+
+                newEl = TOMEE.el.getElMap(current)[current.elName];
+                if (keepIt) {
+                    elementsPointers[current.elName] = newEl;
+                }
+
+                childrenDiv.append(newEl);
+            }
+        })();
+    }
+
+    if (cfg.headerActions) {
         var commands = TOMEE.el.getElMap({
             elName:'actionsMenu',
             tag:'div',
@@ -95,10 +144,10 @@ TOMEE.components.Panel = function (cfg) 
                 }
             ]
         });
-        elMapToolbar.menuItems.append(commands.actionsMenu);
+        header.menuItems.append(commands.actionsMenu);
 
         (function () {
-            var actions = TOMEE.el.getElMap({
+            var actionsEl = TOMEE.el.getElMap({
                 elName:'main',
                 tag:'ul',
                 cls:'dropdown-menu',
@@ -109,9 +158,9 @@ TOMEE.components.Panel = function (cfg) 
             });
 
             var actionItem = null;
-            for (var i = 0; i < cfg.actions.length; i++) {
-                actionItem = cfg.actions[i];
-                actions.main.append(TOMEE.el.getElMap({
+            for (var i = 0; i < cfg.headerActions.length; i++) {
+                actionItem = cfg.headerActions[i];
+                actionsEl.main.append(TOMEE.el.getElMap({
                     elName:'actionButton',
                     tag:'a',
                     attributes:{
@@ -121,7 +170,7 @@ TOMEE.components.Panel = function (cfg) 
                     listeners:actionItem.listeners
                 }).actionButton);
             }
-            commands.actionsMenu.append(actions.main);
+            commands.actionsMenu.append(actionsEl.main);
         })();
 
     }
@@ -134,6 +183,7 @@ TOMEE.components.Panel = function (cfg) 
                 tag:'div',
                 children:[
                     {
+                        elName:'elements',
                         tag:'div',
                         cls:'well t-panel',
                         children:[
@@ -163,7 +213,11 @@ TOMEE.components.Panel = function (cfg) 
         ]
     });
 
-    map.toolbar.append(elMapToolbar.main);
+    if (elBottomBar) {
+        map.elements.append(elBottomBar.main);
+    }
+
+    map.toolbar.append(header.main);
 
 
     var extraStyles = cfg.extraStyles;
@@ -178,7 +232,7 @@ TOMEE.components.Panel = function (cfg) 
     }
 
     var setHeight = function (height) {
-        var toolbarSize = elMapToolbar.main.height();
+        var toolbarSize = header.main.height();
         var mySize = height - toolbarSize - TOMEE.el.getBorderSize(map.main) - 
TOMEE.el.getBorderSize(map.content);
         map.content.height(mySize);
     };
@@ -197,6 +251,9 @@ TOMEE.components.Panel = function (cfg) 
     };
 
     return {
+        getElement:function (key) {
+            return elementsPointers[key];
+        },
         getEl:function () {
             return map.main;
         },

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Console.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Console.js?rev=1349519&r1=1349518&r2=1349519&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Console.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Console.js
 Tue Jun 12 20:52:05 2012
@@ -21,60 +21,44 @@ TOMEE.Console = function (cfg) {
 
     var channel = cfg.channel;
 
-    var console = TOMEE.components.Panel({
-        title:TOMEE.I18N.get('application.console'),
-        extraStyles:{
-            height:'500px'
-        }
-    });
-
     var elText = TOMEE.el.getElMap({
         elName:'main',
         tag:'textarea',
         attributes:{
-            style:'height: 469px; width: 100%;border: 0px;padding: 0px;margin: 
0px;'
+            style:'height: 500px; width: 100%;border: 0px;padding: 0px;margin: 
0px;'
         }
     });
 
-    var elBottomBar = TOMEE.el.getElMap({
-        elName:'main',
-        tag:'form',
-        cls:'well form-inline',
-        attributes:{
-            style:'height: 27px;margin-bottom: 0px;padding-top: 
1px;padding-left: 1px;padding-bottom: 1px;padding-right: 1px;'
+    var console = TOMEE.components.Panel({
+        title:TOMEE.I18N.get('application.console'),
+        extraStyles:{
+            height:'500px'
         },
-        children:[
+        bbar:[
+            {
+                elName:'scriptSelector',
+                tag:'select'
+            },
             {
-                tag:'div',
-                cls:'pull-right',
-                children:[
-                    {
-                        elName:'scriptSelector',
-                        tag:'select'
-                    },
-                    {
-                        elName:'executeBtn',
-                        tag:'button',
-                        cls:'btn',
-                        html:TOMEE.I18N.get('application.console.execute')
+                tag:'button',
+                cls:'btn',
+                html:TOMEE.I18N.get('application.console.execute'),
+                listeners: {
+                    'click': function() {
+                        var text = elText.main.val();
+                        var script = 
console.getElement('scriptSelector').val();
+                        channel.send('trigger.console.exec', {
+                            codeType:script,
+                            codeText:text
+                        });
                     }
-                ]
+                }
             }
         ]
     });
 
     var el = console.getContentEl();
     el.append(elText.main);
-    el.append(elBottomBar.main);
-
-    elBottomBar.executeBtn.bind('click', function () {
-        var text = elText.main.val();
-        var script = elBottomBar.scriptSelector.val();
-        channel.send('trigger.console.exec', {
-            codeType:script,
-            codeText:text
-        });
-    });
 
     var loadScriptsField = function (languages) {
         var getOption = function (lang) {
@@ -84,7 +68,7 @@ TOMEE.Console = function (cfg) {
             return option;
         };
 
-        var selector = elBottomBar.scriptSelector;
+        var selector = console.getElement('scriptSelector');
         selector.empty();
         if (!languages) {
             return;

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js?rev=1349519&r1=1349518&r2=1349519&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
 Tue Jun 12 20:52:05 2012
@@ -27,35 +27,20 @@ TOMEE.JndiClass = function (cfg) {
         extraStyles:{
             width:'500px',
             height:'200px'
-        }
-    });
-
-    var elBottomBar = TOMEE.el.getElMap({
-        elName:'main',
-        tag:'form',
-        cls:'well form-inline',
-        attributes:{
-            style:'height: 27px;margin-bottom: 0px;padding-top: 
1px;padding-left: 1px;padding-bottom: 1px;padding-right: 1px;'
         },
-        children:[
+        bbar:[
             {
-                tag:'div',
-                cls:'pull-right',
-                children:[
-                    {
-                        tag:'input',
-                        attributes:{
-                            'type': 'text',
-                            style:'margin-right: 2px;'
-                        }
-                    },
-                    {
-                        elName:'loadBtn',
-                        tag:'button',
-                        cls:'btn',
-                        html:TOMEE.I18N.get('application.jdni.lookup')
-                    }
-                ]
+                tag:'input',
+                attributes:{
+                    'type':'text',
+                    style:'margin-right: 2px;'
+                }
+            },
+            {
+                elName:'loadBtn',
+                tag:'button',
+                cls:'btn',
+                html:TOMEE.I18N.get('application.jdni.lookup')
             }
         ]
     });
@@ -75,17 +60,8 @@ TOMEE.JndiClass = function (cfg) {
         ]
     });
 
-    elements.main.append(elBottomBar.main);
     panel.getContentEl().append(elements.main);
 
-    var setHeight = function (height) {
-        var mySize = height - TOMEE.el.getBorderSize(elements.main);
-        var gridSize = mySize - elBottomBar.main.outerHeight(true);
-
-        elements.main.height(mySize);
-        elements.content.height(gridSize);
-    };
-
     var getField = function (bean, getLabel, getValue) {
         var fieldId = TOMEE.Sequence.next('cls_property');
         return TOMEE.el.getElMap({
@@ -157,8 +133,6 @@ TOMEE.JndiClass = function (cfg) {
             panel.showAt({
                 modal:true
             });
-
-            setHeight(panel.getContentEl().outerHeight(true));
         }
     };
 };
\ No newline at end of file

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Saved.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Saved.js?rev=1349519&r1=1349518&r2=1349519&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Saved.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/Saved.js
 Tue Jun 12 20:52:05 2012
@@ -23,7 +23,7 @@ TOMEE.Saved = function (cfg) {
 
     var saved = TOMEE.components.Panel({
         title:TOMEE.I18N.get('application.saved.objects'),
-        actions:[
+        headerActions:[
             {
                 text:TOMEE.I18N.get('application.saved.objects.load'),
                 listeners:{


Reply via email to