2 var mere_filter_inputs = ['t_and', 't_not', 'filter'];
3 var sending_commits = false;
4 var changes_to_commit = false;
5 var form_to_watch = document.getElementById('form_to_watch');
6 for (let i = 0; i < form_to_watch.elements.length; i++) {
7 let el = form_to_watch.elements[i];
8 if (['INPUT', 'TEXTAREA', 'SELECT'].includes(el.tagName)) {
9 el.addEventListener('change', function(event) {
10 if (!mere_filter_inputs.includes(event.target.name)) {
11 changes_to_commit = true;
16 form_to_watch.addEventListener('submit', function(event) {
17 if ('update' == event.submitter.name) {
18 sending_commits = true;
21 window.addEventListener('beforeunload', function(event) {
22 if (changes_to_commit && !sending_commits) {
23 var warning = 'about to lose unsaved changes, continue?';
24 event.returnValue = warning;