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>