Browse Source

update dist folder

Robin Herbots 12 years ago
parent
commit
e283b46732

+ 1 - 1
build.properties

@@ -7,7 +7,7 @@ distdir = dist
 
 build.major = 2
 build.minor = 1
-build.revision = 3
+build.revision = 4
 
 target = jquery.inputmask.bundle.js
 target.min = jquery.inputmask.bundle.min.js

+ 48 - 40
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2013 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 2.1.3
+* Version: 2.1.4
 */
 
 (function ($) {
@@ -30,6 +30,7 @@
                 aliases: {}, //aliases definitions => see jquery.inputmask.extensions.js
                 onKeyUp: $.noop, //override to implement autocomplete on certain keys for example
                 onKeyDown: $.noop, //override to implement autocomplete on certain keys for example
+                showMaskOnFocus: true, //show the mask-placeholder when the input has focus
                 showMaskOnHover: true, //show the mask-placeholder when hovering the empty input
                 onKeyValidation: $.noop, //executes on every key-press with the result of isValid
                 skipOptionalPartCharacter: " ", //a character which can be used to skip an optional part of a mask
@@ -101,8 +102,6 @@
                     case "unmaskedvalue":
                         masksets = this.data('inputmask')['masksets'];
                         activeMasksetIndex = this.data('inputmask')['activeMasksetIndex'];
-                        opts.greedy = this.data('inputmask')['greedy'];
-                        opts.repeat = this.data('inputmask')['repeat'];
                         opts.definitions = this.data('inputmask')['definitions'];
                         return unmaskedvalue(this);
                         break;
@@ -113,8 +112,6 @@
                                 if ($input.data('inputmask')) {
                                     masksets = $input.data('inputmask')['masksets'];
                                     activeMasksetIndex = $input.data('inputmask')['activeMasksetIndex'];
-                                    opts.greedy = $input.data('inputmask')['greedy'];
-                                    opts.repeat = $input.data('inputmask')['repeat'];
                                     opts.definitions = $input.data('inputmask')['definitions'];
                                     //writeout the unmaskedvalue
                                     input._valueSet(unmaskedvalue($input, true));
@@ -158,8 +155,6 @@
                     case "isComplete":
                         masksets = this.data('inputmask')['masksets'];
                         activeMasksetIndex = this.data('inputmask')['activeMasksetIndex'];
-                        opts.greedy = this.data('inputmask')['greedy'];
-                        opts.repeat = this.data('inputmask')['repeat'];
                         opts.definitions = this.data('inputmask')['definitions'];
                         return isComplete(this[0]);
                     default:
@@ -228,8 +223,8 @@
             }
 
             function getMaskTemplate(mask) {
-                var escaped = false, outCount = 0;
-                if (mask.length == 1 && opts.greedy == false) { opts.placeholder = ""; } //hide placeholder with single non-greedy mask
+                var escaped = false, outCount = 0, greedy = opts.greedy, repeat = opts.repeat;
+                if (mask.length == 1 && greedy == false) { opts.placeholder = ""; } //hide placeholder with single non-greedy mask
                 var singleMask = $.map(mask.split(""), function (element, index) {
                     var outElem = [];
                     if (element == opts.escapeChar) {
@@ -252,11 +247,11 @@
 
                 //allocate repetitions
                 var repeatedMask = singleMask.slice();
-                for (var i = 1; i < opts.repeat && opts.greedy; i++) {
+                for (var i = 1; i < repeat && greedy; i++) {
                     repeatedMask = repeatedMask.concat(singleMask.slice());
                 }
 
-                return repeatedMask;
+                return { "mask": repeatedMask, "repeat": repeat, "greedy": greedy };
             }
 
             //test definition => {fn: RegExp/function, cardinality: int, optionality: bool, newBlockMarker: bool, offset: int, casing: null/upper/lower, def: definitionSymbol}
@@ -306,22 +301,28 @@
                 }
                 function generateMask(maskPrefix, maskPart) {
                     var maskParts = maskPart.split(opts.optionalmarker.end, 2);
-                    var newMask;
+                    var newMask, maskTemplate;
 
 
                     var masks = maskParts[0].split(opts.optionalmarker.start);
                     if (masks.length > 1) {
                         newMask = maskPrefix + masks[0] + markOptional(masks[1]) + (maskParts.length > 1 ? maskParts[1] : "");
+                        maskTemplate = getMaskTemplate(newMask);
                         ms.push({
-                            "_buffer": getMaskTemplate(newMask),
+                            "_buffer": maskTemplate["mask"],
                             "tests": getTestingChain(newMask),
-                            "lastValidPosition": 0
+                            "lastValidPosition": 0,
+                            "greedy": maskTemplate["greedy"],
+                            "repeat": maskTemplate["repeat"]
                         });
                         newMask = maskPrefix + masks[0] + (maskParts.length > 1 ? maskParts[1] : "");
+                        maskTemplate = getMaskTemplate(newMask);
                         ms.push({
-                            "_buffer": getMaskTemplate(newMask),
+                            "_buffer": maskTemplate["mask"],
                             "tests": getTestingChain(newMask),
-                            "lastValidPosition": 0
+                            "lastValidPosition": 0,
+                            "greedy": maskTemplate["greedy"],
+                            "repeat": maskTemplate["repeat"]
                         });
                         if (maskParts.length > 1 && maskParts[1].split(opts.optionalmarker.start).length > 1) {
                             generateMask(maskPrefix + masks[0] + markOptional(masks[1]), maskParts[1]);
@@ -330,10 +331,13 @@
                     }
                     else {
                         newMask = maskPrefix + maskParts;
+                        maskTemplate = getMaskTemplate(newMask);
                         ms.push({
-                            "_buffer": getMaskTemplate(newMask),
+                            "_buffer": maskTemplate["mask"],
                             "tests": getTestingChain(newMask),
-                            "lastValidPosition": 0
+                            "lastValidPosition": 0,
+                            "greedy": maskTemplate["greedy"],
+                            "repeat": maskTemplate["repeat"]
                         });
                     }
 
@@ -343,6 +347,7 @@
                 return ms;
             }
 
+			//maskset helperfunctions
             function getActiveMaskSet() {
                 return masksets[activeMasksetIndex];
             }
@@ -447,7 +452,7 @@
             }
 
             function getMaskLength() {
-                return $.inputmask.getMaskLength(getActiveBuffer(), opts.greedy, opts.repeat);
+                return $.inputmask.getMaskLength(getActiveBuffer(), getActiveMaskSet()['greedy'], getActiveMaskSet()['repeat']);
             }
 
             //pos: from position
@@ -587,7 +592,7 @@
                     }
                 }
                 //Truncate buffer when using non-greedy masks
-                if (opts.greedy == false) {
+                if (getActiveMaskSet()['greedy'] == false) {
                     var newBuffer = truncateInput(buffer.join(''), isRTL).split('');
                     while (buffer.length != newBuffer.length) {  //map changes into the original buffer
                         isRTL ? buffer.shift() : buffer.pop();
@@ -649,6 +654,9 @@
             }
 
             function caret(input, begin, end) {
+                if (!$(input).is(':visible')) {
+                    return;
+                }
                 var npt = input.jquery && input.length > 0 ? input[0] : input;
                 if (typeof begin == 'number') {
                     end = (typeof end == 'number') ? end : begin;
@@ -711,7 +719,7 @@
                 if (!$input.is(":input")) return;
 
                 //correct greedy setting if needed
-                opts.greedy = opts.greedy ? opts.greedy : opts.repeat == 0;
+                getActiveMaskSet()['greedy'] = getActiveMaskSet()['greedy'] ? getActiveMaskSet()['greedy'] : getActiveMaskSet()['repeat'] == 0;
 
 
 
@@ -719,8 +727,8 @@
                 var maxLength = $input.prop('maxLength');
                 if (getMaskLength() > maxLength && maxLength > -1) { //FF sets no defined max length to -1 
                     if (maxLength < getActiveBuffer().length) getActiveBuffer().length = maxLength;
-                    if (opts.greedy == false) {
-                        opts.repeat = Math.round(maxLength / getActiveBuffer().length);
+                    if (getActiveMaskSet()['greedy'] == false) {
+                        getActiveMaskSet()['repeat'] = Math.round(maxLength / getActiveBuffer().length);
                     }
                     $input.prop('maxLength', getMaskLength() * 2);
                 }
@@ -729,8 +737,6 @@
                 $input.data('inputmask', {
                     'masksets': masksets,
                     'activeMasksetIndex': activeMasksetIndex,
-                    'greedy': opts.greedy,
-                    'repeat': opts.repeat,
                     'autoUnmask': opts.autoUnmask,
                     'definitions': opts.definitions,
                     'isRTL': false
@@ -797,7 +803,7 @@
                     }
                 }).bind("focus.inputmask", function () {
                     var $input = $(this), input = this, nptValue = input._valueGet();
-                    if (!$input.hasClass('focus.inputmask') && (!opts.showMaskOnHover || (opts.showMaskOnHover && nptValue == ''))) {
+                    if (opts.showMaskOnFocus && !$input.hasClass('focus.inputmask') && (!opts.showMaskOnHover || (opts.showMaskOnHover && nptValue == ''))) {
                         var nptL = nptValue.length;
                         if (nptL < buffer.length) {
                             if (nptL == 0)
@@ -1055,16 +1061,16 @@
                                 beginPos = firstMaskPos;
                             }
                             if (beginPos >= firstMaskPos) {
-                                if (opts.numericInput && opts.greedy && k == opts.keyCode.DELETE && buffer[beginPos] == opts.radixPoint) {
+                                if (opts.numericInput && getActiveMaskSet()['greedy'] && k == opts.keyCode.DELETE && buffer[beginPos] == opts.radixPoint) {
                                     beginPos = seekNext(buffer, beginPos);
                                     isRTL = false;
-                                } else if (opts.numericInput && opts.greedy && k == opts.keyCode.BACKSPACE && buffer[beginPos] == opts.radixPoint) {
+                                } else if (opts.numericInput && getActiveMaskSet()['greedy'] && k == opts.keyCode.BACKSPACE && buffer[beginPos] == opts.radixPoint) {
                                     beginPos--;
                                     isRTL = true;
                                 }
                                 if (isRTL) {
                                     beginPos = shiftR(firstMaskPos, beginPos, getPlaceHolder(beginPos), true);
-                                    beginPos = (opts.numericInput && opts.greedy && k == opts.keyCode.BACKSPACE && buffer[beginPos + 1] == opts.radixPoint) ? beginPos + 1 : seekNext(buffer, beginPos);
+                                    beginPos = (opts.numericInput && getActiveMaskSet()['greedy'] && k == opts.keyCode.BACKSPACE && buffer[beginPos + 1] == opts.radixPoint) ? beginPos + 1 : seekNext(buffer, beginPos);
                                 } else beginPos = shiftL(beginPos, maskL);
                                 determineActiveMasksetIndex(buffer, beginPos, activeMasksetIndex);
                                 writeBuffer(input, buffer, beginPos);
@@ -1147,13 +1153,13 @@
                                     if (refresh !== true) {
                                         var firstUnmaskedPosition = firstMaskPos;
                                         if (opts.insertMode == true) {
-                                            if (opts.greedy == true) {
+                                            if (getActiveMaskSet()['greedy'] == true) {
                                                 var bfrClone = buffer.slice();
                                                 while (getBufferElement(bfrClone, firstUnmaskedPosition, true) != getPlaceHolder(firstUnmaskedPosition) && firstUnmaskedPosition <= p) {
                                                     firstUnmaskedPosition = firstUnmaskedPosition == maskL ? (maskL + 1) : seekNext(buffer, firstUnmaskedPosition);
                                                 }
                                             }
-                                            if (firstUnmaskedPosition <= p && (opts.greedy || buffer.length < maskL)) {
+                                            if (firstUnmaskedPosition <= p && (getActiveMaskSet()['greedy'] || buffer.length < maskL)) {
                                                 if (buffer[firstMaskPos] != getPlaceHolder(firstMaskPos) && buffer.length < maskL) {
                                                     var offset = prepareBuffer(buffer, -1, isRTL);
                                                     if (pos.end != 0) p = p + offset;
@@ -1233,7 +1239,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2013 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.1.3
+Version: 2.1.4
 
 Optional extensions on the jquery.inputmask base
 */
@@ -1330,7 +1336,7 @@ Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
 Copyright (c) 2010 - 2012 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.1.3
+Version: 2.1.4
 
 Optional extensions on the jquery.inputmask base
 */
@@ -1806,9 +1812,9 @@ Optional extensions on the jquery.inputmask base
             })(jQuery);/*
 Input Mask plugin extensions
 http://github.com/RobinHerbots/jquery.inputmask
-Copyright (c) 2010 - 2012 Robin Herbots
+Copyright (c) 2010 - 2013 Robin Herbots
 Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-Version: 2.1.3
+Version: 2.1.4
 
 Optional extensions on the jquery.inputmask base
 */
@@ -1823,7 +1829,7 @@ Optional extensions on the jquery.inputmask base
             numericInput: true,
             digits: "*", //numer of digits
             groupSeparator: ",", // | "."
-			radixPoint: ".",
+            radixPoint: ".",
             groupSize: 3,
             autoGroup: false,
             postFormat: function (buffer, pos, reformatOnly, opts) {
@@ -1832,10 +1838,12 @@ Optional extensions on the jquery.inputmask base
                 var bufVal = cbuf.join('');
                 if (opts.autoGroup || (reformatOnly && bufVal.indexOf(opts.groupSeparator) != -1)) {
                     bufVal = bufVal.replace(new RegExp("\\" + opts.groupSeparator, "g"), '');
-                    var reg = new RegExp('(-?[\\d?]+)([\\d?]{' + opts.groupSize + '})');
+                    
+                    var reg = new RegExp('([-\+]?[\\d\?]+)([\\d\?]{' + opts.groupSize + '})');
                     while (reg.test(bufVal)) {
                         bufVal = bufVal.replace(reg, '$1' + opts.groupSeparator + '$2');
                     }
+                    
                 }
                 buffer.length = bufVal.length; //align the length
                 for (var i = 0, l = bufVal.length; i < l; i++) {
@@ -1879,15 +1887,15 @@ Optional extensions on the jquery.inputmask base
                 '~': { //real number
                     validator: function (chrs, buffer, pos, strict, opts) {
                         if (chrs == "") return false;
-                        if (pos == 1 && buffer[0] === '0' && new RegExp("[\\d|-]").test(chrs)) { //handle first char
+                        if (pos == 1 && buffer[0] === '0' && new RegExp("[\\d-]").test(chrs)) { //handle first char
                             buffer[0] = "";
                             return { "pos": 0 };
                         }
 
                         var cbuf = strict ? buffer.slice(0, pos) : buffer.slice();
-                        cbuf.splice(pos, 0, chrs);
-                        var bufferStr = cbuf.join('');
 
+                        cbuf.splice(pos + 1, 0, chrs);
+                        var bufferStr = cbuf.join('');
                         if (opts.autoGroup) //strip groupseparator
                             bufferStr = bufferStr.replace(new RegExp("\\" + opts.groupSeparator, "g"), '');
                         var isValid = opts.regex.number(opts.groupSeparator, opts.groupSize, opts.radixPoint, opts.digits).test(bufferStr);

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


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


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


+ 1 - 1
jquery.inputmask.jquery.json

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