webshims-rails 1.13.0 → 1.14.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +0 -0
- data/vendor/assets/javascripts/webshims/polyfiller.js +45 -26
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +33 -2
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +82 -29
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +115 -43
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +115 -43
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +65 -4
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +492 -2580
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +8314 -1432
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +1642 -556
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +50 -39
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +65 -4
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +32 -2
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +33 -3
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -5
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +82 -29
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -0
- data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +32 -2
- data/vendor/assets/javascripts/webshims/shims/es5.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/filereader.js +441 -362
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +19 -7
- data/vendor/assets/javascripts/webshims/shims/form-core.js +33 -2
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +50 -27
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +49 -38
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +45 -14
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +105 -7
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +212 -134
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +15 -12
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +7994 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
- data/vendor/assets/javascripts/webshims/shims/picture.js +50 -43
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +7 -2
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +219 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +115 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +31 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +583 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +736 -0
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +105 -21
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +91 -19
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +0 -0
- metadata +13 -2
@@ -4,17 +4,21 @@ webshims.inputTypes = webshims.inputTypes || {};
|
|
4
4
|
//some helper-functions
|
5
5
|
var cfg = webshims.cfg.forms;
|
6
6
|
var bugs = webshims.bugs;
|
7
|
-
|
8
|
-
var
|
9
|
-
return (typeof string == 'number' || (string && string == string * 1));
|
10
|
-
},
|
11
|
-
typeModels = webshims.inputTypes,
|
7
|
+
var splitReg = /\s*,\s*/g;
|
8
|
+
var typeModels = webshims.inputTypes,
|
12
9
|
checkTypes = {
|
13
10
|
radio: 1,
|
14
11
|
checkbox: 1
|
15
12
|
},
|
16
|
-
getType = function(
|
17
|
-
|
13
|
+
getType = function(){
|
14
|
+
var elem = this;
|
15
|
+
var type = (elem.getAttribute('type') || '').toLowerCase();
|
16
|
+
return (webshims.inputTypes[type]) ? type : elem.type;
|
17
|
+
},
|
18
|
+
cacheType = function(cache, input){
|
19
|
+
if(!('type' in cache)){
|
20
|
+
cache.type = getType.call(input);
|
21
|
+
}
|
18
22
|
}
|
19
23
|
;
|
20
24
|
|
@@ -94,6 +98,7 @@ var isPlaceholderOptionSelected = function(select){
|
|
94
98
|
};
|
95
99
|
|
96
100
|
var emptyJ = $([]);
|
101
|
+
//TODO: cache + perftest
|
97
102
|
var getGroupElements = function(elem){
|
98
103
|
elem = $(elem);
|
99
104
|
var name, form;
|
@@ -118,9 +123,7 @@ var validityRules = {
|
|
118
123
|
valueMissing: function(input, val, cache){
|
119
124
|
if(!input.prop('required')){return false;}
|
120
125
|
var ret = false;
|
121
|
-
|
122
|
-
cache.type = getType(input[0]);
|
123
|
-
}
|
126
|
+
cacheType(cache, input[0]);
|
124
127
|
if(cache.nodeName == 'select'){
|
125
128
|
ret = (!val && (input[0].selectedIndex < 0 || isPlaceholderOptionSelected(input[0]) ));
|
126
129
|
} else if(checkTypes[cache.type]){
|
@@ -131,21 +134,32 @@ var validityRules = {
|
|
131
134
|
return ret;
|
132
135
|
},
|
133
136
|
patternMismatch: function(input, val, cache) {
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
137
|
+
var i;
|
138
|
+
var ret = false;
|
139
|
+
if(val === '' || cache.nodeName == 'select'){return ret;}
|
140
|
+
|
141
|
+
cacheType(cache, input[0]);
|
142
|
+
|
143
|
+
if(!patternTypes[cache.type]){return ret;}
|
139
144
|
var pattern = input.attr('pattern');
|
140
|
-
if(!pattern){return
|
145
|
+
if(!pattern){return ret;}
|
141
146
|
try {
|
142
147
|
pattern = new RegExp('^(?:' + pattern + ')$');
|
143
148
|
} catch(er){
|
144
149
|
webshims.error('invalid pattern value: "'+ pattern +'" | '+ er);
|
145
|
-
pattern =
|
150
|
+
pattern = ret;
|
151
|
+
}
|
152
|
+
if(!pattern){return ret;}
|
153
|
+
|
154
|
+
val = cache.type == 'email' && input.prop('multiple') ? val.split(splitReg) : [val];
|
155
|
+
|
156
|
+
for(i = 0; i < val.length; i++){
|
157
|
+
if(!pattern.test(val[i])){
|
158
|
+
ret = true;
|
159
|
+
break;
|
160
|
+
}
|
146
161
|
}
|
147
|
-
|
148
|
-
return !(pattern.test(val));
|
162
|
+
return ret;
|
149
163
|
}
|
150
164
|
}
|
151
165
|
;
|
@@ -154,9 +168,9 @@ $.each({tooShort: ['minLength', -1], tooLong: ['maxLength', 1]}, function(name,
|
|
154
168
|
validityRules[name] = function(input, val, cache){
|
155
169
|
//defaultValue is not the same as dirty flag, but very similiar
|
156
170
|
if(cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
|
157
|
-
|
158
|
-
|
159
|
-
|
171
|
+
|
172
|
+
cacheType(cache, input[0]);
|
173
|
+
|
160
174
|
if(!lengthTypes[cache.type]){return false;}
|
161
175
|
var prop = input.prop(props[0]);
|
162
176
|
|
@@ -168,9 +182,8 @@ $.each({typeMismatch: 'mismatch', badInput: 'bad'}, function(name, fn){
|
|
168
182
|
validityRules[name] = function (input, val, cache){
|
169
183
|
if(val === '' || cache.nodeName == 'select'){return false;}
|
170
184
|
var ret = false;
|
171
|
-
|
172
|
-
|
173
|
-
}
|
185
|
+
|
186
|
+
cacheType(cache, input[0]);
|
174
187
|
|
175
188
|
if(typeModels[cache.type] && typeModels[cache.type][fn]){
|
176
189
|
ret = typeModels[cache.type][fn](val, input);
|
@@ -238,6 +251,7 @@ $.extend($.event.special.submit, {
|
|
238
251
|
return submitSetup.apply(this, arguments);
|
239
252
|
}
|
240
253
|
});
|
254
|
+
|
241
255
|
webshims.ready('form-shim-extend2 WINDOWLOAD', function(){
|
242
256
|
$(window).on('invalid', $.noop);
|
243
257
|
});
|
@@ -247,15 +261,16 @@ webshims.addInputType('email', {
|
|
247
261
|
mismatch: (function(){
|
248
262
|
//taken from http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
|
249
263
|
var test = cfg.emailReg || /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
250
|
-
var splitReg = /\s*,\s*/g;
|
251
264
|
return function(val, input){
|
265
|
+
var i;
|
252
266
|
var ret = false;
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
267
|
+
if(val){
|
268
|
+
val = input.prop('multiple') ? val.split(splitReg) : [val];
|
269
|
+
for(i = 0; i < val.length; i++){
|
270
|
+
if(!test.test(val[i])){
|
271
|
+
ret = true;
|
272
|
+
break;
|
273
|
+
}
|
259
274
|
}
|
260
275
|
}
|
261
276
|
return ret;
|
@@ -268,18 +283,14 @@ webshims.addInputType('url', {
|
|
268
283
|
//taken from scott gonzales
|
269
284
|
var test = cfg.urlReg || /^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;
|
270
285
|
return function(val){
|
271
|
-
return !test.test(val);
|
286
|
+
return val && !test.test(val);
|
272
287
|
};
|
273
288
|
})()
|
274
289
|
});
|
275
290
|
|
276
291
|
webshims.defineNodeNameProperty('input', 'type', {
|
277
292
|
prop: {
|
278
|
-
get:
|
279
|
-
var elem = this;
|
280
|
-
var type = (elem.getAttribute('type') || '').toLowerCase();
|
281
|
-
return (webshims.inputTypes[type]) ? type : elem.type;
|
282
|
-
}
|
293
|
+
get: getType
|
283
294
|
}
|
284
295
|
});
|
285
296
|
|
@@ -1010,7 +1021,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
1010
1021
|
if(message && message.indexOf('{%') != -1){
|
1011
1022
|
['value', 'min', 'max', 'maxlength', 'minlength', 'label'].forEach(function(attr){
|
1012
1023
|
if(message.indexOf('{%'+attr) === -1){return;}
|
1013
|
-
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr)) || '';
|
1024
|
+
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr) || $.attr(elem, attr) || '') || '';
|
1014
1025
|
val = ''+val;
|
1015
1026
|
|
1016
1027
|
|
File without changes
|
@@ -179,8 +179,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
179
179
|
});
|
180
180
|
return this;
|
181
181
|
};
|
182
|
-
|
183
|
-
var dataID = '
|
182
|
+
var idCount = 0;
|
183
|
+
var dataID = '_webshims'+ (Math.round(Math.random() * 1000));
|
184
184
|
var elementData = function(elem, key, val){
|
185
185
|
elem = elem.jquery ? elem[0] : elem;
|
186
186
|
if(!elem){return val || {};}
|
@@ -211,6 +211,35 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
211
211
|
return this.pushStack(elems);
|
212
212
|
};
|
213
213
|
});
|
214
|
+
|
215
|
+
function clone(elem, dataAndEvents, uniqueIds){
|
216
|
+
var cloned = $.clone( elem, dataAndEvents, false );
|
217
|
+
$(cloned.querySelectorAll('.'+webshims.shadowClass)).detach();
|
218
|
+
if(uniqueIds){
|
219
|
+
idCount++;
|
220
|
+
$(cloned.querySelectorAll('[id]')).prop('id', function(i, id){
|
221
|
+
return id +idCount;
|
222
|
+
});
|
223
|
+
} else {
|
224
|
+
$(cloned.querySelectorAll('audio[id^="ID-"], video[id^="ID-"], label[id^="ID-"]')).removeAttr('id');
|
225
|
+
}
|
226
|
+
return cloned;
|
227
|
+
}
|
228
|
+
|
229
|
+
$.fn.clonePolyfill = function(dataAndEvents, uniqueIds){
|
230
|
+
dataAndEvents = dataAndEvents || false;
|
231
|
+
return this
|
232
|
+
.map(function() {
|
233
|
+
var cloned = clone( this, dataAndEvents, uniqueIds );
|
234
|
+
setTimeout(function(){
|
235
|
+
if($.contains(document.body, cloned)){
|
236
|
+
$(cloned).updatePolyfill();
|
237
|
+
}
|
238
|
+
});
|
239
|
+
return cloned;
|
240
|
+
})
|
241
|
+
;
|
242
|
+
};
|
214
243
|
|
215
244
|
//add support for $('video').trigger('play') in case extendNative is set to false
|
216
245
|
if(!webshims.cfg.extendNative && !webshims.cfg.noTriggerOverride){
|
@@ -522,6 +551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
551
|
return id;
|
523
552
|
};
|
524
553
|
})(),
|
554
|
+
shadowClass: 'wsshadow-'+(Date.now()),
|
525
555
|
implement: function(elem, type){
|
526
556
|
var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
|
527
557
|
if(data[type]){
|
@@ -1333,6 +1363,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1333
1363
|
addModule('form-validation', $.extend({d: ['form-message']}, formExtras));
|
1334
1364
|
|
1335
1365
|
addModule('form-validators', $.extend({}, formExtras));
|
1366
|
+
|
1367
|
+
|
1336
1368
|
|
1337
1369
|
if($.expr.filters){
|
1338
1370
|
extendSels();
|
@@ -1453,13 +1485,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1453
1485
|
};
|
1454
1486
|
|
1455
1487
|
$.event.special.valuevalidation = {
|
1488
|
+
setup: function(){
|
1489
|
+
webshims.error('valuevalidation was renamed to validatevalue!');
|
1490
|
+
}
|
1491
|
+
};
|
1492
|
+
|
1493
|
+
|
1494
|
+
$.event.special.validatevalue = {
|
1456
1495
|
setup: function(){
|
1457
1496
|
var data = $(this).data() || $.data(this, {});
|
1458
|
-
if(!('
|
1459
|
-
data.
|
1497
|
+
if(!('validatevalue' in data)){
|
1498
|
+
data.validatevalue = true;
|
1460
1499
|
}
|
1461
1500
|
}
|
1462
1501
|
};
|
1502
|
+
|
1503
|
+
|
1463
1504
|
|
1464
1505
|
$(document).on('focusin.lazyloadvalidation', function(e){
|
1465
1506
|
if('form' in e.target){
|
@@ -1472,6 +1513,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1472
1513
|
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (Modernizr.inputtypes.range && Modernizr.inputtypes.color))){
|
1473
1514
|
webshims.isReady('form-number-date-ui', true);
|
1474
1515
|
}
|
1516
|
+
|
1517
|
+
webshims.ready('DOM', function(){
|
1518
|
+
if(document.querySelector('.ws-custom-file')){
|
1519
|
+
webshims.reTest(['form-validation']);
|
1520
|
+
}
|
1521
|
+
});
|
1522
|
+
|
1523
|
+
$(function(){
|
1524
|
+
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1525
|
+
if(!fileReaderReady){
|
1526
|
+
webshims.addReady(function(context){
|
1527
|
+
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1528
|
+
if(context.querySelector('input.ws-filereader')){
|
1529
|
+
webshims.reTest(['filereader', 'moxie']);
|
1530
|
+
fileReaderReady = true;
|
1531
|
+
}
|
1532
|
+
}
|
1533
|
+
});
|
1534
|
+
}
|
1535
|
+
});
|
1475
1536
|
});
|
1476
1537
|
;webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
1477
1538
|
"use strict";
|
@@ -1691,7 +1752,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1691
1752
|
if(message && message.indexOf('{%') != -1){
|
1692
1753
|
['value', 'min', 'max', 'maxlength', 'minlength', 'label'].forEach(function(attr){
|
1693
1754
|
if(message.indexOf('{%'+attr) === -1){return;}
|
1694
|
-
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr)) || '';
|
1755
|
+
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr) || $.attr(elem, attr) || '') || '';
|
1695
1756
|
val = ''+val;
|
1696
1757
|
|
1697
1758
|
|
@@ -179,8 +179,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
179
179
|
});
|
180
180
|
return this;
|
181
181
|
};
|
182
|
-
|
183
|
-
var dataID = '
|
182
|
+
var idCount = 0;
|
183
|
+
var dataID = '_webshims'+ (Math.round(Math.random() * 1000));
|
184
184
|
var elementData = function(elem, key, val){
|
185
185
|
elem = elem.jquery ? elem[0] : elem;
|
186
186
|
if(!elem){return val || {};}
|
@@ -211,6 +211,35 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
211
211
|
return this.pushStack(elems);
|
212
212
|
};
|
213
213
|
});
|
214
|
+
|
215
|
+
function clone(elem, dataAndEvents, uniqueIds){
|
216
|
+
var cloned = $.clone( elem, dataAndEvents, false );
|
217
|
+
$(cloned.querySelectorAll('.'+webshims.shadowClass)).detach();
|
218
|
+
if(uniqueIds){
|
219
|
+
idCount++;
|
220
|
+
$(cloned.querySelectorAll('[id]')).prop('id', function(i, id){
|
221
|
+
return id +idCount;
|
222
|
+
});
|
223
|
+
} else {
|
224
|
+
$(cloned.querySelectorAll('audio[id^="ID-"], video[id^="ID-"], label[id^="ID-"]')).removeAttr('id');
|
225
|
+
}
|
226
|
+
return cloned;
|
227
|
+
}
|
228
|
+
|
229
|
+
$.fn.clonePolyfill = function(dataAndEvents, uniqueIds){
|
230
|
+
dataAndEvents = dataAndEvents || false;
|
231
|
+
return this
|
232
|
+
.map(function() {
|
233
|
+
var cloned = clone( this, dataAndEvents, uniqueIds );
|
234
|
+
setTimeout(function(){
|
235
|
+
if($.contains(document.body, cloned)){
|
236
|
+
$(cloned).updatePolyfill();
|
237
|
+
}
|
238
|
+
});
|
239
|
+
return cloned;
|
240
|
+
})
|
241
|
+
;
|
242
|
+
};
|
214
243
|
|
215
244
|
//add support for $('video').trigger('play') in case extendNative is set to false
|
216
245
|
if(!webshims.cfg.extendNative && !webshims.cfg.noTriggerOverride){
|
@@ -522,6 +551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
551
|
return id;
|
523
552
|
};
|
524
553
|
})(),
|
554
|
+
shadowClass: 'wsshadow-'+(Date.now()),
|
525
555
|
implement: function(elem, type){
|
526
556
|
var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
|
527
557
|
if(data[type]){
|
@@ -1333,6 +1363,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1333
1363
|
addModule('form-validation', $.extend({d: ['form-message']}, formExtras));
|
1334
1364
|
|
1335
1365
|
addModule('form-validators', $.extend({}, formExtras));
|
1366
|
+
|
1367
|
+
|
1336
1368
|
|
1337
1369
|
if($.expr.filters){
|
1338
1370
|
extendSels();
|
@@ -1453,13 +1485,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1453
1485
|
};
|
1454
1486
|
|
1455
1487
|
$.event.special.valuevalidation = {
|
1488
|
+
setup: function(){
|
1489
|
+
webshims.error('valuevalidation was renamed to validatevalue!');
|
1490
|
+
}
|
1491
|
+
};
|
1492
|
+
|
1493
|
+
|
1494
|
+
$.event.special.validatevalue = {
|
1456
1495
|
setup: function(){
|
1457
1496
|
var data = $(this).data() || $.data(this, {});
|
1458
|
-
if(!('
|
1459
|
-
data.
|
1497
|
+
if(!('validatevalue' in data)){
|
1498
|
+
data.validatevalue = true;
|
1460
1499
|
}
|
1461
1500
|
}
|
1462
1501
|
};
|
1502
|
+
|
1503
|
+
|
1463
1504
|
|
1464
1505
|
$(document).on('focusin.lazyloadvalidation', function(e){
|
1465
1506
|
if('form' in e.target){
|
@@ -1472,6 +1513,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1472
1513
|
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (Modernizr.inputtypes.range && Modernizr.inputtypes.color))){
|
1473
1514
|
webshims.isReady('form-number-date-ui', true);
|
1474
1515
|
}
|
1516
|
+
|
1517
|
+
webshims.ready('DOM', function(){
|
1518
|
+
if(document.querySelector('.ws-custom-file')){
|
1519
|
+
webshims.reTest(['form-validation']);
|
1520
|
+
}
|
1521
|
+
});
|
1522
|
+
|
1523
|
+
$(function(){
|
1524
|
+
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1525
|
+
if(!fileReaderReady){
|
1526
|
+
webshims.addReady(function(context){
|
1527
|
+
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1528
|
+
if(context.querySelector('input.ws-filereader')){
|
1529
|
+
webshims.reTest(['filereader', 'moxie']);
|
1530
|
+
fileReaderReady = true;
|
1531
|
+
}
|
1532
|
+
}
|
1533
|
+
});
|
1534
|
+
}
|
1535
|
+
});
|
1475
1536
|
});
|
1476
1537
|
;webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
1477
1538
|
"use strict";
|
@@ -1691,7 +1752,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1691
1752
|
if(message && message.indexOf('{%') != -1){
|
1692
1753
|
['value', 'min', 'max', 'maxlength', 'minlength', 'label'].forEach(function(attr){
|
1693
1754
|
if(message.indexOf('{%'+attr) === -1){return;}
|
1694
|
-
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr)) || '';
|
1755
|
+
var val = ((attr == 'label') ? $.trim($('label[for="'+ elem.id +'"]', elem.form).text()).replace(/\*$|:$/, '') : $.prop(elem, attr) || $.attr(elem, attr) || '') || '';
|
1695
1756
|
val = ''+val;
|
1696
1757
|
|
1697
1758
|
|
@@ -179,8 +179,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
179
179
|
});
|
180
180
|
return this;
|
181
181
|
};
|
182
|
-
|
183
|
-
var dataID = '
|
182
|
+
var idCount = 0;
|
183
|
+
var dataID = '_webshims'+ (Math.round(Math.random() * 1000));
|
184
184
|
var elementData = function(elem, key, val){
|
185
185
|
elem = elem.jquery ? elem[0] : elem;
|
186
186
|
if(!elem){return val || {};}
|
@@ -211,6 +211,35 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
211
211
|
return this.pushStack(elems);
|
212
212
|
};
|
213
213
|
});
|
214
|
+
|
215
|
+
function clone(elem, dataAndEvents, uniqueIds){
|
216
|
+
var cloned = $.clone( elem, dataAndEvents, false );
|
217
|
+
$(cloned.querySelectorAll('.'+webshims.shadowClass)).detach();
|
218
|
+
if(uniqueIds){
|
219
|
+
idCount++;
|
220
|
+
$(cloned.querySelectorAll('[id]')).prop('id', function(i, id){
|
221
|
+
return id +idCount;
|
222
|
+
});
|
223
|
+
} else {
|
224
|
+
$(cloned.querySelectorAll('audio[id^="ID-"], video[id^="ID-"], label[id^="ID-"]')).removeAttr('id');
|
225
|
+
}
|
226
|
+
return cloned;
|
227
|
+
}
|
228
|
+
|
229
|
+
$.fn.clonePolyfill = function(dataAndEvents, uniqueIds){
|
230
|
+
dataAndEvents = dataAndEvents || false;
|
231
|
+
return this
|
232
|
+
.map(function() {
|
233
|
+
var cloned = clone( this, dataAndEvents, uniqueIds );
|
234
|
+
setTimeout(function(){
|
235
|
+
if($.contains(document.body, cloned)){
|
236
|
+
$(cloned).updatePolyfill();
|
237
|
+
}
|
238
|
+
});
|
239
|
+
return cloned;
|
240
|
+
})
|
241
|
+
;
|
242
|
+
};
|
214
243
|
|
215
244
|
//add support for $('video').trigger('play') in case extendNative is set to false
|
216
245
|
if(!webshims.cfg.extendNative && !webshims.cfg.noTriggerOverride){
|
@@ -522,6 +551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
522
551
|
return id;
|
523
552
|
};
|
524
553
|
})(),
|
554
|
+
shadowClass: 'wsshadow-'+(Date.now()),
|
525
555
|
implement: function(elem, type){
|
526
556
|
var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
|
527
557
|
if(data[type]){
|
@@ -1333,6 +1363,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1333
1363
|
addModule('form-validation', $.extend({d: ['form-message']}, formExtras));
|
1334
1364
|
|
1335
1365
|
addModule('form-validators', $.extend({}, formExtras));
|
1366
|
+
|
1367
|
+
|
1336
1368
|
|
1337
1369
|
if($.expr.filters){
|
1338
1370
|
extendSels();
|
@@ -1453,13 +1485,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1453
1485
|
};
|
1454
1486
|
|
1455
1487
|
$.event.special.valuevalidation = {
|
1488
|
+
setup: function(){
|
1489
|
+
webshims.error('valuevalidation was renamed to validatevalue!');
|
1490
|
+
}
|
1491
|
+
};
|
1492
|
+
|
1493
|
+
|
1494
|
+
$.event.special.validatevalue = {
|
1456
1495
|
setup: function(){
|
1457
1496
|
var data = $(this).data() || $.data(this, {});
|
1458
|
-
if(!('
|
1459
|
-
data.
|
1497
|
+
if(!('validatevalue' in data)){
|
1498
|
+
data.validatevalue = true;
|
1460
1499
|
}
|
1461
1500
|
}
|
1462
1501
|
};
|
1502
|
+
|
1503
|
+
|
1463
1504
|
|
1464
1505
|
$(document).on('focusin.lazyloadvalidation', function(e){
|
1465
1506
|
if('form' in e.target){
|
@@ -1472,6 +1513,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1472
1513
|
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (Modernizr.inputtypes.range && Modernizr.inputtypes.color))){
|
1473
1514
|
webshims.isReady('form-number-date-ui', true);
|
1474
1515
|
}
|
1516
|
+
|
1517
|
+
webshims.ready('DOM', function(){
|
1518
|
+
if(document.querySelector('.ws-custom-file')){
|
1519
|
+
webshims.reTest(['form-validation']);
|
1520
|
+
}
|
1521
|
+
});
|
1522
|
+
|
1523
|
+
$(function(){
|
1524
|
+
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1525
|
+
if(!fileReaderReady){
|
1526
|
+
webshims.addReady(function(context){
|
1527
|
+
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1528
|
+
if(context.querySelector('input.ws-filereader')){
|
1529
|
+
webshims.reTest(['filereader', 'moxie']);
|
1530
|
+
fileReaderReady = true;
|
1531
|
+
}
|
1532
|
+
}
|
1533
|
+
});
|
1534
|
+
}
|
1535
|
+
});
|
1475
1536
|
});
|
1476
1537
|
;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
1477
1538
|
"use strict";
|