|
|
@@ -382,9 +382,9 @@
|
|
|
return void 0 == getMaskSet().buffer && (getMaskSet().buffer = getMaskTemplate(!0, getLastValidPosition(), !0)),
|
|
|
getMaskSet().buffer;
|
|
|
}
|
|
|
- function refreshFromBuffer(start, end) {
|
|
|
- var buffer = getBuffer().slice();
|
|
|
- if (start === !0) resetMaskSet(), start = 0, end = buffer.length; else for (var i = start; end > i; i++) delete getMaskSet().validPositions[i],
|
|
|
+ function refreshFromBuffer(start, end, buffer) {
|
|
|
+ if (buffer = buffer || getBuffer().slice(), start === !0) resetMaskSet(), start = 0,
|
|
|
+ end = buffer.length; else for (var i = start; end > i; i++) delete getMaskSet().validPositions[i],
|
|
|
delete getMaskSet().tests[i];
|
|
|
for (var i = start; end > i; i++) buffer[i] != opts.skipOptionalPartCharacter && isValid(i, buffer[i], !0, !0);
|
|
|
}
|
|
|
@@ -643,9 +643,9 @@
|
|
|
function patchValueProperty(npt) {
|
|
|
function PatchValhook(type) {
|
|
|
if (void 0 == $.valHooks[type] || 1 != $.valHooks[type].inputmaskpatch) {
|
|
|
- var valueGet = $.valHooks[type] && $.valHooks[type].get ? $.valHooks[type].get : function(elem) {
|
|
|
+ var valhookGet = $.valHooks[type] && $.valHooks[type].get ? $.valHooks[type].get : function(elem) {
|
|
|
return elem.value;
|
|
|
- }, valueSet = $.valHooks[type] && $.valHooks[type].set ? $.valHooks[type].set : function(elem, value) {
|
|
|
+ }, valhookSet = $.valHooks[type] && $.valHooks[type].set ? $.valHooks[type].set : function(elem, value) {
|
|
|
return elem.value = value, elem;
|
|
|
};
|
|
|
$.valHooks[type] = {
|
|
|
@@ -653,15 +653,16 @@
|
|
|
var $elem = $(elem);
|
|
|
if ($elem.data("_inputmask")) {
|
|
|
if ($elem.data("_inputmask").opts.autoUnmask) return $elem.inputmask("unmaskedvalue");
|
|
|
- var result = valueGet(elem), inputData = $elem.data("_inputmask"), maskset = inputData.maskset, bufferTemplate = maskset._buffer;
|
|
|
+ var result = valhookGet(elem), inputData = $elem.data("_inputmask"), maskset = inputData.maskset, bufferTemplate = maskset._buffer;
|
|
|
return bufferTemplate = bufferTemplate ? bufferTemplate.join("") : "", result != bufferTemplate ? result : "";
|
|
|
}
|
|
|
- return valueGet(elem);
|
|
|
+ return valhookGet(elem);
|
|
|
},
|
|
|
set: function(elem, value) {
|
|
|
var result, $elem = $(elem), inputData = $elem.data("_inputmask");
|
|
|
- return inputData ? (result = valueSet(elem, $.isFunction(inputData.opts.onBeforeMask) ? inputData.opts.onBeforeMask.call(el, value, inputData.opts) || value : value),
|
|
|
- $elem.triggerHandler("setvalue.inputmask")) : result = valueSet(elem, value), result;
|
|
|
+ return inputData ? (result = valhookSet(elem, $.isFunction(inputData.opts.onBeforeMask) ? inputData.opts.onBeforeMask.call(el, value, inputData.opts) || value : value),
|
|
|
+ $elem.triggerHandler("setvalue.inputmask")) : result = valhookSet(elem, value),
|
|
|
+ result;
|
|
|
},
|
|
|
inputmaskpatch: !0
|
|
|
};
|
|
|
@@ -733,8 +734,8 @@
|
|
|
function handleOnKeyResult(input, keyResult, caretPos) {
|
|
|
if (keyResult && keyResult.refreshFromBuffer) {
|
|
|
var refresh = keyResult.refreshFromBuffer;
|
|
|
- refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end), resetMaskSet(!0),
|
|
|
- void 0 != caretPos && (writeBuffer(input, getBuffer()), caret(input, keyResult.caret || caretPos.begin, keyResult.caret || caretPos.end));
|
|
|
+ refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, keyResult.buffer),
|
|
|
+ resetMaskSet(!0), void 0 != caretPos && (writeBuffer(input, getBuffer()), caret(input, keyResult.caret || caretPos.begin, keyResult.caret || caretPos.end));
|
|
|
}
|
|
|
}
|
|
|
function keydownEvent(e) {
|
|
|
@@ -803,10 +804,8 @@
|
|
|
}
|
|
|
}
|
|
|
function keyupEvent(e) {
|
|
|
- var $input = $(this), input = this, k = e.keyCode, buffer = getBuffer(), currentCaretPos = caret(input), keyupResult = opts.onKeyUp.call(this, e, buffer, currentCaretPos.begin, opts);
|
|
|
- handleOnKeyResult(input, keyupResult, currentCaretPos), k == $.inputmask.keyCode.TAB && opts.showMaskOnFocus && ($input.is(":focus") && 0 == input._valueGet().length ? (resetMaskSet(),
|
|
|
- buffer = getBuffer(), writeBuffer(input, buffer), caret(input, 0), valueOnFocus = getBuffer().join("")) : (writeBuffer(input, buffer),
|
|
|
- caret(input, TranslatePosition(0), TranslatePosition(getMaskLength()))));
|
|
|
+ var input = ($(this), this), buffer = (e.keyCode, getBuffer()), currentCaretPos = caret(input), keyupResult = opts.onKeyUp.call(this, e, buffer, currentCaretPos.begin, opts);
|
|
|
+ handleOnKeyResult(input, keyupResult, currentCaretPos);
|
|
|
}
|
|
|
function pasteEvent(e) {
|
|
|
if (skipInputEvent === !0 && "input" == e.type) return skipInputEvent = !1, !0;
|
|
|
@@ -871,11 +870,16 @@
|
|
|
var $input = $(this), input = this;
|
|
|
if ($input.data("_inputmask")) {
|
|
|
var nptValue = input._valueGet(), buffer = getBuffer().slice();
|
|
|
- firstClick = !0, valueOnFocus != buffer.join("") && ($input.change(), valueOnFocus = buffer.join("")),
|
|
|
- "" != nptValue && (opts.clearMaskOnLostFocus && (nptValue == getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)),
|
|
|
- isComplete(buffer) === !1 && ($input.trigger("incomplete"), opts.clearIncomplete && (resetMaskSet(),
|
|
|
- buffer = opts.clearMaskOnLostFocus ? [] : getBufferTemplate().slice())), $.isFunction(opts.postProcessOnBlur) && opts.postProcessOnBlur.call(input, buffer, opts),
|
|
|
- writeBuffer(input, buffer));
|
|
|
+ if (firstClick = !0, valueOnFocus != buffer.join("") && ($input.change(), valueOnFocus = buffer.join("")),
|
|
|
+ "" != nptValue) {
|
|
|
+ if (opts.clearMaskOnLostFocus && (nptValue == getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)),
|
|
|
+ isComplete(buffer) === !1 && ($input.trigger("incomplete"), opts.clearIncomplete && (resetMaskSet(),
|
|
|
+ buffer = opts.clearMaskOnLostFocus ? [] : getBufferTemplate().slice())), $.isFunction(opts.postProcessOnBlur)) {
|
|
|
+ var keyResult = opts.postProcessOnBlur.call(input, buffer, opts);
|
|
|
+ keyResult && (handleOnKeyResult(input, keyResult), buffer = getBuffer());
|
|
|
+ }
|
|
|
+ writeBuffer(input, buffer);
|
|
|
+ }
|
|
|
}
|
|
|
}).bind("focus.inputmask", function() {
|
|
|
var input = ($(this), this), nptValue = input._valueGet();
|
|
|
@@ -1850,7 +1854,13 @@
|
|
|
var tmpBufSplit = "" != opts.radixPoint ? tmpBuffer.join("").split(opts.radixPoint) : [ tmpBuffer.join("") ], matchRslt = tmpBufSplit[0].match(opts.regex.integerPart(opts)), matchRsltDigits = 2 == tmpBufSplit.length ? tmpBufSplit[1].match(opts.regex.integerNPart(opts)) : void 0;
|
|
|
matchRslt && "-0" == matchRslt[matchRslt.index] && (void 0 == matchRsltDigits || matchRsltDigits[matchRsltDigits.index].match(/^0+$/)) && tmpBuffer.splice(0, 1);
|
|
|
var radixPosition = $.inArray(opts.radixPoint, tmpBuffer);
|
|
|
- if (-1 != radixPosition && isFinite(opts.digits) && !opts.digitsOptional) for (var i = 1; i <= opts.digits; i++) (void 0 == tmpBuffer[radixPosition + i] || tmpBuffer[radixPosition + i] == opts.placeholder.charAt(0)) && (tmpBuffer[radixPosition + i] = "0");
|
|
|
+ if (-1 != radixPosition && isFinite(opts.digits) && !opts.digitsOptional) {
|
|
|
+ for (var i = 1; i <= opts.digits; i++) (void 0 == tmpBuffer[radixPosition + i] || tmpBuffer[radixPosition + i] == opts.placeholder.charAt(0)) && (tmpBuffer[radixPosition + i] = "0");
|
|
|
+ return {
|
|
|
+ refreshFromBuffer: !0,
|
|
|
+ buffer: tmpBuffer
|
|
|
+ };
|
|
|
+ }
|
|
|
},
|
|
|
regex: {
|
|
|
integerPart: function() {
|