webshims-rails 1.14.3 → 1.14.4
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 +4 -0
- data/vendor/assets/javascripts/webshims/polyfiller.js +141 -139
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +1 -3
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +22 -33
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +76 -73
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +37 -41
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -40
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +7 -7
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +23 -32
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +36 -57
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +611 -4604
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +27 -47
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -31
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +24 -16
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -25
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +40 -27
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +167 -166
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +5 -5
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +14 -22
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +16 -24
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +14 -22
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +27 -28
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +5 -14
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +78 -66
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +80 -68
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +29 -49
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +27 -47
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +78 -75
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +42 -29
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +116 -40
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +112 -38
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +3 -12
- data/vendor/assets/javascripts/webshims/shims/es5.js +4 -4
- data/vendor/assets/javascripts/webshims/shims/es6.js +1887 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +9 -8
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-inputmode.js +52 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +7 -8
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +164 -163
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +121 -144
- data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +3 -0
- data/vendor/assets/javascripts/webshims/shims/jme/alternate-media.js +184 -0
- data/vendor/assets/javascripts/webshims/shims/jme/{b.js → base.js} +38 -27
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +129 -39
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +145 -44
- data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +448 -90
- data/vendor/assets/javascripts/webshims/shims/jme/{c.js → mediacontrols.js} +74 -11
- data/vendor/assets/javascripts/webshims/shims/jme/{p.js → playlist.js} +4 -2
- data/vendor/assets/javascripts/webshims/shims/matchMedia.js +122 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +12 -24
- data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +37 -15
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/picture.js +13 -54
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +13 -20
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +24 -18
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +32 -10
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +43 -47
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +30 -18
- data/vendor/assets/javascripts/webshims/shims/styles/transparent.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/track.js +24 -16
- metadata +9 -8
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +0 -4745
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +0 -4522
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +0 -2443
- data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +0 -1
@@ -158,7 +158,7 @@ var swfmini = function() {
|
|
158
158
|
webshims.$.noop
|
159
159
|
;
|
160
160
|
|
161
|
-
if(!
|
161
|
+
if(!webshims.support.mediaelement){
|
162
162
|
loadEmbed();
|
163
163
|
} else {
|
164
164
|
webshims.ready('WINDOWLOAD', loadEmbed);
|
@@ -285,7 +285,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
285
285
|
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
286
286
|
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
287
287
|
var has = Object.prototype.hasOwnProperty;
|
288
|
-
webshims.assumeARIA =
|
288
|
+
webshims.assumeARIA = true;
|
289
289
|
|
290
290
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
291
291
|
webshims.error("IE browser modes are busted in IE10+. Please test your HTML/CSS/JS with a real IE version or at least IETester or similiar tools");
|
@@ -304,15 +304,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
304
304
|
}
|
305
305
|
window.jQuery = webshims.$;
|
306
306
|
}
|
307
|
-
if(webshims.M != Modernizr){
|
308
|
-
webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
|
309
|
-
for(var i in Modernizr){
|
310
|
-
if(!(i in webshims.M)){
|
311
|
-
webshims.M[i] = Modernizr[i];
|
312
|
-
}
|
313
|
-
}
|
314
|
-
Modernizr = webshims.M;
|
315
|
-
}
|
316
307
|
};
|
317
308
|
switch$();
|
318
309
|
setTimeout(switch$, 90);
|
@@ -641,7 +632,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
641
632
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
642
633
|
|
643
634
|
//see also: https://github.com/lojjic/PIE/issues/40 | https://prototype.lighthouseapp.com/projects/8886/tickets/1107-ie8-fatal-crash-when-prototypejs-is-loaded-with-rounded-cornershtc
|
644
|
-
var isExtendNativeSave =
|
635
|
+
var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
|
645
636
|
return function(nodeName, prop, desc){
|
646
637
|
var elem , elemProto;
|
647
638
|
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
@@ -952,7 +943,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
952
943
|
});
|
953
944
|
}
|
954
945
|
webshims.ready('WINDOWLOAD', this.test);
|
955
|
-
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
946
|
+
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
|
956
947
|
$(window).on('resize', this.handler);
|
957
948
|
}
|
958
949
|
}
|
@@ -1462,13 +1453,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1462
1453
|
e._isPolyfilled = true;
|
1463
1454
|
}
|
1464
1455
|
};
|
1465
|
-
|
1466
|
-
if(Modernizr.formvalidation && !webshims.bugs.bustedValidity){
|
1467
|
-
//create delegatable events
|
1468
|
-
webshims.capturingEvents(['invalid'], true);
|
1469
|
-
}
|
1456
|
+
|
1470
1457
|
|
1471
1458
|
var modules = webshims.modules;
|
1459
|
+
var support = webshims.support;
|
1472
1460
|
var isValid = function(elem){
|
1473
1461
|
return ($.prop(elem, 'validity') || {valid: 1}).valid;
|
1474
1462
|
};
|
@@ -1522,7 +1510,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1522
1510
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
|
1523
1511
|
},
|
1524
1512
|
"user-error": function(elem){
|
1525
|
-
return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
|
1513
|
+
return ($.prop(elem, 'willValidate') && $(elem).getShadowElement().hasClass((options.iVal.errorClass || 'user-error')));
|
1526
1514
|
},
|
1527
1515
|
"optional-element": function(elem){
|
1528
1516
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
|
@@ -1534,7 +1522,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1534
1522
|
});
|
1535
1523
|
|
1536
1524
|
// sizzle/jQuery has a bug with :disabled/:enabled selectors
|
1537
|
-
if(
|
1525
|
+
if(support.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
|
1538
1526
|
matches = $.find.matches;
|
1539
1527
|
matchesOverride = {':disabled': 1, ':enabled': 1};
|
1540
1528
|
$.find.matches = function(expr, elements){
|
@@ -1588,6 +1576,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1588
1576
|
addModule('form-validators', $.extend({}, formExtras));
|
1589
1577
|
|
1590
1578
|
|
1579
|
+
if(support.formvalidation && !webshims.bugs.bustedValidity){
|
1580
|
+
//create delegatable events
|
1581
|
+
webshims.capturingEvents(['invalid'], true);
|
1582
|
+
}
|
1591
1583
|
|
1592
1584
|
if($.expr.filters){
|
1593
1585
|
extendSels();
|
@@ -1733,7 +1725,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1733
1725
|
|
1734
1726
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
1735
1727
|
|
1736
|
-
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (
|
1728
|
+
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (support.inputtypes.range && support.inputtypes.color))){
|
1737
1729
|
webshims.isReady('form-number-date-ui', true);
|
1738
1730
|
}
|
1739
1731
|
|
@@ -1814,12 +1806,11 @@ var typeModels = webshims.inputTypes,
|
|
1814
1806
|
}
|
1815
1807
|
return fn;
|
1816
1808
|
})();
|
1817
|
-
|
1818
|
-
|
1819
|
-
|
1820
|
-
|
1821
|
-
|
1822
|
-
}
|
1809
|
+
|
1810
|
+
$.find.matchesSelector = function(node, expr){
|
1811
|
+
expr = expr.replace(regExp, regFn);
|
1812
|
+
return matchesSelector.call(this, node, expr);
|
1813
|
+
};
|
1823
1814
|
|
1824
1815
|
})();
|
1825
1816
|
}
|
@@ -2274,7 +2265,7 @@ webshims.defineNodeNameProperty('form', 'noValidate', {
|
|
2274
2265
|
});
|
2275
2266
|
});
|
2276
2267
|
|
2277
|
-
if(
|
2268
|
+
if(webshims.support.inputtypes.date && /webkit/i.test(navigator.userAgent)){
|
2278
2269
|
(function(){
|
2279
2270
|
|
2280
2271
|
var noInputTriggerEvts = {updateInput: 1, input: 1},
|
@@ -2386,7 +2377,7 @@ webshims.addReady(function(context, contextElem){
|
|
2386
2377
|
|
2387
2378
|
});
|
2388
2379
|
|
2389
|
-
if(!
|
2380
|
+
if(!webshims.support.datalist){
|
2390
2381
|
webshims.defineNodeNameProperty('datalist', 'options', {
|
2391
2382
|
prop: {
|
2392
2383
|
writeable: false,
|
@@ -2820,7 +2811,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2820
2811
|
};
|
2821
2812
|
|
2822
2813
|
|
2823
|
-
if(!
|
2814
|
+
if(!webshims.support.formvalidation || webshims.bugs.bustedValidity){
|
2824
2815
|
implementProperties.push('validationMessage');
|
2825
2816
|
}
|
2826
2817
|
|
@@ -2856,7 +2847,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2856
2847
|
if(message){return message;}
|
2857
2848
|
|
2858
2849
|
if(validity.customError && elem.nodeName){
|
2859
|
-
message = (
|
2850
|
+
message = (webshims.support.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
|
2860
2851
|
if(message){return message;}
|
2861
2852
|
}
|
2862
2853
|
$.each(validity, function(name, prop){
|
@@ -2935,8 +2926,8 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2935
2926
|
*/
|
2936
2927
|
|
2937
2928
|
(function(){
|
2938
|
-
var formsCFG =
|
2939
|
-
var listSupport =
|
2929
|
+
var formsCFG = webshims.cfg.forms;
|
2930
|
+
var listSupport = webshims.support.datalist;
|
2940
2931
|
if(listSupport && !formsCFG.customDatalist){return;}
|
2941
2932
|
|
2942
2933
|
var initializeDatalist = function(){
|
@@ -3174,9 +3165,10 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
3174
3165
|
})();
|
3175
3166
|
|
3176
3167
|
});
|
3177
|
-
;(function(
|
3168
|
+
;(function(webshims){
|
3178
3169
|
"use strict";
|
3179
|
-
var
|
3170
|
+
var support = webshims.support;
|
3171
|
+
var hasNative = support.mediaelement;
|
3180
3172
|
var supportsLoop = false;
|
3181
3173
|
var bugs = webshims.bugs;
|
3182
3174
|
var swfType = 'mediaelement-jaris';
|
@@ -3199,14 +3191,14 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
3199
3191
|
|
3200
3192
|
if(hasNative){
|
3201
3193
|
var videoElem = document.createElement('video');
|
3202
|
-
|
3203
|
-
|
3194
|
+
support.videoBuffered = ('buffered' in videoElem);
|
3195
|
+
support.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
3204
3196
|
supportsLoop = ('loop' in videoElem);
|
3205
|
-
|
3197
|
+
support.mediaLoop = supportsLoop;
|
3206
3198
|
|
3207
3199
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
3208
3200
|
|
3209
|
-
if( !
|
3201
|
+
if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
|
3210
3202
|
webshims.addPolyfill('mediaelement-native-fix', {
|
3211
3203
|
d: ['dom-support']
|
3212
3204
|
});
|
@@ -3214,7 +3206,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
3214
3206
|
}
|
3215
3207
|
}
|
3216
3208
|
|
3217
|
-
if(
|
3209
|
+
if(support.track && !bugs.track){
|
3218
3210
|
(function(){
|
3219
3211
|
if(!bugs.track){
|
3220
3212
|
|
@@ -3546,19 +3538,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3546
3538
|
}
|
3547
3539
|
}
|
3548
3540
|
};
|
3549
|
-
var
|
3550
|
-
var fixPreload = function(elem){
|
3551
|
-
var preload, img;
|
3552
|
-
if(elem.getAttribute('preload') == 'none'){
|
3553
|
-
if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
|
3554
|
-
$.attr(elem, 'preload', preload);
|
3555
|
-
} else if(hasNative && (preload = elem.getAttribute('poster'))){
|
3556
|
-
img = document.createElement('img');
|
3557
|
-
img.src = preload;
|
3558
|
-
}
|
3559
|
-
}
|
3560
|
-
};
|
3561
|
-
var stopParent = /^(?:embed|object|datalist)$/i;
|
3541
|
+
var stopParent = /^(?:embed|object|datalist|picture)$/i;
|
3562
3542
|
var selectSource = function(elem, data){
|
3563
3543
|
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
3564
3544
|
var _srces = mediaelement.srces(elem);
|
@@ -3573,7 +3553,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3573
3553
|
if(mediaelement.sortMedia){
|
3574
3554
|
_srces.sort(mediaelement.sortMedia);
|
3575
3555
|
}
|
3576
|
-
fixPreload(elem);
|
3577
3556
|
stepSources(elem, data, _srces);
|
3578
3557
|
|
3579
3558
|
};
|
@@ -3597,7 +3576,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3597
3576
|
|
3598
3577
|
if(webshims.implement(this, 'mediaelement')){
|
3599
3578
|
selectSource(this);
|
3600
|
-
if(!
|
3579
|
+
if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
3601
3580
|
$.prop(this, 'muted', true);
|
3602
3581
|
}
|
3603
3582
|
|
@@ -3622,7 +3601,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3622
3601
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
3623
3602
|
supLoad.prop._supvalue.apply(this, arguments);
|
3624
3603
|
}
|
3625
|
-
if(!loadTrackUi.loaded &&
|
3604
|
+
if(!loadTrackUi.loaded && this.querySelector('track')){
|
3626
3605
|
loadTrackUi();
|
3627
3606
|
}
|
3628
3607
|
$(this).triggerHandler('wsmediareload');
|
@@ -3721,4 +3700,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3721
3700
|
webshims.ready('track', loadTrackUi);
|
3722
3701
|
});
|
3723
3702
|
|
3724
|
-
})(
|
3703
|
+
})(webshims);
|
@@ -1239,7 +1239,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
1239
1239
|
"use strict";
|
1240
1240
|
var curCfg;
|
1241
1241
|
var formcfg = webshims.formcfg;
|
1242
|
-
var hasFormValidation =
|
1242
|
+
var hasFormValidation = webshims.support.formvalidation && !webshims.bugs.bustedValidity;
|
1243
1243
|
var monthDigits = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
1244
1244
|
var stopPropagation = function(e){
|
1245
1245
|
e.stopImmediatePropagation();
|
@@ -1292,7 +1292,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
1292
1292
|
;
|
1293
1293
|
}
|
1294
1294
|
};
|
1295
|
-
var numericType =
|
1295
|
+
var numericType = webshims.support.inputtypes.tel && navigator.userAgent.indexOf('Mobile') != -1 && !('inputMode' in document.createElement('input') && !('inputmode' in document.createElement('input'))) ?
|
1296
1296
|
'tel' : 'text';
|
1297
1297
|
var splitInputs = {
|
1298
1298
|
date: {
|
@@ -2333,74 +2333,86 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2333
2333
|
})();
|
2334
2334
|
|
2335
2335
|
|
2336
|
-
$.fn.wsTouchClick = (function(){
|
2337
|
-
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
2338
|
-
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
2339
|
-
return function(target, handler){
|
2340
|
-
var touchData, touchEnd, touchStart;
|
2341
2336
|
|
2342
|
-
|
2337
|
+
if(!$.fn.wsTouchClick){
|
2343
2338
|
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2347
|
-
|
2348
|
-
|
2349
|
-
|
2350
|
-
|
2339
|
+
$.fn.wsTouchClick = (function(){
|
2340
|
+
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
2341
|
+
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
2342
|
+
return function(target, handler){
|
2343
|
+
var touchData, touchEnd, touchStart, stopClick, allowClick;
|
2344
|
+
var runHandler = function(){
|
2345
|
+
if(!stopClick){
|
2346
|
+
return handler.apply(this, arguments);
|
2351
2347
|
}
|
2348
|
+
};
|
2349
|
+
if(addTouch){
|
2350
|
+
allowClick = function(){
|
2351
|
+
stopClick = false;
|
2352
|
+
};
|
2353
|
+
touchEnd = function(e){
|
2354
|
+
var ret, touch;
|
2355
|
+
e = e.originalEvent || {};
|
2356
|
+
$(this).off('touchend touchcancel', touchEnd);
|
2357
|
+
var changedTouches = e.changedTouches || e.touches;
|
2358
|
+
if(e.type == 'touchcancel' || !touchData || !changedTouches || changedTouches.length != 1){
|
2359
|
+
return;
|
2360
|
+
}
|
2352
2361
|
|
2353
|
-
|
2354
|
-
|
2355
|
-
|
2356
|
-
|
2357
|
-
e.preventDefault();
|
2358
|
-
ret = handler.apply(this, arguments);
|
2362
|
+
touch = changedTouches[0];
|
2363
|
+
if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 300){
|
2364
|
+
return;
|
2365
|
+
}
|
2359
2366
|
|
2360
|
-
|
2361
|
-
|
2367
|
+
e.preventDefault();
|
2368
|
+
stopClick = true;
|
2369
|
+
setTimeout(allowClick, 400);
|
2362
2370
|
|
2363
|
-
|
2364
|
-
var touch, elemTarget;
|
2371
|
+
ret = handler.apply(this, arguments);
|
2365
2372
|
|
2373
|
+
return ret;
|
2374
|
+
};
|
2366
2375
|
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
|
2372
|
-
|
2373
|
-
|
2374
|
-
|
2375
|
-
|
2376
|
-
|
2377
|
-
|
2378
|
-
|
2376
|
+
touchStart = function(e){
|
2377
|
+
var touch, elemTarget;
|
2378
|
+
if((!e || e.touches.length != 1)){
|
2379
|
+
return;
|
2380
|
+
}
|
2381
|
+
touch = e.touches[0];
|
2382
|
+
elemTarget = target ? $(touch.target).closest(target) : $(this);
|
2383
|
+
if(!elemTarget.length){
|
2384
|
+
return;
|
2385
|
+
}
|
2386
|
+
touchData = {
|
2387
|
+
x: touch.pageX,
|
2388
|
+
y: touch.pageY,
|
2389
|
+
now: Date.now()
|
2390
|
+
};
|
2391
|
+
elemTarget.on('touchend touchcancel', touchEnd);
|
2379
2392
|
};
|
2380
|
-
elemTarget.on('touchend touchcancel', touchEnd);
|
2381
|
-
};
|
2382
2393
|
|
2383
|
-
|
2384
|
-
|
2385
|
-
|
2386
|
-
|
2387
|
-
|
2388
|
-
|
2394
|
+
this.each(function(){
|
2395
|
+
this.addEventListener('touchstart', touchStart, true);
|
2396
|
+
});
|
2397
|
+
} else if(supportsTouchaction){
|
2398
|
+
this.css('touch-action', 'manipulation');
|
2399
|
+
}
|
2389
2400
|
|
2390
|
-
|
2391
|
-
|
2392
|
-
|
2393
|
-
|
2394
|
-
|
2395
|
-
|
2396
|
-
|
2397
|
-
|
2398
|
-
|
2399
|
-
|
2401
|
+
if($.isFunction(target)){
|
2402
|
+
handler = target;
|
2403
|
+
target = false;
|
2404
|
+
this.on('click', runHandler);
|
2405
|
+
} else {
|
2406
|
+
this.on('click', target, runHandler);
|
2407
|
+
}
|
2408
|
+
return this;
|
2409
|
+
};
|
2410
|
+
})();
|
2411
|
+
}
|
2400
2412
|
|
2401
2413
|
(function(){
|
2402
2414
|
var picker = {};
|
2403
|
-
var assumeVirtualKeyBoard = Modernizr.touchevents || Modernizr.touch || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
2415
|
+
var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
2404
2416
|
webshims.inlinePopover = {
|
2405
2417
|
_create: function(){
|
2406
2418
|
this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
|
@@ -2790,7 +2802,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2790
2802
|
|
2791
2803
|
var stopCircular, isCheckValidity;
|
2792
2804
|
|
2793
|
-
var
|
2805
|
+
var supportInputTypes = webshims.support.inputtypes;
|
2794
2806
|
var inputTypes = {
|
2795
2807
|
|
2796
2808
|
};
|
@@ -2944,7 +2956,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2944
2956
|
var type = $.prop(this, 'type');
|
2945
2957
|
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
2946
2958
|
|
2947
|
-
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!
|
2959
|
+
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!supportInputTypes[type] || !$(this).hasClass('ws-noreplace'))){
|
2948
2960
|
data = {};
|
2949
2961
|
optsName = type;
|
2950
2962
|
hasInitialFocus = $(this).is(':focus');
|
@@ -3115,11 +3127,11 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
3115
3127
|
});
|
3116
3128
|
}
|
3117
3129
|
}
|
3118
|
-
if(
|
3130
|
+
if(supportInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
|
3119
3131
|
replace.number = 1;
|
3120
3132
|
}
|
3121
3133
|
|
3122
|
-
if(!
|
3134
|
+
if(!supportInputTypes.range || replace.range){
|
3123
3135
|
extendType('range', {
|
3124
3136
|
_create: function(opts, set){
|
3125
3137
|
var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
|
@@ -3130,7 +3142,7 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
3130
3142
|
|
3131
3143
|
|
3132
3144
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
3133
|
-
if(!
|
3145
|
+
if(!supportInputTypes[name] || replace[name]){
|
3134
3146
|
extendType(name, {
|
3135
3147
|
_create: function(opts, set){
|
3136
3148
|
if(opts.monthSelect || opts.daySelect || opts.yearSelect){
|