Author: tveronezi
Date: Mon Jun 11 01:15:38 2012
New Revision: 1348699

URL: http://svn.apache.org/viewvc?rev=1348699&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* preparing context menu


Added:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Menu.js
      - copied, changed from r1348642, 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js
Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/Application.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.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/components/Tree.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/Application.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/Application.js?rev=1348699&r1=1348698&r2=1348699&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/Application.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/Application.js
 Mon Jun 11 01:15:38 2012
@@ -27,6 +27,7 @@ $(document).ready(function () {
     TOMEE.ApplicationController();
 });
 
-TOMEE.baseURL = function(url) {
+TOMEE.baseURL = function (url) {
     return '/tomee/' + url;
 };
+

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js?rev=1348699&r1=1348698&r2=1348699&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/ApplicationViewHome.js
 Mon Jun 11 01:15:38 2012
@@ -21,6 +21,30 @@ TOMEE.ApplicationViewHome = function (cf
 
     var channel = cfg.channel;
 
+    var jndiMenu = TOMEE.components.Menu({
+        commands:[
+            {
+                text:'commandA',
+                callback:function () {
+                }
+            },
+            {
+                text:'commandB',
+                callback:function () {
+                }
+            },
+            {
+                text:'commandC',
+                callback:function () {
+                }
+            }
+        ]
+    });
+    jndiMenu.showAt({
+        left:100,
+        top:100
+    });
+
     var elMapContent = TOMEE.el.getElMap({
         elName:'main',
         tag:'div',

Copied: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Menu.js
 (from r1348642, 
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/Menu.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Menu.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Panel.js&r1=1348642&r2=1348699&rev=1348699&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/Menu.js
 Mon Jun 11 01:15:38 2012
@@ -16,175 +16,58 @@
  *  limitations under the License.
  */
 
-TOMEE.components.Panel = function (cfg) {
+TOMEE.components.Menu = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
-    var avoidOverflow = TOMEE.utils.getSafe(cfg.avoidOverflow, false);
 
-    var elMapToolbar = TOMEE.el.getElMap({
+    var map = TOMEE.el.getElMap({
         elName:'main',
-        tag:'div',
-        cls:'navbar',
+        tag:'ul',
+        cls:'dropdown-menu',
         attributes:{
-            style:'margin-bottom: 0px;'
-        },
-        children:[
-            {
-                tag:'div',
-                cls:'navbar-inner t-navbar',
-                attributes:{
-                    style:'padding-left: 0px; padding-right: 0px;'
-                },
-                children:[
-                    {
-                        elName: 'menuItems',
-                        tag:'div',
-                        children:[
-                            {
-                                elName:'appName',
-                                tag:'a',
-                                cls:'brand',
-                                attributes:{
-                                    href:'#',
-                                    style:'padding-left: 10px; margin-left: 
0px;'
-                                },
-                                html:TOMEE.utils.getSafe(cfg.title, '-')
-                            }
-                        ]
-                    }
-                ]
-            }
-        ]
+            style:'display: block; position:absolute; left:100px; top:100px; 
z-index:5000;'
+        }
     });
 
-    if (cfg.actions) {
-        var commands = TOMEE.el.getElMap({
-            elName:'actionsMenu',
-            tag:'div',
-            cls:'btn-group pull-right',
-            children:[
-                {
-                    tag:'a',
-                    cls:'btn dropdown-toggle',
-                    attributes:{
-                        'data-toggle':'dropdown',
-                        href:'#'
-                    },
-                    children:[
-                        {
-                            tag:'i',
-                            cls:'icon-cog'
-                        },
-                        {
-                            tag:'span',
-                            attributes:{
-                                style:'padding-left: 5px; padding-right: 5px;'
-                            }
-                        },
-                        {
-                            tag:'span',
-                            cls:'caret'
-                        }
-                    ]
-                }
-            ]
-        });
-        elMapToolbar.menuItems.append(commands.actionsMenu);
-
-        (function () {
-            var actions = TOMEE.el.getElMap({
-                elName: 'main',
-                tag:'ul',
-                cls:'dropdown-menu',
-                attributes:{
-                    style:'right: 5px;'
-                }
-
-            });
-
-            var actionItem = null;
-            for (var i = 0; i < cfg.actions.length; i++) {
-                actionItem = cfg.actions[i];
-                actions.main.append(TOMEE.el.getElMap({
-                    elName: 'actionButton',
-                    tag:'a',
-                    attributes:{
-                        href:'#'
-                    },
-                    html:actionItem.text,
-                    listeners: actionItem.listeners
-                }).actionButton);
-            }
-            commands.actionsMenu.append(actions.main);
-        })();
-
-    }
-
-    var map = TOMEE.el.getElMap({
-        elName:'main',
-        tag:'div',
-        children:[
-            {
-                tag:'div',
+    (function (commands, ul) {
+        var command = null;
+        for (var i = 0; i < commands.length; i++) {
+            command = commands[i];
+
+            ul.append(TOMEE.el.getElMap({
+                elName:'main',
+                tag:'li',
                 children:[
                     {
-                        tag:'div',
-                        cls:'well t-panel',
-                        children:[
-                            {
-                                elName:'toolbar',
-                                tag:'div',
-                                attributes:{
-                                    style:'position: relative;'
-                                }
-                            },
-                            {
-                                elName:'content',
-                                tag:'div',
-                                attributes:{
-                                    style:'height: 250px; position: relative; 
overflow: auto;'
-                                },
-                                createCallback:function (el) {
-                                    if (avoidOverflow) {
-                                        el.css('overflow', '');
-                                    }
-                                }
-                            }
-                        ]
+                        tag:'a',
+                        attributes:{
+                            href:'#'
+                        },
+                        html:command.text
                     }
-                ]
-            }
-        ]
-    });
+                ],
+                listeners:{
+                    'click':function () {
+                        command.callback();
+                    }
+                }
+            }).main);
+        }
+    })(cfg.commands, map.main);
 
-    map.toolbar.append(elMapToolbar.main);
 
 
-    var extraStyles = cfg.extraStyles;
-    if (extraStyles) {
-        (function () {
-            var content = map['content'];
-
-            for (var key in extraStyles) {
-                content.css(key, extraStyles[key]);
-            }
-        })();
-    }
-
-    var setHeight = function(height) {
-        var toolbarSize = elMapToolbar.main.height();
-        var mySize = height - toolbarSize - TOMEE.el.getBorderSize(map.main) - 
TOMEE.el.getBorderSize(map.content);
-        map.content.height(mySize);
-    };
 
     return {
-        getEl:function () {
-            return map.main;
-        },
-        getContentEl:function () {
-            return map.content;
-        },
-        setHeight: setHeight
+        showAt:function (config) {
+            var main = map.main;
+
+            main.css('left', config.left + 'px');
+            main.css('top', config.top + 'px');
+
+            var myBody = $('body');
+            myBody.append(main);
+        }
     };
 };
\ No newline at end of file

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=1348699&r1=1348698&r2=1348699&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
 Mon Jun 11 01:15:38 2012
@@ -38,7 +38,7 @@ TOMEE.components.Panel = function (cfg) 
                 },
                 children:[
                     {
-                        elName: 'menuItems',
+                        elName:'menuItems',
                         tag:'div',
                         children:[
                             {
@@ -94,7 +94,7 @@ TOMEE.components.Panel = function (cfg) 
 
         (function () {
             var actions = TOMEE.el.getElMap({
-                elName: 'main',
+                elName:'main',
                 tag:'ul',
                 cls:'dropdown-menu',
                 attributes:{
@@ -107,13 +107,13 @@ TOMEE.components.Panel = function (cfg) 
             for (var i = 0; i < cfg.actions.length; i++) {
                 actionItem = cfg.actions[i];
                 actions.main.append(TOMEE.el.getElMap({
-                    elName: 'actionButton',
+                    elName:'actionButton',
                     tag:'a',
                     attributes:{
                         href:'#'
                     },
                     html:actionItem.text,
-                    listeners: actionItem.listeners
+                    listeners:actionItem.listeners
                 }).actionButton);
             }
             commands.actionsMenu.append(actions.main);
@@ -172,7 +172,7 @@ TOMEE.components.Panel = function (cfg) 
         })();
     }
 
-    var setHeight = function(height) {
+    var setHeight = function (height) {
         var toolbarSize = elMapToolbar.main.height();
         var mySize = height - toolbarSize - TOMEE.el.getBorderSize(map.main) - 
TOMEE.el.getBorderSize(map.content);
         map.content.height(mySize);
@@ -185,6 +185,15 @@ TOMEE.components.Panel = function (cfg) 
         getContentEl:function () {
             return map.content;
         },
-        setHeight: setHeight
+        setHeight:setHeight,
+        showAt:function (config) {
+            var main = map.main;
+
+            main.css('left', config.left + 'px');
+            main.css('top', config.top + 'px');
+
+            var myBody = $('body');
+            myBody.append(main);
+        }
     };
 };
\ No newline at end of file

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js?rev=1348699&r1=1348698&r2=1348699&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/components/Tree.js
 Mon Jun 11 01:15:38 2012
@@ -51,20 +51,32 @@ TOMEE.components.Tree = function (cfg) {
         var myI = $('<i style="padding-right: 5px;"></i>');
 
         span.append(myI);
+
         span.append(getText(data));
 
-        var li = $('<li style="padding-left: 0px;"></li>');
+        var li = TOMEE.el.getElMap({
+            elName:'el',
+            tag:'li',
+            attributes:{
+                style:'padding-left: 0px;'
+            },
+            listeners:{
+                'click':function (event) {
+
+                }
+            }
+        }).el;
         li.append(span);
 
         if (data[childrenPropertyName] === undefined) {
             myI.addClass('icon-leaf');
 
-            span.bind('click', {
+            li.bind('click', {
                 bean:data
             }, function (event) {
 
                 channel.send('tree_leaf_click', {
-                    panelKey: myKey,
+                    panelKey:myKey,
                     bean:event.data.bean
                 });
             });
@@ -72,9 +84,9 @@ TOMEE.components.Tree = function (cfg) {
         } else {
             myI.addClass('icon-folder-close');
 
-            span.bind('click', {
+            li.bind('click', {
                 li:li,
-                i: myI,
+                i:myI,
                 bean:data
 
             }, function (event) {
@@ -97,7 +109,7 @@ TOMEE.components.Tree = function (cfg) {
                     }
 
                     channel.send('tree_load_children', {
-                        panelKey: myKey,
+                        panelKey:myKey,
                         bean:event.data.bean,
                         parentEl:ul
                     });
@@ -115,7 +127,7 @@ TOMEE.components.Tree = function (cfg) {
         },
 
         load:function (ul, newData) {
-            if(ul) {
+            if (ul) {
                 loadTree(ul, newData);
             } else {
                 loadTree(elements.ul, newData);

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html?rev=1348699&r1=1348698&r2=1348699&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html 
(original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html Mon Jun 
11 01:15:38 2012
@@ -23,6 +23,7 @@
     <script src="application/js/ApplicationModel.js"></script>
 
     <script src="application/js/view/components/Base.js"></script>
+    <script src="application/js/view/components/Menu.js"></script>
     <script src="application/js/view/components/Panel.js"></script>
     <script src="application/js/view/components/Tree.js"></script>
     <script src="application/js/view/components/Table.js"></script>


Reply via email to