|
|
@@ -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.12
|
|
|
+* Version: 3.0.13
|
|
|
*/
|
|
|
|
|
|
(function ($) {
|
|
|
@@ -1229,27 +1229,30 @@
|
|
|
}
|
|
|
}
|
|
|
}).bind("blur.inputmask", function () {
|
|
|
- var $input = $(this), input = this, nptValue = input._valueGet(), buffer = getBuffer();
|
|
|
- $input.removeClass('focus.inputmask');
|
|
|
- if (valueOnFocus != getBuffer().join('')) {
|
|
|
- $input.change();
|
|
|
- }
|
|
|
- if (opts.clearMaskOnLostFocus && nptValue != '') {
|
|
|
- if (nptValue == getBufferTemplate().join(''))
|
|
|
- input._valueSet('');
|
|
|
- else { //clearout optional tail of the mask
|
|
|
- clearOptionalTail(input);
|
|
|
+ var $input = $(this), input = this;
|
|
|
+ if ($input.data('_inputmask')) {
|
|
|
+ var nptValue = input._valueGet(), buffer = getBuffer();
|
|
|
+ $input.removeClass('focus.inputmask');
|
|
|
+ if (valueOnFocus != getBuffer().join('')) {
|
|
|
+ $input.change();
|
|
|
}
|
|
|
- }
|
|
|
- if (isComplete(buffer) === false) {
|
|
|
- $input.trigger("incomplete");
|
|
|
- if (opts.clearIncomplete) {
|
|
|
- resetMaskSet();
|
|
|
- if (opts.clearMaskOnLostFocus)
|
|
|
+ if (opts.clearMaskOnLostFocus && nptValue != '') {
|
|
|
+ if (nptValue == getBufferTemplate().join(''))
|
|
|
input._valueSet('');
|
|
|
- else {
|
|
|
- buffer = getBufferTemplate().slice();
|
|
|
- writeBuffer(input, buffer);
|
|
|
+ else { //clearout optional tail of the mask
|
|
|
+ clearOptionalTail(input);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (isComplete(buffer) === false) {
|
|
|
+ $input.trigger("incomplete");
|
|
|
+ if (opts.clearIncomplete) {
|
|
|
+ resetMaskSet();
|
|
|
+ if (opts.clearMaskOnLostFocus)
|
|
|
+ input._valueSet('');
|
|
|
+ else {
|
|
|
+ buffer = getBufferTemplate().slice();
|
|
|
+ writeBuffer(input, buffer);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1493,30 +1496,33 @@
|
|
|
return pos;
|
|
|
}
|
|
|
function determineActiveMask(eventType, elmasks) {
|
|
|
+
|
|
|
if (eventType != "multiMaskScope") {
|
|
|
- var lpc = -1, cp = -1, lvp = -1;;
|
|
|
- $.each(elmasks, function (ndx, lmsk) {
|
|
|
- var data = $(lmsk).data('_inputmask');
|
|
|
- var maskset = data["maskset"];
|
|
|
- var lastValidPosition = -1, validPositionCount = 0, caretPos = mcaret(lmsk).begin;
|
|
|
- for (var posNdx in maskset["validPositions"]) {
|
|
|
- var psNdx = parseInt(posNdx);
|
|
|
- if (psNdx > lastValidPosition) lastValidPosition = psNdx;
|
|
|
- validPositionCount++;
|
|
|
- }
|
|
|
- if (validPositionCount > lpc
|
|
|
- || (validPositionCount == lpc && cp > caretPos && lvp > lastValidPosition)
|
|
|
- || (validPositionCount == lpc && cp == caretPos && lvp < lastValidPosition)
|
|
|
+ if ($.isFunction(opts.determineActiveMasksetIndex))
|
|
|
+ activeMasksetIndex = opts.determineActiveMasksetIndex.call($el, eventType, elmasks);
|
|
|
+ else {
|
|
|
+ var lpc = -1, cp = -1, lvp = -1;;
|
|
|
+ $.each(elmasks, function (ndx, lmsk) {
|
|
|
+ var data = $(lmsk).data('_inputmask');
|
|
|
+ var maskset = data["maskset"];
|
|
|
+ var lastValidPosition = -1, validPositionCount = 0, caretPos = mcaret(lmsk).begin;
|
|
|
+ for (var posNdx in maskset["validPositions"]) {
|
|
|
+ var psNdx = parseInt(posNdx);
|
|
|
+ if (psNdx > lastValidPosition) lastValidPosition = psNdx;
|
|
|
+ validPositionCount++;
|
|
|
+ }
|
|
|
+ if (validPositionCount > lpc
|
|
|
+ || (validPositionCount == lpc && cp > caretPos && lvp > lastValidPosition)
|
|
|
+ || (validPositionCount == lpc && cp == caretPos && lvp < lastValidPosition)
|
|
|
) {
|
|
|
- //console.log("lvp " + lastValidPosition + " vpc " + validPositionCount + " caret " + caretPos + " ams " + ndx);
|
|
|
- lpc = validPositionCount;
|
|
|
- cp = caretPos;
|
|
|
- activeMasksetIndex = ndx;
|
|
|
- lvp = lastValidPosition;
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- if ($.isFunction(opts.determineActiveMasksetIndex)) activeMasksetIndex = opts.determineActiveMasksetIndex.call($el, eventType, elmasks);
|
|
|
+ //console.log("lvp " + lastValidPosition + " vpc " + validPositionCount + " caret " + caretPos + " ams " + ndx);
|
|
|
+ lpc = validPositionCount;
|
|
|
+ cp = caretPos;
|
|
|
+ activeMasksetIndex = ndx;
|
|
|
+ lvp = lastValidPosition;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
var data = $el.data('_inputmask-multi') || { "activeMasksetIndex": 0, "elmasks": elmasks };
|
|
|
data["activeMasksetIndex"] = activeMasksetIndex;
|
|
|
@@ -1751,11 +1757,11 @@
|
|
|
opts = $input.data('_inputmask')['opts'];
|
|
|
//writeout the unmaskedvalue
|
|
|
input._valueSet(maskScope(maskset, opts, { "action": "unmaskedvalue", "$input": $input, "skipDatepickerCheck": true }));
|
|
|
- //clear data
|
|
|
- $input.removeData('_inputmask');
|
|
|
//unbind all events
|
|
|
$input.unbind(".inputmask");
|
|
|
$input.removeClass('focus.inputmask');
|
|
|
+ //clear data
|
|
|
+ $input.removeData('_inputmask');
|
|
|
//restore the value property
|
|
|
var valueProperty;
|
|
|
if (Object.getOwnPropertyDescriptor)
|
|
|
@@ -1859,7 +1865,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.12
|
|
|
+Version: 3.0.13
|
|
|
|
|
|
Optional extensions on the jquery.inputmask base
|
|
|
*/
|
|
|
@@ -1969,7 +1975,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.12
|
|
|
+Version: 3.0.13
|
|
|
|
|
|
Optional extensions on the jquery.inputmask base
|
|
|
*/
|
|
|
@@ -2432,7 +2438,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.12
|
|
|
+Version: 3.0.13
|
|
|
|
|
|
Optional extensions on the jquery.inputmask base
|
|
|
*/
|
|
|
@@ -2591,7 +2597,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.12
|
|
|
+Version: 3.0.13
|
|
|
|
|
|
Regex extensions on the jquery.inputmask base
|
|
|
Allows for using regular expressions as a mask
|
|
|
@@ -2778,7 +2784,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.12
|
|
|
+Version: 3.0.13
|
|
|
|
|
|
Phone extension.
|
|
|
When using this extension make sure you specify the correct url to get the masks
|