[Jifty-commit] r3933 - jifty/trunk/share/web/static/js
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Wed Aug 22 10:42:24 EDT 2007
Author: efunneko
Date: Wed Aug 22 10:42:15 2007
New Revision: 3933
Modified:
jifty/trunk/share/web/static/js/jifty.js
Log:
Fixed a problem where some disabled elements weren't re-enabled after a submission when the disabled elements were outside of the fragment being refreshed.
Modified: jifty/trunk/share/web/static/js/jifty.js
==============================================================================
--- jifty/trunk/share/web/static/js/jifty.js (original)
+++ jifty/trunk/share/web/static/js/jifty.js Wed Aug 22 10:42:15 2007
@@ -311,7 +311,7 @@
hide_wait_message();
},
- disable_input_fields: function() {
+ disable_input_fields: function(disabled_elements) {
var disable = function() {
var elt = arguments[0];
// Disabling hidden elements seems to make IE sad for some reason
@@ -319,6 +319,7 @@
// Triggers https://bugzilla.mozilla.org/show_bug.cgi?id=236791
elt.blur();
elt.disabled = true;
+ disabled_elements.push(elt);
}
};
this.fields().each(disable);
@@ -1009,6 +1010,9 @@
// The YAML/JSON data structure that will be sent
var request = $H();
+ // Keep track of disabled elements
+ var disabled_elements = $A();
+
// Set request base path
request['path'] = '/__jifty/webservices/xml';
@@ -1044,7 +1048,7 @@
if (a.hasUpload())
return true;
if(disable) {
- a.disable_input_fields();
+ a.disable_input_fields(disabled_elements);
}
request['actions'][moniker] = a.data_structure();
++has_request;
@@ -1154,6 +1158,11 @@
}
}});
}});
+
+ for ( var i = 0; i < disabled_elements.length; i++ ) {
+ disabled_elements[i].disabled = false;
+ }
+
// empty known action. XXX: we should only need to discard actions being submitted
// Loop through the result looking for it
@@ -1195,10 +1204,8 @@
Jifty.failedRequest = transport;
- var keys = request["actions"].keys();
- for ( var i = 0; i < keys.length; i++ ) {
- var a = new Action( request["actions"][ keys[i] ].moniker );
- a.enable_input_fields();
+ for ( var i = 0; i < disabled_elements.length; i++ ) {
+ disabled_elements[i].disabled = false;
}
};
More information about the Jifty-commit
mailing list