webshims-rails 0.4.7 → 1.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/extras/custom-validity.js +1 -1
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +1 -1
- data/vendor/assets/javascripts/webshims/polyfiller.js +197 -166
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +1711 -1609
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +2575 -2253
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +2452 -1476
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +1405 -1159
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +1316 -963
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +1862 -179
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +4327 -287
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +3887 -586
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +2911 -2159
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +3425 -1730
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +2854 -1203
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +3351 -2130
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +2426 -581
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +1915 -1574
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +864 -2275
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +609 -1811
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +1655 -2736
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +1037 -603
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +3100 -773
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +3631 -840
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +3596 -1354
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +1731 -188
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +3243 -1431
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +107 -18
- data/vendor/assets/javascripts/webshims/shims/es5.js +1 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +553 -464
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +160 -154
- data/vendor/assets/javascripts/webshims/shims/form-message.js +73 -49
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +18 -1
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +161 -36
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +2130 -813
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +206 -58
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ar.js → formcfg-ar.js} +30 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ch-ZN.js → formcfg-ch-ZN.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-de.txt → formcfg-de.txt} +50 -11
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-el.js → formcfg-el.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-en.txt → formcfg-en.txt} +44 -11
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-es.js → formcfg-es.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-fr.js → formcfg-fr.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-he.js → formcfg-he.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-hi.js → formcfg-hi.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-hu.js → formcfg-hu.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-it.js → formcfg-it.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ja.js → formcfg-ja.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-nl.js → formcfg-nl.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-pt-PT.js → formcfg-pt-PT.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ru.js → formcfg-ru.js} +31 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-sv.js → formcfg-sv.js} +32 -0
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +16 -10
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +155 -122
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +76 -41
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +8 -16
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +388 -0
- data/vendor/assets/javascripts/webshims/shims/styles/config.rb +12 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +1186 -0
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +868 -548
- data/vendor/assets/javascripts/webshims/shims/styles/vertical-range.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +497 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +3 -0
- data/vendor/assets/javascripts/webshims/shims/track.js +29 -29
- metadata +26 -125
- data/vendor/assets/javascripts/webshims/minified/extras/custom-validity.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/extras/modernizr-custom.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/extras/mousepress.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/polyfiller.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/canvas2png.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/flashcanvas.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/proxy.php +0 -73
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/save.php +0 -49
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/canvas2png.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flash10canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flash9canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flashcanvas.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/proxy.php +0 -73
- data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/save.php +0 -49
- data/vendor/assets/javascripts/webshims/minified/shims/combos/1.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/10.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/11.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/12.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/13.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/14.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/15.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/16.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/17.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/18.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/19.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/2.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/20.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/21.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/22.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/23.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/24.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/25.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/26.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/27.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/3.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/4.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/5.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/59.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/6.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/7.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/8.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/9.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/details.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/dom-extend.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/es5.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/excanvas.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-core.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-datalist.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-message.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-native-extend.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-number-date-api.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-number-date-ui.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-shim-extend.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/geolocation.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ar.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ch-ZN.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-de.txt +0 -33
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-el.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-en.txt +0 -34
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-es.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-fr.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-he.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-hi.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-hu.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-it.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ja.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-nl.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-pt-PT.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ru.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-sv.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/json-storage.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/license.txt +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/player.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/readme.html +0 -87
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-core.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-jaris.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-native-fix.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-swf.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-yt.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/styles/details-arrows.png +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/styles/forms.png +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/styles/polyfill-loader.gif +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/styles/shim.css +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/swf/jwwebshims.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/swf/localStorage.swf +0 -0
- data/vendor/assets/javascripts/webshims/minified/shims/track-ui.js +0 -1
- data/vendor/assets/javascripts/webshims/minified/shims/track.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/README +0 -62
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/README +0 -82
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2872
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +0 -2376
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +0 -3009
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -4150
- data/vendor/assets/javascripts/webshims/shims/combos/59.js +0 -1747
- data/vendor/assets/javascripts/webshims/shims/jwplayer/license.txt +0 -1
- data/vendor/assets/javascripts/webshims/shims/jwplayer/player.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/jwplayer/readme.html +0 -87
- data/vendor/assets/javascripts/webshims/shims/mediaelement-swf.js +0 -972
@@ -4,14 +4,16 @@ jQuery.webshims.register('form-message', function($, webshims, window, document,
|
|
4
4
|
|
5
5
|
var implementProperties = (options.overrideMessages || options.customMessages) ? ['customValidationMessage'] : [];
|
6
6
|
|
7
|
-
validityMessages
|
7
|
+
validityMessages.en = $.extend(true, {
|
8
8
|
typeMismatch: {
|
9
|
+
defaultMessage: 'Please enter a valid value.',
|
9
10
|
email: 'Please enter an email address.',
|
10
11
|
url: 'Please enter a URL.',
|
11
12
|
number: 'Please enter a number.',
|
12
13
|
date: 'Please enter a date.',
|
13
14
|
time: 'Please enter a time.',
|
14
15
|
range: 'Invalid input.',
|
16
|
+
month: 'Please enter a valid value.',
|
15
17
|
"datetime-local": 'Please enter a datetime.'
|
16
18
|
},
|
17
19
|
rangeUnderflow: {
|
@@ -22,43 +24,42 @@ jQuery.webshims.register('form-message', function($, webshims, window, document,
|
|
22
24
|
},
|
23
25
|
stepMismatch: 'Invalid input.',
|
24
26
|
tooLong: 'Please enter at most {%maxlength} character(s). You entered {%valueLen}.',
|
25
|
-
|
26
27
|
patternMismatch: 'Invalid input. {%title}',
|
27
28
|
valueMissing: {
|
28
29
|
defaultMessage: 'Please fill out this field.',
|
29
30
|
checkbox: 'Please check this box if you want to proceed.'
|
30
31
|
}
|
31
|
-
}, (validityMessages
|
32
|
-
|
33
|
-
|
34
|
-
['select', 'radio'].forEach(function(type){
|
35
|
-
if(typeof validityMessages['en'].valueMissing == 'object'){
|
36
|
-
validityMessages['en'].valueMissing[type] = 'Please select an option.';
|
37
|
-
}
|
38
|
-
});
|
32
|
+
}, (validityMessages.en || validityMessages['en-US'] || {}));
|
39
33
|
|
40
|
-
['
|
41
|
-
|
34
|
+
if(typeof validityMessages['en'].valueMissing == 'object'){
|
35
|
+
['select', 'radio'].forEach(function(type){
|
36
|
+
validityMessages.en.valueMissing[type] = 'Please select an option.';
|
37
|
+
});
|
38
|
+
}
|
39
|
+
if(typeof validityMessages.en.rangeUnderflow == 'object'){
|
40
|
+
['date', 'time', 'datetime-local', 'month'].forEach(function(type){
|
42
41
|
validityMessages.en.rangeUnderflow[type] = 'Value must be at or after {%min}.';
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
|
42
|
+
});
|
43
|
+
}
|
44
|
+
if(typeof validityMessages.en.rangeOverflow == 'object'){
|
45
|
+
['date', 'time', 'datetime-local', 'month'].forEach(function(type){
|
47
46
|
validityMessages.en.rangeOverflow[type] = 'Value must be at or before {%max}.';
|
48
|
-
}
|
49
|
-
}
|
47
|
+
});
|
48
|
+
}
|
50
49
|
|
51
|
-
validityMessages['en-US'] = validityMessages['en-US'] || validityMessages
|
50
|
+
validityMessages['en-US'] = validityMessages['en-US'] || validityMessages.en;
|
52
51
|
validityMessages[''] = validityMessages[''] || validityMessages['en-US'];
|
53
52
|
|
54
|
-
validityMessages
|
53
|
+
validityMessages.de = $.extend(true, {
|
55
54
|
typeMismatch: {
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
55
|
+
defaultMessage: '{%value} ist in diesem Feld nicht zulässig.',
|
56
|
+
email: '{%value} ist keine gültige E-Mail-Adresse.',
|
57
|
+
url: '{%value} ist kein(e) gültige(r) Webadresse/Pfad.',
|
58
|
+
number: '{%value} ist keine Nummer.',
|
59
|
+
date: '{%value} ist kein Datum.',
|
60
|
+
time: '{%value} ist keine Uhrzeit.',
|
61
|
+
month: '{%value} ist in diesem Feld nicht zulässig.',
|
62
|
+
range: '{%value} ist keine Nummer.',
|
62
63
|
"datetime-local": '{%value} ist kein Datum-Uhrzeit Format.'
|
63
64
|
},
|
64
65
|
rangeUnderflow: {
|
@@ -69,51 +70,73 @@ jQuery.webshims.register('form-message', function($, webshims, window, document,
|
|
69
70
|
},
|
70
71
|
stepMismatch: 'Der Wert {%value} ist in diesem Feld nicht zulässig. Hier sind nur bestimmte Werte zulässig. {%title}',
|
71
72
|
tooLong: 'Der eingegebene Text ist zu lang! Sie haben {%valueLen} Zeichen eingegeben, dabei sind {%maxlength} das Maximum.',
|
72
|
-
patternMismatch: '{%value} hat für dieses Eingabefeld ein falsches Format
|
73
|
+
patternMismatch: '{%value} hat für dieses Eingabefeld ein falsches Format. {%title}',
|
73
74
|
valueMissing: {
|
74
|
-
defaultMessage: 'Bitte geben Sie einen Wert ein',
|
75
|
-
checkbox: 'Bitte aktivieren Sie das Kästchen'
|
75
|
+
defaultMessage: 'Bitte geben Sie einen Wert ein.',
|
76
|
+
checkbox: 'Bitte aktivieren Sie das Kästchen.'
|
76
77
|
}
|
77
|
-
}, (validityMessages
|
78
|
+
}, (validityMessages.de || {}));
|
78
79
|
|
79
|
-
|
80
|
-
|
81
|
-
validityMessages
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
|
86
|
-
if(typeof validityMessages['de'].rangeUnderflow == 'object'){
|
80
|
+
if(typeof validityMessages.de.valueMissing == 'object'){
|
81
|
+
['select', 'radio'].forEach(function(type){
|
82
|
+
validityMessages.de.valueMissing[type] = 'Bitte wählen Sie eine Option aus.';
|
83
|
+
});
|
84
|
+
}
|
85
|
+
if(typeof validityMessages.de.rangeUnderflow == 'object'){
|
86
|
+
['date', 'time', 'datetime-local', 'month'].forEach(function(type){
|
87
87
|
validityMessages.de.rangeUnderflow[type] = '{%value} ist zu früh. {%min} ist die früheste Zeit, die Sie benutzen können.';
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
|
88
|
+
});
|
89
|
+
}
|
90
|
+
if(typeof validityMessages.de.rangeOverflow == 'object'){
|
91
|
+
['date', 'time', 'datetime-local', 'month'].forEach(function(type){
|
92
92
|
validityMessages.de.rangeOverflow[type] = '{%value} ist zu spät. {%max} ist die späteste Zeit, die Sie benutzen können.';
|
93
|
-
}
|
94
|
-
}
|
93
|
+
});
|
94
|
+
}
|
95
95
|
|
96
96
|
var currentValidationMessage = validityMessages[''];
|
97
|
-
|
98
|
-
|
99
|
-
webshims.createValidationMessage = function(elem, name){
|
100
|
-
var message = currentValidationMessage[name];
|
97
|
+
var getMessageFromObj = function(message, elem){
|
101
98
|
if(message && typeof message !== 'string'){
|
102
99
|
message = message[ $.prop(elem, 'type') ] || message[ (elem.nodeName || '').toLowerCase() ] || message[ 'defaultMessage' ];
|
103
100
|
}
|
101
|
+
return message || '';
|
102
|
+
};
|
103
|
+
var valueVals = {
|
104
|
+
value: 1,
|
105
|
+
min: 1,
|
106
|
+
max: 1
|
107
|
+
};
|
108
|
+
|
109
|
+
webshims.createValidationMessage = function(elem, name){
|
110
|
+
var spinner;
|
111
|
+
var message = getMessageFromObj(currentValidationMessage[name], elem);
|
112
|
+
|
113
|
+
if(!message){
|
114
|
+
message = getMessageFromObj(validityMessages[''][name], elem) || 'invalid value';
|
115
|
+
webshims.info('could not find errormessage for: '+ name +' / '+ $.prop(elem, 'type') +'. in language: '+$.webshims.activeLang());
|
116
|
+
}
|
104
117
|
if(message){
|
105
118
|
['value', 'min', 'max', 'title', 'maxlength', 'label'].forEach(function(attr){
|
106
119
|
if(message.indexOf('{%'+attr) === -1){return;}
|
107
|
-
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.
|
120
|
+
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr)) || '';
|
108
121
|
if(name == 'patternMismatch' && attr == 'title' && !val){
|
109
122
|
webshims.error('no title for patternMismatch provided. Always add a title attribute.');
|
110
123
|
}
|
124
|
+
if(valueVals[attr]){
|
125
|
+
if(!spinner){
|
126
|
+
spinner = $(elem).getShadowElement().data('wsspinner');
|
127
|
+
}
|
128
|
+
if(spinner && spinner.formatValue){
|
129
|
+
val = spinner.formatValue(val, false);
|
130
|
+
}
|
131
|
+
}
|
111
132
|
message = message.replace('{%'+ attr +'}', val);
|
112
133
|
if('value' == attr){
|
113
134
|
message = message.replace('{%valueLen}', val.length);
|
114
135
|
}
|
136
|
+
|
115
137
|
});
|
116
138
|
}
|
139
|
+
|
117
140
|
return message || '';
|
118
141
|
};
|
119
142
|
|
@@ -126,6 +149,7 @@ jQuery.webshims.register('form-message', function($, webshims, window, document,
|
|
126
149
|
langObj: validityMessages,
|
127
150
|
module: 'form-core',
|
128
151
|
callback: function(langObj){
|
152
|
+
|
129
153
|
currentValidationMessage = langObj;
|
130
154
|
}
|
131
155
|
});
|
@@ -6,15 +6,32 @@ jQuery.webshims.register('form-native-extend', function($, webshims, window, doc
|
|
6
6
|
var typeModels = webshims.inputTypes;
|
7
7
|
var validityRules = {};
|
8
8
|
|
9
|
+
var updateValidity = (function(){
|
10
|
+
var timer;
|
11
|
+
var getValidity = function(){
|
12
|
+
$(this).prop('validity');
|
13
|
+
};
|
14
|
+
var update = function(){
|
15
|
+
$('input').each(getValidity);
|
16
|
+
};
|
17
|
+
return function(fast){
|
18
|
+
clearTimeout(timer);
|
19
|
+
timer = setTimeout(update, 9);
|
20
|
+
};
|
21
|
+
})();
|
9
22
|
webshims.addInputType = function(type, obj){
|
10
23
|
typeModels[type] = obj;
|
24
|
+
//update validity of all implemented input types
|
25
|
+
if($.isDOMReady && Modernizr.formvalidation && !webshims.bugs.bustedValidity){
|
26
|
+
updateValidity();
|
27
|
+
}
|
11
28
|
};
|
12
29
|
|
13
30
|
webshims.addValidityRule = function(type, fn){
|
14
31
|
validityRules[type] = fn;
|
15
32
|
};
|
16
33
|
|
17
|
-
webshims.addValidityRule('typeMismatch',function (input, val, cache, validityState){
|
34
|
+
webshims.addValidityRule('typeMismatch', function (input, val, cache, validityState){
|
18
35
|
if(val === ''){return false;}
|
19
36
|
var ret = validityState.typeMismatch;
|
20
37
|
if(!('type' in cache)){
|
@@ -1,7 +1,7 @@
|
|
1
1
|
jQuery.webshims.register('form-number-date-api', function($, webshims, window, document, undefined){
|
2
2
|
"use strict";
|
3
3
|
|
4
|
-
|
4
|
+
|
5
5
|
if(!webshims.getStep){
|
6
6
|
webshims.getStep = function(elem, type){
|
7
7
|
var step = $.attr(elem, 'step');
|
@@ -13,7 +13,7 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
13
13
|
return step;
|
14
14
|
}
|
15
15
|
step = typeProtos.number.asNumber(step);
|
16
|
-
return ((!isNaN(step) && step > 0) ? step : typeModels[type].step) * typeModels[type].stepScaleFactor;
|
16
|
+
return ((!isNaN(step) && step > 0) ? step : typeModels[type].step) * (typeModels[type].stepScaleFactor || 1);
|
17
17
|
};
|
18
18
|
}
|
19
19
|
if(!webshims.addMinMaxNumberToCache){
|
@@ -40,7 +40,7 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
40
40
|
return (elem.getAttribute('type') || '').toLowerCase();
|
41
41
|
},
|
42
42
|
isDateTimePart = function(string){
|
43
|
-
return (
|
43
|
+
return (string && !(isNaN(string * 1)));
|
44
44
|
},
|
45
45
|
addMinMaxNumberToCache = webshims.addMinMaxNumberToCache,
|
46
46
|
addleadingZero = function(val, len){
|
@@ -60,11 +60,8 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
60
60
|
if(!('type' in cache)){
|
61
61
|
cache.type = getType(input[0]);
|
62
62
|
}
|
63
|
-
|
64
|
-
|
65
|
-
return false;
|
66
|
-
}
|
67
|
-
var ret = (validityState || {}).stepMismatch, base;
|
63
|
+
|
64
|
+
var ret = (validityState || {}).stepMismatch || false, base;
|
68
65
|
if(typeModels[cache.type] && typeModels[cache.type].step){
|
69
66
|
if( !('step' in cache) ){
|
70
67
|
cache.step = webshims.getStep(input[0], cache.type);
|
@@ -148,7 +145,7 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
148
145
|
if(set !== false){
|
149
146
|
$.prop(elem, 'value', set);
|
150
147
|
} else {
|
151
|
-
webshims.
|
148
|
+
webshims.error('INVALID_STATE_ERR: DOM Exception 11');
|
152
149
|
}
|
153
150
|
} else {
|
154
151
|
valueAsNumberDescriptor.prop._supset && valueAsNumberDescriptor.prop._supset.apply(elem, arguments);
|
@@ -180,7 +177,7 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
180
177
|
$.prop(elem, 'value', set);
|
181
178
|
return set;
|
182
179
|
} else {
|
183
|
-
webshims.
|
180
|
+
webshims.error('INVALID_STATE_ERR: DOM Exception 11');
|
184
181
|
}
|
185
182
|
} else {
|
186
183
|
return valueAsDateDescriptor.prop._supset && valueAsDateDescriptor.prop._supset.apply(elem, arguments) || null;
|
@@ -189,6 +186,69 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
189
186
|
}
|
190
187
|
});
|
191
188
|
|
189
|
+
$.each({stepUp: 1, stepDown: -1}, function(name, stepFactor){
|
190
|
+
var stepDescriptor = webshims.defineNodeNameProperty('input', name, {
|
191
|
+
prop: {
|
192
|
+
value: function(factor){
|
193
|
+
var step, val, dateVal, valModStep, alignValue, cache;
|
194
|
+
var type = getType(this);
|
195
|
+
if(typeModels[type] && typeModels[type].asNumber){
|
196
|
+
cache = {type: type};
|
197
|
+
if(!factor){
|
198
|
+
factor = 1;
|
199
|
+
webshims.info("you should always use a factor for stepUp/stepDown");
|
200
|
+
}
|
201
|
+
factor *= stepFactor;
|
202
|
+
|
203
|
+
val = $.prop(this, 'valueAsNumber');
|
204
|
+
|
205
|
+
if(isNaN(val)){
|
206
|
+
webshims.info("valueAsNumber is NaN can't apply stepUp/stepDown ");
|
207
|
+
throw('invalid state error');
|
208
|
+
}
|
209
|
+
|
210
|
+
step = webshims.getStep(this, type);
|
211
|
+
|
212
|
+
if(step == 'any'){
|
213
|
+
webshims.info("step is 'any' can't apply stepUp/stepDown");
|
214
|
+
throw('invalid state error');
|
215
|
+
}
|
216
|
+
|
217
|
+
webshims.addMinMaxNumberToCache('min', $(this), cache);
|
218
|
+
webshims.addMinMaxNumberToCache('max', $(this), cache);
|
219
|
+
|
220
|
+
step *= factor;
|
221
|
+
|
222
|
+
val = (val + step).toFixed(5) * 1;
|
223
|
+
valModStep = (val - (cache.minAsNumber || 0)) % step;
|
224
|
+
|
225
|
+
if ( valModStep && (Math.abs(valModStep) > EPS) ) {
|
226
|
+
alignValue = val - valModStep;
|
227
|
+
alignValue += ( valModStep > 0 ) ? step : ( -step );
|
228
|
+
val = alignValue.toFixed(5) * 1;
|
229
|
+
}
|
230
|
+
|
231
|
+
if( (!isNaN(cache.maxAsNumber) && val > cache.maxAsNumber) || (!isNaN(cache.minAsNumber) && val < cache.minAsNumber) ){
|
232
|
+
webshims.info("max/min overflow can't apply stepUp/stepDown");
|
233
|
+
throw('invalid state error');
|
234
|
+
}
|
235
|
+
if(dateVal){
|
236
|
+
$.prop(this, 'valueAsDate', dateVal);
|
237
|
+
} else {
|
238
|
+
$.prop(this, 'valueAsNumber', val);
|
239
|
+
}
|
240
|
+
} else if(stepDescriptor.prop && stepDescriptor.prop.value){
|
241
|
+
return stepDescriptor.prop.value.apply(this, arguments);
|
242
|
+
} else {
|
243
|
+
webshims.info("no step method for type: "+ type);
|
244
|
+
throw('invalid state error');
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}
|
248
|
+
});
|
249
|
+
});
|
250
|
+
|
251
|
+
|
192
252
|
var typeProtos = {
|
193
253
|
|
194
254
|
number: {
|
@@ -214,20 +274,24 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
214
274
|
date: {
|
215
275
|
mismatch: function(val){
|
216
276
|
if(!val || !val.split || !(/\d$/.test(val))){return true;}
|
277
|
+
var i;
|
217
278
|
var valA = val.split(/\u002D/);
|
218
279
|
if(valA.length !== 3){return true;}
|
219
280
|
var ret = false;
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
return false;
|
224
|
-
}
|
225
|
-
});
|
226
|
-
if(ret){return ret;}
|
227
|
-
if(valA[0].length !== 4 || valA[1].length != 2 || valA[1] > 12 || valA[2].length != 2 || valA[2] > 33){
|
281
|
+
|
282
|
+
|
283
|
+
if(valA[0].length < 4 || valA[1].length != 2 || valA[1] > 12 || valA[2].length != 2 || valA[2] > 33){
|
228
284
|
ret = true;
|
285
|
+
} else {
|
286
|
+
for(i = 0; i < 3; i++){
|
287
|
+
if(!isDateTimePart(valA[i])){
|
288
|
+
ret = true;
|
289
|
+
break;
|
290
|
+
}
|
291
|
+
}
|
229
292
|
}
|
230
|
-
|
293
|
+
|
294
|
+
return ret || (val !== this.dateToString( this.asDate(val, true) ) );
|
231
295
|
},
|
232
296
|
step: 1,
|
233
297
|
//stepBase: 0, 0 = default
|
@@ -250,7 +314,7 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
250
314
|
return (isNumber(num)) ? this.dateToString(new Date( num * 1)) : false;
|
251
315
|
},
|
252
316
|
dateToString: function(date){
|
253
|
-
return (date && date.getFullYear) ? date.getUTCFullYear() +'-'+ addleadingZero(date.getUTCMonth()+1, 2) +'-'+ addleadingZero(date.getUTCDate(), 2) : false;
|
317
|
+
return (date && date.getFullYear) ? addleadingZero(date.getUTCFullYear(), 4) +'-'+ addleadingZero(date.getUTCMonth()+1, 2) +'-'+ addleadingZero(date.getUTCDate(), 2) : false;
|
254
318
|
}
|
255
319
|
},
|
256
320
|
time: {
|
@@ -325,6 +389,53 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
325
389
|
return false;
|
326
390
|
}
|
327
391
|
}
|
392
|
+
},
|
393
|
+
month: {
|
394
|
+
mismatch: function(val){
|
395
|
+
return typeProtos.date.mismatch(val+'-01');
|
396
|
+
},
|
397
|
+
step: 1,
|
398
|
+
stepScaleFactor: false,
|
399
|
+
//stepBase: 0, 0 = default
|
400
|
+
asDate: function(val){
|
401
|
+
return new Date(typeProtos.date.asNumber(val+'-01'));
|
402
|
+
},
|
403
|
+
asNumber: function(val){
|
404
|
+
//1970-01
|
405
|
+
var ret = nan;
|
406
|
+
if(val && !this.mismatch(val)){
|
407
|
+
val = val.split(/\u002D/);
|
408
|
+
val[0] = (val[0] * 1) - 1970;
|
409
|
+
val[1] = (val[1] * 1) - 1;
|
410
|
+
ret = (val[0] * 12) + val[1];
|
411
|
+
}
|
412
|
+
return ret;
|
413
|
+
},
|
414
|
+
numberToString: function(num){
|
415
|
+
var mod;
|
416
|
+
var ret = false;
|
417
|
+
if(isNumber(num)){
|
418
|
+
mod = (num % 12);
|
419
|
+
num = ((num - mod) / 12) + 1970;
|
420
|
+
mod += 1;
|
421
|
+
if(mod < 1){
|
422
|
+
num -= 1;
|
423
|
+
mod += 12;
|
424
|
+
}
|
425
|
+
ret = addleadingZero(num, 4)+'-'+addleadingZero(mod, 2);
|
426
|
+
|
427
|
+
}
|
428
|
+
|
429
|
+
return ret;
|
430
|
+
},
|
431
|
+
dateToString: function(date){
|
432
|
+
if(date && date.getUTCHours){
|
433
|
+
var str = typeProtos.date.dateToString(date);
|
434
|
+
return (str.split && (str = str.split(/\u002D/))) ? str[0]+'-'+str[1] : false;
|
435
|
+
} else {
|
436
|
+
return false;
|
437
|
+
}
|
438
|
+
}
|
328
439
|
}
|
329
440
|
// ,'datetime-local': {
|
330
441
|
// mismatch: function(val, _getParsed){
|
@@ -360,25 +471,39 @@ jQuery.webshims.register('form-number-date-api', function($, webshims, window, d
|
|
360
471
|
if(typeBugs || !supportsType('range') || !supportsType('time')){
|
361
472
|
typeProtos.range = $.extend({}, typeProtos.number, typeProtos.range);
|
362
473
|
typeProtos.time = $.extend({}, typeProtos.date, typeProtos.time);
|
474
|
+
typeProtos.month = $.extend({}, typeProtos.date, typeProtos.month);
|
363
475
|
// typeProtos['datetime-local'] = $.extend({}, typeProtos.date, typeProtos.time, typeProtos['datetime-local']);
|
364
476
|
}
|
365
477
|
|
366
|
-
|
367
|
-
|
478
|
+
//'datetime-local'
|
479
|
+
['number', 'month', 'range', 'date', 'time'].forEach(function(type){
|
480
|
+
if(typeBugs || !supportsType(type)){
|
481
|
+
webshims.addInputType(type, typeProtos[type]);
|
482
|
+
}
|
483
|
+
});
|
484
|
+
|
485
|
+
if($('<input />').prop('labels') == null){
|
486
|
+
webshims.defineNodeNamesProperty('button, input, keygen, meter, output, progress, select, textarea', 'labels', {
|
487
|
+
prop: {
|
488
|
+
get: function(){
|
489
|
+
if(this.type == 'hidden'){return null;}
|
490
|
+
var id = this.id;
|
491
|
+
var labels = $(this)
|
492
|
+
.closest('label')
|
493
|
+
.filter(function(){
|
494
|
+
var hFor = (this.attributes['for'] || {});
|
495
|
+
return (!hFor.specified || hFor.value == id);
|
496
|
+
})
|
497
|
+
;
|
498
|
+
|
499
|
+
if(id) {
|
500
|
+
labels = labels.add('label[for="'+ id +'"]');
|
501
|
+
}
|
502
|
+
return labels.get();
|
503
|
+
},
|
504
|
+
writeable: false
|
505
|
+
}
|
506
|
+
});
|
368
507
|
}
|
369
508
|
|
370
|
-
if(typeBugs || !supportsType('range')){
|
371
|
-
webshims.addInputType('range', typeProtos.range);
|
372
|
-
}
|
373
|
-
if(typeBugs || !supportsType('date')){
|
374
|
-
webshims.addInputType('date', typeProtos.date);
|
375
|
-
}
|
376
|
-
if(typeBugs || !supportsType('time')){
|
377
|
-
webshims.addInputType('time', typeProtos.time);
|
378
|
-
}
|
379
|
-
|
380
|
-
// if(typeBugs || !supportsType('datetime-local')){
|
381
|
-
// webshims.addInputType('datetime-local', typeProtos['datetime-local']);
|
382
|
-
// }
|
383
|
-
|
384
509
|
});
|