Merge pull request #202 from niphlod/enhancement/working_status

streamlined the "working..." status handling and added an example
This commit is contained in:
mdipierro
2013-09-07 07:22:14 -07:00
3 changed files with 18 additions and 9 deletions
+6 -3
View File
@@ -250,14 +250,13 @@
}, },
trap_form: function (action, target) { trap_form: function (action, target) {
/* traps any LOADed form */ /* traps any LOADed form */
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
$('#' + target + ' form').each(function (i) { $('#' + target + ' form').each(function (i) {
var form = $(this); var form = $(this);
form.attr('data-w2p_target', target); form.attr('data-w2p_target', target);
if(!form.hasClass('no_trap')) { if(!form.hasClass('no_trap')) {
/* should be there by default */ /* should be there by default */
form.find(web2py.formInputClickSelector).attr('data-w2p_disable_with', disable_with_message);
form.submit(function (e) { form.submit(function (e) {
web2py.disableElement(form.find(web2py.formInputClickSelector));
web2py.hide_flash(); web2py.hide_flash();
web2py.ajax_page('post', action, form.serialize(), target, form); web2py.ajax_page('post', action, form.serialize(), target, form);
e.preventDefault(); e.preventDefault();
@@ -475,10 +474,14 @@
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working..."; var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
/*store enabled state*/ /*store enabled state*/
el.data('w2p:enable-with', el[method]()); el.data('w2p:enable-with', el[method]());
/* little addition by default*/ /*if you don't want to see "working..." on buttons, replace the following
* two lines with this one
* el.data('w2p_disable_with', el[method]());
*/
if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) { if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) {
el.data('w2p_disable_with', disable_with_message); el.data('w2p_disable_with', disable_with_message);
} }
/* set to disabled state*/ /* set to disabled state*/
el[method](el.data('w2p_disable_with')); el[method](el.data('w2p_disable_with'));
+6 -3
View File
@@ -250,14 +250,13 @@
}, },
trap_form: function (action, target) { trap_form: function (action, target) {
/* traps any LOADed form */ /* traps any LOADed form */
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
$('#' + target + ' form').each(function (i) { $('#' + target + ' form').each(function (i) {
var form = $(this); var form = $(this);
form.attr('data-w2p_target', target); form.attr('data-w2p_target', target);
if(!form.hasClass('no_trap')) { if(!form.hasClass('no_trap')) {
/* should be there by default */ /* should be there by default */
form.find(web2py.formInputClickSelector).attr('data-w2p_disable_with', disable_with_message);
form.submit(function (e) { form.submit(function (e) {
web2py.disableElement(form.find(web2py.formInputClickSelector));
web2py.hide_flash(); web2py.hide_flash();
web2py.ajax_page('post', action, form.serialize(), target, form); web2py.ajax_page('post', action, form.serialize(), target, form);
e.preventDefault(); e.preventDefault();
@@ -475,10 +474,14 @@
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working..."; var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
/*store enabled state*/ /*store enabled state*/
el.data('w2p:enable-with', el[method]()); el.data('w2p:enable-with', el[method]());
/* little addition by default*/ /*if you don't want to see "working..." on buttons, replace the following
* two lines with this one
* el.data('w2p_disable_with', el[method]());
*/
if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) { if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) {
el.data('w2p_disable_with', disable_with_message); el.data('w2p_disable_with', disable_with_message);
} }
/* set to disabled state*/ /* set to disabled state*/
el[method](el.data('w2p_disable_with')); el[method](el.data('w2p_disable_with'));
+6 -3
View File
@@ -250,14 +250,13 @@
}, },
trap_form: function (action, target) { trap_form: function (action, target) {
/* traps any LOADed form */ /* traps any LOADed form */
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
$('#' + target + ' form').each(function (i) { $('#' + target + ' form').each(function (i) {
var form = $(this); var form = $(this);
form.attr('data-w2p_target', target); form.attr('data-w2p_target', target);
if(!form.hasClass('no_trap')) { if(!form.hasClass('no_trap')) {
/* should be there by default */ /* should be there by default */
form.find(web2py.formInputClickSelector).attr('data-w2p_disable_with', disable_with_message);
form.submit(function (e) { form.submit(function (e) {
web2py.disableElement(form.find(web2py.formInputClickSelector));
web2py.hide_flash(); web2py.hide_flash();
web2py.ajax_page('post', action, form.serialize(), target, form); web2py.ajax_page('post', action, form.serialize(), target, form);
e.preventDefault(); e.preventDefault();
@@ -475,10 +474,14 @@
var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working..."; var disable_with_message = (typeof w2p_ajax_disable_with_message != 'undefined') ? w2p_ajax_disable_with_message : "Working...";
/*store enabled state*/ /*store enabled state*/
el.data('w2p:enable-with', el[method]()); el.data('w2p:enable-with', el[method]());
/* little addition by default*/ /*if you don't want to see "working..." on buttons, replace the following
* two lines with this one
* el.data('w2p_disable_with', el[method]());
*/
if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) { if((el.data('w2p_disable_with') == 'default') || (el.data('w2p_disable_with') === undefined)) {
el.data('w2p_disable_with', disable_with_message); el.data('w2p_disable_with', disable_with_message);
} }
/* set to disabled state*/ /* set to disabled state*/
el[method](el.data('w2p_disable_with')); el[method](el.data('w2p_disable_with'));