[Rt-commit] rt branch, 4.4/disable-submit-on-enter-in-autocomplete, created. rt-4.4.4-137-gc746c190ec

Blaine Motsinger blaine at bestpractical.com
Mon Aug 31 17:36:54 EDT 2020


The branch, 4.4/disable-submit-on-enter-in-autocomplete has been created
        at  c746c190ecfbc8d0b9f7826d5213bf62a3e85a74 (commit)

- Log -----------------------------------------------------------------
commit c746c190ecfbc8d0b9f7826d5213bf62a3e85a74
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Mon Aug 31 16:30:29 2020 -0500

    Disable submit on enter in autocomplete inputs
    
    This commit disables submit on enter keypress for email inputs on
    ticket create pages.
    
    Submit on enter keypress is still allowed for owner and queue
    selects on ticket pages, user and group selects for Admin pages,
    watcher and groups on ticket modify people pages, create depends
    on link forms.
    
    I#32632

diff --git a/share/static/js/util.js b/share/static/js/util.js
index d5bf84562a..55d3d2459f 100644
--- a/share/static/js/util.js
+++ b/share/static/js/util.js
@@ -527,6 +527,36 @@ function addprincipal_onchange(ev, ui) {
     }
 }
 
+// disable submit on enter in autocomplete boxes
+jQuery(function() {
+    jQuery('input[data-autocomplete]').each(function() {
+        var input = jQuery(this);
+
+        // don't disable autosubmit for Queue select, CreateTicketInQueue, or Ticket autocompletes on Ticket pages
+        if (input.attr('data-autocomplete-autosubmit') || input.attr('data-autocomplete') === 'Queues' ||
+            input.attr('data-autocomplete') === 'Tickets') {
+            return true;
+        }
+
+        // don't disable autosubmit for watcher inputs
+        var watcher_regex = new RegExp('^WatcherAddressEmail');
+        if (watcher_regex.test(input.attr('id'))) {
+            return true;
+        }
+
+        // don't disable autocompleteselect events like those on the Admin pages.
+        // autocomplete-UserString, autocomplete-GroupString
+        if (input.attr('id') === 'autocomplete-UserString' || input.attr('id') === 'autocomplete-GroupString') {
+            return true;
+        }
+
+        input.on('keypress', function(event) {
+            if (event.keyCode === 13) {
+                return false;
+            }
+        });
+    });
+});
 
 function escapeCssSelector(str) {
     return str.replace(/([^A-Za-z0-9_-])/g,'\\$1');

-----------------------------------------------------------------------


More information about the rt-commit mailing list