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/15 13:16:57 UTC

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

Author: tveronezi
Date: Wed Feb 15 12:16:57 2012
New Revision: 1244455

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

Preparing the javascript/html code for the new web interface. Once this initial code is ready, I will move the files under "staging" to a better location.

Added:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelBody.js
      - copied, changed from r1244342, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/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/view/ApplicationHomePanel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.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=1244455&r1=1244454&r2=1244455&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 Wed Feb 15 12:16:57 2012
@@ -21,7 +21,7 @@
 <html lang="en">
 <head>
     <meta charset="utf-8">
-    <title>Apache Tomee</title>
+    <title>tomee</title>
     <meta name="description" content="">
     <meta name="author" content="">
 
@@ -65,6 +65,9 @@
 <script src="js/tomee/view/ApplicationHomePanel.js"></script>
 <script src="js/tomee/view/ApplicationHomePanelMenu.js"></script>
 
+<script src="js/tomee/view/ApplicationHomePanelBody.js"></script>
+<script src="js/tomee/view/ApplicationHomePanelTest.js"></script>
+
 <script src="js/tomee/view/ApplicationToolbar.js"></script>
 
 </body>

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=1244455&r1=1244454&r2=1244455&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 Wed Feb 15 12:16:57 2012
@@ -31,14 +31,24 @@ TOMEE.ApplicationController = function (
         channel:channel
     });
 
+    var view = TOMEE.ApplicationView({
+        channel:channel
+    });
+
     //The user clicked in one of the buttons in the application toolbar
     channel.bind('toolbar_button_executed', function (params) {
         var a = 0;
 
     });
 
-    TOMEE.ApplicationView({
-        channel:channel
+    //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);
+    });
+
+    view.render(function () {
+        view.getHome().getMenu().selectMenu('test');
     });
 
     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=1244455&r1=1244454&r2=1244455&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 Wed Feb 15 12:16:57 2012
