Browse Source

Tab not moving to next field #2644

Robin Herbots 3 years ago
parent
commit
8a41aa3526
10 changed files with 55 additions and 51 deletions
  1. 1 0
      CHANGELOG.md
  2. 1 1
      bower.json
  3. 1 1
      composer.json
  4. 22 21
      dist/inputmask.js
  5. 2 2
      dist/inputmask.min.js
  6. 22 21
      dist/jquery.inputmask.js
  7. 2 2
      dist/jquery.inputmask.min.js
  8. 2 1
      lib/defaults.js
  9. 1 1
      lib/eventhandlers.js
  10. 1 1
      package.json

+ 1 - 0
CHANGELOG.md

@@ -15,6 +15,7 @@
 - fix value reversing with noValuePatching & numericInput - #2629
 
 ### Fixed
+- Tab not moving to next field #2644
 - Regex unicode categories cause RangeError: Maximum call stack size exceeded #2639
 - error message: Cannot read properties of undefined (reading 'allowMinus') #2642
 - fix iphone\ios bug for cyrillic keyboard - #2637

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "5.0.8-beta.41",
+  "version": "5.0.8-beta.43",
   "main": [
 	  "./index.js",
     "./css/inputmask.css"

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
   "name": "robinherbots/inputmask",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
-  "version": "5.0.8-beta.41",
+  "version": "5.0.8-beta.43",
   "type": "library",
   "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
   "homepage": "http://robinherbots.github.io/Inputmask",

+ 22 - 21
dist/inputmask.js

@@ -3,7 +3,7 @@
  * https://github.com/RobinHerbots/Inputmask
  * Copyright (c) 2010 - 2022 Robin Herbots
  * Licensed under the MIT license
- * Version: 5.0.8-beta.41
+ * Version: 5.0.8-beta.43
  */
 !function(e, t) {
     if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else {
@@ -68,7 +68,7 @@
                     positionCaretOnTab: !0,
                     tabThrough: !1,
                     supportsInputType: [ "text", "tel", "url", "password", "search" ],
-                    ignorables: [ a.keys.Backspace, a.keys.Tab, a.keys.Pause, a.keys.Escape, a.keys.PageUp, a.keys.PageDown, a.keys.End, a.keys.Home, a.keys.Left, a.keys.Up, a.keys.Right, a.keys.Down, a.keys.Insert, a.keys.Delete, a.keys.ContextMenu, a.keys.F1, a.keys.F2, a.keys.F3, a.keys.F4, a.keys.F5, a.keys.F6, a.keys.F7, a.keys.F8, a.keys.F9, a.keys.F10, a.keys.F11, a.keys.F12, a.keys.KEY_229, a.keys.Shift, a.keys.Control, a.keys.Alt ],
+                    ignorables: [ a.keys.Backspace, a.keys.Tab, a.keys.Pause, a.keys.Escape, a.keys.PageUp, a.keys.PageDown, a.keys.End, a.keys.Home, a.keys.Left, a.keys.Up, a.keys.Right, a.keys.Down, a.keys.Insert, a.keys.Delete, a.keys.ContextMenu, a.keys.F1, a.keys.F2, a.keys.F3, a.keys.F4, a.keys.F5, a.keys.F6, a.keys.F7, a.keys.F8, a.keys.F9, a.keys.F10, a.keys.F11, a.keys.F12, a.keys.KEY_229, a.keys.Shift, a.keys.Control, a.keys.Alt, a.keys.Tab ],
                     isComplete: null,
                     preValidation: null,
                     postValidation: null,
@@ -356,27 +356,28 @@
                     },
                     keypressEvent: function(e, t, i, r, l) {
                         var c = this.inputmask || this, u = c.opts, f = c.dependencyLib, p = c.maskset, d = c.el, h = f(d), v = e.key;
-                        if (!(!0 === t || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || c.ignorable)) return v === n.keys.Enter && c.undoValue !== c._valueGet(!0) && (c.undoValue = c._valueGet(!0), 
+                        if (!0 === t || e.ctrlKey && e.altKey || !(e.ctrlKey || e.metaKey || c.ignorable)) {
+                            if (v) {
+                                var m, g = t ? {
+                                    begin: l,
+                                    end: l
+                                } : a.caret.call(c, d);
+                                v = u.substitutes[v] || v, p.writeOutBuffer = !0;
+                                var k = o.isValid.call(c, g, v, r, void 0, void 0, void 0, t);
+                                if (!1 !== k && (a.resetMaskSet.call(c, !0), m = void 0 !== k.caret ? k.caret : a.seekNext.call(c, k.pos.begin ? k.pos.begin : k.pos), 
+                                p.p = m), m = u.numericInput && void 0 === k.caret ? a.seekPrevious.call(c, m) : m, 
+                                !1 !== i && (setTimeout((function() {
+                                    u.onKeyValidation.call(d, v, k);
+                                }), 0), p.writeOutBuffer && !1 !== k)) {
+                                    var y = a.getBuffer.call(c);
+                                    (0, s.writeBuffer)(d, y, m, e, !0 !== t);
+                                }
+                                if (e.preventDefault(), t) return !1 !== k && (k.forwardPosition = m), k;
+                            }
+                        } else v === n.keys.Enter && c.undoValue !== c._valueGet(!0) && (c.undoValue = c._valueGet(!0), 
                         setTimeout((function() {
                             h.trigger("change");
-                        }), 0)), !1;
-                        if (v) {
-                            var m, g = t ? {
-                                begin: l,
-                                end: l
-                            } : a.caret.call(c, d);
-                            v = u.substitutes[v] || v, p.writeOutBuffer = !0;
-                            var k = o.isValid.call(c, g, v, r, void 0, void 0, void 0, t);
-                            if (!1 !== k && (a.resetMaskSet.call(c, !0), m = void 0 !== k.caret ? k.caret : a.seekNext.call(c, k.pos.begin ? k.pos.begin : k.pos), 
-                            p.p = m), m = u.numericInput && void 0 === k.caret ? a.seekPrevious.call(c, m) : m, 
-                            !1 !== i && (setTimeout((function() {
-                                u.onKeyValidation.call(d, v, k);
-                            }), 0), p.writeOutBuffer && !1 !== k)) {
-                                var y = a.getBuffer.call(c);
-                                (0, s.writeBuffer)(d, y, m, e, !0 !== t);
-                            }
-                            if (e.preventDefault(), t) return !1 !== k && (k.forwardPosition = m), k;
-                        }
+                        }), 0));
                     },
                     keyupEvent: function(e) {
                         var t = this.inputmask;

File diff suppressed because it is too large
+ 2 - 2
dist/inputmask.min.js


+ 22 - 21
dist/jquery.inputmask.js

@@ -3,7 +3,7 @@
  * https://github.com/RobinHerbots/Inputmask
  * Copyright (c) 2010 - 2022 Robin Herbots
  * Licensed under the MIT license
- * Version: 5.0.8-beta.41
+ * Version: 5.0.8-beta.43
  */
 !function(e, t) {
     if ("object" == typeof exports && "object" == typeof module) module.exports = t(require("jquery")); else if ("function" == typeof define && define.amd) define([ "jquery" ], t); else {
@@ -78,7 +78,7 @@
                     positionCaretOnTab: !0,
                     tabThrough: !1,
                     supportsInputType: [ "text", "tel", "url", "password", "search" ],
-                    ignorables: [ a.keys.Backspace, a.keys.Tab, a.keys.Pause, a.keys.Escape, a.keys.PageUp, a.keys.PageDown, a.keys.End, a.keys.Home, a.keys.Left, a.keys.Up, a.keys.Right, a.keys.Down, a.keys.Insert, a.keys.Delete, a.keys.ContextMenu, a.keys.F1, a.keys.F2, a.keys.F3, a.keys.F4, a.keys.F5, a.keys.F6, a.keys.F7, a.keys.F8, a.keys.F9, a.keys.F10, a.keys.F11, a.keys.F12, a.keys.KEY_229, a.keys.Shift, a.keys.Control, a.keys.Alt ],
+                    ignorables: [ a.keys.Backspace, a.keys.Tab, a.keys.Pause, a.keys.Escape, a.keys.PageUp, a.keys.PageDown, a.keys.End, a.keys.Home, a.keys.Left, a.keys.Up, a.keys.Right, a.keys.Down, a.keys.Insert, a.keys.Delete, a.keys.ContextMenu, a.keys.F1, a.keys.F2, a.keys.F3, a.keys.F4, a.keys.F5, a.keys.F6, a.keys.F7, a.keys.F8, a.keys.F9, a.keys.F10, a.keys.F11, a.keys.F12, a.keys.KEY_229, a.keys.Shift, a.keys.Control, a.keys.Alt, a.keys.Tab ],
                     isComplete: null,
                     preValidation: null,
                     postValidation: null,
@@ -235,27 +235,28 @@
                     },
                     keypressEvent: function(e, t, i, r, l) {
                         var c = this.inputmask || this, u = c.opts, f = c.dependencyLib, p = c.maskset, d = c.el, h = f(d), m = e.key;
-                        if (!(!0 === t || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || c.ignorable)) return m === n.keys.Enter && c.undoValue !== c._valueGet(!0) && (c.undoValue = c._valueGet(!0), 
+                        if (!0 === t || e.ctrlKey && e.altKey || !(e.ctrlKey || e.metaKey || c.ignorable)) {
+                            if (m) {
+                                var v, g = t ? {
+                                    begin: l,
+                                    end: l
+                                } : a.caret.call(c, d);
+                                m = u.substitutes[m] || m, p.writeOutBuffer = !0;
+                                var k = o.isValid.call(c, g, m, r, void 0, void 0, void 0, t);
+                                if (!1 !== k && (a.resetMaskSet.call(c, !0), v = void 0 !== k.caret ? k.caret : a.seekNext.call(c, k.pos.begin ? k.pos.begin : k.pos), 
+                                p.p = v), v = u.numericInput && void 0 === k.caret ? a.seekPrevious.call(c, v) : v, 
+                                !1 !== i && (setTimeout((function() {
+                                    u.onKeyValidation.call(d, m, k);
+                                }), 0), p.writeOutBuffer && !1 !== k)) {
+                                    var y = a.getBuffer.call(c);
+                                    (0, s.writeBuffer)(d, y, v, e, !0 !== t);
+                                }
+                                if (e.preventDefault(), t) return !1 !== k && (k.forwardPosition = v), k;
+                            }
+                        } else m === n.keys.Enter && c.undoValue !== c._valueGet(!0) && (c.undoValue = c._valueGet(!0), 
                         setTimeout((function() {
                             h.trigger("change");
-                        }), 0)), !1;
-                        if (m) {
-                            var v, g = t ? {
-                                begin: l,
-                                end: l
-                            } : a.caret.call(c, d);
-                            m = u.substitutes[m] || m, p.writeOutBuffer = !0;
-                            var k = o.isValid.call(c, g, m, r, void 0, void 0, void 0, t);
-                            if (!1 !== k && (a.resetMaskSet.call(c, !0), v = void 0 !== k.caret ? k.caret : a.seekNext.call(c, k.pos.begin ? k.pos.begin : k.pos), 
-                            p.p = v), v = u.numericInput && void 0 === k.caret ? a.seekPrevious.call(c, v) : v, 
-                            !1 !== i && (setTimeout((function() {
-                                u.onKeyValidation.call(d, m, k);
-                            }), 0), p.writeOutBuffer && !1 !== k)) {
-                                var y = a.getBuffer.call(c);
-                                (0, s.writeBuffer)(d, y, v, e, !0 !== t);
-                            }
-                            if (e.preventDefault(), t) return !1 !== k && (k.forwardPosition = v), k;
-                        }
+                        }), 0));
                     },
                     keyupEvent: function(e) {
                         var t = this.inputmask;

File diff suppressed because it is too large
+ 2 - 2
dist/jquery.inputmask.min.js


+ 2 - 1
lib/defaults.js

@@ -82,7 +82,8 @@ export default {
 		keys.KEY_229,
 		keys.Shift,
 		keys.Control,
-		keys.Alt
+		keys.Alt,
+		keys.Tab,
 	],
 	isComplete: null, //override for isComplete - args => buffer, opts - return true || false
 	preValidation: null, //hook to preValidate the input.  Usefull for validating regardless the definition.	args => buffer, pos, char, isSelection, opts, maskset, caretPos, strict => return true/false/command object

+ 1 - 1
lib/eventhandlers.js

@@ -111,7 +111,7 @@ var EventHandlers = {
                 }, 0);
             }
             //inputmask.skipInputEvent = true; //skip the input as otherwise the skipped char could be picked up for validation by the inputfallback
-            return false;
+            return;
         } else if (c) {
             //special treat the decimal separator
             // if ((k === 44 || k === 46) && e.location === 3 && opts.radixPoint !== "") k = opts.radixPoint.charCodeAt(0);

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "5.0.8-beta.41",
+  "version": "5.0.8-beta.43",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
   "main": "dist/inputmask.js",
   "files": [