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