@@ -18,14 +18,17 @@
 
 TOMEE.ApplicationI18N = (function (cfg) {
     var messages = {
-        'application.name':'Apache Tomee',
+        'application.name':'Apache TomEE',
         '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.log':'Log',
 
+        'app.home.menu.unknown':'Unknown',
+
         'app.home.menu.setup':'Setup',
         'app.home.menu.setup.test':'Testing your setup',
+        'app.home.menu.setup.test.title':'Test Results',
 
         'app.home.menu.tools':'Tools',
         'app.home.menu.tools.jndi':'JNDI Browser',

Modified: 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/ApplicationHomePanel.js?rev=1244455&r1=1244454&r2=1244455&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/ApplicationHomePanel.js Wed Feb 15 12:16:57 2012
@@ -39,13 +39,20 @@ TOMEE.ApplicationHomePanel = function (c
     })();
 
     var menu = TOMEE.ApplicationHomePanelMenu(cfg);
+    var body = TOMEE.ApplicationHomePanelBody(cfg);
 
     elements.body.append(menu.getEl());
+    elements.body.append(body.getEl());
 
     return {
-        getEl:function(){
+        getEl:function () {
             return elements.all;
+        },
+        getMenu:function () {
+            return menu;
+        },
+        getBody:function () {
+            return body;
         }
-
     };
 };
\ No newline at end of file

Copied: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelBody.js (from r1244342, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelBody.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelBody.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js&r1=1244342&r2=1244455&rev=1244455&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelBody.js Wed Feb 15 12:16:57 2012
@@ -16,122 +16,43 @@
  *  limitations under the License.
  */
 
-TOMEE.ApplicationHomePanelMenu = function (cfg) {
+TOMEE.ApplicationHomePanelBody = function (cfg) {
     var channel = cfg.channel;
 
-    var elements = (function () {
-        var ulUid = TOMEE.Sequence.next();
-        var tpl = [
-            '<div class="span3">',
-            '<div class="well sidebar-nav">',
-            '<ul id="' + ulUid + '" class="nav nav-list">',
-            '</ul>',
-            '</div>',
-            '</div>'
-        ];
-
-        //create the element
-        var all = $(tpl.join(''));
-        var list = all.find("#" + ulUid);
-        return {
-            all:all,
-            list:list
-        };
-    })();
-
-    var btnGroups = [
-        {
-            title:TOMEE.ApplicationI18N.get('app.home.menu.setup'),
-            btns:[
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.setup.test'),
-                    callback:function () {
-
-                    }
-                }
-            ]
-        },
+    var myBody = $('<div class="span9"/>');
 
-        {
-            title:TOMEE.ApplicationI18N.get('app.home.menu.tools'),
-            btns:[
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.class'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.ejb'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.obj'),
-                    callback:function () {
-
-                    }
-                }
-            ]
+    var currentPanel = null;
+    var constructors = {
+        'test':function () {
+            return TOMEE.ApplicationHomePanelTest(cfg);
         }
-    ];
-
-    $.each(btnGroups, function (i, grp) {
+    };
 
-        var anchorUid = TOMEE.Sequence.next();
+    var showPanel = function (key) {
+        if (currentPanel && currentPanel.beforeEnd) {
+            currentPanel.beforeEnd();
+            currentPanel = null;
+        }
+        myBody.empty();
 
-        (function () {
-            var liUid = TOMEE.Sequence.next();
-            elements.list.append($('<li class="nav-header" id="' + liUid + '">' + grp.title + '</li>'));
-            return elements.list.find('#' + liUid);
-        })();
-
-        $.each(grp.btns, function (ii, btn) {
-            var el = (function () {
-                var liUid = TOMEE.Sequence.next();
-                var anchorUid = TOMEE.Sequence.next();
-                elements.list.append($('<li id="' + liUid + '"><a id="' + anchorUid + '" href="#">' + btn.title + '</a></li>'));
-                return {
-                    li:elements.list.find('#' + liUid),
-                    anchor:elements.list.find('#' + anchorUid)
-                };
-            })();
-            el.anchor.on('click', function () {
-                var allLinks = elements.list.find('li');
-                allLinks.removeClass('active');
-
-                el.li.addClass('active');
-
-                btn.callback();
-            });
-        });
-
-        var anchor = elements.list.find('#' + anchorUid);
-
-        anchor.on("click", function () {
-            var allLinks = elements.list.find('li');
-            allLinks.removeClass('active');
-
-            li.addClass('active');
-
-            button.callback();
-        });
-    });
+        var innerConstructor = constructors[key];
+        if (innerConstructor) {
+            currentPanel = innerConstructor();
+            myBody.append(currentPanel.getEl());
+        } else {
+            var tpl = [
+                '<div class="row">',
+                '<legend>' + TOMEE.ApplicationI18N.get('app.home.menu.unknown') + '</legend>',
+                '</div>'
+            ];
+            myBody.append($(tpl.join('')));
+        }
+    };
 
     return {
         getEl:function () {
-            return elements.all;
-        }
-
+            return myBody;
+        },
+        showPanel:showPanel
     };
 };
\ No newline at end of file

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js?rev=1244455&r1=1244454&r2=1244455&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelMenu.js Wed Feb 15 12:16:57 2012
@@ -39,53 +39,54 @@ TOMEE.ApplicationHomePanelMenu = functio
         };
     })();
 
+    var buttonMap = {};
+
+    var createButtonCfg = function (key, title) {
+        var liId = TOMEE.Sequence.next();
+        var anchorId = TOMEE.Sequence.next();
+        var result = {
+            liId:liId,
+            anchorId:anchorId,
+            title:title,
+            callback:function () {
+                var allLinks = elements.list.find('li');
+                allLinks.removeClass('active');
+
+                var li = elements.list.find('#' + liId);
+                li.addClass('active');
+
+                channel.send('home_menu_executed', {
+                    menu:key
+                });
+            }
+        };
+
+        //map the new button
+        buttonMap[key] = result;
+
+        return result;
+    };
+
     var btnGroups = [
         {
             title:TOMEE.ApplicationI18N.get('app.home.menu.setup'),
             btns:[
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.setup.test'),
-                    callback:function () {
-
-                    }
-                }
+                createButtonCfg('test', TOMEE.ApplicationI18N.get('app.home.menu.setup.test'))
             ]
         },
 
         {
             title:TOMEE.ApplicationI18N.get('app.home.menu.tools'),
             btns:[
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.class'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.ejb'),
-                    callback:function () {
-
-                    }
-                },
-
-                {
-                    title:TOMEE.ApplicationI18N.get('app.home.menu.tools.obj'),
-                    callback:function () {
-
-                    }
-                }
+                createButtonCfg('jndi', TOMEE.ApplicationI18N.get('app.home.menu.tools.jndi')),
+                createButtonCfg('class', TOMEE.ApplicationI18N.get('app.home.menu.tools.class')),
+                createButtonCfg('ejb', TOMEE.ApplicationI18N.get('app.home.menu.tools.ejb')),
+                createButtonCfg('obj', TOMEE.ApplicationI18N.get('app.home.menu.tools.obj'))
             ]
         }
     ];
 
