Author: tveronezi
Date: Wed Jun 13 12:15:20 2012
New Revision: 1349784

URL: http://svn.apache.org/viewvc?rev=1349784&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-224
* add ajax error panel

Added:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/ErrorPanel.js
      - copied, changed from r1349563, 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js?rev=1349784&r1=1349783&r2=1349784&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationController.js
 Wed Jun 13 12:15:20 2012
@@ -43,6 +43,11 @@ TOMEE.ApplicationController = function (
         channel:channel
     });
 
+    channel.bind('default.ajax.error.handler.triggered', function (params) {
+        TOMEE.ErrorPanel({
+            channel: channel
+        }).show(params);
+    });
 
     (function () {
         channel.bind('application.name.click', function (params) {
@@ -124,7 +129,7 @@ TOMEE.ApplicationController = function (
             var data = params.data;
             model.loadJndiClass({
                 name:data.name,
-                parent: data.parent,
+                parent:data.parent,
                 path:pathArrayBuilder.build(data.parent)
             });
         });

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js?rev=1349784&r1=1349783&r2=1349784&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/ApplicationModel.js
 Wed Jun 13 12:15:20 2012
@@ -31,13 +31,23 @@ TOMEE.ApplicationModel = function (cfg) 
     var sessionData = {};
 
     var request = function (params) {
+        var errorHandler = params.error;
+        if (!errorHandler) {
+            errorHandler = function (jqXHR, textStatus, errorThrown) {
+                channel.send('default.ajax.error.handler.triggered', {
+                    jqXHR:jqXHR,
+                    textStatus:textStatus,
+                    errorThrown:errorThrown
+                });
+            }
+        }
         $.ajax({
                 url:params.url,
                 type:params.method,
                 data:params.data,
                 dataType:'json',
                 success:params.success,
-                error:params.error
+                error:errorHandler
             }
         );
     };

Copied: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/ErrorPanel.js
 (from r1349563, 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js)
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/ErrorPanel.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/ErrorPanel.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js&r1=1349563&r2=1349784&rev=1349784&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/JndiClass.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/application/js/view/panels/ErrorPanel.js
 Wed Jun 13 12:15:20 2012
@@ -16,7 +16,7 @@
  *  limitations under the License.
  */
 
-TOMEE.JndiClass = function (cfg) {
+TOMEE.ErrorPanel = function (cfg) {
     "use strict";
 
     var channel = cfg.channel;
@@ -24,7 +24,7 @@ TOMEE.JndiClass = function (cfg) {
     var showParams = null;
 
     var panel = TOMEE.components.Panel({
-        title:TOMEE.I18N.get('application.jdni.class'),
+        title:'-',
         parent:cfg.parent,
         extraStyles:{
             width:'500px',
@@ -32,139 +32,26 @@ TOMEE.JndiClass = function (cfg) {
         },
         bbar:[
             {
-                elName:'savedObjectName',
-                tag:'input',
-                attributes:{
-                    'type':'text',
-                    style:'margin-right: 2px;'
-                }
-            },
-            {
-                elName:'loadBtn',
                 tag:'button',
                 cls:'btn',
-                html:TOMEE.I18N.get('application.jdni.lookup'),
-                attributes:{
-                    'type':'text',
-                    style:'margin-right: 2px;'
-                },
+                html:TOMEE.I18N.get('application.error.close'),
                 listeners:{
                     'click':function () {
-                        channel.send('lookup.and.save.object', {
-                            saveKey: panel.getElement('savedObjectName').val(),
-                            showParams: showParams
-                        });
                         panel.close(true);
                     }
                 }
-            },
-            {
-                tag:'button',
-                cls:'btn',
-                html:TOMEE.I18N.get('application.jdni.class.close'),
-                listeners:{
-                    'click':function () {
-                        panel.close(true);
-                    }
-                }
-            }
-        ]
-    });
-
-    var elements = TOMEE.el.getElMap({
-        elName:'main',
-        tag:'div',
-
-        children:[
-            {
-                elName:'content',
-                tag:'div',
-                attributes:{
-                    style:'padding: 5px'
-                }
             }
         ]
     });
 
-    panel.getContentEl().append(elements.main);
-
-    var getField = function (bean, getLabel, getValue) {
-        var fieldId = TOMEE.Sequence.next('cls_property');
-        return TOMEE.el.getElMap({
-            elName:'main',
-            tag:'div',
-            cls:'control-group',
-            attributes:{
-                style:'margin-bottom: 5px;'
-            },
-            children:[
-                {
-                    tag:'label',
-                    cls:'control-label',
-                    attributes:{
-                        'for':fieldId
-                    },
-                    html:getLabel(bean)
-                },
-                {
-                    tag:'div',
-                    cls:'controls',
-                    children:[
-                        {
-                            tag:'input',
-                            cls:'input input-xlarge',
-                            attributes:{
-                                'type':'text',
-                                'id':fieldId,
-                                'value':getValue(bean)
-                            }
-                        }
-                    ]
-
-                }
-            ]
-        }).main;
-    };
-
     return {
         show:function (params) {
-            elements.content.empty();
-
-            //params.cls, params.name, params.path
-            showParams = params;
-            var cls = params.cls;
-
-            var div = TOMEE.el.getElMap({
-                elName:'main',
-                tag:'form',
-                cls:'form-horizontal',
-                children:[
-                    {
-                        elName:'fieldset',
-                        tag:'fieldset'
-                    }
-                ]
-            });
-
-            div.fieldset.append(getField(cls, function (bean) {
-                return 'beanClass';
-            }, function (bean) {
-                return bean['beanClass'];
-            }));
-
-            div.fieldset.append(getField(cls, function (bean) {
-                return 'type';
-            }, function (bean) {
-                return bean['type'];
-            }));
-
-            div.fieldset.append(getField(cls, function (bean) {
-                return 'componentType';
-            }, function (bean) {
-                return bean['componentType'];
-            }));
+            var content = panel.getContentEl();
+            content.empty();
 
-            elements.content.append(div.main);
+            var error = jQuery.parseJSON(params.jqXHR.responseText);
+            panel.setTitle(error.exception_type);
+            content.append(error.stackTrace);
 
             panel.showAt({
                 modal:true

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=1349784&r1=1349783&r2=1349784&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 Wed Jun 
13 12:15:20 2012
@@ -34,6 +34,7 @@
     <script src="application/js/view/ApplicationViewApps.js"></script>
     <script src="application/js/view/ApplicationViewLog.js"></script>
 
+    <script src="application/js/view/panels/ErrorPanel.js"></script>
     <script src="application/js/view/panels/Jndi.js"></script>
     <script src="application/js/view/panels/JndiClass.js"></script>
     <script src="application/js/view/panels/Saved.js"></script>


Reply via email to