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);
|
@@ -241,13 +241,10 @@ webshims.isReady('swfmini', true);
|
|
241
241
|
e._isPolyfilled = true;
|
242
242
|
}
|
243
243
|
};
|
244
|
-
|
245
|
-
if(Modernizr.formvalidation && !webshims.bugs.bustedValidity){
|
246
|
-
//create delegatable events
|
247
|
-
webshims.capturingEvents(['invalid'], true);
|
248
|
-
}
|
244
|
+
|
249
245
|
|
250
246
|
var modules = webshims.modules;
|
247
|
+
var support = webshims.support;
|
251
248
|
var isValid = function(elem){
|
252
249
|
return ($.prop(elem, 'validity') || {valid: 1}).valid;
|
253
250
|
};
|
@@ -301,7 +298,7 @@ webshims.isReady('swfmini', true);
|
|
301
298
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
|
302
299
|
},
|
303
300
|
"user-error": function(elem){
|
304
|
-
return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
|
301
|
+
return ($.prop(elem, 'willValidate') && $(elem).getShadowElement().hasClass((options.iVal.errorClass || 'user-error')));
|
305
302
|
},
|
306
303
|
"optional-element": function(elem){
|
307
304
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
|
@@ -313,7 +310,7 @@ webshims.isReady('swfmini', true);
|
|
313
310
|
});
|
314
311
|
|
315
312
|
// sizzle/jQuery has a bug with :disabled/:enabled selectors
|
316
|
-
if(
|
313
|
+
if(support.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
|
317
314
|
matches = $.find.matches;
|
318
315
|
matchesOverride = {':disabled': 1, ':enabled': 1};
|
319
316
|
$.find.matches = function(expr, elements){
|
@@ -367,6 +364,10 @@ webshims.isReady('swfmini', true);
|
|
367
364
|
addModule('form-validators', $.extend({}, formExtras));
|
368
365
|
|
369
366
|
|
367
|
+
if(support.formvalidation && !webshims.bugs.bustedValidity){
|
368
|
+
//create delegatable events
|
369
|
+
webshims.capturingEvents(['invalid'], true);
|
370
|
+
}
|
370
371
|
|
371
372
|
if($.expr.filters){
|
372
373
|
extendSels();
|
@@ -512,7 +513,7 @@ webshims.isReady('swfmini', true);
|
|
512
513
|
|
513
514
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
514
515
|
|
515
|
-
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (
|
516
|
+
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (support.inputtypes.range && support.inputtypes.color))){
|
516
517
|
webshims.isReady('form-number-date-ui', true);
|
517
518
|
}
|
518
519
|
|
@@ -536,9 +537,10 @@ webshims.isReady('swfmini', true);
|
|
536
537
|
}
|
537
538
|
});
|
538
539
|
});
|
539
|
-
;(function(
|
540
|
+
;(function(webshims){
|
540
541
|
"use strict";
|
541
|
-
var
|
542
|
+
var support = webshims.support;
|
543
|
+
var hasNative = support.mediaelement;
|
542
544
|
var supportsLoop = false;
|
543
545
|
var bugs = webshims.bugs;
|
544
546
|
var swfType = 'mediaelement-jaris';
|
@@ -561,14 +563,14 @@ webshims.isReady('swfmini', true);
|
|
561
563
|
|
562
564
|
if(hasNative){
|
563
565
|
var videoElem = document.createElement('video');
|
564
|
-
|
565
|
-
|
566
|
+
support.videoBuffered = ('buffered' in videoElem);
|
567
|
+
support.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
566
568
|
supportsLoop = ('loop' in videoElem);
|
567
|
-
|
569
|
+
support.mediaLoop = supportsLoop;
|
568
570
|
|
569
571
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
570
572
|
|
571
|
-
if( !
|
573
|
+
if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
|
572
574
|
webshims.addPolyfill('mediaelement-native-fix', {
|
573
575
|
d: ['dom-support']
|
574
576
|
});
|
@@ -576,7 +578,7 @@ webshims.isReady('swfmini', true);
|
|
576
578
|
}
|
577
579
|
}
|
578
580
|
|
579
|
-
if(
|
581
|
+
if(support.track && !bugs.track){
|
580
582
|
(function(){
|
581
583
|
if(!bugs.track){
|
582
584
|
|
@@ -908,19 +910,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
908
910
|
}
|
909
911
|
}
|
910
912
|
};
|
911
|
-
var
|
912
|
-
var fixPreload = function(elem){
|
913
|
-
var preload, img;
|
914
|
-
if(elem.getAttribute('preload') == 'none'){
|
915
|
-
if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
|
916
|
-
$.attr(elem, 'preload', preload);
|
917
|
-
} else if(hasNative && (preload = elem.getAttribute('poster'))){
|
918
|
-
img = document.createElement('img');
|
919
|
-
img.src = preload;
|
920
|
-
}
|
921
|
-
}
|
922
|
-
};
|
923
|
-
var stopParent = /^(?:embed|object|datalist)$/i;
|
913
|
+
var stopParent = /^(?:embed|object|datalist|picture)$/i;
|
924
914
|
var selectSource = function(elem, data){
|
925
915
|
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
926
916
|
var _srces = mediaelement.srces(elem);
|
@@ -935,7 +925,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
935
925
|
if(mediaelement.sortMedia){
|
936
926
|
_srces.sort(mediaelement.sortMedia);
|
937
927
|
}
|
938
|
-
fixPreload(elem);
|
939
928
|
stepSources(elem, data, _srces);
|
940
929
|
|
941
930
|
};
|
@@ -959,7 +948,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
959
948
|
|
960
949
|
if(webshims.implement(this, 'mediaelement')){
|
961
950
|
selectSource(this);
|
962
|
-
if(!
|
951
|
+
if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
963
952
|
$.prop(this, 'muted', true);
|
964
953
|
}
|
965
954
|
|
@@ -984,7 +973,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
984
973
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
985
974
|
supLoad.prop._supvalue.apply(this, arguments);
|
986
975
|
}
|
987
|
-
if(!loadTrackUi.loaded &&
|
976
|
+
if(!loadTrackUi.loaded && this.querySelector('track')){
|
988
977
|
loadTrackUi();
|
989
978
|
}
|
990
979
|
$(this).triggerHandler('wsmediareload');
|
@@ -1083,4 +1072,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1083
1072
|
webshims.ready('track', loadTrackUi);
|
1084
1073
|
});
|
1085
1074
|
|
1086
|
-
})(
|
1075
|
+
})(webshims);
|
@@ -62,7 +62,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
62
62
|
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
63
63
|
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
64
64
|
var has = Object.prototype.hasOwnProperty;
|
65
|
-
webshims.assumeARIA =
|
65
|
+
webshims.assumeARIA = true;
|
66
66
|
|
67
67
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
68
68
|
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");
|
@@ -81,15 +81,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
81
81
|
}
|
82
82
|
window.jQuery = webshims.$;
|
83
83
|
}
|
84
|
-
if(webshims.M != Modernizr){
|
85
|
-
webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
|
86
|
-
for(var i in Modernizr){
|
87
|
-
if(!(i in webshims.M)){
|
88
|
-
webshims.M[i] = Modernizr[i];
|
89
|
-
}
|
90
|
-
}
|
91
|
-
Modernizr = webshims.M;
|
92
|
-
}
|
93
84
|
};
|
94
85
|
switch$();
|
95
86
|
setTimeout(switch$, 90);
|
@@ -418,7 +409,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
418
409
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
419
410
|
|
420
411
|
//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
|
421
|
-
var isExtendNativeSave =
|
412
|
+
var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
|
422
413
|
return function(nodeName, prop, desc){
|
423
414
|
var elem , elemProto;
|
424
415
|
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
@@ -729,7 +720,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
729
720
|
});
|
730
721
|
}
|
731
722
|
webshims.ready('WINDOWLOAD', this.test);
|
732
|
-
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
723
|
+
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
|
733
724
|
$(window).on('resize', this.handler);
|
734
725
|
}
|
735
726
|
}
|
@@ -1843,7 +1834,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1843
1834
|
"use strict";
|
1844
1835
|
var curCfg;
|
1845
1836
|
var formcfg = webshims.formcfg;
|
1846
|
-
var hasFormValidation =
|
1837
|
+
var hasFormValidation = webshims.support.formvalidation && !webshims.bugs.bustedValidity;
|
1847
1838
|
var monthDigits = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
1848
1839
|
var stopPropagation = function(e){
|
1849
1840
|
e.stopImmediatePropagation();
|
@@ -1896,7 +1887,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1896
1887
|
;
|
1897
1888
|
}
|
1898
1889
|
};
|
1899
|
-
var numericType =
|
1890
|
+
var numericType = webshims.support.inputtypes.tel && navigator.userAgent.indexOf('Mobile') != -1 && !('inputMode' in document.createElement('input') && !('inputmode' in document.createElement('input'))) ?
|
1900
1891
|
'tel' : 'text';
|
1901
1892
|
var splitInputs = {
|
1902
1893
|
date: {
|
@@ -2937,74 +2928,86 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2937
2928
|
})();
|
2938
2929
|
|
2939
2930
|
|
2940
|
-
$.fn.wsTouchClick = (function(){
|
2941
|
-
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
2942
|
-
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
2943
|
-
return function(target, handler){
|
2944
|
-
var touchData, touchEnd, touchStart;
|
2945
2931
|
|
2946
|
-
|
2932
|
+
if(!$.fn.wsTouchClick){
|
2947
2933
|
|
2948
|
-
|
2949
|
-
|
2950
|
-
|
2951
|
-
|
2952
|
-
|
2953
|
-
|
2954
|
-
|
2934
|
+
$.fn.wsTouchClick = (function(){
|
2935
|
+
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
2936
|
+
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
2937
|
+
return function(target, handler){
|
2938
|
+
var touchData, touchEnd, touchStart, stopClick, allowClick;
|
2939
|
+
var runHandler = function(){
|
2940
|
+
if(!stopClick){
|
2941
|
+
return handler.apply(this, arguments);
|
2955
2942
|
}
|
2943
|
+
};
|
2944
|
+
if(addTouch){
|
2945
|
+
allowClick = function(){
|
2946
|
+
stopClick = false;
|
2947
|
+
};
|
2948
|
+
touchEnd = function(e){
|
2949
|
+
var ret, touch;
|
2950
|
+
e = e.originalEvent || {};
|
2951
|
+
$(this).off('touchend touchcancel', touchEnd);
|
2952
|
+
var changedTouches = e.changedTouches || e.touches;
|
2953
|
+
if(e.type == 'touchcancel' || !touchData || !changedTouches || changedTouches.length != 1){
|
2954
|
+
return;
|
2955
|
+
}
|
2956
2956
|
|
2957
|
-
|
2958
|
-
|
2959
|
-
|
2960
|
-
|
2961
|
-
e.preventDefault();
|
2962
|
-
ret = handler.apply(this, arguments);
|
2957
|
+
touch = changedTouches[0];
|
2958
|
+
if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 300){
|
2959
|
+
return;
|
2960
|
+
}
|
2963
2961
|
|
2964
|
-
|
2965
|
-
|
2962
|
+
e.preventDefault();
|
2963
|
+
stopClick = true;
|
2964
|
+
setTimeout(allowClick, 400);
|
2966
2965
|
|
2967
|
-
|
2968
|
-
var touch, elemTarget;
|
2966
|
+
ret = handler.apply(this, arguments);
|
2969
2967
|
|
2968
|
+
return ret;
|
2969
|
+
};
|
2970
2970
|
|
2971
|
-
|
2972
|
-
|
2973
|
-
|
2974
|
-
|
2975
|
-
|
2976
|
-
|
2977
|
-
|
2978
|
-
|
2979
|
-
|
2980
|
-
|
2981
|
-
|
2982
|
-
|
2971
|
+
touchStart = function(e){
|
2972
|
+
var touch, elemTarget;
|
2973
|
+
if((!e || e.touches.length != 1)){
|
2974
|
+
return;
|
2975
|
+
}
|
2976
|
+
touch = e.touches[0];
|
2977
|
+
elemTarget = target ? $(touch.target).closest(target) : $(this);
|
2978
|
+
if(!elemTarget.length){
|
2979
|
+
return;
|
2980
|
+
}
|
2981
|
+
touchData = {
|
2982
|
+
x: touch.pageX,
|
2983
|
+
y: touch.pageY,
|
2984
|
+
now: Date.now()
|
2985
|
+
};
|
2986
|
+
elemTarget.on('touchend touchcancel', touchEnd);
|
2983
2987
|
};
|
2984
|
-
elemTarget.on('touchend touchcancel', touchEnd);
|
2985
|
-
};
|
2986
2988
|
|
2987
|
-
|
2988
|
-
|
2989
|
-
|
2990
|
-
|
2991
|
-
|
2992
|
-
|
2989
|
+
this.each(function(){
|
2990
|
+
this.addEventListener('touchstart', touchStart, true);
|
2991
|
+
});
|
2992
|
+
} else if(supportsTouchaction){
|
2993
|
+
this.css('touch-action', 'manipulation');
|
2994
|
+
}
|
2993
2995
|
|
2994
|
-
|
2995
|
-
|
2996
|
-
|
2997
|
-
|
2998
|
-
|
2999
|
-
|
3000
|
-
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
2996
|
+
if($.isFunction(target)){
|
2997
|
+
handler = target;
|
2998
|
+
target = false;
|
2999
|
+
this.on('click', runHandler);
|
3000
|
+
} else {
|
3001
|
+
this.on('click', target, runHandler);
|
3002
|
+
}
|
3003
|
+
return this;
|
3004
|
+
};
|
3005
|
+
})();
|
3006
|
+
}
|
3004
3007
|
|
3005
3008
|
(function(){
|
3006
3009
|
var picker = {};
|
3007
|
-
var assumeVirtualKeyBoard = Modernizr.touchevents || Modernizr.touch || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
3010
|
+
var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
3008
3011
|
webshims.inlinePopover = {
|
3009
3012
|
_create: function(){
|
3010
3013
|
this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
|
@@ -3394,7 +3397,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3394
3397
|
|
3395
3398
|
var stopCircular, isCheckValidity;
|
3396
3399
|
|
3397
|
-
var
|
3400
|
+
var supportInputTypes = webshims.support.inputtypes;
|
3398
3401
|
var inputTypes = {
|
3399
3402
|
|
3400
3403
|
};
|
@@ -3548,7 +3551,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3548
3551
|
var type = $.prop(this, 'type');
|
3549
3552
|
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
3550
3553
|
|
3551
|
-
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!
|
3554
|
+
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!supportInputTypes[type] || !$(this).hasClass('ws-noreplace'))){
|
3552
3555
|
data = {};
|
3553
3556
|
optsName = type;
|
3554
3557
|
hasInitialFocus = $(this).is(':focus');
|
@@ -3719,11 +3722,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3719
3722
|
});
|
3720
3723
|
}
|
3721
3724
|
}
|
3722
|
-
if(
|
3725
|
+
if(supportInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
|
3723
3726
|
replace.number = 1;
|
3724
3727
|
}
|
3725
3728
|
|
3726
|
-
if(!
|
3729
|
+
if(!supportInputTypes.range || replace.range){
|
3727
3730
|
extendType('range', {
|
3728
3731
|
_create: function(opts, set){
|
3729
3732
|
var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
|
@@ -3734,7 +3737,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3734
3737
|
|
3735
3738
|
|
3736
3739
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
3737
|
-
if(!
|
3740
|
+
if(!supportInputTypes[name] || replace[name]){
|
3738
3741
|
extendType(name, {
|
3739
3742
|
_create: function(opts, set){
|
3740
3743
|
if(opts.monthSelect || opts.daySelect || opts.yearSelect){
|
@@ -622,7 +622,7 @@
|
|
622
622
|
"use strict";
|
623
623
|
var curCfg;
|
624
624
|
var formcfg = webshims.formcfg;
|
625
|
-
var hasFormValidation =
|
625
|
+
var hasFormValidation = webshims.support.formvalidation && !webshims.bugs.bustedValidity;
|
626
626
|
var monthDigits = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
627
627
|
var stopPropagation = function(e){
|
628
628
|
e.stopImmediatePropagation();
|
@@ -675,7 +675,7 @@
|
|
675
675
|
;
|
676
676
|
}
|
677
677
|
};
|
678
|
-
var numericType =
|
678
|
+
var numericType = webshims.support.inputtypes.tel && navigator.userAgent.indexOf('Mobile') != -1 && !('inputMode' in document.createElement('input') && !('inputmode' in document.createElement('input'))) ?
|
679
679
|
'tel' : 'text';
|
680
680
|
var splitInputs = {
|
681
681
|
date: {
|
@@ -1716,74 +1716,86 @@
|
|
1716
1716
|
})();
|
1717
1717
|
|
1718
1718
|
|
1719
|
-
$.fn.wsTouchClick = (function(){
|
1720
|
-
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
1721
|
-
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
1722
|
-
return function(target, handler){
|
1723
|
-
var touchData, touchEnd, touchStart;
|
1724
1719
|
|
1725
|
-
|
1720
|
+
if(!$.fn.wsTouchClick){
|
1726
1721
|
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
|
1731
|
-
|
1732
|
-
|
1733
|
-
|
1722
|
+
$.fn.wsTouchClick = (function(){
|
1723
|
+
var supportsTouchaction = ('touchAction' in document.documentElement.style);
|
1724
|
+
var addTouch = !supportsTouchaction && ('ontouchstart' in window) && document.addEventListener;
|
1725
|
+
return function(target, handler){
|
1726
|
+
var touchData, touchEnd, touchStart, stopClick, allowClick;
|
1727
|
+
var runHandler = function(){
|
1728
|
+
if(!stopClick){
|
1729
|
+
return handler.apply(this, arguments);
|
1734
1730
|
}
|
1731
|
+
};
|
1732
|
+
if(addTouch){
|
1733
|
+
allowClick = function(){
|
1734
|
+
stopClick = false;
|
1735
|
+
};
|
1736
|
+
touchEnd = function(e){
|
1737
|
+
var ret, touch;
|
1738
|
+
e = e.originalEvent || {};
|
1739
|
+
$(this).off('touchend touchcancel', touchEnd);
|
1740
|
+
var changedTouches = e.changedTouches || e.touches;
|
1741
|
+
if(e.type == 'touchcancel' || !touchData || !changedTouches || changedTouches.length != 1){
|
1742
|
+
return;
|
1743
|
+
}
|
1735
1744
|
|
1736
|
-
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
e.preventDefault();
|
1741
|
-
ret = handler.apply(this, arguments);
|
1745
|
+
touch = changedTouches[0];
|
1746
|
+
if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 300){
|
1747
|
+
return;
|
1748
|
+
}
|
1742
1749
|
|
1743
|
-
|
1744
|
-
|
1750
|
+
e.preventDefault();
|
1751
|
+
stopClick = true;
|
1752
|
+
setTimeout(allowClick, 400);
|
1745
1753
|
|
1746
|
-
|
1747
|
-
var touch, elemTarget;
|
1754
|
+
ret = handler.apply(this, arguments);
|
1748
1755
|
|
1756
|
+
return ret;
|
1757
|
+
};
|
1749
1758
|
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1761
|
-
|
1759
|
+
touchStart = function(e){
|
1760
|
+
var touch, elemTarget;
|
1761
|
+
if((!e || e.touches.length != 1)){
|
1762
|
+
return;
|
1763
|
+
}
|
1764
|
+
touch = e.touches[0];
|
1765
|
+
elemTarget = target ? $(touch.target).closest(target) : $(this);
|
1766
|
+
if(!elemTarget.length){
|
1767
|
+
return;
|
1768
|
+
}
|
1769
|
+
touchData = {
|
1770
|
+
x: touch.pageX,
|
1771
|
+
y: touch.pageY,
|
1772
|
+
now: Date.now()
|
1773
|
+
};
|
1774
|
+
elemTarget.on('touchend touchcancel', touchEnd);
|
1762
1775
|
};
|
1763
|
-
elemTarget.on('touchend touchcancel', touchEnd);
|
1764
|
-
};
|
1765
1776
|
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1777
|
+
this.each(function(){
|
1778
|
+
this.addEventListener('touchstart', touchStart, true);
|
1779
|
+
});
|
1780
|
+
} else if(supportsTouchaction){
|
1781
|
+
this.css('touch-action', 'manipulation');
|
1782
|
+
}
|
1772
1783
|
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1784
|
+
if($.isFunction(target)){
|
1785
|
+
handler = target;
|
1786
|
+
target = false;
|
1787
|
+
this.on('click', runHandler);
|
1788
|
+
} else {
|
1789
|
+
this.on('click', target, runHandler);
|
1790
|
+
}
|
1791
|
+
return this;
|
1792
|
+
};
|
1793
|
+
})();
|
1794
|
+
}
|
1783
1795
|
|
1784
1796
|
(function(){
|
1785
1797
|
var picker = {};
|
1786
|
-
var assumeVirtualKeyBoard = Modernizr.touchevents || Modernizr.touch || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
1798
|
+
var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
1787
1799
|
webshims.inlinePopover = {
|
1788
1800
|
_create: function(){
|
1789
1801
|
this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
|
@@ -2173,7 +2185,7 @@
|
|
2173
2185
|
|
2174
2186
|
var stopCircular, isCheckValidity;
|
2175
2187
|
|
2176
|
-
var
|
2188
|
+
var supportInputTypes = webshims.support.inputtypes;
|
2177
2189
|
var inputTypes = {
|
2178
2190
|
|
2179
2191
|
};
|
@@ -2327,7 +2339,7 @@
|
|
2327
2339
|
var type = $.prop(this, 'type');
|
2328
2340
|
var i, opts, data, optsName, labels, cNames, hasInitialFocus;
|
2329
2341
|
|
2330
|
-
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!
|
2342
|
+
if(inputTypes[type] && webshims.implement(this, 'inputwidgets') && (!supportInputTypes[type] || !$(this).hasClass('ws-noreplace'))){
|
2331
2343
|
data = {};
|
2332
2344
|
optsName = type;
|
2333
2345
|
hasInitialFocus = $(this).is(':focus');
|
@@ -2498,11 +2510,11 @@
|
|
2498
2510
|
});
|
2499
2511
|
}
|
2500
2512
|
}
|
2501
|
-
if(
|
2513
|
+
if(supportInputTypes.number && navigator.userAgent.indexOf('Touch') == -1 && ((/MSIE 1[0|1]\.\d/.test(navigator.userAgent)) || (/Trident\/7\.0/.test(navigator.userAgent)))){
|
2502
2514
|
replace.number = 1;
|
2503
2515
|
}
|
2504
2516
|
|
2505
|
-
if(!
|
2517
|
+
if(!supportInputTypes.range || replace.range){
|
2506
2518
|
extendType('range', {
|
2507
2519
|
_create: function(opts, set){
|
2508
2520
|
var data = $('<span />').insertAfter(opts.orig).rangeUI(opts).data('rangeUi');
|
@@ -2513,7 +2525,7 @@
|
|
2513
2525
|
|
2514
2526
|
|
2515
2527
|
['number', 'time', 'month', 'date', 'color', 'datetime-local'].forEach(function(name){
|
2516
|
-
if(!
|
2528
|
+
if(!supportInputTypes[name] || replace[name]){
|
2517
2529
|
extendType(name, {
|
2518
2530
|
_create: function(opts, set){
|
2519
2531
|
if(opts.monthSelect || opts.daySelect || opts.yearSelect){
|