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/06/06 00:20:49 UTC

svn commit: r1346628 - in /openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp: css/tomee.css js/tomee/ApplicationController.js js/tomee/view/ApplicationView.js js/tomee/view/components/Tree.js

Author: tveronezi
Date: Tue Jun  5 22:20:49 2012
New Revision: 1346628

URL: http://svn.apache.org/viewvc?rev=1346628&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-205
working js tree

Modified:
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/css/tomee.css
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/components/Tree.js

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/css/tomee.css
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/css/tomee.css?rev=1346628&r1=1346627&r2=1346628&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/css/tomee.css (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/css/tomee.css Tue Jun  5 22:20:49 2012
@@ -24,6 +24,10 @@ body {
     padding: 9px 0;
 }
 
+.t-tree-link {
+
+}
+
 ul.tree, ul.tree ul {
     list-style-type: none;
     margin: 0;
@@ -38,8 +42,6 @@ ul.tree li {
     margin: 0;
     padding: 0 20px;
     line-height: 20px;
-    color: #369;
-    font-weight: bold;
 }
 
 ul.tree li.leaf {
@@ -72,3 +74,14 @@ h3.t-panel-title {
     background-color: #d3d3d3;
     padding-left: 5px
 }
+
+div.t-action-btn {
+    border-left: 1px solid whiteSmoke;
+    border-right: 1px solid #E5E5E5;
+    background-color: #e6e6e6;
+    float: right;
+    position: relative;
+    width: 30px;
+    height: 30px
+}
+

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js?rev=1346628&r1=1346627&r2=1346628&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js Tue Jun  5 22:20:49 2012
@@ -32,15 +32,31 @@ TOMEE.ApplicationController = function (
     });
 
     view.loadJndi([
-        { text:TOMEE.Sequence.next(), children:[] },
-        { text:TOMEE.Sequence.next() },
-        { text:TOMEE.Sequence.next() },
-        { text:TOMEE.Sequence.next() },
-        { text:TOMEE.Sequence.next() },
-        { text:TOMEE.Sequence.next(), children:[] },
-        { text:TOMEE.Sequence.next(), children:[] },
-        { text:TOMEE.Sequence.next(), children:[] },
-        { text:TOMEE.Sequence.next() }
+        { text:TOMEE.Sequence.next('a'), children:[] },
+        { text:TOMEE.Sequence.next('a') },
+        { text:TOMEE.Sequence.next('a') },
+        { text:TOMEE.Sequence.next('a') },
+        { text:TOMEE.Sequence.next('a') },
+        { text:TOMEE.Sequence.next('a'), children:[
+            { text:TOMEE.Sequence.next('a') },
+            { text:TOMEE.Sequence.next('a'), children:[
+                { text:TOMEE.Sequence.next('a') },
+                { text:TOMEE.Sequence.next('a'), children:[
+                    { text:TOMEE.Sequence.next('a') }
+                ] }
+            ] }
+        ] },
+        { text:TOMEE.Sequence.next('a'), children:[] },
+        { text:TOMEE.Sequence.next('a'), children:[] },
+        { text:TOMEE.Sequence.next('a'), children:[
+            { text:TOMEE.Sequence.next('a') },
+            { text:TOMEE.Sequence.next('a'), children:[
+                { text:TOMEE.Sequence.next('a') },
+                { text:TOMEE.Sequence.next('a'), children:[
+                    { text:TOMEE.Sequence.next('a') }
+                ] }
+            ] }
+        ] }
     ]);
 
     view.loadSavedObjects([

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js?rev=1346628&r1=1346627&r2=1346628&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationView.js Tue Jun  5 22:20:49 2012
@@ -60,7 +60,13 @@ TOMEE.ApplicationView = function (cfg) {
         });
 
         var tree = TOMEE.components.Tree({
-            channel:channel
+            channel:channel,
+            getText: function (data) {
+                return data.text;
+            },
+            getChildren: function (data) {
+                return data.children;
+            }
         });
 
         var treeEl = tree.getEl();
@@ -71,11 +77,7 @@ TOMEE.ApplicationView = function (cfg) {
                 return jndi.getEl();
             },
             load: function(data) {
-                tree.load(data, function (data) {
-                    return data.text;
-                }, function (data) {
-                    return data.children;
-                });
+                tree.load(data);
             }
         };
     })();
