Browse Source

Clear incomplete mask when applying the mask #482

Robin Herbots 11 years ago
parent
commit
f523feb03d

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
     "name": "jquery.inputmask",
-    "version": "3.0.37",
+    "version": "3.0.38",
     "main": "./dist/jquery.inputmask.bundle.js",
 	"keywords" : ["jQuery", "plugins", "input", "form", "inputmask", "mask"],
 	"description": "jquery.inputmask is a jquery plugin which create an input mask.",

+ 1 - 1
build.properties

@@ -7,7 +7,7 @@ distdir = dist
 
 build.major = 3
 build.minor = 0
-build.revision = 37
+build.revision = 38
 
 target = jquery.inputmask.bundle.js
 target.min = jquery.inputmask.bundle.min.js

BIN
dist/jQuery.InputMask.3.0.37.nupkg


BIN
dist/jQuery.InputMask.3.0.38.nupkg


+ 19 - 13
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2014 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.0.37
+* Version: 3.0.38
 */
 
 (function ($) {
@@ -1364,14 +1364,20 @@
                     if (activeElement === el) { //position the caret when in focus
                         $el.addClass('focus.inputmask');
                         caret(el, seekNext(getLastValidPosition()));
-                    } else if (opts.clearMaskOnLostFocus) {
-                        if (getBuffer().join('') == getBufferTemplate().join('')) {
-                            el._valueSet('');
+                    } else {
+                        if (isComplete(getBuffer()) === false) {
+                            if (opts.clearIncomplete)
+                                resetMaskSet();
+                        }
+                        if (opts.clearMaskOnLostFocus) {
+                            if (getBuffer().join('') == getBufferTemplate().join('')) {
+                                el._valueSet('');
+                            } else {
+                                clearOptionalTail(el);
+                            }
                         } else {
-                            clearOptionalTail(el);
+                            writeBuffer(el, getBuffer());
                         }
-                    } else {
-                        writeBuffer(el, getBuffer());
                     }
 
                     installEventRuler(el);
@@ -1658,7 +1664,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2014 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.0.37
+* Version: 3.0.38
 */
 
 (function ($) {
@@ -2023,7 +2029,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2014 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 3.0.37
+Version: 3.0.38
 
 Optional extensions on the jquery.inputmask base
 */
@@ -2144,7 +2150,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2014 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 3.0.37
+Version: 3.0.38
 
 Optional extensions on the jquery.inputmask base
 */
@@ -2607,7 +2613,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2014 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 3.0.37
+Version: 3.0.38
 
 Optional extensions on the jquery.inputmask base
 */
@@ -2788,7 +2794,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2014 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 3.0.37
+Version: 3.0.38
 
 Regex extensions on the jquery.inputmask base
 Allows for using regular expressions as a mask
@@ -2975,7 +2981,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2014 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 3.0.37
+Version: 3.0.38
 
 Phone extension.
 When using this extension make sure you specify the correct url to get the masks

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


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


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


+ 1 - 1
jquery.inputmask.jquery.json

@@ -8,7 +8,7 @@
 		"inputmask",
 		"mask"
     ],
-    "version": "3.0.37",
+    "version": "3.0.38",
     "author": {
         "name": "Robin Herbots",
         "url": "http://github.com/RobinHerbots/jquery.inputmask"

+ 12 - 6
js/jquery.inputmask.js

@@ -1364,14 +1364,20 @@
                     if (activeElement === el) { //position the caret when in focus
                         $el.addClass('focus.inputmask');
                         caret(el, seekNext(getLastValidPosition()));
-                    } else if (opts.clearMaskOnLostFocus) {
-                        if (getBuffer().join('') == getBufferTemplate().join('')) {
-                            el._valueSet('');
+                    } else {
+                        if (isComplete(getBuffer()) === false) {
+                            if (opts.clearIncomplete)
+                                resetMaskSet();
+                        }
+                        if (opts.clearMaskOnLostFocus) {
+                            if (getBuffer().join('') == getBufferTemplate().join('')) {
+                                el._valueSet('');
+                            } else {
+                                clearOptionalTail(el);
+                            }
                         } else {
-                            clearOptionalTail(el);
+                            writeBuffer(el, getBuffer());
                         }
-                    } else {
-                        writeBuffer(el, getBuffer());
                     }
 
                     installEventRuler(el);