From cead37f6fde9b90513fb887221ec8daa76254122 Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Wed, 22 Apr 2020 14:33:38 +0200 Subject: [PATCH] [REF] pretty js --- easy_my_coop/static/src/js/easy_my_coop.js | 58 +- .../static/src/js/jquery.inputmask.bundle.js | 1521 +++++++++-------- .../static/src/js/loan_issue.js | 26 +- 3 files changed, 896 insertions(+), 709 deletions(-) diff --git a/easy_my_coop/static/src/js/easy_my_coop.js b/easy_my_coop/static/src/js/easy_my_coop.js index 4ca05c6..49bcf08 100644 --- a/easy_my_coop/static/src/js/easy_my_coop.js +++ b/easy_my_coop/static/src/js/easy_my_coop.js @@ -4,14 +4,14 @@ odoo.define('easy_my_coop.oe_easymy_coop', function (require) { var ajax = require('web.ajax'); $('.oe_easymy_coop').each(function () { - var oe_easymy_coop = this; + var oe_easymy_coop = this; - $('#share_product_id').change(function () { - var share_product_id = $("#share_product_id").val(); - ajax.jsonRpc("/subscription/get_share_product", 'call', { + $('#share_product_id').change(function () { + var share_product_id = $("#share_product_id").val(); + ajax.jsonRpc("/subscription/get_share_product", 'call', { 'share_product_id': share_product_id, - }) - .then(function (data) { + }) + .then(function (data) { $('#share_price').text(data[share_product_id].list_price); $('input.js_quantity').val(data[share_product_id].min_qty); if (data[share_product_id].force_min_qty == true) { @@ -19,34 +19,34 @@ odoo.define('easy_my_coop.oe_easymy_coop', function (require) { } $('input.js_quantity').change(); var $share_price = $('#share_price').text(); - $('input[name="total_parts"]').val($('input.js_quantity').val()*$share_price); + $('input[name="total_parts"]').val($('input.js_quantity').val() * $share_price); $('input[name="total_parts"]').change(); - }); - }); + }); + }); - $(oe_easymy_coop).on('click', 'a.js_add_cart_json', function (ev) { - var $share_price = $('#share_price').text(); - var $link = $(ev.currentTarget); - var $input = $link.parent().parent().find("input"); - var $input_total = $("div").find(".total"); - var min = parseFloat($input.data("min") || 1); - var amount_max = parseFloat($('input[name="total_parts"]').data("max")); - var quantity = ($link.has(".fa-minus").length ? -1 : 1) + parseFloat($input.val(), 10); - var total_part = quantity * $share_price; - var quantity_max = amount_max / $share_price; - $input.val(quantity > min ? total_part <= amount_max ? quantity : quantity_max : min); - $input.change(); - $('input[name="total_parts"]').val($input.val()*$share_price); - return false; - }); + $(oe_easymy_coop).on('click', 'a.js_add_cart_json', function (ev) { + var $share_price = $('#share_price').text(); + var $link = $(ev.currentTarget); + var $input = $link.parent().parent().find("input"); + var $input_total = $("div").find(".total"); + var min = parseFloat($input.data("min") || 1); + var amount_max = parseFloat($('input[name="total_parts"]').data("max")); + var quantity = ($link.has(".fa-minus").length ? -1 : 1) + parseFloat($input.val(), 10); + var total_part = quantity * $share_price; + var quantity_max = amount_max / $share_price; + $input.val(quantity > min ? total_part <= amount_max ? quantity : quantity_max : min); + $input.change(); + $('input[name="total_parts"]').val($input.val() * $share_price); + return false; + }); - $(oe_easymy_coop).on('focusout', 'input.js_quantity', function (ev) { - $('a.js_add_cart_json').trigger('click'); - }); + $(oe_easymy_coop).on('focusout', 'input.js_quantity', function (ev) { + $('a.js_add_cart_json').trigger('click'); + }); - $('#share_product_id').trigger('change'); + $('#share_product_id').trigger('change'); - $("[name='birthdate']").inputmask(); + $("[name='birthdate']").inputmask(); }); }); }); diff --git a/easy_my_coop/static/src/js/jquery.inputmask.bundle.js b/easy_my_coop/static/src/js/jquery.inputmask.bundle.js index 8a3b083..d5d14ac 100644 --- a/easy_my_coop/static/src/js/jquery.inputmask.bundle.js +++ b/easy_my_coop/static/src/js/jquery.inputmask.bundle.js @@ -6,40 +6,48 @@ * Version: 3.2.7 */ !(function ($) { - function Inputmask (alias, options) { + function Inputmask(alias, options) { return this instanceof Inputmask ? ($.isPlainObject(alias) ? options = alias : (options = options || {}, - options.alias = alias), this.el = void 0, this.opts = $.extend(!0, {}, this.defaults, options), - this.noMasksCache = options && void 0 !== options.definitions, this.userOptions = options || {}, - this.events = {}, void resolveAlias(this.opts.alias, options, this.opts)) : new Inputmask(alias, options); + options.alias = alias), this.el = void 0, this.opts = $.extend(!0, {}, this.defaults, options), + this.noMasksCache = options && void 0 !== options.definitions, this.userOptions = options || {}, + this.events = {}, void resolveAlias(this.opts.alias, options, this.opts)) : new Inputmask(alias, options); } - function isInputEventSupported (eventName) { - var el = document.createElement("input"), evName = "on" + eventName, isSupported = evName in el; + + function isInputEventSupported(eventName) { + var el = document.createElement("input"), evName = "on" + eventName, + isSupported = evName in el; return isSupported || (el.setAttribute(evName, "return;"), isSupported = typeof el[evName] === "function"), - el = null, isSupported; + el = null, isSupported; } - function isElementTypeSupported (input, opts) { - var elementType = input.getAttribute("type"), isSupported = input.tagName === "INPUT" && $.inArray(elementType, opts.supportsInputType) !== -1 || input.isContentEditable || input.tagName === "TEXTAREA"; + + function isElementTypeSupported(input, opts) { + var elementType = input.getAttribute("type"), + isSupported = input.tagName === "INPUT" && $.inArray(elementType, opts.supportsInputType) !== -1 || input.isContentEditable || input.tagName === "TEXTAREA"; if (!isSupported) { var el = document.createElement("input"); el.setAttribute("type", elementType), isSupported = el.type === "text", el = null; } return isSupported; } - function resolveAlias (aliasStr, options, opts) { + + function resolveAlias(aliasStr, options, opts) { var aliasDefinition = opts.aliases[aliasStr]; return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, void 0, opts), - $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : (opts.mask === null && (opts.mask = aliasStr), - !1); + $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : (opts.mask === null && (opts.mask = aliasStr), + !1); } - function importAttributeOptions (npt, opts, userOptions) { - function importOption (option, optionData) { + + function importAttributeOptions(npt, opts, userOptions) { + function importOption(option, optionData) { optionData = void 0 !== optionData ? optionData : npt.getAttribute("data-inputmask-" + option), optionData !== null && (typeof optionData === "string" && (option.indexOf("on") === 0 ? optionData = window[optionData] : optionData === "false" ? optionData = !1 : optionData === "true" && (optionData = !0)), - userOptions[option] = optionData); + userOptions[option] = optionData); } - var option, dataoptions, optionData, p, attrOptions = npt.getAttribute("data-inputmask"); + + var option, dataoptions, optionData, p, + attrOptions = npt.getAttribute("data-inputmask"); if (attrOptions && attrOptions !== "" && (attrOptions = attrOptions.replace(new RegExp("'", "g"), '"'), - dataoptions = JSON.parse("{" + attrOptions + "}")), dataoptions) { + dataoptions = JSON.parse("{" + attrOptions + "}")), dataoptions) { optionData = void 0; for (p in dataoptions) { if (p.toLowerCase() === "alias") { @@ -63,24 +71,28 @@ } return $.extend(!0, opts, userOptions), opts; } - function generateMaskSet (opts, nocache) { - function analyseMask (mask) { - function MaskToken (isGroup, isOptional, isQuantifier, isAlternator) { + + function generateMaskSet(opts, nocache) { + function analyseMask(mask) { + function MaskToken(isGroup, isOptional, isQuantifier, isAlternator) { this.matches = [], this.isGroup = isGroup || !1, this.isOptional = isOptional || !1, - this.isQuantifier = isQuantifier || !1, this.isAlternator = isAlternator || !1, - this.quantifier = { - min: 1, - max: 1, - }; + this.isQuantifier = isQuantifier || !1, this.isAlternator = isAlternator || !1, + this.quantifier = { + min: 1, + max: 1, + }; } - function insertTestDefinition (mtoken, element, position) { + + function insertTestDefinition(mtoken, element, position) { var maskdef = opts.definitions[element]; position = void 0 !== position ? position : mtoken.matches.length; var prevMatch = mtoken.matches[position - 1]; if (maskdef && !escaped) { maskdef.placeholder = $.isFunction(maskdef.placeholder) ? maskdef.placeholder(opts) : maskdef.placeholder; for (var prevalidators = maskdef.prevalidator, prevalidatorsL = prevalidators ? prevalidators.length : 0, i = 1; i < maskdef.cardinality; i++) { - var prevalidator = prevalidatorsL >= i ? prevalidators[i - 1] : [], validator = prevalidator.validator, cardinality = prevalidator.cardinality; + var prevalidator = prevalidatorsL >= i ? prevalidators[i - 1] : [], + validator = prevalidator.validator, + cardinality = prevalidator.cardinality; mtoken.matches.splice(position++, 0, { fn: validator ? typeof validator === "string" ? new RegExp(validator) : new function () { this.test = validator; @@ -119,34 +131,39 @@ }), escaped = !1; } } - function verifyGroupMarker (lastMatch, isOpenGroup) { + + function verifyGroupMarker(lastMatch, isOpenGroup) { lastMatch.isGroup && (lastMatch.isGroup = !1, insertTestDefinition(lastMatch, opts.groupmarker.start, 0), isOpenGroup !== !0 && insertTestDefinition(lastMatch, opts.groupmarker.end)); } - function maskCurrentToken (m, currentToken, lastMatch, extraCondition) { + + function maskCurrentToken(m, currentToken, lastMatch, extraCondition) { currentToken.matches.length > 0 && (void 0 === extraCondition || extraCondition) && (lastMatch = currentToken.matches[currentToken.matches.length - 1], - verifyGroupMarker(lastMatch)), insertTestDefinition(currentToken, m); + verifyGroupMarker(lastMatch)), insertTestDefinition(currentToken, m); } - function defaultCase () { + + function defaultCase() { if (openenings.length > 0) { if (currentOpeningToken = openenings[openenings.length - 1], maskCurrentToken(m, currentOpeningToken, lastMatch, !currentOpeningToken.isAlternator), - currentOpeningToken.isAlternator) { + currentOpeningToken.isAlternator) { alternator = openenings.pop(); for (var mndx = 0; mndx < alternator.matches.length; mndx++) { alternator.matches[mndx].isGroup = !1; } openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1], - currentOpeningToken.matches.push(alternator)) : currentToken.matches.push(alternator); + currentOpeningToken.matches.push(alternator)) : currentToken.matches.push(alternator); } } else { maskCurrentToken(m, currentToken, lastMatch); } } - function reverseTokens (maskToken) { - function reverseStatic (st) { + + function reverseTokens(maskToken) { + function reverseStatic(st) { return st === opts.optionalmarker.start ? st = opts.optionalmarker.end : st === opts.optionalmarker.end ? st = opts.optionalmarker.start : st === opts.groupmarker.start ? st = opts.groupmarker.end : st === opts.groupmarker.end && (st = opts.groupmarker.start), - st; + st; } + maskToken.matches = maskToken.matches.reverse(); for (var match in maskToken.matches) { var intMatch = parseInt(match); @@ -158,84 +175,88 @@ } return maskToken; } - for (var match, m, openingToken, currentOpeningToken, alternator, lastMatch, groupToken, tokenizer = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g, escaped = !1, currentToken = new MaskToken(), openenings = [], maskTokens = []; match = tokenizer.exec(mask); ) { + + for (var match, m, openingToken, currentOpeningToken, alternator, lastMatch, groupToken, tokenizer = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g, escaped = !1, currentToken = new MaskToken(), openenings = [], maskTokens = []; match = tokenizer.exec(mask);) { if (m = match[0], - escaped) { + escaped) { defaultCase(); } else { switch (m.charAt(0)) { - case opts.escapeChar: - escaped = !0; - break; + case opts.escapeChar: + escaped = !0; + break; - case opts.optionalmarker.end: - case opts.groupmarker.end: - if (openingToken = openenings.pop(), void 0 !== openingToken) { - if (openenings.length > 0) { - if (currentOpeningToken = openenings[openenings.length - 1], currentOpeningToken.matches.push(openingToken), - currentOpeningToken.isAlternator) { - alternator = openenings.pop(); - for (var mndx = 0; mndx < alternator.matches.length; mndx++) { - alternator.matches[mndx].isGroup = !1; + case opts.optionalmarker.end: + case opts.groupmarker.end: + if (openingToken = openenings.pop(), void 0 !== openingToken) { + if (openenings.length > 0) { + if (currentOpeningToken = openenings[openenings.length - 1], currentOpeningToken.matches.push(openingToken), + currentOpeningToken.isAlternator) { + alternator = openenings.pop(); + for (var mndx = 0; mndx < alternator.matches.length; mndx++) { + alternator.matches[mndx].isGroup = !1; + } + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1], + currentOpeningToken.matches.push(alternator)) : currentToken.matches.push(alternator); } - openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1], - currentOpeningToken.matches.push(alternator)) : currentToken.matches.push(alternator); + } else { + currentToken.matches.push(openingToken); } } else { - currentToken.matches.push(openingToken); + defaultCase(); } - } else { - defaultCase(); - } - break; + break; - case opts.optionalmarker.start: - openenings.push(new MaskToken(!1, !0)); - break; + case opts.optionalmarker.start: + openenings.push(new MaskToken(!1, !0)); + break; - case opts.groupmarker.start: - openenings.push(new MaskToken(!0)); - break; + case opts.groupmarker.start: + openenings.push(new MaskToken(!0)); + break; - case opts.quantifiermarker.start: - var quantifier = new MaskToken(!1, !1, !0); - m = m.replace(/[{}]/g, ""); - var mq = m.split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = mq.length === 1 ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); - if ((mq1 === "*" || mq1 === "+") && (mq0 = mq1 === "*" ? 0 : 1), quantifier.quantifier = { - min: mq0, - max: mq1, - }, openenings.length > 0) { - var matches = openenings[openenings.length - 1].matches; - match = matches.pop(), match.isGroup || (groupToken = new MaskToken(!0), groupToken.matches.push(match), - match = groupToken), matches.push(match), matches.push(quantifier); - } else { - match = currentToken.matches.pop(), match.isGroup || (groupToken = new MaskToken(!0), - groupToken.matches.push(match), match = groupToken), currentToken.matches.push(match), - currentToken.matches.push(quantifier); - } - break; + case opts.quantifiermarker.start: + var quantifier = new MaskToken(!1, !1, !0); + m = m.replace(/[{}]/g, ""); + var mq = m.split(","), + mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), + mq1 = mq.length === 1 ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if ((mq1 === "*" || mq1 === "+") && (mq0 = mq1 === "*" ? 0 : 1), quantifier.quantifier = { + min: mq0, + max: mq1, + }, openenings.length > 0) { + var matches = openenings[openenings.length - 1].matches; + match = matches.pop(), match.isGroup || (groupToken = new MaskToken(!0), groupToken.matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifier); + } else { + match = currentToken.matches.pop(), match.isGroup || (groupToken = new MaskToken(!0), + groupToken.matches.push(match), match = groupToken), currentToken.matches.push(match), + currentToken.matches.push(quantifier); + } + break; - case opts.alternatormarker: - openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1], - lastMatch = currentOpeningToken.matches.pop()) : lastMatch = currentToken.matches.pop(), - lastMatch.isAlternator ? openenings.push(lastMatch) : (alternator = new MaskToken(!1, !1, !1, !0), - alternator.matches.push(lastMatch), openenings.push(alternator)); - break; + case opts.alternatormarker: + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1], + lastMatch = currentOpeningToken.matches.pop()) : lastMatch = currentToken.matches.pop(), + lastMatch.isAlternator ? openenings.push(lastMatch) : (alternator = new MaskToken(!1, !1, !1, !0), + alternator.matches.push(lastMatch), openenings.push(alternator)); + break; - default: - defaultCase(); + default: + defaultCase(); } } } - for (;openenings.length > 0; ) { + for (; openenings.length > 0;) { openingToken = openenings.pop(), verifyGroupMarker(openingToken, !0), - currentToken.matches.push(openingToken); + currentToken.matches.push(openingToken); } return currentToken.matches.length > 0 && (lastMatch = currentToken.matches[currentToken.matches.length - 1], - verifyGroupMarker(lastMatch), maskTokens.push(currentToken)), opts.numericInput && reverseTokens(maskTokens[0]), - maskTokens; + verifyGroupMarker(lastMatch), maskTokens.push(currentToken)), opts.numericInput && reverseTokens(maskTokens[0]), + maskTokens; } - function generateMask (mask, metadata) { + + function generateMask(mask, metadata) { if (mask === null || mask === "") { return void 0; } @@ -254,12 +275,14 @@ tests: {}, metadata: metadata, }, nocache !== !0 && (Inputmask.prototype.masksCache[opts.numericInput ? mask.split("").reverse().join("") : mask] = masksetDefinition, - masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[opts.numericInput ? mask.split("").reverse().join("") : mask]))) : masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[opts.numericInput ? mask.split("").reverse().join("") : mask]), - masksetDefinition; + masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[opts.numericInput ? mask.split("").reverse().join("") : mask]))) : masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[opts.numericInput ? mask.split("").reverse().join("") : mask]), + masksetDefinition; } - function preProcessMask (mask) { + + function preProcessMask(mask) { return mask = mask.toString(); } + var ms; if ($.isFunction(opts.mask) && (opts.mask = opts.mask(opts)), $.isArray(opts.mask)) { if (opts.mask.length > 1) { @@ -272,33 +295,38 @@ opts.mask = opts.mask.pop(); } return opts.mask && (ms = void 0 === opts.mask.mask || $.isFunction(opts.mask.mask) ? generateMask(preProcessMask(opts.mask), opts.mask) : generateMask(preProcessMask(opts.mask.mask), opts.mask)), - ms; + ms; } - function maskScope (actionObj, maskset, opts) { - function getMaskTemplate (baseOnInput, minimalPos, includeInput) { + + function maskScope(actionObj, maskset, opts) { + function getMaskTemplate(baseOnInput, minimalPos, includeInput) { minimalPos = minimalPos || 0; - var ndxIntlzr, test, testPos, maskTemplate = [], pos = 0, lvp = getLastValidPosition(); + var ndxIntlzr, test, testPos, maskTemplate = [], pos = 0, + lvp = getLastValidPosition(); do { if (baseOnInput === !0 && getMaskSet().validPositions[pos]) { var validPos = getMaskSet().validPositions[pos]; test = validPos.match, ndxIntlzr = validPos.locator.slice(), maskTemplate.push(includeInput === !0 ? validPos.input : getPlaceholder(pos, test)); } else { testPos = getTestTemplate(pos, ndxIntlzr, pos - 1), test = testPos.match, - ndxIntlzr = testPos.locator.slice(), (opts.jitMasking === !1 || lvp > pos || isFinite(opts.jitMasking) && opts.jitMasking > pos) && maskTemplate.push(getPlaceholder(pos, test)); + ndxIntlzr = testPos.locator.slice(), (opts.jitMasking === !1 || lvp > pos || isFinite(opts.jitMasking) && opts.jitMasking > pos) && maskTemplate.push(getPlaceholder(pos, test)); } pos++; } while ((void 0 === maxLength || maxLength > pos - 1) && test.fn !== null || test.fn === null && test.def !== "" || minimalPos >= pos); return maskTemplate[maskTemplate.length - 1] === "" && maskTemplate.pop(), maskTemplate; } - function getMaskSet () { + + function getMaskSet() { return maskset; } - function resetMaskSet (soft) { + + function resetMaskSet(soft) { var maskset = getMaskSet(); maskset.buffer = void 0, soft !== !0 && (maskset.tests = {}, maskset._buffer = void 0, - maskset.validPositions = {}, maskset.p = 0); + maskset.validPositions = {}, maskset.p = 0); } - function getLastValidPosition (closestTo, strict) { + + function getLastValidPosition(closestTo, strict) { var before = -1, after = -1, valids = getMaskSet().validPositions; void 0 === closestTo && (closestTo = -1); for (var posNdx in valids) { @@ -308,9 +336,12 @@ } return before !== -1 && closestTo - before > 1 || closestTo > after ? before : after; } - function setValidPosition (pos, validTest, fromSetValid) { + + function setValidPosition(pos, validTest, fromSetValid) { if (opts.insertMode && void 0 !== getMaskSet().validPositions[pos] && void 0 === fromSetValid) { - var i, positionsClone = $.extend(!0, {}, getMaskSet().validPositions), lvp = getLastValidPosition(); + var i, + positionsClone = $.extend(!0, {}, getMaskSet().validPositions), + lvp = getLastValidPosition(); for (i = pos; lvp >= i; i++) { delete getMaskSet().validPositions[i]; } @@ -319,9 +350,9 @@ for (i = j = pos; lvp >= i; i++) { var t = positionsClone[i]; if (void 0 !== t) { - for (var posMatch = j, prevPosMatch = -1; posMatch < getMaskLength() && (t.match.fn == null && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || t.match.fn != null); ) { + for (var posMatch = j, prevPosMatch = -1; posMatch < getMaskLength() && (t.match.fn == null && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || t.match.fn != null);) { if (t.match.fn === null || !opts.keepStatic && vps[i] && (void 0 !== vps[i + 1] && getTests(i + 1, vps[i].locator.slice(), i).length > 1 || void 0 !== vps[i].alternation) ? posMatch++ : posMatch = seekNext(j), - positionCanMatchDefinition(posMatch, t.match.def)) { + positionCanMatchDefinition(posMatch, t.match.def)) { var result = isValid(posMatch, t.input, !0, !0); valid = result !== !1, j = result.caret || result.insert ? getLastValidPosition() : posMatch; break; @@ -338,20 +369,21 @@ } if (!valid) { return getMaskSet().validPositions = $.extend(!0, {}, positionsClone), - resetMaskSet(!0), !1; + resetMaskSet(!0), !1; } } else { getMaskSet().validPositions[pos] = validTest; } return resetMaskSet(!0), !0; } - function stripValidPositions (start, end, nocheck, strict) { + + function stripValidPositions(start, end, nocheck, strict) { var i, startPos = start; for (getMaskSet().p = start, i = startPos; end > i; i++) { void 0 !== getMaskSet().validPositions[i] && (nocheck === !0 || opts.canClearPosition(getMaskSet(), i, getLastValidPosition(), strict, opts) !== !1) && delete getMaskSet().validPositions[i]; } - for (i = startPos + 1; i <= getLastValidPosition(); ) { - for (;void 0 !== getMaskSet().validPositions[startPos]; ) { + for (i = startPos + 1; i <= getLastValidPosition();) { + for (; void 0 !== getMaskSet().validPositions[startPos];) { startPos++; } var s = getMaskSet().validPositions[startPos]; @@ -360,28 +392,32 @@ } else { var t = getTestTemplate(i); positionCanMatchDefinition(startPos, t.match.def) ? isValid(startPos, t.input || getPlaceholder(i), !0) !== !1 && (delete getMaskSet().validPositions[i], - i++) : isMask(i) || (i++, startPos--), startPos++; + i++) : isMask(i) || (i++, startPos--), startPos++; } } var lvp = getLastValidPosition(), ml = getMaskLength(); for (strict !== !0 && nocheck !== !0 && void 0 !== getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input === opts.radixPoint && delete getMaskSet().validPositions[lvp], - i = lvp + 1; ml >= i; i++) { + i = lvp + 1; ml >= i; i++) { getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i]; } resetMaskSet(!0); } - function getTestTemplate (pos, ndxIntlzr, tstPs) { + + function getTestTemplate(pos, ndxIntlzr, tstPs) { var testPos = getMaskSet().validPositions[pos]; if (void 0 === testPos) { for (var testPositions = getTests(pos, ndxIntlzr, tstPs), lvp = getLastValidPosition(), lvTest = getMaskSet().validPositions[lvp] || getTests(0)[0], lvTestAltArr = void 0 !== lvTest.alternation ? lvTest.locator[lvTest.alternation].toString().split(",") : [], ndx = 0; ndx < testPositions.length && (testPos = testPositions[ndx], - !(testPos.match && (opts.greedy && testPos.match.optionalQuantifier !== !0 || (testPos.match.optionality === !1 || testPos.match.newBlockMarker === !1) && testPos.match.optionalQuantifier !== !0) && (void 0 === lvTest.alternation || lvTest.alternation !== testPos.alternation || void 0 !== testPos.locator[lvTest.alternation] && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAltArr)))); ndx++) {} + !(testPos.match && (opts.greedy && testPos.match.optionalQuantifier !== !0 || (testPos.match.optionality === !1 || testPos.match.newBlockMarker === !1) && testPos.match.optionalQuantifier !== !0) && (void 0 === lvTest.alternation || lvTest.alternation !== testPos.alternation || void 0 !== testPos.locator[lvTest.alternation] && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAltArr)))); ndx++) { + } } return testPos; } - function getTest (pos) { + + function getTest(pos) { return getMaskSet().validPositions[pos] ? getMaskSet().validPositions[pos].match : getTests(pos)[0].match; } - function positionCanMatchDefinition (pos, def) { + + function positionCanMatchDefinition(pos, def) { for (var valid = !1, tests = getTests(pos), tndx = 0; tndx < tests.length; tndx++) { if (tests[tndx].match && tests[tndx].match.def === def) { valid = !0; @@ -390,27 +426,31 @@ } return valid; } - function selectBestMatch (pos, alternateNdx) { + + function selectBestMatch(pos, alternateNdx) { var bestMatch, indexPos; - return (getMaskSet().tests[pos] || getMaskSet().validPositions[pos]) && $.each(getMaskSet().tests[pos] || [ getMaskSet().validPositions[pos] ], function (ndx, lmnt) { + return (getMaskSet().tests[pos] || getMaskSet().validPositions[pos]) && $.each(getMaskSet().tests[pos] || [getMaskSet().validPositions[pos]], function (ndx, lmnt) { var ndxPos = lmnt.alternation ? lmnt.locator[lmnt.alternation].toString().indexOf(alternateNdx) : -1; (void 0 === indexPos || indexPos > ndxPos) && ndxPos !== -1 && (bestMatch = lmnt, - indexPos = ndxPos); + indexPos = ndxPos); }), bestMatch; } - function getTests (pos, ndxIntlzr, tstPs) { - function resolveTestFromToken (maskToken, ndxInitializer, loopNdx, quantifierRecurse) { - function handleMatch (match, loopNdx, quantifierRecurse) { - function isFirstMatch (latestMatch, tokenGroup) { + + function getTests(pos, ndxIntlzr, tstPs) { + function resolveTestFromToken(maskToken, ndxInitializer, loopNdx, quantifierRecurse) { + function handleMatch(match, loopNdx, quantifierRecurse) { + function isFirstMatch(latestMatch, tokenGroup) { var firstMatch = $.inArray(latestMatch, tokenGroup.matches) === 0; return firstMatch || $.each(tokenGroup.matches, function (ndx, match) { return match.isQuantifier === !0 && (firstMatch = isFirstMatch(latestMatch, tokenGroup.matches[ndx - 1])) ? !1 : void 0; }), firstMatch; } - function resolveNdxInitializer (pos, alternateNdx) { + + function resolveNdxInitializer(pos, alternateNdx) { var bestMatch = selectBestMatch(pos, alternateNdx); return bestMatch ? bestMatch.locator.slice(bestMatch.alternation + 1) : []; } + if (testPos > 1e4) { throw "Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. " + getMaskSet().mask; } @@ -435,9 +475,15 @@ insertStop = !0, testPos = pos; } } else if (match.isAlternator) { - var maltMatches, alternateToken = match, malternateMatches = [], currentMatches = matches.slice(), loopNdxCnt = loopNdx.length, altIndex = ndxInitializer.length > 0 ? ndxInitializer.shift() : -1; + var maltMatches, alternateToken = match, + malternateMatches = [], + currentMatches = matches.slice(), + loopNdxCnt = loopNdx.length, + altIndex = ndxInitializer.length > 0 ? ndxInitializer.shift() : -1; if (altIndex === -1 || typeof altIndex === "string") { - var amndx, currentPos = testPos, ndxInitializerClone = ndxInitializer.slice(), altIndexArr = []; + var amndx, currentPos = testPos, + ndxInitializerClone = ndxInitializer.slice(), + altIndexArr = []; if (typeof altIndex === "string") { altIndexArr = altIndex.split(","); } else { @@ -447,10 +493,10 @@ } for (var ndx = 0; ndx < altIndexArr.length; ndx++) { if (amndx = parseInt(altIndexArr[ndx]), matches = [], ndxInitializer = resolveNdxInitializer(testPos, amndx), - match = handleMatch(alternateToken.matches[amndx] || maskToken.matches[amndx], [ amndx ].concat(loopNdx), quantifierRecurse) || match, + match = handleMatch(alternateToken.matches[amndx] || maskToken.matches[amndx], [amndx].concat(loopNdx), quantifierRecurse) || match, match !== !0 && void 0 !== match && altIndexArr[altIndexArr.length - 1] < alternateToken.matches.length) { var ntndx = $.inArray(match, maskToken.matches) + 1; - maskToken.matches.length > ntndx && (match = handleMatch(maskToken.matches[ntndx], [ ntndx ].concat(loopNdx.slice(1, loopNdx.length)), quantifierRecurse), + maskToken.matches.length > ntndx && (match = handleMatch(maskToken.matches[ntndx], [ntndx].concat(loopNdx.slice(1, loopNdx.length)), quantifierRecurse), match && (altIndexArr.push(ntndx.toString()), $.each(matches, function (ndx, lmnt) { lmnt.alternation = loopNdx.length - 1; }))); @@ -467,7 +513,7 @@ if (altMatch.match.def === altMatch2.match.def && (typeof altIndex !== "string" || $.inArray(altMatch.locator[altMatch.alternation].toString(), altIndexArr) !== -1)) { altMatch.match.mask === altMatch2.match.mask && (maltMatches.splice(ndx1, 1), ndx1--), altMatch2.locator[altMatch.alternation].toString().indexOf(altMatch.locator[altMatch.alternation]) === -1 && (altMatch2.locator[altMatch.alternation] = altMatch2.locator[altMatch.alternation] + "," + altMatch.locator[altMatch.alternation], - altMatch2.alternation = altMatch.alternation); + altMatch2.alternation = altMatch.alternation); break; } } @@ -476,13 +522,15 @@ } typeof altIndex === "string" && (malternateMatches = $.map(malternateMatches, function (lmnt, ndx) { if (isFinite(ndx)) { - var mamatch, alternation = lmnt.alternation, altLocArr = lmnt.locator[alternation].toString().split(","); + var mamatch, + alternation = lmnt.alternation, + altLocArr = lmnt.locator[alternation].toString().split(","); lmnt.locator[alternation] = void 0, lmnt.alternation = void 0; for (var alndx = 0; alndx < altLocArr.length; alndx++) { mamatch = $.inArray(altLocArr[alndx], altIndexArr) !== -1, mamatch && (void 0 !== lmnt.locator[alternation] ? (lmnt.locator[alternation] += ",", - lmnt.locator[alternation] += altLocArr[alndx]) : lmnt.locator[alternation] = parseInt(altLocArr[alndx]), - lmnt.alternation = alternation); + lmnt.locator[alternation] += altLocArr[alndx]) : lmnt.locator[alternation] = parseInt(altLocArr[alndx]), + lmnt.alternation = alternation); } if (void 0 !== lmnt.locator[alternation]) { return lmnt; @@ -490,7 +538,7 @@ } })), matches = currentMatches.concat(malternateMatches), testPos = pos, insertStop = matches.length > 0; } else { - match = handleMatch(alternateToken.matches[altIndex] || maskToken.matches[altIndex], [ altIndex ].concat(loopNdx), quantifierRecurse); + match = handleMatch(alternateToken.matches[altIndex] || maskToken.matches[altIndex], [altIndex].concat(loopNdx), quantifierRecurse); } if (match) { return !0; @@ -498,9 +546,9 @@ } else if (match.isQuantifier && quantifierRecurse !== maskToken.matches[$.inArray(match, maskToken.matches) - 1]) { for (var qt = match, qndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; qndx < (isNaN(qt.quantifier.max) ? qndx + 1 : qt.quantifier.max) && pos >= testPos; qndx++) { var tokenGroup = maskToken.matches[$.inArray(qt, maskToken.matches) - 1]; - if (match = handleMatch(tokenGroup, [ qndx ].concat(loopNdx), tokenGroup)) { + if (match = handleMatch(tokenGroup, [qndx].concat(loopNdx), tokenGroup)) { if (latestMatch = matches[matches.length - 1].match, latestMatch.optionalQuantifier = qndx > qt.quantifier.min - 1, - isFirstMatch(latestMatch, tokenGroup)) { + isFirstMatch(latestMatch, tokenGroup)) { if (qndx > qt.quantifier.min - 1) { insertStop = !0, testPos = pos; break; @@ -517,9 +565,10 @@ testPos++; } } + for (var tndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; tndx < maskToken.matches.length; tndx++) { if (maskToken.matches[tndx].isQuantifier !== !0) { - var match = handleMatch(maskToken.matches[tndx], [ tndx ].concat(loopNdx), quantifierRecurse); + var match = handleMatch(maskToken.matches[tndx], [tndx].concat(loopNdx), quantifierRecurse); if (match && testPos === pos) { return match; } @@ -529,24 +578,30 @@ } } } - function mergeLocators (tests) { + + function mergeLocators(tests) { var test = tests[0] || tests; return test.locator.slice(); } - var latestMatch, maskTokens = getMaskSet().maskToken, testPos = ndxIntlzr ? tstPs : 0, ndxInitializer = ndxIntlzr || [ 0 ], matches = [], insertStop = !1, cacheDependency = ndxIntlzr ? ndxIntlzr.join("") : ""; + + var latestMatch, maskTokens = getMaskSet().maskToken, + testPos = ndxIntlzr ? tstPs : 0, + ndxInitializer = ndxIntlzr || [0], matches = [], + insertStop = !1, + cacheDependency = ndxIntlzr ? ndxIntlzr.join("") : ""; if (pos > -1) { if (void 0 === ndxIntlzr) { - for (var test, previousPos = pos - 1; void 0 === (test = getMaskSet().validPositions[previousPos] || getMaskSet().tests[previousPos]) && previousPos > -1; ) { + for (var test, previousPos = pos - 1; void 0 === (test = getMaskSet().validPositions[previousPos] || getMaskSet().tests[previousPos]) && previousPos > -1;) { previousPos--; } void 0 !== test && previousPos > -1 && (ndxInitializer = mergeLocators(test), cacheDependency = ndxInitializer.join(""), - test = test[0] || test, testPos = previousPos); + test = test[0] || test, testPos = previousPos); } if (getMaskSet().tests[pos] && getMaskSet().tests[pos][0].cd === cacheDependency) { return getMaskSet().tests[pos]; } for (var mtndx = ndxInitializer.shift(); mtndx < maskTokens.length; mtndx++) { - var match = resolveTestFromToken(maskTokens[mtndx], ndxInitializer, [ mtndx ]); + var match = resolveTestFromToken(maskTokens[mtndx], ndxInitializer, [mtndx]); if (match && testPos === pos || testPos > pos) { break; } @@ -563,11 +618,13 @@ locator: [], }), getMaskSet().tests[pos] = $.extend(!0, [], matches), getMaskSet().tests[pos]; } - function getBufferTemplate () { + + function getBufferTemplate() { return void 0 === getMaskSet()._buffer && (getMaskSet()._buffer = getMaskTemplate(!1, 1)), - getMaskSet()._buffer; + getMaskSet()._buffer; } - function getBuffer (noCache) { + + function getBuffer(noCache) { if (void 0 === getMaskSet().buffer || noCache === !0) { if (noCache === !0) { for (var testNdx in getMaskSet().tests) { @@ -578,32 +635,35 @@ } return getMaskSet().buffer; } - function refreshFromBuffer (start, end, buffer) { + + function refreshFromBuffer(start, end, buffer) { var i; if (buffer = buffer, start === !0) { resetMaskSet(), start = 0, end = buffer.length; } else { for (i = start; end > i; i++) { delete getMaskSet().validPositions[i], - delete getMaskSet().tests[i]; + delete getMaskSet().tests[i]; } } for (i = start; end > i; i++) { resetMaskSet(!0), buffer[i] !== opts.skipOptionalPartCharacter && isValid(i, buffer[i], !0, !0); } } - function casing (elem, test) { + + function casing(elem, test) { switch (test.casing) { - case "upper": - elem = elem.toUpperCase(); - break; + case "upper": + elem = elem.toUpperCase(); + break; - case "lower": - elem = elem.toLowerCase(); + case "lower": + elem = elem.toLowerCase(); } return elem; } - function checkAlternationMatch (altArr1, altArr2) { + + function checkAlternationMatch(altArr1, altArr2) { for (var altArrC = opts.greedy ? altArr2 : altArr2.slice(0, 1), isMatch = !1, alndx = 0; alndx < altArr1.length; alndx++) { if ($.inArray(altArr1[alndx], altArrC) !== -1) { isMatch = !0; @@ -612,8 +672,9 @@ } return isMatch; } - function isValid (pos, c, strict, fromSetValid) { - function _isValid (position, c, strict, fromSetValid) { + + function isValid(pos, c, strict, fromSetValid) { + function _isValid(position, c, strict, fromSetValid) { var rslt = !1; return $.each(getTests(position), function (ndx, tst) { for (var test = tst.match, loopend = c ? 1 : 0, chrs = "", i = test.cardinality; i > loopend; i--) { @@ -625,32 +686,33 @@ }, rslt !== !1) { var elem = void 0 !== rslt.c ? rslt.c : c; elem = elem === opts.skipOptionalPartCharacter && test.fn === null ? test.placeholder || test.def : elem; - var validatedPos = position, possibleModifiedBuffer = getBuffer(); - if (void 0 !== rslt.remove && ($.isArray(rslt.remove) || (rslt.remove = [ rslt.remove ]), - $.each(rslt.remove.sort(function (a, b) { - return b - a; - }), function (ndx, lmnt) { - stripValidPositions(lmnt, lmnt + 1, !0); - })), void 0 !== rslt.insert && ($.isArray(rslt.insert) || (rslt.insert = [ rslt.insert ]), - $.each(rslt.insert.sort(function (a, b) { - return a - b; - }), function (ndx, lmnt) { - isValid(lmnt.pos, lmnt.c, !1, fromSetValid); - })), rslt.refreshFromBuffer) { + var validatedPos = position, + possibleModifiedBuffer = getBuffer(); + if (void 0 !== rslt.remove && ($.isArray(rslt.remove) || (rslt.remove = [rslt.remove]), + $.each(rslt.remove.sort(function (a, b) { + return b - a; + }), function (ndx, lmnt) { + stripValidPositions(lmnt, lmnt + 1, !0); + })), void 0 !== rslt.insert && ($.isArray(rslt.insert) || (rslt.insert = [rslt.insert]), + $.each(rslt.insert.sort(function (a, b) { + return a - b; + }), function (ndx, lmnt) { + isValid(lmnt.pos, lmnt.c, !1, fromSetValid); + })), rslt.refreshFromBuffer) { var refresh = rslt.refreshFromBuffer; if (strict = !0, refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, possibleModifiedBuffer), void 0 === rslt.pos && void 0 === rslt.c) { return rslt.pos = getLastValidPosition(), - !1; + !1; } if (validatedPos = void 0 !== rslt.pos ? rslt.pos : position, validatedPos !== position) { return rslt = $.extend(rslt, isValid(validatedPos, elem, !0, fromSetValid)), - !1; + !1; } } else if (rslt !== !0 && void 0 !== rslt.pos && rslt.pos !== position && (validatedPos = rslt.pos, - refreshFromBuffer(position, validatedPos, getBuffer().slice()), validatedPos !== position)) { + refreshFromBuffer(position, validatedPos, getBuffer().slice()), validatedPos !== position)) { return rslt = $.extend(rslt, isValid(validatedPos, elem, !0)), - !1; + !1; } return rslt !== !0 && void 0 === rslt.pos && void 0 === rslt.c ? !1 : (ndx > 0 && resetMaskSet(!0), setValidPosition(validatedPos, $.extend({}, tst, { @@ -659,15 +721,17 @@ } }), rslt; } - function alternate (pos, c, strict, fromSetValid) { + + function alternate(pos, c, strict, fromSetValid) { for (var lastAlt, alternation, isValidRslt, altPos, i, validPos, validPsClone = $.extend(!0, {}, getMaskSet().validPositions), testsClone = $.extend(!0, {}, getMaskSet().tests), lAlt = getLastValidPosition(); lAlt >= 0 && (altPos = getMaskSet().validPositions[lAlt], !altPos || void 0 === altPos.alternation || (lastAlt = lAlt, alternation = getMaskSet().validPositions[lastAlt].alternation, - getTestTemplate(lastAlt).locator[altPos.alternation] === altPos.locator[altPos.alternation])); lAlt--) {} + getTestTemplate(lastAlt).locator[altPos.alternation] === altPos.locator[altPos.alternation])); lAlt--) { + } if (void 0 !== alternation) { lastAlt = parseInt(lastAlt); for (var decisionPos in getMaskSet().validPositions) { if (decisionPos = parseInt(decisionPos), - altPos = getMaskSet().validPositions[decisionPos], decisionPos >= lastAlt && void 0 !== altPos.alternation) { + altPos = getMaskSet().validPositions[decisionPos], decisionPos >= lastAlt && void 0 !== altPos.alternation) { var altNdxs; lastAlt === 0 ? (altNdxs = [], $.each(getMaskSet().tests[lastAlt], function (ndx, test) { void 0 !== test.locator[alternation] && (altNdxs = altNdxs.concat(test.locator[alternation].toString().split(","))); @@ -675,34 +739,35 @@ var decisionTaker = void 0 !== altPos.locator[alternation] ? altPos.locator[alternation] : altNdxs[0]; decisionTaker.length > 0 && (decisionTaker = decisionTaker.split(",")[0]); for (var mndx = 0; mndx < altNdxs.length; mndx++) { - var validInputs = [], staticInputsBeforePos = 0, staticInputsBeforePosAlternate = 0; + var validInputs = [], staticInputsBeforePos = 0, + staticInputsBeforePosAlternate = 0; if (decisionTaker < altNdxs[mndx]) { for (var possibilityPos, possibilities, dp = decisionPos; dp >= 0; dp--) { if (possibilityPos = getMaskSet().validPositions[dp], void 0 !== possibilityPos) { var bestMatch = selectBestMatch(dp, altNdxs[mndx]); getMaskSet().validPositions[dp].match.def !== bestMatch.match.def && (validInputs.push(getMaskSet().validPositions[dp].input), - getMaskSet().validPositions[dp] = bestMatch, getMaskSet().validPositions[dp].input = getPlaceholder(dp), + getMaskSet().validPositions[dp] = bestMatch, getMaskSet().validPositions[dp].input = getPlaceholder(dp), getMaskSet().validPositions[dp].match.fn === null && staticInputsBeforePosAlternate++, - possibilityPos = bestMatch), possibilities = possibilityPos.locator[alternation], - possibilityPos.locator[alternation] = parseInt(altNdxs[mndx]); + possibilityPos = bestMatch), possibilities = possibilityPos.locator[alternation], + possibilityPos.locator[alternation] = parseInt(altNdxs[mndx]); break; } } if (decisionTaker !== possibilityPos.locator[alternation]) { for (i = decisionPos + 1; i < getLastValidPosition(void 0, !0) + 1; i++) { validPos = getMaskSet().validPositions[i], - validPos && validPos.match.fn != null ? validInputs.push(validPos.input) : pos > i && staticInputsBeforePos++, - delete getMaskSet().validPositions[i], delete getMaskSet().tests[i]; + validPos && validPos.match.fn != null ? validInputs.push(validPos.input) : pos > i && staticInputsBeforePos++, + delete getMaskSet().validPositions[i], delete getMaskSet().tests[i]; } - for (resetMaskSet(!0), opts.keepStatic = !opts.keepStatic, isValidRslt = !0; validInputs.length > 0; ) { + for (resetMaskSet(!0), opts.keepStatic = !opts.keepStatic, isValidRslt = !0; validInputs.length > 0;) { var input = validInputs.shift(); if (input !== opts.skipOptionalPartCharacter && !(isValidRslt = isValid(getLastValidPosition(void 0, !0) + 1, input, !1, fromSetValid))) { break; } } if (possibilityPos.alternation = alternation, possibilityPos.locator[alternation] = possibilities, - isValidRslt) { + isValidRslt) { var targetLvp = getLastValidPosition(pos) + 1; for (i = decisionPos + 1; i < getLastValidPosition() + 1; i++) { validPos = getMaskSet().validPositions[i], @@ -723,14 +788,16 @@ } return !1; } - function trackbackAlternations (originalPos, newPos) { + + function trackbackAlternations(originalPos, newPos) { for (var vp = getMaskSet().validPositions[newPos], targetLocator = vp.locator, tll = targetLocator.length, ps = originalPos; newPos > ps; ps++) { if (void 0 === getMaskSet().validPositions[ps] && !isMask(ps, !0)) { - var tests = getTests(ps), bestMatch = tests[0], equality = -1; + var tests = getTests(ps), bestMatch = tests[0], + equality = -1; $.each(tests, function (ndx, tst) { for (var i = 0; tll > i && (void 0 !== tst.locator[i] && checkAlternationMatch(tst.locator[i].toString().split(","), targetLocator[i].toString().split(","))); i++) { i > equality && (equality = i, - bestMatch = tst); + bestMatch = tst); } }), setValidPosition(ps, $.extend({}, bestMatch, { input: bestMatch.match.placeholder || bestMatch.match.def, @@ -738,18 +805,22 @@ } } } + strict = strict === !0; - for (var buffer = getBuffer(), pndx = pos - 1; pndx > -1 && !getMaskSet().validPositions[pndx]; pndx--) {} + for (var buffer = getBuffer(), pndx = pos - 1; pndx > -1 && !getMaskSet().validPositions[pndx]; pndx--) { + } for (pndx++; pos > pndx; pndx++) { void 0 === getMaskSet().validPositions[pndx] && ((!isMask(pndx) || buffer[pndx] !== getPlaceholder(pndx)) && getTests(pndx).length > 1 || buffer[pndx] === opts.radixPoint || buffer[pndx] === "0" && $.inArray(opts.radixPoint, buffer) < pndx) && _isValid(pndx, buffer[pndx], !0, fromSetValid); } - var maskPos = pos, result = !1, positionsClone = $.extend(!0, {}, getMaskSet().validPositions); + var maskPos = pos, result = !1, + positionsClone = $.extend(!0, {}, getMaskSet().validPositions); if (maskPos < getMaskLength() && (result = _isValid(maskPos, c, strict, fromSetValid), (!strict || fromSetValid === !0) && result === !1)) { var currentPosValid = getMaskSet().validPositions[maskPos]; if (!currentPosValid || currentPosValid.match.fn !== null || currentPosValid.match.def !== c && c !== opts.skipOptionalPartCharacter) { if ((opts.insertMode || void 0 === getMaskSet().validPositions[seekNext(maskPos)]) && !isMask(maskPos, !0)) { - var staticChar = getTestTemplate(maskPos).match, staticChar = staticChar.placeholder || staticChar.def; + var staticChar = getTestTemplate(maskPos).match, + staticChar = staticChar.placeholder || staticChar.def; _isValid(maskPos, staticChar, strict, fromSetValid); for (var nPos = maskPos + 1, snPos = seekNext(maskPos); snPos >= nPos; nPos++) { if (result = _isValid(nPos, c, strict, fromSetValid), @@ -774,16 +845,17 @@ if (postValidResult.refreshFromBuffer) { var refresh = postValidResult.refreshFromBuffer; refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, postValidResult.buffer), - resetMaskSet(!0), result = postValidResult; + resetMaskSet(!0), result = postValidResult; } } else { resetMaskSet(!0), getMaskSet().validPositions = $.extend(!0, {}, positionsClone), - result = !1; + result = !1; } } return result; } - function isMask (pos, strict) { + + function isMask(pos, strict) { var test; if (strict ? (test = getTestTemplate(pos).match, test.def == "" && (test = getTest(pos))) : test = getTest(pos), test.fn != null) { @@ -795,44 +867,53 @@ } return !1; } - function getMaskLength () { + + function getMaskLength() { var maskLength; maxLength = void 0 !== el ? el.maxLength : void 0, maxLength === -1 && (maxLength = void 0); - var pos, lvp = getLastValidPosition(), testPos = getMaskSet().validPositions[lvp], ndxIntlzr = void 0 !== testPos ? testPos.locator.slice() : void 0; + var pos, lvp = getLastValidPosition(), + testPos = getMaskSet().validPositions[lvp], + ndxIntlzr = void 0 !== testPos ? testPos.locator.slice() : void 0; for (pos = lvp + 1; void 0 === testPos || testPos.match.fn !== null || testPos.match.fn === null && testPos.match.def !== ""; pos++) { testPos = getTestTemplate(pos, ndxIntlzr, pos - 1), - ndxIntlzr = testPos.locator.slice(); + ndxIntlzr = testPos.locator.slice(); } var lastTest = getTest(pos - 1); return maskLength = lastTest.def !== "" ? pos : pos - 1, void 0 === maxLength || maxLength > maskLength ? maskLength : maxLength; } - function seekNext (pos, newBlock) { + + function seekNext(pos, newBlock) { var maskL = getMaskLength(); if (pos >= maskL) { return maskL; } - for (var position = pos; ++position < maskL && (newBlock === !0 && (getTest(position).newBlockMarker !== !0 || !isMask(position)) || newBlock !== !0 && !isMask(position) && (opts.nojumps !== !0 || opts.nojumpsThreshold > position)); ) {} + for (var position = pos; ++position < maskL && (newBlock === !0 && (getTest(position).newBlockMarker !== !0 || !isMask(position)) || newBlock !== !0 && !isMask(position) && (opts.nojumps !== !0 || opts.nojumpsThreshold > position));) { + } return position; } - function seekPrevious (pos, newBlock) { + + function seekPrevious(pos, newBlock) { var position = pos; if (position <= 0) { return 0; } - for (;--position > 0 && (newBlock === !0 && getTest(position).newBlockMarker !== !0 || newBlock !== !0 && !isMask(position)); ) {} + for (; --position > 0 && (newBlock === !0 && getTest(position).newBlockMarker !== !0 || newBlock !== !0 && !isMask(position));) { + } return position; } - function getBufferElement (position) { + + function getBufferElement(position) { return void 0 === getMaskSet().validPositions[position] ? getPlaceholder(position) : getMaskSet().validPositions[position].input; } - function writeBuffer (input, buffer, caretPos, event, triggerInputEvent) { + + function writeBuffer(input, buffer, caretPos, event, triggerInputEvent) { if (event && $.isFunction(opts.onBeforeWrite)) { var result = opts.onBeforeWrite(event, buffer, caretPos, opts); if (result) { if (result.refreshFromBuffer) { var refresh = result.refreshFromBuffer; refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, result.buffer || buffer), - buffer = getBuffer(!0); + buffer = getBuffer(!0); } void 0 !== caretPos && (caretPos = void 0 !== result.caret ? result.caret : caretPos); } @@ -840,7 +921,8 @@ input.inputmask._valueSet(buffer.join("")), void 0 === caretPos || void 0 !== event && event.type === "blur" || caret(input, caretPos), triggerInputEvent === !0 && (skipInputEvent = !0, $(input).trigger("input")); } - function getPlaceholder (pos, test) { + + function getPlaceholder(pos, test) { if (test = test || getTest(pos), void 0 !== test.placeholder) { return test.placeholder; } @@ -860,9 +942,11 @@ } return opts.placeholder.charAt(pos % opts.placeholder.length); } - function checkVal (input, writeOut, strict, nptvl) { - function isTemplateMatch () { - var isMatch = !1, charCodeNdx = getBufferTemplate().slice(initialNdx, seekNext(initialNdx)).join("").indexOf(charCodes); + + function checkVal(input, writeOut, strict, nptvl) { + function isTemplateMatch() { + var isMatch = !1, + charCodeNdx = getBufferTemplate().slice(initialNdx, seekNext(initialNdx)).join("").indexOf(charCodes); if (charCodeNdx !== -1 && !isMask(initialNdx)) { isMatch = !0; for (var bufferTemplateArr = getBufferTemplate().slice(initialNdx, initialNdx + charCodeNdx), i = 0; i < bufferTemplateArr.length; i++) { @@ -874,12 +958,14 @@ } return isMatch; } + var inputValue = nptvl.slice(), charCodes = "", initialNdx = 0; if (resetMaskSet(), getMaskSet().p = seekNext(-1), !strict) { if (opts.autoUnmask !== !0) { - var staticInput = getBufferTemplate().slice(0, seekNext(-1)).join(""), matches = inputValue.join("").match(new RegExp("^" + Inputmask.escapeRegex(staticInput), "g")); + var staticInput = getBufferTemplate().slice(0, seekNext(-1)).join(""), + matches = inputValue.join("").match(new RegExp("^" + Inputmask.escapeRegex(staticInput), "g")); matches && matches.length > 0 && (inputValue.splice(0, matches.length * staticInput.length), - initialNdx = seekNext(initialNdx)); + initialNdx = seekNext(initialNdx)); } else { initialNdx = seekNext(initialNdx); } @@ -888,18 +974,21 @@ if (void 0 !== charCode) { var keypress = new $.Event("keypress"); keypress.which = charCode.charCodeAt(0), charCodes += charCode; - var lvp = getLastValidPosition(void 0, !0), lvTest = getMaskSet().validPositions[lvp], nextTest = getTestTemplate(lvp + 1, lvTest ? lvTest.locator.slice() : void 0, lvp); + var lvp = getLastValidPosition(void 0, !0), + lvTest = getMaskSet().validPositions[lvp], + nextTest = getTestTemplate(lvp + 1, lvTest ? lvTest.locator.slice() : void 0, lvp); if (!isTemplateMatch() || strict || opts.autoUnmask) { var pos = strict ? ndx : nextTest.match.fn == null && nextTest.match.optionality && lvp + 1 < getMaskSet().p ? lvp + 1 : getMaskSet().p; keypressEvent.call(input, keypress, !0, !1, strict, pos), initialNdx = pos + 1, - charCodes = ""; + charCodes = ""; } else { keypressEvent.call(input, keypress, !0, !1, !0, lvp + 1); } } }), writeOut && writeBuffer(input, getBuffer(), document.activeElement === input ? seekNext(getLastValidPosition(0)) : void 0, new $.Event("checkval")); } - function unmaskedvalue (input) { + + function unmaskedvalue(input) { if (input && void 0 === input.inputmask) { return input.value; } @@ -914,30 +1003,32 @@ } return unmaskedValue; } - function caret (input, begin, end, notranslate) { - function translatePosition (pos) { + + function caret(input, begin, end, notranslate) { + function translatePosition(pos) { if (notranslate !== !0 && isRTL && typeof pos === "number" && (!opts.greedy || opts.placeholder !== "")) { var bffrLght = getBuffer().join("").length; pos = bffrLght - pos; } return pos; } + var range; if (typeof begin !== "number") { return input.setSelectionRange ? (begin = input.selectionStart, - end = input.selectionEnd) : window.getSelection ? (range = window.getSelection().getRangeAt(0), + end = input.selectionEnd) : window.getSelection ? (range = window.getSelection().getRangeAt(0), (range.commonAncestorContainer.parentNode === input || range.commonAncestorContainer === input) && (begin = range.startOffset, - end = range.endOffset)) : document.selection && document.selection.createRange && (range = document.selection.createRange(), - begin = 0 - range.duplicate().moveStart("character", -1e5), end = begin + range.text.length), - { - begin: translatePosition(begin), - end: translatePosition(end), - }; + end = range.endOffset)) : document.selection && document.selection.createRange && (range = document.selection.createRange(), + begin = 0 - range.duplicate().moveStart("character", -1e5), end = begin + range.text.length), + { + begin: translatePosition(begin), + end: translatePosition(end), + }; } begin = translatePosition(begin), end = translatePosition(end), end = typeof end === "number" ? end : begin; var scrollCalc = parseInt(((input.ownerDocument.defaultView || window).getComputedStyle ? (input.ownerDocument.defaultView || window).getComputedStyle(input, null) : input.currentStyle).fontSize) * end; if (input.scrollLeft = scrollCalc > input.scrollWidth ? scrollCalc : 0, mobile || opts.insertMode !== !1 || begin !== end || end++, - input.setSelectionRange) { + input.setSelectionRange) { input.selectionStart = begin, input.selectionEnd = end; } else if (window.getSelection) { if (range = document.createRange(), void 0 === input.firstChild || input.firstChild === null) { @@ -945,20 +1036,24 @@ input.appendChild(textNode); } range.setStart(input.firstChild, begin < input.inputmask._valueGet().length ? begin : input.inputmask._valueGet().length), - range.setEnd(input.firstChild, end < input.inputmask._valueGet().length ? end : input.inputmask._valueGet().length), - range.collapse(!0); + range.setEnd(input.firstChild, end < input.inputmask._valueGet().length ? end : input.inputmask._valueGet().length), + range.collapse(!0); var sel = window.getSelection(); sel.removeAllRanges(), sel.addRange(range); } else { input.createTextRange && (range = input.createTextRange(), range.collapse(!0), - range.moveEnd("character", end), range.moveStart("character", begin), range.select()); + range.moveEnd("character", end), range.moveStart("character", begin), range.select()); } } - function determineLastRequiredPosition (returnDefinition) { - var pos, testPos, buffer = getBuffer(), bl = buffer.length, lvp = getLastValidPosition(), positions = {}, lvTest = getMaskSet().validPositions[lvp], ndxIntlzr = void 0 !== lvTest ? lvTest.locator.slice() : void 0; + + function determineLastRequiredPosition(returnDefinition) { + var pos, testPos, buffer = getBuffer(), bl = buffer.length, + lvp = getLastValidPosition(), positions = {}, + lvTest = getMaskSet().validPositions[lvp], + ndxIntlzr = void 0 !== lvTest ? lvTest.locator.slice() : void 0; for (pos = lvp + 1; pos < buffer.length; pos++) { testPos = getTestTemplate(pos, ndxIntlzr, pos - 1), - ndxIntlzr = testPos.locator.slice(), positions[pos] = $.extend(!0, {}, testPos); + ndxIntlzr = testPos.locator.slice(), positions[pos] = $.extend(!0, {}, testPos); } var lvTestAlt = lvTest && void 0 !== lvTest.alternation ? lvTest.locator[lvTest.alternation] : void 0; for (pos = bl - 1; pos > lvp && (testPos = positions[pos], (testPos.match.optionality || testPos.match.optionalQuantifier || lvTestAlt && (lvTestAlt !== positions[pos].locator[lvTest.alternation] && testPos.match.fn != null || testPos.match.fn === null && testPos.locator[lvTest.alternation] && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAlt.toString().split(",")) && getTests(pos)[0].def !== "")) && buffer[pos] === getPlaceholder(pos, testPos.match)); pos--) { @@ -969,18 +1064,22 @@ def: positions[bl] ? positions[bl].match : void 0, } : bl; } - function clearOptionalTail (buffer) { - for (var rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) {} + + function clearOptionalTail(buffer) { + for (var rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) { + } return buffer.splice(rl, lmib + 1 - rl), buffer; } - function isComplete (buffer) { + + function isComplete(buffer) { if ($.isFunction(opts.isComplete)) { return opts.isComplete(buffer, opts); } if (opts.repeat === "*") { return void 0; } - var complete = !1, lrp = determineLastRequiredPosition(!0), aml = seekPrevious(lrp.l); + var complete = !1, lrp = determineLastRequiredPosition(!0), + aml = seekPrevious(lrp.l); if (void 0 === lrp.def || lrp.def.newBlockMarker || lrp.def.optionality || lrp.def.optionalQuantifier) { complete = !0; for (var i = 0; aml >= i; i++) { @@ -993,15 +1092,18 @@ } return complete; } - function isSelection (begin, end) { + + function isSelection(begin, end) { return isRTL ? begin - end > 1 || begin - end === 1 && opts.insertMode : end - begin > 1 || end - begin === 1 && opts.insertMode; } - function patchValueProperty (npt) { - function patchValhook (type) { + + function patchValueProperty(npt) { + function patchValhook(type) { if ($.valHooks && (void 0 === $.valHooks[type] || $.valHooks[type].inputmaskpatch !== !0)) { var valhookGet = $.valHooks[type] && $.valHooks[type].get ? $.valHooks[type].get : function (elem) { return elem.value; - }, valhookSet = $.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] = { @@ -1010,7 +1112,9 @@ if (elem.inputmask.opts.autoUnmask) { return elem.inputmask.unmaskedvalue(); } - var result = valhookGet(elem), maskset = elem.inputmask.maskset, bufferTemplate = maskset._buffer; + var result = valhookGet(elem), + maskset = elem.inputmask.maskset, + bufferTemplate = maskset._buffer; return bufferTemplate = bufferTemplate ? bufferTemplate.join("") : "", result !== bufferTemplate ? result : ""; } return valhookGet(elem); @@ -1018,24 +1122,29 @@ set: function (elem, value) { var result, $elem = $(elem); return result = valhookSet(elem, value), elem.inputmask && $elem.trigger("setvalue"), - result; + result; }, inputmaskpatch: !0, }; } } - function getter () { + + function getter() { return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : valueGet.call(this) !== getBufferTemplate().join("") ? document.activeElement === this && opts.clearMaskOnLostFocus ? (isRTL ? clearOptionalTail(getBuffer().slice()).reverse() : clearOptionalTail(getBuffer().slice())).join("") : valueGet.call(this) : "" : valueGet.call(this); } - function setter (value) { + + function setter(value) { valueSet.call(this, value), this.inputmask && $(this).trigger("setvalue"); } - function installNativeValueSetFallback (npt) { + + function installNativeValueSetFallback(npt) { EventRuler.on(npt, "mouseenter", function (event) { - var $input = $(this), input = this, value = input.inputmask._valueGet(); + var $input = $(this), input = this, + value = input.inputmask._valueGet(); value !== getBuffer().join("") && getLastValidPosition() > 0 && $input.trigger("setvalue"); }); } + var valueGet, valueSet; npt.inputmask.__valueGet || (Object.getOwnPropertyDescriptor && void 0 === npt.value ? (valueGet = function () { return this.textContent; @@ -1045,32 +1154,34 @@ get: getter, set: setter, })) : document.__lookupGetter__ && npt.__lookupGetter__("value") ? (valueGet = npt.__lookupGetter__("value"), - valueSet = npt.__lookupSetter__("value"), npt.__defineGetter__("value", getter), - npt.__defineSetter__("value", setter)) : (valueGet = function () { + valueSet = npt.__lookupSetter__("value"), npt.__defineGetter__("value", getter), + npt.__defineSetter__("value", setter)) : (valueGet = function () { return npt.value; }, valueSet = function (value) { npt.value = value; }, patchValhook(npt.type), installNativeValueSetFallback(npt)), npt.inputmask.__valueGet = valueGet, - npt.inputmask._valueGet = function (overruleRTL) { - return isRTL && overruleRTL !== !0 ? valueGet.call(this.el).split("").reverse().join("") : valueGet.call(this.el); - }, npt.inputmask.__valueSet = valueSet, npt.inputmask._valueSet = function (value, overruleRTL) { + npt.inputmask._valueGet = function (overruleRTL) { + return isRTL && overruleRTL !== !0 ? valueGet.call(this.el).split("").reverse().join("") : valueGet.call(this.el); + }, npt.inputmask.__valueSet = valueSet, npt.inputmask._valueSet = function (value, overruleRTL) { valueSet.call(this.el, value === null || void 0 === value ? "" : overruleRTL !== !0 && isRTL ? value.split("").reverse().join("") : value); }); } - function handleRemove (input, k, pos, strict) { - function generalize () { + + function handleRemove(input, k, pos, strict) { + function generalize() { if (opts.keepStatic) { resetMaskSet(!0); - var lastAlt, validInputs = [], positionsClone = $.extend(!0, {}, getMaskSet().validPositions); + var lastAlt, validInputs = [], + positionsClone = $.extend(!0, {}, getMaskSet().validPositions); for (lastAlt = getLastValidPosition(); lastAlt >= 0; lastAlt--) { var validPos = getMaskSet().validPositions[lastAlt]; if (validPos && (validPos.match.fn != null && validInputs.push(validPos.input), - delete getMaskSet().validPositions[lastAlt], void 0 !== validPos.alternation && validPos.locator[validPos.alternation] === getTestTemplate(lastAlt).locator[validPos.alternation])) { + delete getMaskSet().validPositions[lastAlt], void 0 !== validPos.alternation && validPos.locator[validPos.alternation] === getTestTemplate(lastAlt).locator[validPos.alternation])) { break; } } if (lastAlt > -1) { - for (;validInputs.length > 0; ) { + for (; validInputs.length > 0;) { getMaskSet().p = seekNext(getLastValidPosition()); var keypress = new $.Event("keypress"); keypress.which = validInputs.pop().charCodeAt(0), keypressEvent.call(input, keypress, !0, !1, !1, getMaskSet().p); @@ -1080,24 +1191,27 @@ } } } + if ((opts.numericInput || isRTL) && (k === Inputmask.keyCode.BACKSPACE ? k = Inputmask.keyCode.DELETE : k === Inputmask.keyCode.DELETE && (k = Inputmask.keyCode.BACKSPACE), - isRTL)) { + isRTL)) { var pend = pos.end; pos.end = pos.begin, pos.begin = pend; } k === Inputmask.keyCode.BACKSPACE && (pos.end - pos.begin < 1 || opts.insertMode === !1) ? (pos.begin = seekPrevious(pos.begin), void 0 === getMaskSet().validPositions[pos.begin] || getMaskSet().validPositions[pos.begin].input !== opts.groupSeparator && getMaskSet().validPositions[pos.begin].input !== opts.radixPoint || pos.begin--) : k === Inputmask.keyCode.DELETE && pos.begin === pos.end && (pos.end = isMask(pos.end) ? pos.end + 1 : seekNext(pos.end) + 1, void 0 === getMaskSet().validPositions[pos.begin] || getMaskSet().validPositions[pos.begin].input !== opts.groupSeparator && getMaskSet().validPositions[pos.begin].input !== opts.radixPoint || pos.end++), - stripValidPositions(pos.begin, pos.end, !1, strict), strict !== !0 && generalize(); + stripValidPositions(pos.begin, pos.end, !1, strict), strict !== !0 && generalize(); var lvp = getLastValidPosition(pos.begin); lvp < pos.begin ? (lvp === -1 && resetMaskSet(), getMaskSet().p = seekNext(lvp)) : strict !== !0 && (getMaskSet().p = pos.begin); } - function keydownEvent (e) { - var input = this, $input = $(input), k = e.keyCode, pos = caret(input); + + function keydownEvent(e) { + var input = this, $input = $(input), k = e.keyCode, + pos = caret(input); if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === 127 || e.ctrlKey && k === 88 && !isInputEventSupported("cut")) { e.preventDefault(), k === 88 && (undoValue = getBuffer().join("")), handleRemove(input, k, pos), writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), - input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"), + input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"), opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask); } else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) { e.preventDefault(); @@ -1105,11 +1219,11 @@ opts.insertMode || caretPos !== getMaskLength() || e.shiftKey || caretPos--, caret(input, e.shiftKey ? pos.begin : caretPos, caretPos, !0); } else { k === Inputmask.keyCode.HOME && !e.shiftKey || k === Inputmask.keyCode.PAGE_UP ? (e.preventDefault(), - caret(input, 0, e.shiftKey ? pos.begin : 0, !0)) : (opts.undoOnEscape && k === Inputmask.keyCode.ESCAPE || k === 90 && e.ctrlKey) && e.altKey !== !0 ? (checkVal(input, !0, !1, undoValue.split("")), - $input.trigger("click")) : k !== Inputmask.keyCode.INSERT || e.shiftKey || e.ctrlKey ? opts.tabThrough === !0 && k === Inputmask.keyCode.TAB ? (e.shiftKey === !0 ? (getTest(pos.begin).fn === null && (pos.begin = seekNext(pos.begin)), - pos.end = seekPrevious(pos.begin, !0), pos.begin = seekPrevious(pos.end, !0)) : (pos.begin = seekNext(pos.begin, !0), - pos.end = seekNext(pos.begin, !0), pos.end < getMaskLength() && pos.end--), pos.begin < getMaskLength() && (e.preventDefault(), - caret(input, pos.begin, pos.end))) : opts.insertMode !== !1 || e.shiftKey || (k === Inputmask.keyCode.RIGHT ? setTimeout(function () { + caret(input, 0, e.shiftKey ? pos.begin : 0, !0)) : (opts.undoOnEscape && k === Inputmask.keyCode.ESCAPE || k === 90 && e.ctrlKey) && e.altKey !== !0 ? (checkVal(input, !0, !1, undoValue.split("")), + $input.trigger("click")) : k !== Inputmask.keyCode.INSERT || e.shiftKey || e.ctrlKey ? opts.tabThrough === !0 && k === Inputmask.keyCode.TAB ? (e.shiftKey === !0 ? (getTest(pos.begin).fn === null && (pos.begin = seekNext(pos.begin)), + pos.end = seekPrevious(pos.begin, !0), pos.begin = seekPrevious(pos.end, !0)) : (pos.begin = seekNext(pos.begin, !0), + pos.end = seekNext(pos.begin, !0), pos.end < getMaskLength() && pos.end--), pos.begin < getMaskLength() && (e.preventDefault(), + caret(input, pos.begin, pos.end))) : opts.insertMode !== !1 || e.shiftKey || (k === Inputmask.keyCode.RIGHT ? setTimeout(function () { var caretPos = caret(input); caret(input, caretPos.begin); }, 0) : k === Inputmask.keyCode.LEFT && setTimeout(function () { @@ -1119,28 +1233,32 @@ } opts.onKeyDown.call(this, e, getBuffer(), caret(input).begin, opts), ignorable = $.inArray(k, opts.ignorables) !== -1; } - function keypressEvent (e, checkval, writeOut, strict, ndx) { - var input = this, $input = $(input), k = e.which || e.charCode || e.keyCode; + + function keypressEvent(e, checkval, writeOut, strict, ndx) { + var input = this, $input = $(input), + k = e.which || e.charCode || e.keyCode; if (!(checkval === !0 || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || ignorable)) { return k === Inputmask.keyCode.ENTER && undoValue !== getBuffer().join("") && (undoValue = getBuffer().join(""), - setTimeout(function () { - $input.trigger("change"); - }, 0)), !0; + setTimeout(function () { + $input.trigger("change"); + }, 0)), !0; } if (k) { k === 46 && e.shiftKey === !1 && opts.radixPoint === "," && (k = 44); var forwardPosition, pos = checkval ? { begin: ndx, end: ndx, - } : caret(input), c = String.fromCharCode(k), isSlctn = isSelection(pos.begin, pos.end); + } : caret(input), c = String.fromCharCode(k), + isSlctn = isSelection(pos.begin, pos.end); isSlctn && (getMaskSet().undoPositions = $.extend(!0, {}, getMaskSet().validPositions), - handleRemove(input, Inputmask.keyCode.DELETE, pos, !0), pos.begin = getMaskSet().p, + handleRemove(input, Inputmask.keyCode.DELETE, pos, !0), pos.begin = getMaskSet().p, opts.insertMode || (opts.insertMode = !opts.insertMode, setValidPosition(pos.begin, strict), - opts.insertMode = !opts.insertMode), isSlctn = !opts.multi), getMaskSet().writeOutBuffer = !0; - var p = isRTL && !isSlctn ? pos.end : pos.begin, valResult = isValid(p, c, strict); + opts.insertMode = !opts.insertMode), isSlctn = !opts.multi), getMaskSet().writeOutBuffer = !0; + var p = isRTL && !isSlctn ? pos.end : pos.begin, + valResult = isValid(p, c, strict); if (valResult !== !1) { if (valResult !== !0 && (p = void 0 !== valResult.pos ? valResult.pos : p, c = void 0 !== valResult.c ? valResult.c : c), - resetMaskSet(!0), void 0 !== valResult.caret) { + resetMaskSet(!0), void 0 !== valResult.caret) { forwardPosition = valResult.caret; } else { var vps = getMaskSet().validPositions; @@ -1169,7 +1287,7 @@ if (result && result.refreshFromBuffer) { var refresh = result.refreshFromBuffer; refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, result.buffer), - resetMaskSet(!0), result.caret && (getMaskSet().p = result.caret); + resetMaskSet(!0), result.caret && (getMaskSet().p = result.caret); } } if (e.preventDefault(), checkval) { @@ -1177,89 +1295,105 @@ } } } - function pasteEvent (e) { - var input = this, ev = e.originalEvent || e, $input = $(input), inputValue = input.inputmask._valueGet(!0), caretPos = caret(input), valueBeforeCaret = inputValue.substr(0, caretPos.begin), valueAfterCaret = inputValue.substr(caretPos.end, inputValue.length); + + function pasteEvent(e) { + var input = this, ev = e.originalEvent || e, $input = $(input), + inputValue = input.inputmask._valueGet(!0), + caretPos = caret(input), + valueBeforeCaret = inputValue.substr(0, caretPos.begin), + valueAfterCaret = inputValue.substr(caretPos.end, inputValue.length); valueBeforeCaret === getBufferTemplate().slice(0, caretPos.begin).join("") && (valueBeforeCaret = ""), valueAfterCaret === getBufferTemplate().slice(caretPos.end).join("") && (valueAfterCaret = ""), - window.clipboardData && window.clipboardData.getData ? inputValue = valueBeforeCaret + window.clipboardData.getData("Text") + valueAfterCaret : ev.clipboardData && ev.clipboardData.getData && (inputValue = valueBeforeCaret + ev.clipboardData.getData("text/plain") + valueAfterCaret); + window.clipboardData && window.clipboardData.getData ? inputValue = valueBeforeCaret + window.clipboardData.getData("Text") + valueAfterCaret : ev.clipboardData && ev.clipboardData.getData && (inputValue = valueBeforeCaret + ev.clipboardData.getData("text/plain") + valueAfterCaret); var pasteValue = inputValue; if ($.isFunction(opts.onBeforePaste)) { if (pasteValue = opts.onBeforePaste(inputValue, opts), pasteValue === !1) { return e.preventDefault(), - !1; + !1; } pasteValue || (pasteValue = inputValue); } return checkVal(input, !1, !1, isRTL ? pasteValue.split("").reverse() : pasteValue.toString().split("")), - writeBuffer(input, getBuffer(), void 0, e, !0), $input.trigger("click"), isComplete(getBuffer()) === !0 && $input.trigger("complete"), - !1; + writeBuffer(input, getBuffer(), void 0, e, !0), $input.trigger("click"), isComplete(getBuffer()) === !0 && $input.trigger("complete"), + !1; } - function inputFallBackEvent (e) { + + function inputFallBackEvent(e) { var input = this, inputValue = input.inputmask._valueGet(); if (getBuffer().join("") !== inputValue) { var caretPos = caret(input); if (inputValue = inputValue.replace(new RegExp("(" + Inputmask.escapeRegex(getBufferTemplate().join("")) + ")*"), ""), - iemobile) { + iemobile) { var inputChar = inputValue.replace(getBuffer().join(""), ""); if (inputChar.length === 1) { var keypress = new $.Event("keypress"); return keypress.which = inputChar.charCodeAt(0), keypressEvent.call(input, keypress, !0, !0, !1, getMaskSet().validPositions[caretPos.begin - 1] ? caretPos.begin : caretPos.begin - 1), - !1; + !1; } } if (caretPos.begin > inputValue.length && (caret(input, inputValue.length), caretPos = caret(input)), getBuffer().length - inputValue.length !== 1 || inputValue.charAt(caretPos.begin) === getBuffer()[caretPos.begin] || inputValue.charAt(caretPos.begin + 1) === getBuffer()[caretPos.begin] || isMask(caretPos.begin)) { - for (var lvp = getLastValidPosition() + 1, bufferTemplate = getBuffer().slice(lvp).join(""); inputValue.match(Inputmask.escapeRegex(bufferTemplate) + "$") === null; ) { + for (var lvp = getLastValidPosition() + 1, bufferTemplate = getBuffer().slice(lvp).join(""); inputValue.match(Inputmask.escapeRegex(bufferTemplate) + "$") === null;) { bufferTemplate = bufferTemplate.slice(1); } inputValue = inputValue.replace(bufferTemplate, ""), inputValue = inputValue.split(""), - checkVal(input, !0, !1, inputValue), isComplete(getBuffer()) === !0 && $(input).trigger("complete"); + checkVal(input, !0, !1, inputValue), isComplete(getBuffer()) === !0 && $(input).trigger("complete"); } else { e.keyCode = Inputmask.keyCode.BACKSPACE, keydownEvent.call(input, e); } e.preventDefault(); } } - function compositionStartEvent (e) { + + function compositionStartEvent(e) { var ev = e.originalEvent || e; undoValue = getBuffer().join(""), compositionData === "" || ev.data.indexOf(compositionData) !== 0; } - function compositionUpdateEvent (e) { - var input = this, ev = e.originalEvent || e, inputBuffer = getBuffer().join(""); + + function compositionUpdateEvent(e) { + var input = this, ev = e.originalEvent || e, + inputBuffer = getBuffer().join(""); ev.data.indexOf(compositionData) === 0 && (resetMaskSet(), getMaskSet().p = seekNext(-1)); for (var newData = ev.data, i = 0; i < newData.length; i++) { var keypress = new $.Event("keypress"); keypress.which = newData.charCodeAt(i), skipKeyPressEvent = !1, ignorable = !1, - keypressEvent.call(input, keypress, !0, !1, !1, getMaskSet().p); + keypressEvent.call(input, keypress, !0, !1, !1, getMaskSet().p); } inputBuffer !== getBuffer().join("") && setTimeout(function () { var forwardPosition = getMaskSet().p; writeBuffer(input, getBuffer(), opts.numericInput ? seekPrevious(forwardPosition) : forwardPosition); }, 0), compositionData = ev.data; } - function compositionEndEvent (e) {} - function setValueEvent (e) { + + function compositionEndEvent(e) { + } + + function setValueEvent(e) { var input = this, value = input.inputmask._valueGet(); checkVal(input, !0, !1, ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(value, opts) || value : value).split("")), - undoValue = getBuffer().join(""), (opts.clearMaskOnLostFocus || opts.clearIncomplete) && input.inputmask._valueGet() === getBufferTemplate().join("") && input.inputmask._valueSet(""); + undoValue = getBuffer().join(""), (opts.clearMaskOnLostFocus || opts.clearIncomplete) && input.inputmask._valueGet() === getBufferTemplate().join("") && input.inputmask._valueSet(""); } - function focusEvent (e) { + + function focusEvent(e) { var input = this, nptValue = input.inputmask._valueGet(); opts.showMaskOnFocus && (!opts.showMaskOnHover || opts.showMaskOnHover && nptValue === "") ? input.inputmask._valueGet() !== getBuffer().join("") && writeBuffer(input, getBuffer(), seekNext(getLastValidPosition())) : mouseEnter === !1 && caret(input, seekNext(getLastValidPosition())), opts.positionCaretOnTab === !0 && setTimeout(function () { caret(input, seekNext(getLastValidPosition())); }, 0), undoValue = getBuffer().join(""); } - function mouseleaveEvent (e) { + + function mouseleaveEvent(e) { var input = this; if (mouseEnter = !1, opts.clearMaskOnLostFocus && document.activeElement !== input) { - var buffer = getBuffer().slice(), nptValue = input.inputmask._valueGet(); + var buffer = getBuffer().slice(), + nptValue = input.inputmask._valueGet(); nptValue !== input.getAttribute("placeholder") && nptValue !== "" && (getLastValidPosition() === -1 && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer), - writeBuffer(input, buffer)); + writeBuffer(input, buffer)); } } - function clickEvent (e) { - function doRadixFocus (clickPos) { + + function clickEvent(e) { + function doRadixFocus(clickPos) { if (opts.radixFocus && opts.radixPoint !== "") { var vps = getMaskSet().validPositions; if (void 0 === vps[clickPos] || vps[clickPos].input === getPlaceholder(clickPos)) { @@ -1279,6 +1413,7 @@ } return !1; } + var input = this; if (document.activeElement === input) { var selectedCaret = caret(input); @@ -1286,214 +1421,232 @@ if (doRadixFocus(selectedCaret.begin)) { caret(input, opts.numericInput ? seekNext($.inArray(opts.radixPoint, getBuffer())) : $.inArray(opts.radixPoint, getBuffer())); } else { - var clickPosition = selectedCaret.begin, lvclickPosition = getLastValidPosition(clickPosition), lastPosition = seekNext(lvclickPosition); + var clickPosition = selectedCaret.begin, + lvclickPosition = getLastValidPosition(clickPosition), + lastPosition = seekNext(lvclickPosition); lastPosition > clickPosition ? caret(input, isMask(clickPosition) || isMask(clickPosition - 1) ? clickPosition : seekNext(clickPosition)) : ((getBuffer()[lastPosition] !== getPlaceholder(lastPosition) || !isMask(lastPosition, !0) && getTest(lastPosition).def === getPlaceholder(lastPosition)) && (lastPosition = seekNext(lastPosition)), - caret(input, lastPosition)); + caret(input, lastPosition)); } } } } - function dblclickEvent (e) { + + function dblclickEvent(e) { var input = this; setTimeout(function () { caret(input, 0, seekNext(getLastValidPosition())); }, 0); } - function cutEvent (e) { - var input = this, $input = $(input), pos = caret(input), ev = e.originalEvent || e, clipboardData = window.clipboardData || ev.clipboardData, clipData = isRTL ? getBuffer().slice(pos.end, pos.begin) : getBuffer().slice(pos.begin, pos.end); + + function cutEvent(e) { + var input = this, $input = $(input), pos = caret(input), + ev = e.originalEvent || e, + clipboardData = window.clipboardData || ev.clipboardData, + clipData = isRTL ? getBuffer().slice(pos.end, pos.begin) : getBuffer().slice(pos.begin, pos.end); clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), - writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), + writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared"), opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask); } - function blurEvent (e) { + + function blurEvent(e) { var $input = $(this), input = this; if (input.inputmask) { - var nptValue = input.inputmask._valueGet(), buffer = getBuffer().slice(); + var nptValue = input.inputmask._valueGet(), + buffer = getBuffer().slice(); undoValue !== buffer.join("") && setTimeout(function () { $input.trigger("change"), undoValue = buffer.join(""); }, 0), nptValue !== "" && (opts.clearMaskOnLostFocus && (getLastValidPosition() === -1 && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)), isComplete(buffer) === !1 && (setTimeout(function () { $input.trigger("incomplete"); }, 0), opts.clearIncomplete && (resetMaskSet(), buffer = opts.clearMaskOnLostFocus ? [] : getBufferTemplate().slice())), - writeBuffer(input, buffer, void 0, e)); + writeBuffer(input, buffer, void 0, e)); } } - function mouseenterEvent (e) { + + function mouseenterEvent(e) { var input = this; mouseEnter = !0, document.activeElement !== input && opts.showMaskOnHover && input.inputmask._valueGet() !== getBuffer().join("") && writeBuffer(input, getBuffer()); } - function submitEvent (e) { + + function submitEvent(e) { undoValue !== getBuffer().join("") && $el.trigger("change"), opts.clearMaskOnLostFocus && getLastValidPosition() === -1 && el.inputmask._valueGet && el.inputmask._valueGet() === getBufferTemplate().join("") && el.inputmask._valueSet(""), opts.removeMaskOnSubmit && (el.inputmask._valueSet(el.inputmask.unmaskedvalue(), !0), - setTimeout(function () { - writeBuffer(el, getBuffer()); - }, 0)); + setTimeout(function () { + writeBuffer(el, getBuffer()); + }, 0)); } - function resetEvent (e) { + + function resetEvent(e) { setTimeout(function () { $el.trigger("setvalue"); }, 0); } - function mask (elem) { + + function mask(elem) { if (el = elem, $el = $(el), opts.showTooltip && (el.title = opts.tooltip || getMaskSet().mask), (el.dir === "rtl" || opts.rightAlign) && (el.style.textAlign = "right"), (el.dir === "rtl" || opts.numericInput) && (el.dir = "ltr", - el.removeAttribute("dir"), el.inputmask.isRTL = !0, isRTL = !0), EventRuler.off(el), - patchValueProperty(el), isElementTypeSupported(el, opts) && (EventRuler.on(el, "submit", submitEvent), - EventRuler.on(el, "reset", resetEvent), EventRuler.on(el, "mouseenter", mouseenterEvent), - EventRuler.on(el, "blur", blurEvent), EventRuler.on(el, "focus", focusEvent), EventRuler.on(el, "mouseleave", mouseleaveEvent), - EventRuler.on(el, "click", clickEvent), EventRuler.on(el, "dblclick", dblclickEvent), - EventRuler.on(el, "paste", pasteEvent), EventRuler.on(el, "dragdrop", pasteEvent), - EventRuler.on(el, "drop", pasteEvent), EventRuler.on(el, "cut", cutEvent), EventRuler.on(el, "complete", opts.oncomplete), - EventRuler.on(el, "incomplete", opts.onincomplete), EventRuler.on(el, "cleared", opts.oncleared), - EventRuler.on(el, "keydown", keydownEvent), EventRuler.on(el, "keypress", keypressEvent), - EventRuler.on(el, "input", inputFallBackEvent), mobile || (EventRuler.on(el, "compositionstart", compositionStartEvent), - EventRuler.on(el, "compositionupdate", compositionUpdateEvent), EventRuler.on(el, "compositionend", compositionEndEvent))), - EventRuler.on(el, "setvalue", setValueEvent), el.inputmask._valueGet() !== "" || opts.clearMaskOnLostFocus === !1) { + el.removeAttribute("dir"), el.inputmask.isRTL = !0, isRTL = !0), EventRuler.off(el), + patchValueProperty(el), isElementTypeSupported(el, opts) && (EventRuler.on(el, "submit", submitEvent), + EventRuler.on(el, "reset", resetEvent), EventRuler.on(el, "mouseenter", mouseenterEvent), + EventRuler.on(el, "blur", blurEvent), EventRuler.on(el, "focus", focusEvent), EventRuler.on(el, "mouseleave", mouseleaveEvent), + EventRuler.on(el, "click", clickEvent), EventRuler.on(el, "dblclick", dblclickEvent), + EventRuler.on(el, "paste", pasteEvent), EventRuler.on(el, "dragdrop", pasteEvent), + EventRuler.on(el, "drop", pasteEvent), EventRuler.on(el, "cut", cutEvent), EventRuler.on(el, "complete", opts.oncomplete), + EventRuler.on(el, "incomplete", opts.onincomplete), EventRuler.on(el, "cleared", opts.oncleared), + EventRuler.on(el, "keydown", keydownEvent), EventRuler.on(el, "keypress", keypressEvent), + EventRuler.on(el, "input", inputFallBackEvent), mobile || (EventRuler.on(el, "compositionstart", compositionStartEvent), + EventRuler.on(el, "compositionupdate", compositionUpdateEvent), EventRuler.on(el, "compositionend", compositionEndEvent))), + EventRuler.on(el, "setvalue", setValueEvent), el.inputmask._valueGet() !== "" || opts.clearMaskOnLostFocus === !1) { var initialValue = $.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(el.inputmask._valueGet(), opts) || el.inputmask._valueGet() : el.inputmask._valueGet(); checkVal(el, !0, !1, initialValue.split("")); var buffer = getBuffer().slice(); undoValue = buffer.join(""), isComplete(buffer) === !1 && opts.clearIncomplete && resetMaskSet(), opts.clearMaskOnLostFocus && (buffer.join("") === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)), - writeBuffer(el, buffer), document.activeElement === el && caret(el, seekNext(getLastValidPosition())); + writeBuffer(el, buffer), document.activeElement === el && caret(el, seekNext(getLastValidPosition())); } } - var undoValue, compositionData, el, $el, maxLength, valueBuffer, isRTL = !1, skipKeyPressEvent = !1, skipInputEvent = !1, ignorable = !1, mouseEnter = !0, inComposition = !1, EventRuler = { - on: function (input, eventName, eventHandler) { - var ev = function (e) { - if (void 0 === this.inputmask && this.nodeName !== "FORM") { - var imOpts = $.data(this, "_inputmask_opts"); - imOpts ? new Inputmask(imOpts).mask(this) : EventRuler.off(this); - } else { - if (e.type === "setvalue" || !(this.disabled || this.readOnly && !(e.type === "keydown" && e.ctrlKey && e.keyCode === 67 || opts.tabThrough === !1 && e.keyCode === Inputmask.keyCode.TAB))) { - switch (e.type) { - case "input": - if (skipInputEvent === !0 || inComposition === !0) { - return skipInputEvent = inComposition, - e.preventDefault(); - } - break; - case "keydown": - skipKeyPressEvent = !1, skipInputEvent = !1, inComposition = !1; - break; + var undoValue, compositionData, el, $el, maxLength, valueBuffer, + isRTL = !1, skipKeyPressEvent = !1, skipInputEvent = !1, + ignorable = !1, mouseEnter = !0, inComposition = !1, EventRuler = { + on: function (input, eventName, eventHandler) { + var ev = function (e) { + if (void 0 === this.inputmask && this.nodeName !== "FORM") { + var imOpts = $.data(this, "_inputmask_opts"); + imOpts ? new Inputmask(imOpts).mask(this) : EventRuler.off(this); + } else { + if (e.type === "setvalue" || !(this.disabled || this.readOnly && !(e.type === "keydown" && e.ctrlKey && e.keyCode === 67 || opts.tabThrough === !1 && e.keyCode === Inputmask.keyCode.TAB))) { + switch (e.type) { + case "input": + if (skipInputEvent === !0 || inComposition === !0) { + return skipInputEvent = inComposition, + e.preventDefault(); + } + break; - case "keypress": - if (skipKeyPressEvent === !0) { - return e.preventDefault(); - } - skipKeyPressEvent = !0; - break; + case "keydown": + skipKeyPressEvent = !1, skipInputEvent = !1, inComposition = !1; + break; - case "compositionstart": - inComposition = !0; - break; + case "keypress": + if (skipKeyPressEvent === !0) { + return e.preventDefault(); + } + skipKeyPressEvent = !0; + break; - case "compositionupdate": - skipInputEvent = !0; - break; + case "compositionstart": + inComposition = !0; + break; - case "compositionend": - inComposition = !1; - break; + case "compositionupdate": + skipInputEvent = !0; + break; - case "cut": - skipInputEvent = !0; - break; + case "compositionend": + inComposition = !1; + break; + + case "cut": + skipInputEvent = !0; + break; - case "click": - if (iemobile) { - var that = this; - return setTimeout(function () { - eventHandler.apply(that, arguments); - }, 0), !1; + case "click": + if (iemobile) { + var that = this; + return setTimeout(function () { + eventHandler.apply(that, arguments); + }, 0), !1; + } } + return eventHandler.apply(this, arguments); } - return eventHandler.apply(this, arguments); + e.preventDefault(); } - e.preventDefault(); + }; + input.inputmask.events[eventName] = input.inputmask.events[eventName] || [], input.inputmask.events[eventName].push(ev), + $.inArray(eventName, ["submit", "reset"]) !== -1 ? input.form != null && $(input.form).on(eventName, ev) : $(input).on(eventName, ev); + }, + off: function (input, event) { + if (input.inputmask && input.inputmask.events) { + var events; + event ? (events = [], events[event] = input.inputmask.events[event]) : events = input.inputmask.events, + $.each(events, function (eventName, evArr) { + for (; evArr.length > 0;) { + var ev = evArr.pop(); + $.inArray(eventName, ["submit", "reset"]) !== -1 ? input.form != null && $(input.form).off(eventName, ev) : $(input).off(eventName, ev); + } + delete input.inputmask.events[eventName]; + }); } - }; - input.inputmask.events[eventName] = input.inputmask.events[eventName] || [], input.inputmask.events[eventName].push(ev), - $.inArray(eventName, [ "submit", "reset" ]) !== -1 ? input.form != null && $(input.form).on(eventName, ev) : $(input).on(eventName, ev); - }, - off: function (input, event) { - if (input.inputmask && input.inputmask.events) { - var events; - event ? (events = [], events[event] = input.inputmask.events[event]) : events = input.inputmask.events, - $.each(events, function (eventName, evArr) { - for (;evArr.length > 0; ) { - var ev = evArr.pop(); - $.inArray(eventName, [ "submit", "reset" ]) !== -1 ? input.form != null && $(input.form).off(eventName, ev) : $(input).off(eventName, ev); - } - delete input.inputmask.events[eventName]; - }); - } - }, - }; + }, + }; if (void 0 !== actionObj) { switch (actionObj.action) { - case "isComplete": - return el = actionObj.el, isComplete(getBuffer()); - - case "unmaskedvalue": - return el = actionObj.el, void 0 !== el && void 0 !== el.inputmask ? (maskset = el.inputmask.maskset, - opts = el.inputmask.opts, isRTL = el.inputmask.isRTL) : (valueBuffer = actionObj.value, - opts.numericInput && (isRTL = !0), valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(valueBuffer, opts) || valueBuffer : valueBuffer).split(""), - checkVal(void 0, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite(void 0, getBuffer(), 0, opts)), - unmaskedvalue(el); - - case "mask": - el = actionObj.el, maskset = el.inputmask.maskset, opts = el.inputmask.opts, isRTL = el.inputmask.isRTL, - undoValue = getBuffer().join(""), mask(el); - break; - - case "format": - return opts.numericInput && (isRTL = !0), valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(actionObj.value, opts) || actionObj.value : actionObj.value).split(""), - checkVal(void 0, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite(void 0, getBuffer(), 0, opts), - actionObj.metadata ? { - value: isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""), - metadata: maskScope({ - action: "getmetadata", - }, maskset, opts), - } : isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""); - - case "isValid": - opts.numericInput && (isRTL = !0), actionObj.value ? (valueBuffer = actionObj.value.split(""), - checkVal(void 0, !1, !0, isRTL ? valueBuffer.reverse() : valueBuffer)) : actionObj.value = getBuffer().join(""); - for (var buffer = getBuffer(), rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) {} - return buffer.splice(rl, lmib + 1 - rl), isComplete(buffer) && actionObj.value === getBuffer().join(""); - - case "getemptymask": - return getBufferTemplate(); - - case "remove": - el = actionObj.el, $el = $(el), maskset = el.inputmask.maskset, opts = el.inputmask.opts, - el.inputmask._valueSet(unmaskedvalue(el)), EventRuler.off(el); - var valueProperty; - Object.getOwnPropertyDescriptor && (valueProperty = Object.getOwnPropertyDescriptor(el, "value")), - valueProperty && valueProperty.get ? el.inputmask.__valueGet && Object.defineProperty(el, "value", { - get: el.inputmask.__valueGet, - set: el.inputmask.__valueSet, - }) : document.__lookupGetter__ && el.__lookupGetter__("value") && el.inputmask.__valueGet && (el.__defineGetter__("value", el.inputmask.__valueGet), - el.__defineSetter__("value", el.inputmask.__valueSet)), el.inputmask = void 0; - break; - - case "getmetadata": - if ($.isArray(maskset.metadata)) { - for (var alternation, lvp = getLastValidPosition(), firstAlt = lvp; firstAlt >= 0; firstAlt--) { - if (getMaskSet().validPositions[firstAlt] && void 0 !== getMaskSet().validPositions[firstAlt].alternation) { - alternation = getMaskSet().validPositions[firstAlt].alternation; - break; + case "isComplete": + return el = actionObj.el, isComplete(getBuffer()); + + case "unmaskedvalue": + return el = actionObj.el, void 0 !== el && void 0 !== el.inputmask ? (maskset = el.inputmask.maskset, + opts = el.inputmask.opts, isRTL = el.inputmask.isRTL) : (valueBuffer = actionObj.value, + opts.numericInput && (isRTL = !0), valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(valueBuffer, opts) || valueBuffer : valueBuffer).split(""), + checkVal(void 0, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite(void 0, getBuffer(), 0, opts)), + unmaskedvalue(el); + + case "mask": + el = actionObj.el, maskset = el.inputmask.maskset, opts = el.inputmask.opts, isRTL = el.inputmask.isRTL, + undoValue = getBuffer().join(""), mask(el); + break; + + case "format": + return opts.numericInput && (isRTL = !0), valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask(actionObj.value, opts) || actionObj.value : actionObj.value).split(""), + checkVal(void 0, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite(void 0, getBuffer(), 0, opts), + actionObj.metadata ? { + value: isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""), + metadata: maskScope({ + action: "getmetadata", + }, maskset, opts), + } : isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""); + + case "isValid": + opts.numericInput && (isRTL = !0), actionObj.value ? (valueBuffer = actionObj.value.split(""), + checkVal(void 0, !1, !0, isRTL ? valueBuffer.reverse() : valueBuffer)) : actionObj.value = getBuffer().join(""); + for (var buffer = getBuffer(), rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) { + } + return buffer.splice(rl, lmib + 1 - rl), isComplete(buffer) && actionObj.value === getBuffer().join(""); + + case "getemptymask": + return getBufferTemplate(); + + case "remove": + el = actionObj.el, $el = $(el), maskset = el.inputmask.maskset, opts = el.inputmask.opts, + el.inputmask._valueSet(unmaskedvalue(el)), EventRuler.off(el); + var valueProperty; + Object.getOwnPropertyDescriptor && (valueProperty = Object.getOwnPropertyDescriptor(el, "value")), + valueProperty && valueProperty.get ? el.inputmask.__valueGet && Object.defineProperty(el, "value", { + get: el.inputmask.__valueGet, + set: el.inputmask.__valueSet, + }) : document.__lookupGetter__ && el.__lookupGetter__("value") && el.inputmask.__valueGet && (el.__defineGetter__("value", el.inputmask.__valueGet), + el.__defineSetter__("value", el.inputmask.__valueSet)), el.inputmask = void 0; + break; + + case "getmetadata": + if ($.isArray(maskset.metadata)) { + for (var alternation, lvp = getLastValidPosition(), firstAlt = lvp; firstAlt >= 0; firstAlt--) { + if (getMaskSet().validPositions[firstAlt] && void 0 !== getMaskSet().validPositions[firstAlt].alternation) { + alternation = getMaskSet().validPositions[firstAlt].alternation; + break; + } } + return void 0 !== alternation ? maskset.metadata[getMaskSet().validPositions[lvp].locator[alternation]] : maskset.metadata[0]; } - return void 0 !== alternation ? maskset.metadata[getMaskSet().validPositions[lvp].locator[alternation]] : maskset.metadata[0]; - } - return maskset.metadata; + return maskset.metadata; } } } + Inputmask.prototype = { defaults: { placeholder: "_", @@ -1548,7 +1701,7 @@ keepStatic: null, positionCaretOnTab: !1, tabThrough: !1, - supportsInputType: [ "text", "tel", "password" ], + supportsInputType: ["text", "tel", "password"], definitions: { "9": { validator: "[0-9]", @@ -1565,7 +1718,7 @@ cardinality: 1, }, }, - ignorables: [ 8, 9, 13, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123 ], + ignorables: [8, 9, 13, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123], isComplete: null, canClearPosition: $.noop, postValidation: null, @@ -1576,26 +1729,26 @@ mask: function (elems) { var that = this; return typeof elems === "string" && (elems = document.getElementById(elems) || document.querySelectorAll(elems)), - elems = elems.nodeName ? [ elems ] : elems, $.each(elems, function (ndx, el) { + elems = elems.nodeName ? [elems] : elems, $.each(elems, function (ndx, el) { var scopedOpts = $.extend(!0, {}, that.opts); importAttributeOptions(el, scopedOpts, $.extend(!0, {}, that.userOptions)); var maskset = generateMaskSet(scopedOpts, that.noMasksCache); void 0 !== maskset && (void 0 !== el.inputmask && el.inputmask.remove(), el.inputmask = new Inputmask(), - el.inputmask.opts = scopedOpts, el.inputmask.noMasksCache = that.noMasksCache, el.inputmask.userOptions = $.extend(!0, {}, that.userOptions), - el.inputmask.el = el, el.inputmask.maskset = maskset, el.inputmask.isRTL = !1, $.data(el, "_inputmask_opts", scopedOpts), - maskScope({ - action: "mask", - el: el, - })); + el.inputmask.opts = scopedOpts, el.inputmask.noMasksCache = that.noMasksCache, el.inputmask.userOptions = $.extend(!0, {}, that.userOptions), + el.inputmask.el = el, el.inputmask.maskset = maskset, el.inputmask.isRTL = !1, $.data(el, "_inputmask_opts", scopedOpts), + maskScope({ + action: "mask", + el: el, + })); }), elems && elems[0] ? elems[0].inputmask || this : this; }, option: function (options) { return typeof options === "string" ? this.opts[options] : typeof options === "object" ? ($.extend(this.opts, options), - $.extend(this.userOptions, options), this.el && (void 0 !== options.mask || void 0 !== options.alias ? this.mask(this.el) : ($.data(this.el, "_inputmask_opts", this.opts), - maskScope({ - action: "mask", - el: this.el, - }))), this) : void 0; + $.extend(this.userOptions, options), this.el && (void 0 !== options.mask || void 0 !== options.alias ? this.mask(this.el) : ($.data(this.el, "_inputmask_opts", this.opts), + maskScope({ + action: "mask", + el: this.el, + }))), this) : void 0; }, unmaskedvalue: function (value) { return maskScope({ @@ -1659,7 +1812,7 @@ el.inputmask && el.inputmask.remove(); }); }, Inputmask.escapeRegex = function (str) { - var specials = [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^" ]; + var specials = ["/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^"]; return str.replace(new RegExp("(\\" + specials.join("|\\") + ")", "gim"), "\\$1"); }, Inputmask.keyCode = { ALT: 18, @@ -1695,7 +1848,9 @@ UP: 38, WINDOWS: 91, }; - var ua = navigator.userAgent, mobile = (/mobile/i).test(ua), iemobile = (/iemobile/i).test(ua), iphone = (/iphone/i).test(ua) && !iemobile; + var ua = navigator.userAgent, mobile = (/mobile/i).test(ua), + iemobile = (/iemobile/i).test(ua), + iphone = (/iphone/i).test(ua) && !iemobile; (/android.*safari.*/i).test(ua) && !iemobile; return window.Inputmask = Inputmask, Inputmask; }(jQuery)), (function ($, Inputmask) { @@ -1703,45 +1858,45 @@ var nptmask, input = this[0]; if (options = options || {}, typeof fn === "string") { switch (fn) { - case "unmaskedvalue": - return input && input.inputmask ? input.inputmask.unmaskedvalue() : $(input).val(); + case "unmaskedvalue": + return input && input.inputmask ? input.inputmask.unmaskedvalue() : $(input).val(); - case "remove": - return this.each(function () { - this.inputmask && this.inputmask.remove(); - }); + case "remove": + return this.each(function () { + this.inputmask && this.inputmask.remove(); + }); - case "getemptymask": - return input && input.inputmask ? input.inputmask.getemptymask() : ""; + case "getemptymask": + return input && input.inputmask ? input.inputmask.getemptymask() : ""; - case "hasMaskedValue": - return input && input.inputmask ? input.inputmask.hasMaskedValue() : !1; + case "hasMaskedValue": + return input && input.inputmask ? input.inputmask.hasMaskedValue() : !1; - case "isComplete": - return input && input.inputmask ? input.inputmask.isComplete() : !0; + case "isComplete": + return input && input.inputmask ? input.inputmask.isComplete() : !0; - case "getmetadata": - return input && input.inputmask ? input.inputmask.getmetadata() : void 0; + case "getmetadata": + return input && input.inputmask ? input.inputmask.getmetadata() : void 0; - case "setvalue": - $(input).val(options), input && void 0 !== input.inputmask && $(input).triggerHandler("setvalue"); - break; + case "setvalue": + $(input).val(options), input && void 0 !== input.inputmask && $(input).triggerHandler("setvalue"); + break; - case "option": - if (typeof options !== "string") { - return this.each(function () { - return void 0 !== this.inputmask ? this.inputmask.option(options) : void 0; - }); - } - if (input && void 0 !== input.inputmask) { - return input.inputmask.option(options); - } - break; + case "option": + if (typeof options !== "string") { + return this.each(function () { + return void 0 !== this.inputmask ? this.inputmask.option(options) : void 0; + }); + } + if (input && void 0 !== input.inputmask) { + return input.inputmask.option(options); + } + break; - default: - return options.alias = fn, nptmask = new Inputmask(options), this.each(function () { - nptmask.mask(this); - }); + default: + return options.alias = fn, nptmask = new Inputmask(options), this.each(function () { + nptmask.mask(this); + }); } } else { if (typeof fn === "object") { @@ -1763,39 +1918,39 @@ h: { validator: "[01][0-9]|2[0-3]", cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: "[0-2]", cardinality: 1, - } ], + }], }, s: { validator: "[0-5][0-9]", cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: "[0-5]", cardinality: 1, - } ], + }], }, d: { validator: "0[1-9]|[12][0-9]|3[01]", cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: "[0-3]", cardinality: 1, - } ], + }], }, m: { validator: "0[1-9]|1[012]", cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: "[01]", cardinality: 1, - } ], + }], }, y: { validator: "(19|20)\\d{2}", cardinality: 4, - prevalidator: [ { + prevalidator: [{ validator: "[12]", cardinality: 1, }, { @@ -1804,7 +1959,7 @@ }, { validator: "(19|20)\\d", cardinality: 3, - } ], + }], }, }), Inputmask.extendAliases({ "dd/mm/yyyy": { @@ -1832,7 +1987,8 @@ if (isNaN(chrs)) { return !1; } - var enteredyear = parseInt(chrs.concat(minyear.toString().slice(chrs.length))), enteredyear2 = parseInt(chrs.concat(maxyear.toString().slice(chrs.length))); + var enteredyear = parseInt(chrs.concat(minyear.toString().slice(chrs.length))), + enteredyear2 = parseInt(chrs.concat(maxyear.toString().slice(chrs.length))); return (isNaN(enteredyear) ? !1 : enteredyear >= minyear && maxyear >= enteredyear) || (isNaN(enteredyear2) ? !1 : enteredyear2 >= minyear && maxyear >= enteredyear2); }, determinebaseyear: function (minyear, maxyear, hint) { @@ -1841,7 +1997,7 @@ return minyear; } if (currentyear > maxyear) { - for (var maxYearPrefix = maxyear.toString().slice(0, 2), maxYearPostfix = maxyear.toString().slice(2, 4); maxYearPrefix + hint > maxyear; ) { + for (var maxYearPrefix = maxyear.toString().slice(0, 2), maxYearPostfix = maxyear.toString().slice(2, 4); maxYearPrefix + hint > maxyear;) { maxYearPrefix--; } var maxxYear = maxYearPrefix + maxYearPostfix; @@ -1854,7 +2010,7 @@ if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { var today = new Date(); $input.val(today.getDate().toString() + (today.getMonth() + 1).toString() + today.getFullYear().toString()), - $input.trigger("setvalue"); + $input.trigger("setvalue"); } }, getFrontValue: function (mask, buffer, opts) { @@ -1869,17 +2025,17 @@ validator: function (chrs, maskset, pos, strict, opts) { var isValid = opts.regex.val1.test(chrs); return strict || isValid || chrs.charAt(1) !== opts.separator && "-./".indexOf(chrs.charAt(1)) === -1 || !(isValid = opts.regex.val1.test("0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0", - { - refreshFromBuffer: { - start: pos - 1, - end: pos, - }, - pos: pos, - c: chrs.charAt(0), - }); + { + refreshFromBuffer: { + start: pos - 1, + end: pos, + }, + pos: pos, + c: chrs.charAt(0), + }); }, cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: function (chrs, maskset, pos, strict, opts) { var pchrs = chrs; isNaN(maskset.buffer[pos + 1]) || (pchrs += maskset.buffer[pos + 1]); @@ -1887,14 +2043,14 @@ if (!strict && !isValid) { if (isValid = opts.regex.val1.test(chrs + "0")) { return maskset.buffer[pos] = chrs, - maskset.buffer[++pos] = "0", { + maskset.buffer[++pos] = "0", { pos: pos, c: "0", }; } if (isValid = opts.regex.val1.test("0" + chrs)) { return maskset.buffer[pos] = "0", - pos++, { + pos++, { pos: pos, }; } @@ -1902,7 +2058,7 @@ return isValid; }, cardinality: 1, - } ], + }], }, "2": { validator: function (chrs, maskset, pos, strict, opts) { @@ -1911,14 +2067,14 @@ var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs); if (!strict && !isValid && (chrs.charAt(1) === opts.separator || "-./".indexOf(chrs.charAt(1)) !== -1) && (isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0)))) { return maskset.buffer[pos - 1] = "0", - { - refreshFromBuffer: { - start: pos - 1, - end: pos, - }, - pos: pos, - c: chrs.charAt(0), - }; + { + refreshFromBuffer: { + start: pos - 1, + end: pos, + }, + pos: pos, + c: chrs.charAt(0), + }; } if (opts.mask.indexOf("2") === opts.mask.length - 1 && isValid) { var dayMonthValue = maskset.buffer.join("").substr(4, 4) + chrs; @@ -1931,19 +2087,19 @@ return isValid; }, cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: function (chrs, maskset, pos, strict, opts) { isNaN(maskset.buffer[pos + 1]) || (chrs += maskset.buffer[pos + 1]); var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts); frontValue.indexOf(opts.placeholder[0]) !== -1 && (frontValue = "01" + opts.separator); var isValid = chrs.length === 1 ? opts.regex.val2pre(opts.separator).test(frontValue + chrs) : opts.regex.val2(opts.separator).test(frontValue + chrs); return strict || isValid || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", - pos++, { + pos++, { pos: pos, }); }, cardinality: 1, - } ], + }], }, y: { validator: function (chrs, maskset, pos, strict, opts) { @@ -1958,21 +2114,21 @@ return !1; }, cardinality: 4, - prevalidator: [ { + prevalidator: [{ validator: function (chrs, maskset, pos, strict, opts) { var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); if (!strict && !isValid) { var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 1); if (isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) { return maskset.buffer[pos++] = yearPrefix.charAt(0), - { - pos: pos, - }; + { + pos: pos, + }; } if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 2), - isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) { + isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) { return maskset.buffer[pos++] = yearPrefix.charAt(0), - maskset.buffer[pos++] = yearPrefix.charAt(1), { + maskset.buffer[pos++] = yearPrefix.charAt(1), { pos: pos, }; } @@ -1987,12 +2143,12 @@ var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2); if (isValid = opts.isInYearRange(chrs[0] + yearPrefix[1] + chrs[1], opts.yearrange.minyear, opts.yearrange.maxyear)) { return maskset.buffer[pos++] = yearPrefix.charAt(1), - { - pos: pos, - }; + { + pos: pos, + }; } if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2), - opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) { + opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) { var dayMonthValue = maskset.buffer.join("").substr(0, 6); if (dayMonthValue !== opts.leapday) { isValid = !0; @@ -2005,7 +2161,7 @@ } if (isValid) { return maskset.buffer[pos - 1] = yearPrefix.charAt(0), maskset.buffer[pos++] = yearPrefix.charAt(1), - maskset.buffer[pos++] = chrs.charAt(0), { + maskset.buffer[pos++] = chrs.charAt(0), { refreshFromBuffer: { start: pos - 3, end: pos, @@ -2022,7 +2178,7 @@ return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); }, cardinality: 3, - } ], + }], }, }, insertMode: !1, @@ -2049,7 +2205,7 @@ if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { var today = new Date(); $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), - $input.trigger("setvalue"); + $input.trigger("setvalue"); } }, }, @@ -2063,7 +2219,7 @@ if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { var today = new Date(); $input.val(today.getFullYear().toString() + (today.getMonth() + 1).toString() + today.getDate().toString()), - $input.trigger("setvalue"); + $input.trigger("setvalue"); } }, }, @@ -2128,7 +2284,7 @@ validator: function (chrs, maskset, pos, strict, opts) { if (opts.hourFormat === "24" && parseInt(chrs, 10) === 24) { return maskset.buffer[pos - 1] = "0", - maskset.buffer[pos] = "0", { + maskset.buffer[pos] = "0", { refreshFromBuffer: { start: pos - 1, end: pos, @@ -2139,7 +2295,7 @@ var isValid = opts.regex.hrs.test(chrs); if (!strict && !isValid && (chrs.charAt(1) === opts.timeseparator || "-.:".indexOf(chrs.charAt(1)) !== -1) && (isValid = opts.regex.hrs.test("0" + chrs.charAt(0)))) { return maskset.buffer[pos - 1] = "0", - maskset.buffer[pos] = chrs.charAt(0), pos++, { + maskset.buffer[pos] = chrs.charAt(0), pos++, { refreshFromBuffer: { start: pos - 2, end: pos, @@ -2151,9 +2307,9 @@ if (isValid && opts.hourFormat !== "24" && opts.regex.hrs24.test(chrs)) { var tmp = parseInt(chrs, 10); return tmp === 24 ? (maskset.buffer[pos + 5] = "a", maskset.buffer[pos + 6] = "m") : (maskset.buffer[pos + 5] = "p", - maskset.buffer[pos + 6] = "m"), tmp -= 12, tmp < 10 ? (maskset.buffer[pos] = tmp.toString(), - maskset.buffer[pos - 1] = "0") : (maskset.buffer[pos] = tmp.toString().charAt(1), - maskset.buffer[pos - 1] = tmp.toString().charAt(0)), { + maskset.buffer[pos + 6] = "m"), tmp -= 12, tmp < 10 ? (maskset.buffer[pos] = tmp.toString(), + maskset.buffer[pos - 1] = "0") : (maskset.buffer[pos] = tmp.toString().charAt(1), + maskset.buffer[pos - 1] = tmp.toString().charAt(0)), { refreshFromBuffer: { start: pos - 1, end: pos + 6, @@ -2164,30 +2320,30 @@ return isValid; }, cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: function (chrs, maskset, pos, strict, opts) { var isValid = opts.regex.hrspre.test(chrs); return strict || isValid || !(isValid = opts.regex.hrs.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", - pos++, { + pos++, { pos: pos, }); }, cardinality: 1, - } ], + }], }, s: { validator: "[0-5][0-9]", cardinality: 2, - prevalidator: [ { + prevalidator: [{ validator: function (chrs, maskset, pos, strict, opts) { var isValid = opts.regex.mspre.test(chrs); return strict || isValid || !(isValid = opts.regex.ms.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", - pos++, { + pos++, { pos: pos, }); }, cardinality: 1, - } ], + }], }, t: { validator: function (chrs, maskset, pos, strict, opts) { @@ -2228,7 +2384,7 @@ if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { var today = new Date(); $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), - $input.trigger("setvalue"); + $input.trigger("setvalue"); } }, }, @@ -2325,8 +2481,8 @@ i: { validator: function (chrs, maskset, pos, strict, opts) { return pos - 1 > -1 && maskset.buffer[pos - 1] !== "." ? (chrs = maskset.buffer[pos - 1] + chrs, - chrs = pos - 2 > -1 && maskset.buffer[pos - 2] !== "." ? maskset.buffer[pos - 2] + chrs : "0" + chrs) : chrs = "00" + chrs, - new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs); + chrs = pos - 2 > -1 && maskset.buffer[pos - 2] !== "." ? maskset.buffer[pos - 2] + chrs : "0" + chrs) : chrs = "00" + chrs, + new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs); }, cardinality: 1, }, @@ -2360,31 +2516,33 @@ return Inputmask.extendAliases({ numeric: { mask: function (opts) { - function autoEscape (txt) { + function autoEscape(txt) { for (var escapedTxt = "", i = 0; i < txt.length; i++) { escapedTxt += opts.definitions[txt.charAt(i)] ? "\\" + txt.charAt(i) : txt.charAt(i); } return escapedTxt; } + if (opts.repeat !== 0 && isNaN(opts.integerDigits) && (opts.integerDigits = opts.repeat), - opts.repeat = 0, opts.groupSeparator === opts.radixPoint && (opts.radixPoint === "." ? opts.groupSeparator = "," : opts.radixPoint === "," ? opts.groupSeparator = "." : opts.groupSeparator = ""), + opts.repeat = 0, opts.groupSeparator === opts.radixPoint && (opts.radixPoint === "." ? opts.groupSeparator = "," : opts.radixPoint === "," ? opts.groupSeparator = "." : opts.groupSeparator = ""), opts.groupSeparator === " " && (opts.skipOptionalPartCharacter = void 0), opts.autoGroup = opts.autoGroup && opts.groupSeparator !== "", opts.autoGroup && (typeof opts.groupSize === "string" && isFinite(opts.groupSize) && (opts.groupSize = parseInt(opts.groupSize)), - isFinite(opts.integerDigits))) { - var seps = Math.floor(opts.integerDigits / opts.groupSize), mod = opts.integerDigits % opts.groupSize; + isFinite(opts.integerDigits))) { + var seps = Math.floor(opts.integerDigits / opts.groupSize), + mod = opts.integerDigits % opts.groupSize; opts.integerDigits = parseInt(opts.integerDigits) + (mod === 0 ? seps - 1 : seps), opts.integerDigits < 1 && (opts.integerDigits = "*"); } opts.placeholder.length > 1 && (opts.placeholder = opts.placeholder.charAt(0)), - opts.radixFocus = opts.radixFocus && opts.placeholder !== "" && opts.integerOptional === !0, - opts.definitions[";"] = opts.definitions["~"], opts.definitions[";"].definitionSymbol = "~", + opts.radixFocus = opts.radixFocus && opts.placeholder !== "" && opts.integerOptional === !0, + opts.definitions[";"] = opts.definitions["~"], opts.definitions[";"].definitionSymbol = "~", opts.numericInput == 1 && (opts.radixFocus = !1, opts.digitsOptional = !1, isNaN(opts.digits) && (opts.digits = 2), - opts.decimalProtect = !1); + opts.decimalProtect = !1); var mask = autoEscape(opts.prefix); return mask += "[+]", mask += opts.integerOptional === !0 ? "~{1," + opts.integerDigits + "}" : "~{" + opts.integerDigits + "}", void 0 !== opts.digits && (isNaN(opts.digits) || parseInt(opts.digits) > 0) && (mask += opts.digitsOptional ? "[" + (opts.decimalProtect ? ":" : opts.radixPoint) + ";{1," + opts.digits + "}]" : (opts.decimalProtect ? ":" : opts.radixPoint) + ";{" + opts.digits + "}"), opts.negationSymbol.back !== "" && (mask += "[-]"), mask += autoEscape(opts.suffix), - opts.greedy = !1, mask; + opts.greedy = !1, mask; }, placeholder: "", greedy: !1, @@ -2417,7 +2575,7 @@ opts.numericInput === !0 && (buffer = buffer.reverse(), isFinite(pos) && (pos = buffer.join("").length - pos - 1)); var i, l, suffixStripped = !1; buffer.length >= opts.suffix.length && buffer.join("").indexOf(opts.suffix) === buffer.length - opts.suffix.length && (buffer.length -= opts.suffix.length, - suffixStripped = !0), pos = pos >= buffer.length ? buffer.length - 1 : pos < opts.prefix.length ? opts.prefix.length : pos; + suffixStripped = !0), pos = pos >= buffer.length ? buffer.length - 1 : pos < opts.prefix.length ? opts.prefix.length : pos; var needsRefresh = !1, charAtPos = buffer[pos]; if (opts.groupSeparator === "" || opts.numericInput !== !0 && $.inArray(opts.radixPoint, buffer) !== -1 && pos > $.inArray(opts.radixPoint, buffer) || new RegExp("[" + Inputmask.escapeRegex(opts.negationSymbol.front) + "+]").test(charAtPos)) { if (suffixStripped) { @@ -2431,43 +2589,44 @@ } var cbuf = buffer.slice(); charAtPos === opts.groupSeparator && (cbuf.splice(pos--, 1), charAtPos = cbuf[pos]), - reformatOnly ? charAtPos !== opts.radixPoint && (cbuf[pos] = "?") : cbuf.splice(pos, 0, "?"); + reformatOnly ? charAtPos !== opts.radixPoint && (cbuf[pos] = "?") : cbuf.splice(pos, 0, "?"); var bufVal = cbuf.join(""), bufValOrigin = bufVal; if (bufVal.length > 0 && opts.autoGroup || reformatOnly && bufVal.indexOf(opts.groupSeparator) !== -1) { var escapedGroupSeparator = Inputmask.escapeRegex(opts.groupSeparator); needsRefresh = bufVal.indexOf(opts.groupSeparator) === 0, bufVal = bufVal.replace(new RegExp(escapedGroupSeparator, "g"), ""); var radixSplit = bufVal.split(opts.radixPoint); if (bufVal = opts.radixPoint === "" ? bufVal : radixSplit[0], bufVal !== opts.prefix + "?0" && bufVal.length >= opts.groupSize + opts.prefix.length) { - for (var reg = new RegExp("([-+]?[\\d?]+)([\\d?]{" + opts.groupSize + "})"); reg.test(bufVal); ) { + for (var reg = new RegExp("([-+]?[\\d?]+)([\\d?]{" + opts.groupSize + "})"); reg.test(bufVal);) { bufVal = bufVal.replace(reg, "$1" + opts.groupSeparator + "$2"), - bufVal = bufVal.replace(opts.groupSeparator + opts.groupSeparator, opts.groupSeparator); + bufVal = bufVal.replace(opts.groupSeparator + opts.groupSeparator, opts.groupSeparator); } } opts.radixPoint !== "" && radixSplit.length > 1 && (bufVal += opts.radixPoint + radixSplit[1]); } for (needsRefresh = bufValOrigin !== bufVal, buffer.length = bufVal.length, i = 0, - l = bufVal.length; l > i; i++) { + l = bufVal.length; l > i; i++) { buffer[i] = bufVal.charAt(i); } var newPos = $.inArray("?", buffer); if (newPos === -1 && charAtPos === opts.radixPoint && (newPos = $.inArray(opts.radixPoint, buffer)), - reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), !needsRefresh && suffixStripped) { + reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), !needsRefresh && suffixStripped) { for (i = 0, - l = opts.suffix.length; l > i; i++) { + l = opts.suffix.length; l > i; i++) { buffer.push(opts.suffix.charAt(i)); } } return newPos = opts.numericInput && isFinite(pos) ? buffer.join("").length - newPos - 1 : newPos, opts.numericInput && (buffer = buffer.reverse(), $.inArray(opts.radixPoint, buffer) < newPos && buffer.join("").length - opts.suffix.length !== newPos && (newPos -= 1)), - { - pos: newPos, - refreshFromBuffer: needsRefresh, - buffer: buffer, - }; + { + pos: newPos, + refreshFromBuffer: needsRefresh, + buffer: buffer, + }; }, onBeforeWrite: function (e, buffer, caretPos, opts) { if (e && (e.type === "blur" || e.type === "checkval")) { - var maskedValue = buffer.join(""), processValue = maskedValue.replace(opts.prefix, ""); + var maskedValue = buffer.join(""), + processValue = maskedValue.replace(opts.prefix, ""); if (processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), opts.radixPoint === "," && (processValue = processValue.replace(Inputmask.escapeRegex(opts.radixPoint), ".")), isFinite(processValue) && isFinite(opts.min) && parseFloat(processValue) < parseFloat(opts.min)) { @@ -2477,7 +2636,9 @@ }, opts.postFormat((opts.prefix + opts.min).split(""), 0, !0, opts)); } if (opts.numericInput !== !0) { - var tmpBufSplit = opts.radixPoint !== "" ? buffer.join("").split(opts.radixPoint) : [ buffer.join("") ], matchRslt = tmpBufSplit[0].match(opts.regex.integerPart(opts)), matchRsltDigits = tmpBufSplit.length === 2 ? tmpBufSplit[1].match(opts.regex.integerNPart(opts)) : void 0; + var tmpBufSplit = opts.radixPoint !== "" ? buffer.join("").split(opts.radixPoint) : [buffer.join("")], + matchRslt = tmpBufSplit[0].match(opts.regex.integerPart(opts)), + matchRsltDigits = tmpBufSplit.length === 2 ? tmpBufSplit[1].match(opts.regex.integerNPart(opts)) : void 0; if (matchRslt) { matchRslt[0] !== opts.negationSymbol.front + "0" && matchRslt[0] !== opts.negationSymbol.front && matchRslt[0] !== "+" || void 0 !== matchRsltDigits && !matchRsltDigits[0].match(/^0+$/) || buffer.splice(matchRslt.index, 1); var radixPosition = $.inArray(opts.radixPoint, buffer); @@ -2493,10 +2654,10 @@ } if (radixPosition === buffer.length - opts.suffix.length - 1) { return buffer.splice(radixPosition, 1), - { - refreshFromBuffer: !0, - buffer: buffer, - }; + { + refreshFromBuffer: !0, + buffer: buffer, + }; } } } @@ -2536,7 +2697,7 @@ } : opts.negationSymbol.back !== "" ? { pos: matchRslt.index, c: "+", - remove: [ matchRslt.index, maskset.buffer.length - opts.suffix.length - 1 ], + remove: [matchRslt.index, maskset.buffer.length - opts.suffix.length - 1], caret: pos, } : { pos: matchRslt.index, @@ -2544,7 +2705,7 @@ remove: matchRslt.index, caret: pos, } : maskset.buffer[matchRslt.index] === (chrs === "-" ? opts.negationSymbol.front : "+") ? chrs === "-" && opts.negationSymbol.back !== "" ? { - remove: [ matchRslt.index, maskset.buffer.length - opts.suffix.length - 1 ], + remove: [matchRslt.index, maskset.buffer.length - opts.suffix.length - 1], caret: pos - 1, } : { remove: matchRslt.index, @@ -2571,9 +2732,10 @@ return !1; }, radixHandler: function (chrs, maskset, pos, strict, opts) { - if (!strict && ($.inArray(chrs, [ ",", "." ]) !== -1 && (chrs = opts.radixPoint), + if (!strict && ($.inArray(chrs, [",", "."]) !== -1 && (chrs = opts.radixPoint), chrs === opts.radixPoint && void 0 !== opts.digits && (isNaN(opts.digits) || parseInt(opts.digits) > 0))) { - var radixPos = $.inArray(opts.radixPoint, maskset.buffer), integerValue = maskset.buffer.join("").match(opts.regex.integerPart(opts)); + var radixPos = $.inArray(opts.radixPoint, maskset.buffer), + integerValue = maskset.buffer.join("").match(opts.regex.integerPart(opts)); if (radixPos !== -1 && maskset.validPositions[radixPos]) { return maskset.validPositions[radixPos - 1] ? { caret: radixPos + 1, @@ -2585,10 +2747,10 @@ } if (!integerValue || integerValue[0] === "0" && integerValue.index + 1 !== pos) { return maskset.buffer[integerValue ? integerValue.index : pos] = "0", - { - pos: (integerValue ? integerValue.index : pos) + 1, - c: opts.radixPoint, - }; + { + pos: (integerValue ? integerValue.index : pos) + 1, + c: opts.radixPoint, + }; } } return !1; @@ -2602,21 +2764,24 @@ }; } } else { - var matchRslt = maskset.buffer.join("").match(opts.regex.integerNPart(opts)), radixPosition = $.inArray(opts.radixPoint, maskset.buffer); + var matchRslt = maskset.buffer.join("").match(opts.regex.integerNPart(opts)), + radixPosition = $.inArray(opts.radixPoint, maskset.buffer); if (matchRslt && !strict && (radixPosition === -1 || radixPosition >= pos)) { if (matchRslt[0].indexOf("0") === 0) { pos < opts.prefix.length && (pos = matchRslt.index); - var _radixPosition = $.inArray(opts.radixPoint, maskset._buffer), digitsMatch = maskset._buffer && maskset.buffer.slice(radixPosition).join("") === maskset._buffer.slice(_radixPosition).join("") || parseInt(maskset.buffer.slice(radixPosition + 1).join("")) === 0, integerMatch = maskset._buffer && maskset.buffer.slice(matchRslt.index, radixPosition).join("") === maskset._buffer.slice(opts.prefix.length, _radixPosition).join("") || maskset.buffer.slice(matchRslt.index, radixPosition).join("") === "0"; + var _radixPosition = $.inArray(opts.radixPoint, maskset._buffer), + digitsMatch = maskset._buffer && maskset.buffer.slice(radixPosition).join("") === maskset._buffer.slice(_radixPosition).join("") || parseInt(maskset.buffer.slice(radixPosition + 1).join("")) === 0, + integerMatch = maskset._buffer && maskset.buffer.slice(matchRslt.index, radixPosition).join("") === maskset._buffer.slice(opts.prefix.length, _radixPosition).join("") || maskset.buffer.slice(matchRslt.index, radixPosition).join("") === "0"; if (radixPosition === -1 || digitsMatch && integerMatch) { return maskset.buffer.splice(matchRslt.index, 1), - pos = pos > matchRslt.index ? pos - 1 : matchRslt.index, { + pos = pos > matchRslt.index ? pos - 1 : matchRslt.index, { pos: pos, remove: matchRslt.index, }; } if (matchRslt.index + 1 === pos || chrs === "0") { return maskset.buffer.splice(matchRslt.index, 1), - pos = matchRslt.index, { + pos = matchRslt.index, { pos: pos, remove: matchRslt.index, }; @@ -2629,17 +2794,19 @@ return !0; }, postValidation: function (buffer, currentResult, opts) { - var isValid = !0, maskedValue = opts.numericInput ? buffer.slice().reverse().join("") : buffer.join(""), processValue = maskedValue.replace(opts.prefix, ""); + var isValid = !0, + maskedValue = opts.numericInput ? buffer.slice().reverse().join("") : buffer.join(""), + processValue = maskedValue.replace(opts.prefix, ""); return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), opts.radixPoint === "," && (processValue = processValue.replace(Inputmask.escapeRegex(opts.radixPoint), ".")), - processValue = processValue.replace(new RegExp("^" + Inputmask.escapeRegex(opts.negationSymbol.front)), "-"), - processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), - processValue = processValue === opts.negationSymbol.front ? processValue + "0" : processValue, + processValue = processValue.replace(new RegExp("^" + Inputmask.escapeRegex(opts.negationSymbol.front)), "-"), + processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), + processValue = processValue === opts.negationSymbol.front ? processValue + "0" : processValue, isFinite(processValue) && (opts.max !== null && isFinite(opts.max) && (processValue = parseFloat(processValue) > parseFloat(opts.max) ? opts.max : processValue, - isValid = opts.postFormat((opts.prefix + processValue).split(""), 0, !0, opts)), + isValid = opts.postFormat((opts.prefix + processValue).split(""), 0, !0, opts)), opts.min !== null && isFinite(opts.min) && (processValue = parseFloat(processValue) < parseFloat(opts.min) ? opts.min : processValue, - isValid = opts.postFormat((opts.prefix + processValue).split(""), 0, !0, opts))), - isValid; + isValid = opts.postFormat((opts.prefix + processValue).split(""), 0, !0, opts))), + isValid; }, definitions: { "~": { @@ -2687,7 +2854,7 @@ validator: function (chrs, maskset, pos, strict, opts) { var isValid = opts.signHandler(chrs, maskset, pos, strict, opts); return !isValid && strict && opts.allowMinus && chrs === opts.negationSymbol.back && (isValid = !0), - isValid; + isValid; }, cardinality: 1, prevalidator: null, @@ -2716,8 +2883,8 @@ onUnMask: function (maskedValue, unmaskedValue, opts) { var processValue = maskedValue.replace(opts.prefix, ""); return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), - opts.unmaskAsNumber ? (opts.radixPoint !== "" && processValue.indexOf(opts.radixPoint) !== -1 && (processValue = processValue.replace(Inputmask.escapeRegex.call(this, opts.radixPoint), ".")), - Number(processValue)) : processValue; + opts.unmaskAsNumber ? (opts.radixPoint !== "" && processValue.indexOf(opts.radixPoint) !== -1 && (processValue = processValue.replace(Inputmask.escapeRegex.call(this, opts.radixPoint), ".")), + Number(processValue)) : processValue; }, isComplete: function (buffer, opts) { var maskedValue = buffer.join(""), bufClone = buffer.slice(); @@ -2727,42 +2894,48 @@ var processValue = maskedValue.replace(opts.prefix, ""); return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), opts.radixPoint === "," && (processValue = processValue.replace(Inputmask.escapeRegex(opts.radixPoint), ".")), - isFinite(processValue); + isFinite(processValue); }, onBeforeMask: function (initialValue, opts) { if (opts.radixPoint !== "" && isFinite(initialValue)) { initialValue = initialValue.toString().replace(".", opts.radixPoint); } else { - var kommaMatches = initialValue.match(/,/g), dotMatches = initialValue.match(/\./g); + var kommaMatches = initialValue.match(/,/g), + dotMatches = initialValue.match(/\./g); dotMatches && kommaMatches ? dotMatches.length > kommaMatches.length ? (initialValue = initialValue.replace(/\./g, ""), - initialValue = initialValue.replace(",", opts.radixPoint)) : kommaMatches.length > dotMatches.length ? (initialValue = initialValue.replace(/,/g, ""), - initialValue = initialValue.replace(".", opts.radixPoint)) : initialValue = initialValue.indexOf(".") < initialValue.indexOf(",") ? initialValue.replace(/\./g, "") : initialValue = initialValue.replace(/,/g, "") : initialValue = initialValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""); + initialValue = initialValue.replace(",", opts.radixPoint)) : kommaMatches.length > dotMatches.length ? (initialValue = initialValue.replace(/,/g, ""), + initialValue = initialValue.replace(".", opts.radixPoint)) : initialValue = initialValue.indexOf(".") < initialValue.indexOf(",") ? initialValue.replace(/\./g, "") : initialValue = initialValue.replace(/,/g, "") : initialValue = initialValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""); } if (opts.digits === 0 && (initialValue.indexOf(".") !== -1 ? initialValue = initialValue.substring(0, initialValue.indexOf(".")) : initialValue.indexOf(",") !== -1 && (initialValue = initialValue.substring(0, initialValue.indexOf(",")))), opts.radixPoint !== "" && isFinite(opts.digits) && initialValue.indexOf(opts.radixPoint) !== -1) { - var valueParts = initialValue.split(opts.radixPoint), decPart = valueParts[1].match(new RegExp("\\d*"))[0]; + var valueParts = initialValue.split(opts.radixPoint), + decPart = valueParts[1].match(new RegExp("\\d*"))[0]; if (parseInt(opts.digits) < decPart.toString().length) { var digitsFactor = Math.pow(10, parseInt(opts.digits)); initialValue = initialValue.replace(Inputmask.escapeRegex(opts.radixPoint), "."), - initialValue = Math.round(parseFloat(initialValue) * digitsFactor) / digitsFactor, - initialValue = initialValue.toString().replace(".", opts.radixPoint); + initialValue = Math.round(parseFloat(initialValue) * digitsFactor) / digitsFactor, + initialValue = initialValue.toString().replace(".", opts.radixPoint); } } return initialValue.toString(); }, canClearPosition: function (maskset, position, lvp, strict, opts) { - var positionInput = maskset.validPositions[position].input, canClear = positionInput !== opts.radixPoint || maskset.validPositions[position].match.fn !== null && opts.decimalProtect === !1 || isFinite(positionInput) || position === lvp || positionInput === opts.groupSeparator || positionInput === opts.negationSymbol.front || positionInput === opts.negationSymbol.back; + var positionInput = maskset.validPositions[position].input, + canClear = positionInput !== opts.radixPoint || maskset.validPositions[position].match.fn !== null && opts.decimalProtect === !1 || isFinite(positionInput) || position === lvp || positionInput === opts.groupSeparator || positionInput === opts.negationSymbol.front || positionInput === opts.negationSymbol.back; if (canClear && isFinite(positionInput)) { - var matchRslt, radixPos = $.inArray(opts.radixPoint, maskset.buffer), radixInjection = !1; + var matchRslt, + radixPos = $.inArray(opts.radixPoint, maskset.buffer), + radixInjection = !1; if (void 0 === maskset.validPositions[radixPos] && (maskset.validPositions[radixPos] = { input: opts.radixPoint, }, radixInjection = !0), !strict && maskset.buffer) { matchRslt = maskset.buffer.join("").substr(0, position).match(opts.regex.integerNPart(opts)); - var pos = position + 1, isNull = matchRslt == null || parseInt(matchRslt[0].replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), "")) === 0; + var pos = position + 1, + isNull = matchRslt == null || parseInt(matchRslt[0].replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), "")) === 0; if (isNull) { - for (;maskset.validPositions[pos] && (maskset.validPositions[pos].input === opts.groupSeparator || maskset.validPositions[pos].input === "0"); ) { + for (; maskset.validPositions[pos] && (maskset.validPositions[pos].input === opts.groupSeparator || maskset.validPositions[pos].input === "0");) { delete maskset.validPositions[pos], - pos++; + pos++; } } } @@ -2777,13 +2950,14 @@ if (matchRslt[0].indexOf("0") === 0) { canClear = matchRslt.index !== position || opts.placeholder === "0"; } else { - var intPart = parseInt(matchRslt[0].replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), "")), radixPart = parseInt(bufVal.split(opts.radixPoint)[1]); + var intPart = parseInt(matchRslt[0].replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), "")), + radixPart = parseInt(bufVal.split(opts.radixPoint)[1]); intPart < 10 && maskset.validPositions[position] && (opts.placeholder !== "0" || radixPart > 0) && (maskset.validPositions[position].input = "0", - maskset.p = opts.prefix.length + 1, canClear = !1); + maskset.p = opts.prefix.length + 1, canClear = !1); } } else { matchRslt[0].indexOf("0") === 0 && bufVal.length === 3 && (maskset.validPositions = {}, - canClear = !1); + canClear = !1); } } } @@ -2794,12 +2968,12 @@ var $input = $(this); if (e.ctrlKey) { switch (e.keyCode) { - case Inputmask.keyCode.UP: - $input.val(parseFloat(this.inputmask.unmaskedvalue()) + parseInt(opts.step)), $input.trigger("setvalue"); - break; + case Inputmask.keyCode.UP: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) + parseInt(opts.step)), $input.trigger("setvalue"); + break; - case Inputmask.keyCode.DOWN: - $input.val(parseFloat(this.inputmask.unmaskedvalue()) - parseInt(opts.step)), $input.trigger("setvalue"); + case Inputmask.keyCode.DOWN: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) - parseInt(opts.step)), $input.trigger("setvalue"); } } }, @@ -2867,7 +3041,7 @@ onBeforeMask: function (value, opts) { var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, ""); return (processedValue.indexOf(opts.countrycode) > 1 || processedValue.indexOf(opts.countrycode) === -1) && (processedValue = "+" + opts.countrycode + processedValue), - processedValue; + processedValue; }, }, phonebe: { @@ -2893,53 +3067,58 @@ definitions: { r: { validator: function (chrs, maskset, pos, strict, opts) { - function RegexToken (isGroup, isQuantifier) { + function RegexToken(isGroup, isQuantifier) { this.matches = [], this.isGroup = isGroup || !1, this.isQuantifier = isQuantifier || !1, - this.quantifier = { - min: 1, - max: 1, - }, this.repeaterPart = void 0; + this.quantifier = { + min: 1, + max: 1, + }, this.repeaterPart = void 0; } - function analyseRegex () { - var match, m, currentToken = new RegexToken(), opengroups = []; - for (opts.regexTokens = []; match = opts.tokenizer.exec(opts.regex); ) { + + function analyseRegex() { + var match, m, currentToken = new RegexToken(), + opengroups = []; + for (opts.regexTokens = []; match = opts.tokenizer.exec(opts.regex);) { switch (m = match[0], - m.charAt(0)) { - case "(": - opengroups.push(new RegexToken(!0)); - break; + m.charAt(0)) { + case "(": + opengroups.push(new RegexToken(!0)); + break; - case ")": - groupToken = opengroups.pop(), opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(groupToken) : currentToken.matches.push(groupToken); - break; + case ")": + groupToken = opengroups.pop(), opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(groupToken) : currentToken.matches.push(groupToken); + break; - case "{": - case "+": - case "*": - var quantifierToken = new RegexToken(!1, !0); - m = m.replace(/[{}]/g, ""); - var mq = m.split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = mq.length === 1 ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); - if (quantifierToken.quantifier = { - min: mq0, - max: mq1, - }, opengroups.length > 0) { - var matches = opengroups[opengroups.length - 1].matches; - match = matches.pop(), match.isGroup || (groupToken = new RegexToken(!0), groupToken.matches.push(match), - match = groupToken), matches.push(match), matches.push(quantifierToken); - } else { - match = currentToken.matches.pop(), match.isGroup || (groupToken = new RegexToken(!0), - groupToken.matches.push(match), match = groupToken), currentToken.matches.push(match), - currentToken.matches.push(quantifierToken); - } - break; + case "{": + case "+": + case "*": + var quantifierToken = new RegexToken(!1, !0); + m = m.replace(/[{}]/g, ""); + var mq = m.split(","), + mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), + mq1 = mq.length === 1 ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if (quantifierToken.quantifier = { + min: mq0, + max: mq1, + }, opengroups.length > 0) { + var matches = opengroups[opengroups.length - 1].matches; + match = matches.pop(), match.isGroup || (groupToken = new RegexToken(!0), groupToken.matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifierToken); + } else { + match = currentToken.matches.pop(), match.isGroup || (groupToken = new RegexToken(!0), + groupToken.matches.push(match), match = groupToken), currentToken.matches.push(match), + currentToken.matches.push(quantifierToken); + } + break; - default: - opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(m) : currentToken.matches.push(m); + default: + opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(m) : currentToken.matches.push(m); } } currentToken.matches.length > 0 && opts.regexTokens.push(currentToken); } - function validateRegexToken (token, fromGroup) { + + function validateRegexToken(token, fromGroup) { var isvalid = !1; fromGroup && (regexPart += "(", openGroupCount++); for (var mndx = 0; mndx < token.matches.length; mndx++) { @@ -2947,17 +3126,22 @@ if (matchToken.isGroup === !0) { isvalid = validateRegexToken(matchToken, !0); } else if (matchToken.isQuantifier === !0) { - var crrntndx = $.inArray(matchToken, token.matches), matchGroup = token.matches[crrntndx - 1], regexPartBak = regexPart; + var crrntndx = $.inArray(matchToken, token.matches), + matchGroup = token.matches[crrntndx - 1], + regexPartBak = regexPart; if (isNaN(matchToken.quantifier.max)) { - for (;matchToken.repeaterPart && matchToken.repeaterPart !== regexPart && matchToken.repeaterPart.length > regexPart.length && !(isvalid = validateRegexToken(matchGroup, !0)); ) {} + for (; matchToken.repeaterPart && matchToken.repeaterPart !== regexPart && matchToken.repeaterPart.length > regexPart.length && !(isvalid = validateRegexToken(matchGroup, !0));) { + } isvalid = isvalid || validateRegexToken(matchGroup, !0), isvalid && (matchToken.repeaterPart = regexPart), - regexPart = regexPartBak + matchToken.quantifier.max; + regexPart = regexPartBak + matchToken.quantifier.max; } else { - for (var i = 0, qm = matchToken.quantifier.max - 1; qm > i && !(isvalid = validateRegexToken(matchGroup, !0)); i++) {} + for (var i = 0, qm = matchToken.quantifier.max - 1; qm > i && !(isvalid = validateRegexToken(matchGroup, !0)); i++) { + } regexPart = regexPartBak + "{" + matchToken.quantifier.min + "," + matchToken.quantifier.max + "}"; } } else if (void 0 !== matchToken.matches) { - for (var k = 0; k < matchToken.length && !(isvalid = validateRegexToken(matchToken[k], fromGroup)); k++) {} + for (var k = 0; k < matchToken.length && !(isvalid = validateRegexToken(matchToken[k], fromGroup)); k++) { + } } else { var testExp; if (matchToken.charAt(0) == "[") { @@ -2989,7 +3173,10 @@ } return fromGroup && (regexPart += ")", openGroupCount--), isvalid; } - var bufferStr, groupToken, cbuffer = maskset.buffer.slice(), regexPart = "", isValid = !1, openGroupCount = 0; + + var bufferStr, groupToken, + cbuffer = maskset.buffer.slice(), regexPart = "", + isValid = !1, openGroupCount = 0; opts.regexTokens === null && analyseRegex(), cbuffer.splice(pos, 0, chrs), bufferStr = cbuffer.join(""); for (var i = 0; i < opts.regexTokens.length; i++) { var regexToken = opts.regexTokens[i]; diff --git a/easy_my_coop_loan_website/static/src/js/loan_issue.js b/easy_my_coop_loan_website/static/src/js/loan_issue.js index f8ceb47..e094730 100644 --- a/easy_my_coop_loan_website/static/src/js/loan_issue.js +++ b/easy_my_coop_loan_website/static/src/js/loan_issue.js @@ -4,20 +4,20 @@ odoo.define('easy_my_coop_loan_website.oe_easymy_coop_loan', function (require) var ajax = require('web.ajax'); $('.oe_easymy_coop_loan').each(function () { - var oe_easymy_coop_loan = this; - $('#loan_issue').change(function () { - var loan_issue_id = $("#loan_issue").val(); - ajax.jsonRpc("/subscription/get_loan_issue", 'call', { + var oe_easymy_coop_loan = this; + $('#loan_issue').change(function () { + var loan_issue_id = $("#loan_issue").val(); + ajax.jsonRpc("/subscription/get_loan_issue", 'call', { 'loan_issue_id': loan_issue_id, - }) - .then(function (data) { - if (data !== false) { - $("#subscription_amount").prop('max', data[loan_issue_id].maximum_amount_per_sub); - $("#subscription_amount").prop('step', data[loan_issue_id].face_value); - } - }); - }); - $('#loan_issue').trigger('change'); + }) + .then(function (data) { + if (data !== false) { + $("#subscription_amount").prop('max', data[loan_issue_id].maximum_amount_per_sub); + $("#subscription_amount").prop('step', data[loan_issue_id].face_value); + } + }); + }); + $('#loan_issue').trigger('change'); }); }); });