@@ -117,8 +119,8 @@ TOMEE.ApplicationView = function (cfg) {
         });
 
         var el = console.getContentEl();
-        el.append('<textarea style="height: 470px; width: 100%;border: 0px;padding: 0px;margin: 0px;"></textarea>');
-        el.append('<div style="height: 30px; background-color: red;"><div style="float: right; position: relative; background-color: blue; width: 30px; height: 30px"></div><div style="float: right; position: relative; background-color: yellow; width: 30px; height: 30px"></div></div>');
+        el.append('<textarea style="height: 469px; width: 100%;border: 0px;padding: 0px;margin: 0px;"></textarea>');
+        el.append('<div style="background-color:#EEE; border-top: 1px solid #E5E5E5; height: 30px;"><div class="t-action-btn"></div><div class="t-action-btn"></div></div>');
 
 
         return {

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/components/Tree.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/components/Tree.js?rev=1346628&r1=1346627&r2=1346628&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/components/Tree.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/components/Tree.js Tue Jun  5 22:20:49 2012
@@ -21,7 +21,12 @@ TOMEE.components.Tree = function (cfg) {
 
     var channel = cfg.channel;
 
-    var elements = (function() {
+    var currentData = null;
+
+    var getText = cfg.getText;
+    var getChildren = cfg.getChildren;
+
+    var elements = (function () {
         var container = $('<div></div>');
         var ul = $('<ul></ul>');
         ul.addClass('tree');
@@ -29,32 +34,61 @@ TOMEE.components.Tree = function (cfg) {
         container.append(ul);
 
         return {
-            container: container,
-            ul: ul
+            container:container,
+            ul:ul
         };
     })();
 
 
-    var load = function (parent, data, getText, getChildren) {
-        if($.isArray(data)) {
-            for(var i = 0; i < data.length; i++) {
-                load(parent, data[i], getText, getChildren);
+    var loadTree = function (parent, data) {
+        if ($.isArray(data)) {
+
+            for (var i = 0; i < data.length; i++) {
+                loadTree(parent, data[i]);
             }
 
             return;
         }
 
-        var children = getChildren(data);
+        var span = $('<span class="t-tree-link"></span>');
+        span.append(getText(data));
 
         var li = $('<li></li>');
-        li.append(getText(data));
-        if(children) {
+        li.append(span);
+
+        var children = getChildren(data);
+        if (children) {
             li.addClass('closed');
+
+            span.bind('click', {
+                children:children,
+                li:li
+            }, function (event) {
+                if (event.data.li.hasClass("opened")) {
+                    event.data.li.find('ul').empty();
+
+                    event.data.li.removeClass('opened');
+                    event.data.li.addClass('closed');
+                } else {
+                    event.data.li.removeClass('closed');
+                    event.data.li.addClass('opened');
+
+                    var ul = li.find('ul').first();
+                    if (ul.length === 0) {
+                        ul = $('<ul></ul>');
+                        event.data.li.append(ul);
+                    }
+
+                    loadTree(ul, event.data.children);
+                }
+            });
+
         } else {
             li.addClass('leaf');
         }
+
+        //add LI to the parent UL
         parent.append(li);
-        var a = 0;
     };
 
     return {
@@ -62,14 +96,9 @@ TOMEE.components.Tree = function (cfg) {
             return elements.container;
         },
 
-        load:function(data, getText, getChildren) {
-            var loadData = data;
-            if(!$.isArray(loadData)) {
-                loadData = [loadData];
-            }
-
-            elements.ul.empty();
-            load(elements.ul, loadData, getText, getChildren);
+        load:function (newData) {
+            currentData = TOMEE.utils.getArray(newData);
+            loadTree(elements.ul, currentData);
         }
     };
 };
\ No newline at end of file