notebook/app/assets/javascripts/autosave.js
2021-06-20 23:17:55 -07:00

26 lines
835 B
JavaScript

$(document).ready(function() {
$('.autosave-closest-form-on-change').change(function () {
var content_form = $(this).closest('form');
if (content_form) {
M.toast({ html: 'Saving changes...' });
content_form.submit();
} else {
M.toast({ html: "There was an error saving your changes. Please back up any changes and refresh the page." });
}
// TODO: it'd be really nice to capture the response of the form submit but I don't
// know that we can do so without ajax'ing it instead
});
$('.submit-closest-form-on-click').on('click', function() {
$(this).closest('form').submit();
})
// To ensure all fields get unblurred (and therefore autosaved) upon navigation,
// we use this little ditty:
window.onbeforeunload = function(e){
$(document.activeElement).blur();
}
});