webshims-rails 1.14.4 → 1.14.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Rakefile +58 -0
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +45 -26
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +18 -5
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +26 -22
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +24 -21
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +4 -0
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +4 -0
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +17 -7
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +21 -7
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +24 -22
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +122 -97
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +20 -6
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +4 -3
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -0
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +7 -5
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +29 -9
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +16 -6
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +16 -6
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +16 -6
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +24 -22
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +24 -22
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +20 -6
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +20 -6
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +26 -22
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +0 -24
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +22 -25
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +22 -25
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/filereader.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/form-core.js +14 -5
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +8 -4
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -1
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +24 -21
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +28 -8
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -20
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +17 -10
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/jme/base.js +0 -24
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +23 -9
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +21 -3
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +13 -4
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +22 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -3
- data/vendor/assets/javascripts/webshims/shims/picture.js +122 -97
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +470 -452
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +35 -27
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +10 -2
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +1 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +10 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +4 -2
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +1 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +6 -24
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +15 -21
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +5 -19
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
- metadata +2 -3
- data/vendor/assets/javascripts/webshims/shims/promise.js +0 -684
@@ -772,8 +772,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
772
772
|
webshims.warn(type +' already implemented for element #'+elem.id);
|
773
773
|
return false;
|
774
774
|
}
|
775
|
+
|
775
776
|
data[type] = true;
|
776
|
-
return
|
777
|
+
return !$(elem).hasClass('ws-nopolyfill');
|
777
778
|
},
|
778
779
|
extendUNDEFProp: function(obj, props){
|
779
780
|
$.each(props, function(name, prop){
|
@@ -1462,6 +1463,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1462
1463
|
};
|
1463
1464
|
var lazyLoad = function(){
|
1464
1465
|
var toLoad = ['form-validation'];
|
1466
|
+
|
1467
|
+
$(document).off('.lazyloadvalidation');
|
1468
|
+
|
1465
1469
|
if(options.lazyCustomMessages){
|
1466
1470
|
options.customMessages = true;
|
1467
1471
|
toLoad.push('form-message');
|
@@ -1476,7 +1480,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1476
1480
|
toLoad.push('form-validators');
|
1477
1481
|
}
|
1478
1482
|
webshims.reTest(toLoad);
|
1479
|
-
$(document).off('.lazyloadvalidation');
|
1480
1483
|
};
|
1481
1484
|
/*
|
1482
1485
|
* Selectors for all browsers
|
@@ -1533,11 +1536,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1533
1536
|
};
|
1534
1537
|
$.extend(exp, {
|
1535
1538
|
"enabled": function( elem ) {
|
1536
|
-
return elem.disabled === false &&
|
1539
|
+
return 'disabled' in elem && elem.disabled === false && !$.find.matchesSelector(elem, 'fieldset[disabled] *');
|
1537
1540
|
},
|
1538
1541
|
|
1539
1542
|
"disabled": function( elem ) {
|
1540
|
-
return elem.disabled === true || ('disabled' in elem &&
|
1543
|
+
return elem.disabled === true || ('disabled' in elem && $.find.matchesSelector(elem, 'fieldset[disabled] *'));
|
1541
1544
|
}
|
1542
1545
|
});
|
1543
1546
|
}
|
@@ -1716,8 +1719,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1716
1719
|
};
|
1717
1720
|
|
1718
1721
|
|
1719
|
-
|
1720
|
-
$(document).on('focusin.lazyloadvalidation', function(e){
|
1722
|
+
$(document).on('focusin.lazyloadvalidation mousedown.lazyloadvalidation touchstart.lazyloadvalidation', function(e){
|
1721
1723
|
if('form' in e.target){
|
1722
1724
|
lazyLoad();
|
1723
1725
|
}
|
@@ -1748,6 +1750,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1748
1750
|
});
|
1749
1751
|
}
|
1750
1752
|
});
|
1753
|
+
|
1754
|
+
if(options.addValidators && options.fastValidators){
|
1755
|
+
webshims.reTest(['form-validators', 'form-validation']);
|
1756
|
+
}
|
1757
|
+
|
1758
|
+
if(document.readyState == 'complete'){
|
1759
|
+
webshims.isReady('WINDOWLOAD', true);
|
1760
|
+
}
|
1751
1761
|
});
|
1752
1762
|
;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
1753
1763
|
"use strict";
|
@@ -2579,6 +2589,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2579
2589
|
webshims.ready(swfType, initMediaElements);
|
2580
2590
|
}
|
2581
2591
|
webshims.ready('track', loadTrackUi);
|
2592
|
+
|
2593
|
+
if(document.readyState == 'complete'){
|
2594
|
+
webshims.isReady('WINDOWLOAD', true);
|
2595
|
+
}
|
2582
2596
|
});
|
2583
2597
|
|
2584
2598
|
})(webshims);
|
@@ -462,6 +462,7 @@
|
|
462
462
|
var onEvent = {
|
463
463
|
onPlayPause: function(jaris, data, override){
|
464
464
|
var playing, type;
|
465
|
+
var idled = data.paused || data.ended;
|
465
466
|
if(override == null){
|
466
467
|
try {
|
467
468
|
playing = data.api.api_get("isPlaying");
|
@@ -469,7 +470,7 @@
|
|
469
470
|
} else {
|
470
471
|
playing = override;
|
471
472
|
}
|
472
|
-
if(playing ==
|
473
|
+
if(playing == idled || playing == null){
|
473
474
|
|
474
475
|
data.paused = !playing;
|
475
476
|
type = data.paused ? 'pause' : 'play';
|
@@ -1546,11 +1547,11 @@
|
|
1546
1547
|
var media, error, parent;
|
1547
1548
|
if(
|
1548
1549
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
1549
|
-
(media = $(e.target).closest('audio, video')) && !media.
|
1550
|
+
(media = $(e.target).closest('audio, video')) && !media.hasClass('nonnative-api-active')
|
1550
1551
|
){
|
1551
1552
|
error = media.prop('error');
|
1552
1553
|
setTimeout(function(){
|
1553
|
-
if(!media.
|
1554
|
+
if(!media.hasClass('nonnative-api-active')){
|
1554
1555
|
if(error && switchErrors[error.code]){
|
1555
1556
|
options.preferFlash = true;
|
1556
1557
|
document.removeEventListener('error', switchOptions, true);
|
@@ -754,6 +754,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
754
754
|
webshims.ready(swfType, initMediaElements);
|
755
755
|
}
|
756
756
|
webshims.ready('track', loadTrackUi);
|
757
|
+
|
758
|
+
if(document.readyState == 'complete'){
|
759
|
+
webshims.isReady('WINDOWLOAD', true);
|
760
|
+
}
|
757
761
|
});
|
758
762
|
|
759
763
|
})(webshims);
|
@@ -549,8 +549,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
549
549
|
webshims.warn(type +' already implemented for element #'+elem.id);
|
550
550
|
return false;
|
551
551
|
}
|
552
|
+
|
552
553
|
data[type] = true;
|
553
|
-
return
|
554
|
+
return !$(elem).hasClass('ws-nopolyfill');
|
554
555
|
},
|
555
556
|
extendUNDEFProp: function(obj, props){
|
556
557
|
$.each(props, function(name, prop){
|
@@ -1549,7 +1550,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1549
1550
|
writeable: false,
|
1550
1551
|
get: function(){
|
1551
1552
|
if(this.type != 'file'){return null;}
|
1552
|
-
if(!$(this).
|
1553
|
+
if(!$(this).hasClass('ws-filereader')){
|
1553
1554
|
webshim.info("please add the 'ws-filereader' class to your input[type='file'] to implement files-property");
|
1554
1555
|
}
|
1555
1556
|
return webshim.data(this, 'fileList') || [];
|
@@ -1808,6 +1809,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1808
1809
|
var onEvent = {
|
1809
1810
|
onPlayPause: function(jaris, data, override){
|
1810
1811
|
var playing, type;
|
1812
|
+
var idled = data.paused || data.ended;
|
1811
1813
|
if(override == null){
|
1812
1814
|
try {
|
1813
1815
|
playing = data.api.api_get("isPlaying");
|
@@ -1815,7 +1817,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1815
1817
|
} else {
|
1816
1818
|
playing = override;
|
1817
1819
|
}
|
1818
|
-
if(playing ==
|
1820
|
+
if(playing == idled || playing == null){
|
1819
1821
|
|
1820
1822
|
data.paused = !playing;
|
1821
1823
|
type = data.paused ? 'pause' : 'play';
|
@@ -2892,11 +2894,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2892
2894
|
var media, error, parent;
|
2893
2895
|
if(
|
2894
2896
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
2895
|
-
(media = $(e.target).closest('audio, video')) && !media.
|
2897
|
+
(media = $(e.target).closest('audio, video')) && !media.hasClass('nonnative-api-active')
|
2896
2898
|
){
|
2897
2899
|
error = media.prop('error');
|
2898
2900
|
setTimeout(function(){
|
2899
|
-
if(!media.
|
2901
|
+
if(!media.hasClass('nonnative-api-active')){
|
2900
2902
|
if(error && switchErrors[error.code]){
|
2901
2903
|
options.preferFlash = true;
|
2902
2904
|
document.removeEventListener('error', switchOptions, true);
|
@@ -7570,7 +7570,7 @@ Globally exposed namespace with the most frequently used public classes and hand
|
|
7570
7570
|
writeable: false,
|
7571
7571
|
get: function(){
|
7572
7572
|
if(this.type != 'file'){return null;}
|
7573
|
-
if(!$(this).
|
7573
|
+
if(!$(this).hasClass('ws-filereader')){
|
7574
7574
|
webshim.info("please add the 'ws-filereader' class to your input[type='file'] to implement files-property");
|
7575
7575
|
}
|
7576
7576
|
return webshim.data(this, 'fileList') || [];
|
@@ -156,18 +156,37 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
156
156
|
if(!support.fieldsetdisabled || !support.fieldsetelements){
|
157
157
|
(function(){
|
158
158
|
if(!support.fieldsetdisabled){
|
159
|
+
var hasIsDisabled = 'isDisabled' in document.createElement('div');
|
159
160
|
var isFieldsetGroup = {
|
160
161
|
fieldset: 1,
|
161
162
|
FIELDSET: 1
|
162
163
|
};
|
163
164
|
var disableElementsSel = 'input, textarea, select, button';
|
165
|
+
|
166
|
+
var isDisabledChild = function(elem){
|
167
|
+
if(hasIsDisabled && !elem.isDisabled){
|
168
|
+
return false;
|
169
|
+
}
|
170
|
+
return $.find.matchesSelector(elem, 'fieldset[disabled] *' );
|
171
|
+
};
|
172
|
+
var isDisabledChildFilter = hasIsDisabled ?
|
173
|
+
function(){
|
174
|
+
return this.isDisabled && $.find.matchesSelector(this, 'fieldset[disabled] *' );
|
175
|
+
} :
|
176
|
+
'fieldset[disabled] *';
|
177
|
+
var isEnableChildFilter = hasIsDisabled ?
|
178
|
+
function(){
|
179
|
+
return !this.isDisabled && !$.find.matchesSelector(this, 'fieldset[disabled] *' );
|
180
|
+
} :
|
181
|
+
':not(fieldset[disabled] *)';
|
182
|
+
|
164
183
|
$.extend($.expr[":"], {
|
165
184
|
"enabled": function( elem ) {
|
166
|
-
return
|
185
|
+
return isFieldsetGroup[elem.nodeName] ? (webshims.contentAttr(elem, 'disabled') == null && !isDisabledChild(elem)) : elem.disabled === false;
|
167
186
|
},
|
168
187
|
|
169
188
|
"disabled": function( elem ) {
|
170
|
-
return
|
189
|
+
return isFieldsetGroup[elem.nodeName] ? (webshims.contentAttr(elem, 'disabled') != null || isDisabledChild(elem)) : elem.disabled === true;
|
171
190
|
}
|
172
191
|
});
|
173
192
|
|
@@ -197,11 +216,12 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
197
216
|
|
198
217
|
if(value){
|
199
218
|
$(this.querySelectorAll(disableElementsSel)).each(groupControl.disable);
|
200
|
-
|
219
|
+
|
220
|
+
} else if(!isDisabledChild(this)){
|
201
221
|
var elements = $(this.querySelectorAll(disableElementsSel));
|
202
222
|
|
203
223
|
if( this.querySelector('fieldset[disabled]') ){
|
204
|
-
elements = elements.
|
224
|
+
elements = elements.filter(isEnableChildFilter);
|
205
225
|
}
|
206
226
|
|
207
227
|
elements.each(groupControl.enable);
|
@@ -218,7 +238,8 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
218
238
|
if(value){
|
219
239
|
webshims.data(this, 'groupedisabled', false);
|
220
240
|
desc.prop._supset.call(this, value);
|
221
|
-
|
241
|
+
|
242
|
+
} else if(isDisabledChild(this)){
|
222
243
|
webshims.data(this, 'groupedisabled', true);
|
223
244
|
desc.prop._supset.call(this, true);
|
224
245
|
} else {
|
@@ -242,7 +263,7 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
242
263
|
webshims.addReady(function(context){
|
243
264
|
|
244
265
|
$(context)
|
245
|
-
.filter(
|
266
|
+
.filter(isDisabledChildFilter)
|
246
267
|
.find(disableElementsSel)
|
247
268
|
.each(groupControl.disable)
|
248
269
|
;
|
@@ -254,7 +275,6 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
254
275
|
var isForm = {form: 1, FORM: 1};
|
255
276
|
$.prop = function(elem, name, value){
|
256
277
|
var ret;
|
257
|
-
//TODO: cache + perftest
|
258
278
|
if(elem && elem.nodeType == 1 && value === undefined && isForm[elem.nodeName] && elem.id){
|
259
279
|
ret = document.getElementsByName(name);
|
260
280
|
if(!ret || !ret.length){
|
@@ -896,7 +916,7 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
896
916
|
|
897
917
|
if(elem.type == 'password' || isOver){
|
898
918
|
data.text = createPlaceholder(elem);
|
899
|
-
if(isResponsive || $(elem).
|
919
|
+
if(isResponsive || $(elem).hasClass('responsive-width') || (elem.currentStyle || {width: ''}).width.indexOf('%') != -1){
|
900
920
|
data.box = data.text;
|
901
921
|
} else {
|
902
922
|
data.box = $('<span class="placeholder-box placeholder-box-'+ (elem.nodeName || '').toLowerCase() +' placeholder-box-'+$.css(elem, 'float')+'" />')
|
@@ -1569,7 +1589,7 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
|
|
1569
1589
|
writeable: false,
|
1570
1590
|
get: function(){
|
1571
1591
|
if(this.type != 'file'){return null;}
|
1572
|
-
if(!$(this).
|
1592
|
+
if(!$(this).hasClass('ws-filereader')){
|
1573
1593
|
webshim.info("please add the 'ws-filereader' class to your input[type='file'] to implement files-property");
|
1574
1594
|
}
|
1575
1595
|
return webshim.data(this, 'fileList') || [];
|
@@ -392,7 +392,7 @@ var rsubmittable = /^(?:select|textarea|input)/i;
|
|
392
392
|
;
|
393
393
|
return function(){
|
394
394
|
var elem = $(this).getNativeElement()[0];
|
395
|
-
return !!(!elem.readOnly && !types[elem.type] &&
|
395
|
+
return !!(!elem.readOnly && !types[elem.type] && !$.find.matchesSelector(elem, ':disabled') );
|
396
396
|
};
|
397
397
|
})()
|
398
398
|
},
|
@@ -1149,7 +1149,6 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
1149
1149
|
}
|
1150
1150
|
|
1151
1151
|
var nan = parseInt('NaN', 10),
|
1152
|
-
doc = document,
|
1153
1152
|
typeModels = webshims.inputTypes,
|
1154
1153
|
isNumber = function(string){
|
1155
1154
|
return (typeof string == 'number' || (string && string == string * 1));
|
@@ -241,7 +241,6 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
241
241
|
}
|
242
242
|
|
243
243
|
var nan = parseInt('NaN', 10),
|
244
|
-
doc = document,
|
245
244
|
typeModels = webshims.inputTypes,
|
246
245
|
isNumber = function(string){
|
247
246
|
return (typeof string == 'number' || (string && string == string * 1));
|
@@ -549,8 +549,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
549
549
|
webshims.warn(type +' already implemented for element #'+elem.id);
|
550
550
|
return false;
|
551
551
|
}
|
552
|
+
|
552
553
|
data[type] = true;
|
553
|
-
return
|
554
|
+
return !$(elem).hasClass('ws-nopolyfill');
|
554
555
|
},
|
555
556
|
extendUNDEFProp: function(obj, props){
|
556
557
|
$.each(props, function(name, prop){
|
@@ -1239,6 +1240,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1239
1240
|
};
|
1240
1241
|
var lazyLoad = function(){
|
1241
1242
|
var toLoad = ['form-validation'];
|
1243
|
+
|
1244
|
+
$(document).off('.lazyloadvalidation');
|
1245
|
+
|
1242
1246
|
if(options.lazyCustomMessages){
|
1243
1247
|
options.customMessages = true;
|
1244
1248
|
toLoad.push('form-message');
|
@@ -1253,7 +1257,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1253
1257
|
toLoad.push('form-validators');
|
1254
1258
|
}
|
1255
1259
|
webshims.reTest(toLoad);
|
1256
|
-
$(document).off('.lazyloadvalidation');
|
1257
1260
|
};
|
1258
1261
|
/*
|
1259
1262
|
* Selectors for all browsers
|
@@ -1310,11 +1313,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1310
1313
|
};
|
1311
1314
|
$.extend(exp, {
|
1312
1315
|
"enabled": function( elem ) {
|
1313
|
-
return elem.disabled === false &&
|
1316
|
+
return 'disabled' in elem && elem.disabled === false && !$.find.matchesSelector(elem, 'fieldset[disabled] *');
|
1314
1317
|
},
|
1315
1318
|
|
1316
1319
|
"disabled": function( elem ) {
|
1317
|
-
return elem.disabled === true || ('disabled' in elem &&
|
1320
|
+
return elem.disabled === true || ('disabled' in elem && $.find.matchesSelector(elem, 'fieldset[disabled] *'));
|
1318
1321
|
}
|
1319
1322
|
});
|
1320
1323
|
}
|
@@ -1493,8 +1496,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1493
1496
|
};
|
1494
1497
|
|
1495
1498
|
|
1496
|
-
|
1497
|
-
$(document).on('focusin.lazyloadvalidation', function(e){
|
1499
|
+
$(document).on('focusin.lazyloadvalidation mousedown.lazyloadvalidation touchstart.lazyloadvalidation', function(e){
|
1498
1500
|
if('form' in e.target){
|
1499
1501
|
lazyLoad();
|
1500
1502
|
}
|
@@ -1525,6 +1527,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1525
1527
|
});
|
1526
1528
|
}
|
1527
1529
|
});
|
1530
|
+
|
1531
|
+
if(options.addValidators && options.fastValidators){
|
1532
|
+
webshims.reTest(['form-validators', 'form-validation']);
|
1533
|
+
}
|
1534
|
+
|
1535
|
+
if(document.readyState == 'complete'){
|
1536
|
+
webshims.isReady('WINDOWLOAD', true);
|
1537
|
+
}
|
1528
1538
|
});
|
1529
1539
|
;webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
1530
1540
|
"use strict";
|
@@ -549,8 +549,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
549
549
|
webshims.warn(type +' already implemented for element #'+elem.id);
|
550
550
|
return false;
|
551
551
|
}
|
552
|
+
|
552
553
|
data[type] = true;
|
553
|
-
return
|
554
|
+
return !$(elem).hasClass('ws-nopolyfill');
|
554
555
|
},
|
555
556
|
extendUNDEFProp: function(obj, props){
|
556
557
|
$.each(props, function(name, prop){
|
@@ -1239,6 +1240,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1239
1240
|
};
|
1240
1241
|
var lazyLoad = function(){
|
1241
1242
|
var toLoad = ['form-validation'];
|
1243
|
+
|
1244
|
+
$(document).off('.lazyloadvalidation');
|
1245
|
+
|
1242
1246
|
if(options.lazyCustomMessages){
|
1243
1247
|
options.customMessages = true;
|
1244
1248
|
toLoad.push('form-message');
|
@@ -1253,7 +1257,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1253
1257
|
toLoad.push('form-validators');
|
1254
1258
|
}
|
1255
1259
|
webshims.reTest(toLoad);
|
1256
|
-
$(document).off('.lazyloadvalidation');
|
1257
1260
|
};
|
1258
1261
|
/*
|
1259
1262
|
* Selectors for all browsers
|
@@ -1310,11 +1313,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1310
1313
|
};
|
1311
1314
|
$.extend(exp, {
|
1312
1315
|
"enabled": function( elem ) {
|
1313
|
-
return elem.disabled === false &&
|
1316
|
+
return 'disabled' in elem && elem.disabled === false && !$.find.matchesSelector(elem, 'fieldset[disabled] *');
|
1314
1317
|
},
|
1315
1318
|
|
1316
1319
|
"disabled": function( elem ) {
|
1317
|
-
return elem.disabled === true || ('disabled' in elem &&
|
1320
|
+
return elem.disabled === true || ('disabled' in elem && $.find.matchesSelector(elem, 'fieldset[disabled] *'));
|
1318
1321
|
}
|
1319
1322
|
});
|
1320
1323
|
}
|
@@ -1493,8 +1496,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1493
1496
|
};
|
1494
1497
|
|
1495
1498
|
|
1496
|
-
|
1497
|
-
$(document).on('focusin.lazyloadvalidation', function(e){
|
1499
|
+
$(document).on('focusin.lazyloadvalidation mousedown.lazyloadvalidation touchstart.lazyloadvalidation', function(e){
|
1498
1500
|
if('form' in e.target){
|
1499
1501
|
lazyLoad();
|
1500
1502
|
}
|
@@ -1525,6 +1527,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1525
1527
|
});
|
1526
1528
|
}
|
1527
1529
|
});
|
1530
|
+
|
1531
|
+
if(options.addValidators && options.fastValidators){
|
1532
|
+
webshims.reTest(['form-validators', 'form-validation']);
|
1533
|
+
}
|
1534
|
+
|
1535
|
+
if(document.readyState == 'complete'){
|
1536
|
+
webshims.isReady('WINDOWLOAD', true);
|
1537
|
+
}
|
1528
1538
|
});
|
1529
1539
|
;webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
1530
1540
|
"use strict";
|
@@ -549,8 +549,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
549
549
|
webshims.warn(type +' already implemented for element #'+elem.id);
|
550
550
|
return false;
|
551
551
|
}
|
552
|
+
|
552
553
|
data[type] = true;
|
553
|
-
return
|
554
|
+
return !$(elem).hasClass('ws-nopolyfill');
|
554
555
|
},
|
555
556
|
extendUNDEFProp: function(obj, props){
|
556
557
|
$.each(props, function(name, prop){
|
@@ -1239,6 +1240,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1239
1240
|
};
|
1240
1241
|
var lazyLoad = function(){
|
1241
1242
|
var toLoad = ['form-validation'];
|
1243
|
+
|
1244
|
+
$(document).off('.lazyloadvalidation');
|
1245
|
+
|
1242
1246
|
if(options.lazyCustomMessages){
|
1243
1247
|
options.customMessages = true;
|
1244
1248
|
toLoad.push('form-message');
|
@@ -1253,7 +1257,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1253
1257
|
toLoad.push('form-validators');
|
1254
1258
|
}
|
1255
1259
|
webshims.reTest(toLoad);
|
1256
|
-
$(document).off('.lazyloadvalidation');
|
1257
1260
|
};
|
1258
1261
|
/*
|
1259
1262
|
* Selectors for all browsers
|
@@ -1310,11 +1313,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1310
1313
|
};
|
1311
1314
|
$.extend(exp, {
|
1312
1315
|
"enabled": function( elem ) {
|
1313
|
-
return elem.disabled === false &&
|
1316
|
+
return 'disabled' in elem && elem.disabled === false && !$.find.matchesSelector(elem, 'fieldset[disabled] *');
|
1314
1317
|
},
|
1315
1318
|
|
1316
1319
|
"disabled": function( elem ) {
|
1317
|
-
return elem.disabled === true || ('disabled' in elem &&
|
1320
|
+
return elem.disabled === true || ('disabled' in elem && $.find.matchesSelector(elem, 'fieldset[disabled] *'));
|
1318
1321
|
}
|
1319
1322
|
});
|
1320
1323
|
}
|
@@ -1493,8 +1496,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1493
1496
|
};
|
1494
1497
|
|
1495
1498
|
|
1496
|
-
|
1497
|
-
$(document).on('focusin.lazyloadvalidation', function(e){
|
1499
|
+
$(document).on('focusin.lazyloadvalidation mousedown.lazyloadvalidation touchstart.lazyloadvalidation', function(e){
|
1498
1500
|
if('form' in e.target){
|
1499
1501
|
lazyLoad();
|
1500
1502
|
}
|
@@ -1525,6 +1527,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1525
1527
|
});
|
1526
1528
|
}
|
1527
1529
|
});
|
1530
|
+
|
1531
|
+
if(options.addValidators && options.fastValidators){
|
1532
|
+
webshims.reTest(['form-validators', 'form-validation']);
|
1533
|
+
}
|
1534
|
+
|
1535
|
+
if(document.readyState == 'complete'){
|
1536
|
+
webshims.isReady('WINDOWLOAD', true);
|
1537
|
+
}
|
1528
1538
|
});
|
1529
1539
|
;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
|
1530
1540
|
"use strict";
|