home · contact · privacy
Add foreign key restraints, expand and fix tests, add deletion and forking.
[misc] / todo_templates / watch_form.html
index 62fee481a6300995cae94527b70262bb096cc927..c7f396d6356a7dc7c811518a1bfc9a18ca7b3dc7 100644 (file)
@@ -1,5 +1,6 @@
 <script>
-var mere_filter_inputs = ['t_and', 't_not', 'filter'];
+var inputs_to_ignore = ['and_tag', 'not_tag', 'filter'];
+var update_button_names = ['update'];
 var sending_commits = false;
 var changes_to_commit = false;
 var form_to_watch = document.getElementById('form_to_watch');
@@ -7,14 +8,27 @@ for (let i = 0; i < form_to_watch.elements.length; i++) {
     let el = form_to_watch.elements[i];
     if (['INPUT', 'TEXTAREA', 'SELECT'].includes(el.tagName)) {
         el.addEventListener('change', function(event) {
-            if (!mere_filter_inputs.includes(event.target.name)) { 
+            if (!inputs_to_ignore.includes(event.target.name)) { 
               changes_to_commit = true; 
            };
        });
     };
 };
+form_to_watch.addEventListener('keydown', function(event) {
+    let el = document.activeElement; 
+    if ('Enter' === event.key
+           && ['INPUT', 'SELECT'].includes(el.tagName)
+           && (el.tagName !== 'INPUT' || el.type !== 'submit')) {
+        event.preventDefault();
+       if (inputs_to_ignore.includes(el.name)) {
+            document.getElementById('filter_button').click(); 
+       } else {
+            document.getElementById('update_button').click(); 
+       };
+    };
+});
 form_to_watch.addEventListener('submit', function(event) {
-    if ('update' == event.submitter.name) {
+    if (update_button_names.includes(event.submitter.name)) {
        sending_commits = true; 
     };
 });