+
     $.each(btnGroups, function (i, grp) {
 
         var anchorUid = TOMEE.Sequence.next();
@@ -98,40 +99,26 @@ TOMEE.ApplicationHomePanelMenu = functio
 
         $.each(grp.btns, function (ii, btn) {
             var el = (function () {
-                var liUid = TOMEE.Sequence.next();
-                var anchorUid = TOMEE.Sequence.next();
-                elements.list.append($('<li id="' + liUid + '"><a id="' + anchorUid + '" href="#">' + btn.title + '</a></li>'));
-                return {
-                    li:elements.list.find('#' + liUid),
-                    anchor:elements.list.find('#' + anchorUid)
-                };
+                elements.list.append($('<li id="' + btn.liId + '"><a id="' + btn.anchorId + '" href="#">' + btn.title + '</a></li>'));
+                return elements.list.find('#' + btn.liId);
             })();
-            el.anchor.on('click', function () {
-                var allLinks = elements.list.find('li');
-                allLinks.removeClass('active');
-
-                el.li.addClass('active');
-
+            el.on('click', function () {
                 btn.callback();
             });
         });
-
-        var anchor = elements.list.find('#' + anchorUid);
-
-        anchor.on("click", function () {
-            var allLinks = elements.list.find('li');
-            allLinks.removeClass('active');
-
-            li.addClass('active');
-
-            button.callback();
-        });
     });
 
     return {
         getEl:function () {
             return elements.all;
-        }
+        },
+        selectMenu:function(key) {
+            var menu = buttonMap[key];
+            if(!menu) {
+                return;
+            }
 
+            menu.callback();
+        }
     };
 };
\ No newline at end of file

Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelTest.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelTest.js?rev=1244455&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelTest.js (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/view/ApplicationHomePanelTest.js Wed Feb 15 12:16:57 2012
@@ -0,0 +1,47 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+TOMEE.ApplicationHomePanelTest = function (cfg) {
+    var channel = cfg.channel;
+
+
+    var elements = (function () {
+        var tpl = [
+            '<div class="row">',
+            '<legend>' + TOMEE.ApplicationI18N.get('app.home.menu.setup.test.title') + '</legend>',
+            '</div>'
+        ];
+
+        //create the element
+        var all = $(tpl.join(''));
+        return {
+            all:all
+        };
+    })();
+
+    var beforeEnd = function() {
+        //placeholder
+    };
+
+    return {
+        getEl:function () {
+            return elements.all;
+        },
+        beforeEnd:beforeEnd
+    };
+};
\ No newline at end of file

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=1244455&r1=1244454&r2=1244455&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 Wed Feb 15 12:16:57 2012
@@ -20,10 +20,21 @@ TOMEE.ApplicationView = function (cfg) {
     var appToolbar = TOMEE.ApplicationToolbar(cfg);
     var home = TOMEE.ApplicationHomePanel(cfg);
 
-    $('body').append(appToolbar.getEl());
-    $('body').append(home.getEl());
+    var render = function (callback) {
+        document.title = TOMEE.ApplicationI18N.get('application.name');
 
-    return {
+        $('body').append(appToolbar.getEl());
+        $('body').append(home.getEl());
+
+        if (callback) {
+            callback();
+        }
+    };
 
+    return {
+        render:render,
+        getHome:function () {
+            return home;
+        }
     };
 };
\ No newline at end of file