You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2012/02/19 16:47:15 UTC

svn commit: r1291015 - in /openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging: ./ js/tomee/ js/tomee/util/ js/tomee/view/ js/tomee/view/home/

Author: tveronezi
Date: Sun Feb 19 15:47:14 2012
New Revision: 1291015

URL: http://svn.apache.org/viewvc?rev=1291015&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-130

I am still deciding how the new view will be.
I don't want an extra sub-menu. It will make things easier.

Added:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationJndiPanel.js
      - copied, changed from r1245400, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationTestPanel.js
      - copied, changed from r1245400, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js
Removed:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelBody.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelClass.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelEJB.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelInvoker.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelJndi.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelMenu.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/home/ApplicationHomePanelTest.js
Modified:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/index.html
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationController.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationI18N.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/util/Sequence.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationToolbar.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationView.js

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=1291015&r1=1291014&r2=1291015&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 Sun Feb 19 15:47:14 2012
@@ -65,16 +65,10 @@
 <script src="js/tomee/view/ApplicationView.js"></script>
 <script src="js/tomee/view/ApplicationFooter.js"></script>
 
-<script src="js/tomee/view/ApplicationHomePanel.js"></script>
+<script src="js/tomee/view/ApplicationJndiPanel.js"></script>
 <script src="js/tomee/view/ApplicationHelpPanel.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelMenu.js"></script>
+<script src="js/tomee/view/ApplicationTestPanel.js"></script>
 
-<script src="js/tomee/view/home/ApplicationHomePanelBody.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelTest.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelJndi.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelEJB.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelClass.js"></script>
-<script src="js/tomee/view/home/ApplicationHomePanelInvoker.js"></script>
 
 <script src="js/tomee/view/ApplicationToolbar.js"></script>
 

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationController.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationController.js?rev=1291015&r1=1291014&r2=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationController.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationController.js Sun Feb 19 15:47:14 2012
@@ -45,22 +45,7 @@ TOMEE.ApplicationController = function (
     //The user clicked in one of the buttons in the application toolbar
     channel.bind('toolbar_button_executed', function (params) {
         var key = params.key;
-        if(key === 'home') {
-            view.getHome().getMenu().selectMenu('test');
-        }
-    });
-
-    //The user clicked in one of the items in the home panel
-    channel.bind('home_menu_executed', function (params) {
-        var menuKey = params.menu;
-        view.getHome().getBody().showPanel(menuKey);
-    });
-
-    //a panel is about to be removed from the view
-    //you have a chance to do some closure here (stop Ajax calls, for example)
-    channel.bind('hiding_panel', function (params) {
-        var panel = params.panel;
-        //placeholder
+        view.showPanel(key);
     });
 
     //"test" -> data loaded event
@@ -68,7 +53,7 @@ TOMEE.ApplicationController = function (
 
     });
     channel.bind('test_connection_new_data', function (params) {
-        view.getHome().getBody().loadData('test');
+        view.getPanel('test').loadData();
     });
 
     //"jndi" -> data loaded event
@@ -76,21 +61,23 @@ TOMEE.ApplicationController = function (
 
     });
     channel.bind('jndi_connection_new_data', function (params) {
-        view.getHome().getBody().loadData('jndi');
-    });
-
-    channel.bind('panel_show', function (params) {
-        var panel = params.panel;
-        if (panel.getMyModel) {
-            var myModel = panel.getMyModel();
-            myModel.load();
-        }
+        view.getPanel('jndi').loadData();
     });
 
     channel.bind('application_view_rendered', function (params) {
         view.getToolbar().clickButton('home');
     });
 
