1
1
/*!
2
2
* angular-ui-mask
3
3
* https://github.com/angular-ui/ui-mask
4
- * Version: 1.8.2 - 2016-03-17T13:37:16.675Z
4
+ * Version: 1.8.3 - 2016-03-30T21:12:43.955Z
5
5
* License: MIT
6
6
*/
7
7
@@ -20,12 +20,16 @@ angular.module('ui.mask', [])
20
20
} ,
21
21
clearOnBlur : true ,
22
22
clearOnBlurPlaceholder : false ,
23
+ escChar : '\\' ,
23
24
eventsToHandle : [ 'input' , 'keyup' , 'click' , 'focus' ] ,
24
25
addDefaultPlaceholder : true
25
26
} )
26
27
. provider ( 'uiMask.Config' , function ( ) {
27
28
var options = { } ;
28
29
30
+ this . maskDefinitions = function ( maskDefinitions ) {
31
+ return options . maskDefinitions = maskDefinitions ;
32
+ } ;
29
33
this . clearOnBlur = function ( clearOnBlur ) {
30
34
return options . clearOnBlur = clearOnBlur ;
31
35
} ;
@@ -40,9 +44,12 @@ angular.module('ui.mask', [])
40
44
} ;
41
45
this . $get = [ 'uiMaskConfig' , function ( uiMaskConfig ) {
42
46
var tempOptions = uiMaskConfig ;
43
- for ( var prop in options )
44
- {
45
- tempOptions [ prop ] = options [ prop ] ;
47
+ for ( var prop in options ) {
48
+ if ( angular . isObject ( options [ prop ] ) && ! angular . isArray ( options [ prop ] ) ) {
49
+ angular . extend ( tempOptions [ prop ] , options [ prop ] ) ;
50
+ } else {
51
+ tempOptions [ prop ] = options [ prop ] ;
52
+ }
46
53
}
47
54
48
55
return tempOptions ;
@@ -383,9 +390,17 @@ angular.module('ui.mask', [])
383
390
numberOfOptionalCharacters = 0 ,
384
391
splitMask = mask . split ( '' ) ;
385
392
393
+ var inEscape = false ;
386
394
angular . forEach ( splitMask , function ( chr , i ) {
387
- if ( linkOptions . maskDefinitions [ chr ] ) {
388
-
395
+ if ( inEscape ) {
396
+ inEscape = false ;
397
+ maskPlaceholder += chr ;
398
+ characterCount ++ ;
399
+ }
400
+ else if ( linkOptions . escChar === chr ) {
401
+ inEscape = true ;
402
+ }
403
+ else if ( linkOptions . maskDefinitions [ chr ] ) {
389
404
maskCaretMap . push ( characterCount ) ;
390
405
391
406
maskPlaceholder += getPlaceholderChar ( i - numberOfOptionalCharacters ) ;
0 commit comments