app/javascript/blacklight/checkbox_submit.js in blacklight-7.0.0.rc1 vs app/javascript/blacklight/checkbox_submit.js in blacklight-7.0.0.rc2
- old
+ new
@@ -16,15 +16,15 @@
Uses HTML for a checkbox compatible with Bootstrap 3.
Pass in options for your class name and labels:
$("form.something").blCheckboxSubmit({
- checked_label: "Selected",
- unchecked_label: "Select",
- progress_label: "Saving...",
//cssClass is added to elements added, plus used for id base
cssClass: "toggle_my_kinda_form",
+ error: function() {
+ #optional callback
+ },
success: function(after_success_check_state) {
#optional callback
}
});
*/
@@ -45,11 +45,11 @@
//View needs to set data-doc-id so we know a unique value
//for making DOM id
var uniqueId = form.attr('data-doc-id') || Math.random();
// if form is currently using method delete to change state,
// then checkbox is currently checked
- var checked = (form.find('input[name=_method][value=delete]').size() != 0);
+ var checked = (form.find('input[name=_method][value=delete]').length != 0);
var checkbox = $('<input type="checkbox">')
.addClass( options.cssClass )
.attr('id', options.cssClass + '_' + uniqueId);
var label = $('<label>')
@@ -92,14 +92,13 @@
url: form.attr('action'),
dataType: 'json',
type: form.attr('method').toUpperCase(),
data: form.serialize(),
error: function() {
- alert('Error');
- updateStateFor(checked);
label.removeAttr('disabled');
checkbox.removeAttr('disabled');
+ options.error.call();
},
success: function(data, status, xhr) {
//if app isn't running at all, xhr annoyingly
//reports success with status 0.
if (xhr.status != 0) {
@@ -107,14 +106,13 @@
updateStateFor(checked);
label.removeAttr('disabled');
checkbox.removeAttr('disabled');
options.success.call(form, checked, xhr.responseJSON);
} else {
- alert('Error');
- updateStateFor(checked);
label.removeAttr('disabled');
checkbox.removeAttr('disabled');
+ options.error.call();
}
}
});
return false;
@@ -126,8 +124,11 @@
};
$.fn.blCheckboxSubmit.defaults = {
//cssClass is added to elements added, plus used for id base
cssClass: 'blCheckboxSubmit',
+ error: function() {
+ alert("Error");
+ },
success: function() {} //callback
};
})(jQuery);