+    channel.bind('application_panel_rendered', function (params) {
+        var key = params.key;
+        if (key === 'jndi') {
+            jndiPanelModel.load();
+        } else if(key === 'test') {
+            testPanelModel.load();
+        }
+
+    });
+
     view.render();
 
     return {

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationI18N.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationI18N.js?rev=1291015&r1=1291014&r2=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationI18N.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/ApplicationI18N.js Sun Feb 19 15:47:14 2012
@@ -24,6 +24,8 @@ TOMEE.ApplicationI18N = (function () {
         'application.footer': 'Copyright © 2011 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.',
 
         'app.toolbar.home': 'Home',
+        'app.toolbar.jndi': 'Jndi',
+        'app.toolbar.test': 'Test',
         'app.toolbar.help': 'Help',
 
         'app.home.menu.unknown': 'Unknown',
@@ -53,14 +55,6 @@ TOMEE.ApplicationI18N = (function () {
         'app.home.menu.tools.jndi.name': 'Name',
         'app.home.menu.tools.jndi.resource': 'Resource',
 
-        'app.home.menu.tools.class': 'Class Viewer',
-        'app.home.menu.tools.class.title': 'OpenEJB Class Viewer',
-
-        'app.home.menu.tools.ejb': 'EJB Viewer',
-        'app.home.menu.tools.ejb.title': 'OpenEJB Enterprise JavaBeans Viewer',
-
-        'app.home.menu.tools.obj': 'Object Invoker',
-        'app.home.menu.tools.obj.title': 'OpenEJB Object Invoker',
 
         'dummy': 'dummy'
     };

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/util/Sequence.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/util/Sequence.js?rev=1291015&r1=1291014&r2=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/util/Sequence.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/util/Sequence.js Sun Feb 19 15:47:14 2012
@@ -24,7 +24,7 @@ TOMEE.Sequence = (function () {
     var next = function (prefix) {
         var myPrefix = prefix;
         if (!myPrefix || myPrefix === '') {
-            myPrefix = 'TOMEE-';
+            myPrefix = 'TOMEE';
         }
 
         var sequence = sequenceMap[myPrefix];
@@ -34,7 +34,7 @@ TOMEE.Sequence = (function () {
         }
 
         sequenceMap[myPrefix] = sequence + 1;
-        return sequence;
+        return myPrefix + '-' + sequence;
     };
 
     return {

Copied: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationJndiPanel.js (from r1245400, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationJndiPanel.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationJndiPanel.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js&r1=1245400&r2=1291015&rev=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationJndiPanel.js Sun Feb 19 15:47:14 2012
@@ -16,43 +16,70 @@
  *  limitations under the License.
  */
 
-TOMEE.ApplicationHomePanel = function (cfg) {
+TOMEE.ApplicationJndiPanel = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
+    var model = cfg.jndiModel;
 
     var elements = (function () {
-        var divBodyUid = TOMEE.Sequence.next();
+        var tbodyUid = TOMEE.Sequence.next();
         var tpl = [
-            '<div class="container-fluid">',
-            '<div id="' + divBodyUid + '" class="row-fluid"/>',
+            '<div class="well" style="overflow:auto">',
+            '<legend>' + TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi.title') + '</legend>',
+
+            '<table class="table table-striped table-bordered table-condensed">',
+            '    <thead>',
+            '        <tr>',
+            '            <th>' + TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi.name') + '</th>',
+            '            <th>' + TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi.resource') + '</th>',
+            '        </tr>',
+            '    </thead>',
+            '    <tbody id="' + tbodyUid + '"/>',
+            '</table>',
+
             '</div>'
         ];
 
         //create the element
         var all = $(tpl.join(''));
-        var body = all.find("#" + divBodyUid);
+        var tbody = all.find("#" + tbodyUid);
         return {
             all: all,
-            body: body
+            tbody: tbody
         };
     })();
 
-    var menu = TOMEE.ApplicationHomePanelMenu(cfg);
-    var body = TOMEE.ApplicationHomePanelBody(cfg);
+    /**
+     *
+     * @param bean
+     */
+    var addRow = function (bean) {
+        var row = [
+            '        <tr>',
+            '            <td>' + bean.name + '</td>',
+            '            <td>' + bean.value + '</td>',
+            '        </tr>'
+        ].join('');
+        elements.tbody.append($(row));
+    };
+
+    var loadData = function () {
+        //remove the current rows if any
+        elements.tbody.empty();
+
+        //The user should give a "getData" method that iterates over
+        //the objects that will be used to populate the grid
+        model.iterateJndiBeans(function (bean) {
+            addRow(bean);
+        });
+    };
 
-    elements.body.append(menu.getEl());
-    elements.body.append(body.getEl());
 
     return {
         getEl: function () {
             return elements.all;
         },
-        getMenu: function () {
-            return menu;
-        },
-        getBody: function () {
-            return body;
-        }
+        loadData: loadData
     };
 };
\ No newline at end of file

Copied: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationTestPanel.js (from r1245400, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationTestPanel.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationTestPanel.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js&r1=1245400&r2=1291015&rev=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationTestPanel.js Sun Feb 19 15:47:14 2012
@@ -16,43 +16,69 @@
  *  limitations under the License.
  */
 
-TOMEE.ApplicationHomePanel = function (cfg) {
+TOMEE.ApplicationTestPanel = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
+    var model = cfg.testModel;
 
     var elements = (function () {
-        var divBodyUid = TOMEE.Sequence.next();
+        var tbodyUid = TOMEE.Sequence.next();
         var tpl = [
-            '<div class="container-fluid">',
-            '<div id="' + divBodyUid + '" class="row-fluid"/>',
+            '<div class="well">',
+            '<legend>' + TOMEE.ApplicationI18N.get('app.home.menu.setup.test.title') + '</legend>',
+            '<table class="table table-striped table-bordered table-condensed">',
+            '    <tbody id="' + tbodyUid + '"/>',
+            '</table>',
+
             '</div>'
         ];
 
         //create the element
         var all = $(tpl.join(''));
-        var body = all.find("#" + divBodyUid);
+        var tbody = all.find("#" + tbodyUid);
         return {
             all: all,
-            body: body
+            tbody: tbody
         };
     })();
 
-    var menu = TOMEE.ApplicationHomePanelMenu(cfg);
-    var body = TOMEE.ApplicationHomePanelBody(cfg);
+    var getIcon = function (success) {
+        if (success) {
+            return '<i class="icon-ok-sign"></i>';
+        } else {
+            return '<i class="icon-exclamation-sign"></i>';
+        }
+    };
+
+    var addRow = function (index, bean) {
+        var row = [
+            '        <tr>',
+            '            <td>' + TOMEE.ApplicationI18N.get('app.home.menu.setup.test.testname.key.' + bean['key']) + '</td>',
+            '            <td>' + getIcon(bean['success']) + '</td>',
+            '        </tr>'
+        ].join('');
+        elements.tbody.append($(row));
+    };
 
-    elements.body.append(menu.getEl());
-    elements.body.append(body.getEl());
+    var loadData = function () {
+        //remove the current rows if any
+        elements.tbody.empty();
+
+        var index = 0;
+
+        //The user should give a "getData" method that iterates over
+        //the objects that will be used to populate the grid
+        model.iterateTestBeans(function (bean) {
+            addRow(index, bean);
+            index = index + 1;
+        });
+    };
 
     return {
         getEl: function () {
             return elements.all;
         },
-        getMenu: function () {
-            return menu;
-        },
-        getBody: function () {
-            return body;
-        }
+        loadData: loadData
     };
 };
\ No newline at end of file

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationToolbar.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationToolbar.js?rev=1291015&r1=1291014&r2=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationToolbar.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationToolbar.js Sun Feb 19 15:47:14 2012
@@ -61,6 +61,24 @@ TOMEE.ApplicationToolbar = function (cfg
             }
         },
         {
+            key: 'jndi',
+            title: TOMEE.ApplicationI18N.get('app.toolbar.jndi'),
+            callback: function () {
+                channel.send('toolbar_button_executed', {
+                    key: 'jndi'
+                });
+            }
+        },
+        {
+            key: 'test',
+            title: TOMEE.ApplicationI18N.get('app.toolbar.test'),
+            callback: function () {
+                channel.send('toolbar_button_executed', {
+                    key: 'test'
+                });
+            }
+        },
+        {
             key: 'help',
             title: TOMEE.ApplicationI18N.get('app.toolbar.help'),
             callback: function () {

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationView.js?rev=1291015&r1=1291014&r2=1291015&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationView.js Sun Feb 19 15:47:14 2012
@@ -22,7 +22,8 @@ TOMEE.ApplicationView = function (cfg) {
     var channel = cfg.channel;
 
     var appToolbar = TOMEE.ApplicationToolbar(cfg);
-    var home = TOMEE.ApplicationHomePanel(cfg);
+    var jndi = TOMEE.ApplicationJndiPanel(cfg);
+    var test = TOMEE.ApplicationTestPanel(cfg);
     var help = TOMEE.ApplicationHelpPanel(cfg);
 
     var elements = (function () {
@@ -49,18 +50,44 @@ TOMEE.ApplicationView = function (cfg) {
 
         $('body').append(appToolbar.getEl());
         $('body').append(elements.all);
-        elements.body.append(home.getEl());
 
         channel.send('application_view_rendered', {});
     };
 
+    var renderPanel = function (key, panel) {
+        elements.body.append(panel.getEl());
+        channel.send('application_panel_rendered', {
+            key: key
+        });
+    };
+
+    var getPanel = function (key) {
+        if (key === 'jndi') {
+            return jndi;
+
+        } else if (key === 'test') {
+            return test;
+
+        } else if (key === 'help') {
+            return help;
+        }
+        return null;
+    };
+
+    var showPanel = function (key) {
+        elements.body.empty();
+        var panel = getPanel(key);
+        if (panel) {
+            renderPanel(key, panel);
+        }
+    };
+
     return {
         render: render,
-        getHome: function () {
-            return home;
-        },
         getToolbar: function () {
             return appToolbar;
-        }
+        },
+        showPanel: showPanel,
+        getPanel: getPanel
     };
 };
\ No newline at end of file