Index: core/build.javascript.xml
===================================================================
--- core/build.javascript.xml (revision 23506)
+++ core/build.javascript.xml (revision 23507)
@@ -39,6 +39,7 @@
+
@@ -57,6 +58,7 @@
+
Index: core/src/main/javascript/application.js
===================================================================
--- core/src/main/javascript/application.js (revision 23506)
+++ core/src/main/javascript/application.js (revision 23507)
@@ -99,6 +99,7 @@
//include collection.js
//include hashtable.js
//include string.js
+ //include exception.js
//include delay.js
//include window.js
@@ -408,7 +409,7 @@
});
//include status.js
- //include blockui.js
+ //include blockui.js
})(window.ice);
}
Index: core/src/main/javascript/submit.js
===================================================================
--- core/src/main/javascript/submit.js (revision 23506)
+++ core/src/main/javascript/submit.js (revision 23507)
@@ -128,6 +128,8 @@
'event type: ' + type(decoratedEvent)
], '\n'));
jsf.ajax.request(clonedElement, event, options);
+ } catch (ex) {
+ error(logger, 'failed to execut single submit', ex);
} finally {
each(clonedElements, function(c) {
form.removeChild(c);
@@ -173,86 +175,90 @@
var removePrefix = 'patch-';
function fullSubmit(execute, render, event, element, additionalParameters) {
- event = event || null;
+ try {
+ event = event || null;
- var disabled = document.getElementById(element.id + ":ajaxDisabled");
- if (disabled) {
- var disabledArray = disabled.value.split(" ");
- var l = disabledArray.length;
- for (var i = 1; i < l; i++) {
- var name = disabledArray[i];
- var field = element[name];
- if ((field) && (field.value == name ) && (element.nativeSubmit)) {
- element.nativeSubmit();
- return;
+ var disabled = document.getElementById(element.id + ":ajaxDisabled");
+ if (disabled) {
+ var disabledArray = disabled.value.split(" ");
+ var l = disabledArray.length;
+ for (var i = 1; i < l; i++) {
+ var name = disabledArray[i];
+ var field = element[name];
+ if ((field) && (field.value == name ) && (element.nativeSubmit)) {
+ element.nativeSubmit();
+ return;
+ }
}
}
- }
- var viewID = viewIDOf(element);
- var options = {execute: execute, render: render, onevent: requestCallback, 'ice.window': namespace.window, 'ice.view': viewID, 'ice.focus': currentFocus};
- var decoratedEvent = $event(event, element);
+ var viewID = viewIDOf(element);
+ var options = {execute: execute, render: render, onevent: requestCallback, 'ice.window': namespace.window, 'ice.view': viewID, 'ice.focus': currentFocus};
+ var decoratedEvent = $event(event, element);
- if (isKeyEvent(decoratedEvent) && isEnterKey(decoratedEvent)) {
- cancelBubbling(decoratedEvent);
- cancelDefaultAction(decoratedEvent);
- }
+ if (isKeyEvent(decoratedEvent) && isEnterKey(decoratedEvent)) {
+ cancelBubbling(decoratedEvent);
+ cancelDefaultAction(decoratedEvent);
+ }
- serializeEventToOptions(decoratedEvent, options);
- serializeAdditionalParameters(additionalParameters, options);
+ serializeEventToOptions(decoratedEvent, options);
+ serializeAdditionalParameters(additionalParameters, options);
- var form = formOf(element);
- var url = form['javax.faces.encodedURL'] ? form['javax.faces.encodedURL'].value : form.action;
- var isDeltaSubmit = deltaSubmit(element);
+ var form = formOf(element);
+ var url = form['javax.faces.encodedURL'] ? form['javax.faces.encodedURL'].value : form.action;
+ var isDeltaSubmit = deltaSubmit(element);
- debug(logger, join([
- (isDeltaSubmit ? 'delta ' : '') + 'full submit: ' + url,
- 'javax.faces.execute: ' + execute,
- 'javax.faces.render: ' + render,
- 'javax.faces.source: ' + element.id,
- 'view ID: ' + viewID,
- 'event type: ' + type(decoratedEvent)
- ], '\n'));
+ debug(logger, join([
+ (isDeltaSubmit ? 'delta ' : '') + 'full submit: ' + url,
+ 'javax.faces.execute: ' + execute,
+ 'javax.faces.render: ' + render,
+ 'javax.faces.source: ' + element.id,
+ 'view ID: ' + viewID,
+ 'event type: ' + type(decoratedEvent)
+ ], '\n'));
- if (isDeltaSubmit) {
- var previousParameters = form.previousParameters || HashSet();
- var currentParameters = HashSet(jsf.getViewState(form).split('&'));
- var addedParameters = complement(currentParameters, previousParameters);
- var removedParameters = complement(previousParameters, currentParameters);
- form.previousParameters = currentParameters;
- function splitStringParameter(f) {
- return function(p) {
- var parameter = split(p, '=');
- f(decodeURIComponent(parameter[0]), decodeURIComponent(parameter[1]));
- };
- }
+ if (isDeltaSubmit) {
+ var previousParameters = form.previousParameters || HashSet();
+ var currentParameters = HashSet(jsf.getViewState(form).split('&'));
+ var addedParameters = complement(currentParameters, previousParameters);
+ var removedParameters = complement(previousParameters, currentParameters);
+ form.previousParameters = currentParameters;
+ function splitStringParameter(f) {
+ return function(p) {
+ var parameter = split(p, '=');
+ f(decodeURIComponent(parameter[0]), decodeURIComponent(parameter[1]));
+ };
+ }
- var deltaSubmitForm = document.getElementById(viewID);
- var clonedElement = element.cloneNode(true);
- var appendedElements = [];
+ var deltaSubmitForm = document.getElementById(viewID);
+ var clonedElement = element.cloneNode(true);
+ var appendedElements = [];
- function createHiddenInputInDeltaSubmitForm(name, value) {
- append(appendedElements, appendHiddenInputElement(deltaSubmitForm, name, value));
- }
+ function createHiddenInputInDeltaSubmitForm(name, value) {
+ append(appendedElements, appendHiddenInputElement(deltaSubmitForm, name, value));
+ }
- try {
- createHiddenInputInDeltaSubmitForm('ice.deltasubmit.form', form.id);
- createHiddenInputInDeltaSubmitForm(form.id, form.id);
- each(addedParameters, splitStringParameter(function(name, value) {
- createHiddenInputInDeltaSubmitForm(addPrefix + name, value);
- }));
- each(removedParameters, splitStringParameter(function(name, value) {
- createHiddenInputInDeltaSubmitForm(removePrefix + name, value);
- }));
+ try {
+ createHiddenInputInDeltaSubmitForm('ice.deltasubmit.form', form.id);
+ createHiddenInputInDeltaSubmitForm(form.id, form.id);
+ each(addedParameters, splitStringParameter(function(name, value) {
+ createHiddenInputInDeltaSubmitForm(addPrefix + name, value);
+ }));
+ each(removedParameters, splitStringParameter(function(name, value) {
+ createHiddenInputInDeltaSubmitForm(removePrefix + name, value);
+ }));
- jsf.ajax.request(deltaSubmitForm, event, options);
- } finally {
- each(appendedElements, function(element) {
- deltaSubmitForm.removeChild(element);
- });
+ jsf.ajax.request(deltaSubmitForm, event, options);
+ } finally {
+ each(appendedElements, function(element) {
+ deltaSubmitForm.removeChild(element);
+ });
+ }
+ } else {
+ jsf.ajax.request(element, event, options);
}
- } else {
- jsf.ajax.request(element, event, options);
+ } catch (ex) {
+ error(logger, 'failed to execut full submit', ex);
}
}