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);