webshims-rails 1.10.10 → 1.10.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/MIT_LICENSE.txt +3 -1
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +8 -9
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +91 -58
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +247 -101
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +241 -96
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +79 -58
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +79 -12
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +6 -5
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +68 -75
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +147 -133
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +288 -143
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +288 -143
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +85 -63
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +97 -91
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -17
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +17 -17
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +79 -58
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +17 -16
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +85 -63
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +6 -5
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -46
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +6 -5
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +13 -6
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +47 -31
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +47 -59
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -33
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +35 -31
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +304 -157
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +304 -185
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +126 -117
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +126 -89
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -129
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +6 -5
- data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +3 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -28
- data/vendor/assets/javascripts/webshims/shims/form-message.js +29 -26
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +16 -14
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +47 -47
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +241 -96
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +21 -16
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -16
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -41
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +17 -17
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +35 -33
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +17 -13
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +4 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +30 -28
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +35 -32
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +37 -36
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +5 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +33 -30
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +32 -30
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +79 -12
- data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +126 -121
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +100 -111
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -46
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +13 -6
- data/webshims-rails.gemspec +1 -0
- metadata +4 -3
@@ -165,52 +165,6 @@ var swfmini = function() {
|
|
165
165
|
}
|
166
166
|
|
167
167
|
|
168
|
-
/* Functions to abstract and display alternative content
|
169
|
-
*/
|
170
|
-
function displayAltContent(obj) {
|
171
|
-
if (ua.ie && ua.win && obj.readyState != 4) {
|
172
|
-
// IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
|
173
|
-
// because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
|
174
|
-
var el = createElement("div");
|
175
|
-
obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
|
176
|
-
el.parentNode.replaceChild(abstractAltContent(obj), el);
|
177
|
-
obj.style.display = "none";
|
178
|
-
(function(){
|
179
|
-
if (obj.readyState == 4) {
|
180
|
-
obj.parentNode.removeChild(obj);
|
181
|
-
}
|
182
|
-
else {
|
183
|
-
setTimeout(arguments.callee, 10);
|
184
|
-
}
|
185
|
-
})();
|
186
|
-
}
|
187
|
-
else {
|
188
|
-
obj.parentNode.replaceChild(abstractAltContent(obj), obj);
|
189
|
-
}
|
190
|
-
}
|
191
|
-
|
192
|
-
function abstractAltContent(obj) {
|
193
|
-
var ac = createElement("div");
|
194
|
-
if (ua.win && ua.ie) {
|
195
|
-
ac.innerHTML = obj.innerHTML;
|
196
|
-
}
|
197
|
-
else {
|
198
|
-
var nestedObj = obj.getElementsByTagName(OBJECT)[0];
|
199
|
-
if (nestedObj) {
|
200
|
-
var c = nestedObj.childNodes;
|
201
|
-
if (c) {
|
202
|
-
var cl = c.length;
|
203
|
-
for (var i = 0; i < cl; i++) {
|
204
|
-
if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
|
205
|
-
ac.appendChild(c[i].cloneNode(true));
|
206
|
-
}
|
207
|
-
}
|
208
|
-
}
|
209
|
-
}
|
210
|
-
}
|
211
|
-
return ac;
|
212
|
-
}
|
213
|
-
|
214
168
|
/* Cross-browser dynamic SWF creation
|
215
169
|
*/
|
216
170
|
function createSWF(attObj, parObj, id) {
|
@@ -511,7 +465,8 @@ var swfmini = function() {
|
|
511
465
|
}
|
512
466
|
});
|
513
467
|
};
|
514
|
-
var
|
468
|
+
var wsCfg = webshims.cfg;
|
469
|
+
var options = wsCfg.mediaelement;
|
515
470
|
var hasFullTrackSupport;
|
516
471
|
var hasSwf;
|
517
472
|
if(!options){
|
@@ -598,7 +553,7 @@ var swfmini = function() {
|
|
598
553
|
}
|
599
554
|
hasFullTrackSupport = Modernizr.track && !bugs.track;
|
600
555
|
|
601
|
-
webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
|
556
|
+
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
602
557
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
603
558
|
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
604
559
|
var mediaelement = webshims.mediaelement;
|
@@ -682,11 +637,21 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
682
637
|
var loadTrackUi = function(){
|
683
638
|
if(loadTrackUi.loaded){return;}
|
684
639
|
loadTrackUi.loaded = true;
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
640
|
+
if(!options.noAutoTrack){
|
641
|
+
webshims.ready('WINDOWLOAD', function(){
|
642
|
+
loadThird();
|
643
|
+
webshims.loader.loadList(['track-ui']);
|
644
|
+
});
|
645
|
+
}
|
689
646
|
};
|
647
|
+
// var loadMediaGroup = function(){
|
648
|
+
// if(!loadMediaGroup.loaded){
|
649
|
+
// loadMediaGroup.loaded = true;
|
650
|
+
// webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
|
651
|
+
// webshims.loader.loadList(['mediagroup']);
|
652
|
+
// });
|
653
|
+
// }
|
654
|
+
// };
|
690
655
|
var loadYt = (function(){
|
691
656
|
var loaded;
|
692
657
|
return function(){
|
@@ -711,6 +676,11 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
711
676
|
d: ['dom-support']
|
712
677
|
});
|
713
678
|
|
679
|
+
|
680
|
+
// webshims.addModule('mediagroup', {
|
681
|
+
// d: ['mediaelement', 'dom-support']
|
682
|
+
// });
|
683
|
+
|
714
684
|
mediaelement.mimeTypes = {
|
715
685
|
audio: {
|
716
686
|
//ogm shouldn´t be used!
|
@@ -1009,8 +979,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1009
979
|
|
1010
980
|
};
|
1011
981
|
|
1012
|
-
|
1013
|
-
|
1014
982
|
webshims.ready('dom-support', function(){
|
1015
983
|
handleMedia = true;
|
1016
984
|
|
@@ -1019,7 +987,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1019
987
|
}
|
1020
988
|
|
1021
989
|
['audio', 'video'].forEach(function(nodeName){
|
1022
|
-
var supLoad
|
990
|
+
var supLoad, supController;
|
991
|
+
supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
1023
992
|
prop: {
|
1024
993
|
value: function(){
|
1025
994
|
var data = webshims.data(this, 'mediaelement');
|
@@ -1050,7 +1019,59 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1050
1019
|
}
|
1051
1020
|
}
|
1052
1021
|
});
|
1022
|
+
|
1023
|
+
// supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
|
1024
|
+
// prop: {
|
1025
|
+
// get: function(type){
|
1026
|
+
// if(!loadMediaGroup.loaded){
|
1027
|
+
// loadMediaGroup();
|
1028
|
+
// }
|
1029
|
+
// if(mediaelement.controller){
|
1030
|
+
// return mediaelement.controller[nodeName].get.apply(this, arguments);
|
1031
|
+
// }
|
1032
|
+
// return supController.prop._supget && supController.prop._supget.apply(this, arguments);
|
1033
|
+
// },
|
1034
|
+
// set: function(){
|
1035
|
+
// var that = this;
|
1036
|
+
// var args = arguments;
|
1037
|
+
// if(!loadMediaGroup.loaded){
|
1038
|
+
// loadMediaGroup();
|
1039
|
+
// }
|
1040
|
+
// if(mediaelement.controller){
|
1041
|
+
// return mediaelement.controller[nodeName].set.apply(that, args);
|
1042
|
+
// } else {
|
1043
|
+
// webshims.ready('mediagroup', function(){
|
1044
|
+
// mediaelement.controller[nodeName].set.apply(that, args);
|
1045
|
+
// });
|
1046
|
+
// }
|
1047
|
+
// return supController.prop._supset && supController.prop._supset.apply(this, arguments);
|
1048
|
+
// }
|
1049
|
+
// }
|
1050
|
+
// });
|
1051
|
+
|
1052
|
+
// webshims.ready('mediagroup', function(){
|
1053
|
+
// mediaelement.controller[nodeName].sup = supController;
|
1054
|
+
// });
|
1053
1055
|
});
|
1056
|
+
|
1057
|
+
// webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
|
1058
|
+
// set: function(){
|
1059
|
+
// var that = this;
|
1060
|
+
// var args = arguments;
|
1061
|
+
// if(!loadMediaGroup.loaded){
|
1062
|
+
// loadMediaGroup();
|
1063
|
+
// }
|
1064
|
+
// if(mediaelement.mediagroup){
|
1065
|
+
// mediaelement.mediagroup.set.apply(that, args);
|
1066
|
+
// } else {
|
1067
|
+
// webshims.ready('mediagroup', function(){
|
1068
|
+
// mediaelement.mediagroup.set.apply(that, args);
|
1069
|
+
// });
|
1070
|
+
// }
|
1071
|
+
// },
|
1072
|
+
// initAttr: true
|
1073
|
+
// });
|
1074
|
+
|
1054
1075
|
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
1055
1076
|
set: function(){
|
1056
1077
|
var elem = this;
|
@@ -1072,6 +1093,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1072
1093
|
if(!loadTrackUi.loaded && $('track', media).length){
|
1073
1094
|
loadTrackUi();
|
1074
1095
|
}
|
1096
|
+
// if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
|
1097
|
+
// loadMediaGroup();
|
1098
|
+
// }
|
1075
1099
|
media = null;
|
1076
1100
|
});
|
1077
1101
|
});
|
@@ -1087,9 +1111,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1087
1111
|
handleMedia = true;
|
1088
1112
|
return false;
|
1089
1113
|
}
|
1090
|
-
if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
|
1091
|
-
loadTrackUi();
|
1092
|
-
}
|
1093
1114
|
})
|
1094
1115
|
;
|
1095
1116
|
}
|
@@ -13,7 +13,8 @@
|
|
13
13
|
}
|
14
14
|
});
|
15
15
|
};
|
16
|
-
var
|
16
|
+
var wsCfg = webshims.cfg;
|
17
|
+
var options = wsCfg.mediaelement;
|
17
18
|
var hasFullTrackSupport;
|
18
19
|
var hasSwf;
|
19
20
|
if(!options){
|
@@ -100,7 +101,7 @@
|
|
100
101
|
}
|
101
102
|
hasFullTrackSupport = Modernizr.track && !bugs.track;
|
102
103
|
|
103
|
-
webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
|
104
|
+
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
104
105
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
105
106
|
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
106
107
|
var mediaelement = webshims.mediaelement;
|
@@ -184,11 +185,21 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
184
185
|
var loadTrackUi = function(){
|
185
186
|
if(loadTrackUi.loaded){return;}
|
186
187
|
loadTrackUi.loaded = true;
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
188
|
+
if(!options.noAutoTrack){
|
189
|
+
webshims.ready('WINDOWLOAD', function(){
|
190
|
+
loadThird();
|
191
|
+
webshims.loader.loadList(['track-ui']);
|
192
|
+
});
|
193
|
+
}
|
191
194
|
};
|
195
|
+
// var loadMediaGroup = function(){
|
196
|
+
// if(!loadMediaGroup.loaded){
|
197
|
+
// loadMediaGroup.loaded = true;
|
198
|
+
// webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
|
199
|
+
// webshims.loader.loadList(['mediagroup']);
|
200
|
+
// });
|
201
|
+
// }
|
202
|
+
// };
|
192
203
|
var loadYt = (function(){
|
193
204
|
var loaded;
|
194
205
|
return function(){
|
@@ -213,6 +224,11 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
213
224
|
d: ['dom-support']
|
214
225
|
});
|
215
226
|
|
227
|
+
|
228
|
+
// webshims.addModule('mediagroup', {
|
229
|
+
// d: ['mediaelement', 'dom-support']
|
230
|
+
// });
|
231
|
+
|
216
232
|
mediaelement.mimeTypes = {
|
217
233
|
audio: {
|
218
234
|
//ogm shouldn´t be used!
|
@@ -511,8 +527,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
511
527
|
|
512
528
|
};
|
513
529
|
|
514
|
-
|
515
|
-
|
516
530
|
webshims.ready('dom-support', function(){
|
517
531
|
handleMedia = true;
|
518
532
|
|
@@ -521,7 +535,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
521
535
|
}
|
522
536
|
|
523
537
|
['audio', 'video'].forEach(function(nodeName){
|
524
|
-
var supLoad
|
538
|
+
var supLoad, supController;
|
539
|
+
supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
525
540
|
prop: {
|
526
541
|
value: function(){
|
527
542
|
var data = webshims.data(this, 'mediaelement');
|
@@ -552,7 +567,59 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
552
567
|
}
|
553
568
|
}
|
554
569
|
});
|
570
|
+
|
571
|
+
// supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
|
572
|
+
// prop: {
|
573
|
+
// get: function(type){
|
574
|
+
// if(!loadMediaGroup.loaded){
|
575
|
+
// loadMediaGroup();
|
576
|
+
// }
|
577
|
+
// if(mediaelement.controller){
|
578
|
+
// return mediaelement.controller[nodeName].get.apply(this, arguments);
|
579
|
+
// }
|
580
|
+
// return supController.prop._supget && supController.prop._supget.apply(this, arguments);
|
581
|
+
// },
|
582
|
+
// set: function(){
|
583
|
+
// var that = this;
|
584
|
+
// var args = arguments;
|
585
|
+
// if(!loadMediaGroup.loaded){
|
586
|
+
// loadMediaGroup();
|
587
|
+
// }
|
588
|
+
// if(mediaelement.controller){
|
589
|
+
// return mediaelement.controller[nodeName].set.apply(that, args);
|
590
|
+
// } else {
|
591
|
+
// webshims.ready('mediagroup', function(){
|
592
|
+
// mediaelement.controller[nodeName].set.apply(that, args);
|
593
|
+
// });
|
594
|
+
// }
|
595
|
+
// return supController.prop._supset && supController.prop._supset.apply(this, arguments);
|
596
|
+
// }
|
597
|
+
// }
|
598
|
+
// });
|
599
|
+
|
600
|
+
// webshims.ready('mediagroup', function(){
|
601
|
+
// mediaelement.controller[nodeName].sup = supController;
|
602
|
+
// });
|
555
603
|
});
|
604
|
+
|
605
|
+
// webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
|
606
|
+
// set: function(){
|
607
|
+
// var that = this;
|
608
|
+
// var args = arguments;
|
609
|
+
// if(!loadMediaGroup.loaded){
|
610
|
+
// loadMediaGroup();
|
611
|
+
// }
|
612
|
+
// if(mediaelement.mediagroup){
|
613
|
+
// mediaelement.mediagroup.set.apply(that, args);
|
614
|
+
// } else {
|
615
|
+
// webshims.ready('mediagroup', function(){
|
616
|
+
// mediaelement.mediagroup.set.apply(that, args);
|
617
|
+
// });
|
618
|
+
// }
|
619
|
+
// },
|
620
|
+
// initAttr: true
|
621
|
+
// });
|
622
|
+
|
556
623
|
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
557
624
|
set: function(){
|
558
625
|
var elem = this;
|
@@ -574,6 +641,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
574
641
|
if(!loadTrackUi.loaded && $('track', media).length){
|
575
642
|
loadTrackUi();
|
576
643
|
}
|
644
|
+
// if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
|
645
|
+
// loadMediaGroup();
|
646
|
+
// }
|
577
647
|
media = null;
|
578
648
|
});
|
579
649
|
});
|
@@ -589,9 +659,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
589
659
|
handleMedia = true;
|
590
660
|
return false;
|
591
661
|
}
|
592
|
-
if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
|
593
|
-
loadTrackUi();
|
594
|
-
}
|
595
662
|
})
|
596
663
|
;
|
597
664
|
}
|
@@ -804,8 +804,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
804
804
|
//DOM-Extension helper
|
805
805
|
webshims.register('dom-extend', function($, webshims, window, document, undefined){
|
806
806
|
"use strict";
|
807
|
-
|
808
|
-
|
807
|
+
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
808
|
+
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
809
|
+
webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
|
809
810
|
|
810
811
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
811
812
|
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");
|
@@ -815,8 +816,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
815
816
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
816
817
|
}
|
817
818
|
|
818
|
-
if(webshims.cfg.extendNative ===
|
819
|
-
webshims.warn("extendNative configuration
|
819
|
+
if(webshims.cfg.extendNative === undefined){
|
820
|
+
webshims.warn("extendNative configuration was set to false by default with this release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
|
820
821
|
}
|
821
822
|
|
822
823
|
if (!webshims.cfg.no$Switch) {
|
@@ -1488,7 +1489,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1488
1489
|
|
1489
1490
|
anchor.setAttribute('href', href+'' );
|
1490
1491
|
|
1491
|
-
if(
|
1492
|
+
if(!supportHrefNormalized){
|
1492
1493
|
try {
|
1493
1494
|
$(anchor).insertAfter(this);
|
1494
1495
|
ret = anchor.getAttribute('href', 4);
|
@@ -1,8 +1,9 @@
|
|
1
1
|
//DOM-Extension helper
|
2
2
|
webshims.register('dom-extend', function($, webshims, window, document, undefined){
|
3
3
|
"use strict";
|
4
|
-
|
5
|
-
|
4
|
+
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
5
|
+
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
6
|
+
webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
|
6
7
|
|
7
8
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
8
9
|
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");
|
@@ -12,8 +13,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
12
13
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
13
14
|
}
|
14
15
|
|
15
|
-
if(webshims.cfg.extendNative ===
|
16
|
-
webshims.warn("extendNative configuration
|
16
|
+
if(webshims.cfg.extendNative === undefined){
|
17
|
+
webshims.warn("extendNative configuration was set to false by default with this release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
|
17
18
|
}
|
18
19
|
|
19
20
|
if (!webshims.cfg.no$Switch) {
|
@@ -685,7 +686,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
685
686
|
|
686
687
|
anchor.setAttribute('href', href+'' );
|
687
688
|
|
688
|
-
if(
|
689
|
+
if(!supportHrefNormalized){
|
689
690
|
try {
|
690
691
|
$(anchor).insertAfter(this);
|
691
692
|
ret = anchor.getAttribute('href', 4);
|
@@ -1126,6 +1127,10 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
1126
1127
|
options.customMessages = true;
|
1127
1128
|
toLoad.push('form-message');
|
1128
1129
|
}
|
1130
|
+
if(options.customDatalist){
|
1131
|
+
options.fD = true;
|
1132
|
+
toLoad.push('form-datalist');
|
1133
|
+
}
|
1129
1134
|
if(options.addValidators){
|
1130
1135
|
toLoad.push('form-validators');
|
1131
1136
|
}
|
@@ -1264,6 +1269,14 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
1264
1269
|
return false;
|
1265
1270
|
}
|
1266
1271
|
});
|
1272
|
+
if(typeof message == 'object'){
|
1273
|
+
if(validity.typeMismatch && message.badInput){
|
1274
|
+
message = message.badInput;
|
1275
|
+
}
|
1276
|
+
if(validity.badInput && message.typeMismatch){
|
1277
|
+
message = message.typeMismatch;
|
1278
|
+
}
|
1279
|
+
}
|
1267
1280
|
}
|
1268
1281
|
}
|
1269
1282
|
|
@@ -1419,6 +1432,7 @@ var validityPrototype = {
|
|
1419
1432
|
customError: false,
|
1420
1433
|
|
1421
1434
|
typeMismatch: false,
|
1435
|
+
badInput: false,
|
1422
1436
|
rangeUnderflow: false,
|
1423
1437
|
rangeOverflow: false,
|
1424
1438
|
stepMismatch: false,
|
@@ -1478,20 +1492,6 @@ var validityRules = {
|
|
1478
1492
|
tooLong: function(){
|
1479
1493
|
return false;
|
1480
1494
|
},
|
1481
|
-
typeMismatch: function (input, val, cache){
|
1482
|
-
if(val === '' || cache.nodeName == 'select'){return false;}
|
1483
|
-
var ret = false;
|
1484
|
-
if(!('type' in cache)){
|
1485
|
-
cache.type = getType(input[0]);
|
1486
|
-
}
|
1487
|
-
|
1488
|
-
if(typeModels[cache.type] && typeModels[cache.type].mismatch){
|
1489
|
-
ret = typeModels[cache.type].mismatch(val, input);
|
1490
|
-
} else if('validity' in input[0]){
|
1491
|
-
ret = input[0].validity.typeMismatch;
|
1492
|
-
}
|
1493
|
-
return ret;
|
1494
|
-
},
|
1495
1495
|
patternMismatch: function(input, val, cache) {
|
1496
1496
|
if(val === '' || cache.nodeName == 'select'){return false;}
|
1497
1497
|
var pattern = input.attr('pattern');
|
@@ -1508,6 +1508,23 @@ var validityRules = {
|
|
1508
1508
|
}
|
1509
1509
|
;
|
1510
1510
|
|
1511
|
+
$.each({typeMismatch: 'mismatch', badInput: 'bad'}, function(name, fn){
|
1512
|
+
validityRules[name] = function (input, val, cache){
|
1513
|
+
if(val === '' || cache.nodeName == 'select'){return false;}
|
1514
|
+
var ret = false;
|
1515
|
+
if(!('type' in cache)){
|
1516
|
+
cache.type = getType(input[0]);
|
1517
|
+
}
|
1518
|
+
|
1519
|
+
if(typeModels[cache.type] && typeModels[cache.type][fn]){
|
1520
|
+
ret = typeModels[cache.type][fn](val, input);
|
1521
|
+
} else if('validity' in input[0] && ('name' in input[0].validity)){
|
1522
|
+
ret = input[0].validity[name] || false;
|
1523
|
+
}
|
1524
|
+
return ret;
|
1525
|
+
};
|
1526
|
+
});
|
1527
|
+
|
1511
1528
|
webshims.addValidityRule = function(type, fn){
|
1512
1529
|
validityRules[type] = fn;
|
1513
1530
|
};
|
@@ -1553,8 +1570,9 @@ $.event.special.invalid = {
|
|
1553
1570
|
}
|
1554
1571
|
};
|
1555
1572
|
|
1573
|
+
var supportSubmitBubbles = !('submitBubbles' in $.support) || $.support.submitBubbles;
|
1556
1574
|
var addSubmitBubbles = function(form){
|
1557
|
-
if (
|
1575
|
+
if (!supportSubmitBubbles && form && typeof form == 'object' && !form._submit_attached ) {
|
1558
1576
|
|
1559
1577
|
$.event.add( form, 'submit._submit', function( event ) {
|
1560
1578
|
event._submit_bubble = true;
|
@@ -1563,7 +1581,7 @@ var addSubmitBubbles = function(form){
|
|
1563
1581
|
form._submit_attached = true;
|
1564
1582
|
}
|
1565
1583
|
};
|
1566
|
-
if(
|
1584
|
+
if(!supportSubmitBubbles && $.event.special.submit){
|
1567
1585
|
$.event.special.submit.setup = function() {
|
1568
1586
|
// Only need this for delegated form submit events
|
1569
1587
|
if ( $.nodeName( this, "form" ) ) {
|
@@ -3132,9 +3150,8 @@ try {
|
|
3132
3150
|
|
3133
3151
|
webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
3134
3152
|
"use strict";
|
3135
|
-
if(options.
|
3153
|
+
if(options.lazyCustomMessages){
|
3136
3154
|
options.customMessages = true;
|
3137
|
-
webshims.error('overrideMessages is deprecated. use customMessages instead.');
|
3138
3155
|
}
|
3139
3156
|
var validityMessages = webshims.validityMessages;
|
3140
3157
|
|
@@ -3144,7 +3161,10 @@ webshims.register('form-message', function($, webshims, window, document, undefi
|
|
3144
3161
|
typeMismatch: {
|
3145
3162
|
defaultMessage: 'Please enter a valid value.',
|
3146
3163
|
email: 'Please enter an email address.',
|
3147
|
-
url: 'Please enter a URL.'
|
3164
|
+
url: 'Please enter a URL.'
|
3165
|
+
},
|
3166
|
+
badInput: {
|
3167
|
+
defaultMessage: 'Please enter a valid value.',
|
3148
3168
|
number: 'Please enter a number.',
|
3149
3169
|
date: 'Please enter a date.',
|
3150
3170
|
time: 'Please enter a time.',
|
@@ -3197,13 +3217,16 @@ webshims.register('form-message', function($, webshims, window, document, undefi
|
|
3197
3217
|
typeMismatch: {
|
3198
3218
|
defaultMessage: '{%value} ist in diesem Feld nicht zulässig.',
|
3199
3219
|
email: '{%value} ist keine gültige E-Mail-Adresse.',
|
3200
|
-
url: '{%value} ist kein(e) gültige(r) Webadresse/Pfad.'
|
3201
|
-
|
3202
|
-
|
3203
|
-
|
3204
|
-
|
3205
|
-
|
3206
|
-
|
3220
|
+
url: '{%value} ist kein(e) gültige(r) Webadresse/Pfad.'
|
3221
|
+
},
|
3222
|
+
badInput: {
|
3223
|
+
defaultMessage: 'Geben Sie einen zulässigen Wert ein.',
|
3224
|
+
number: 'Geben Sie eine Nummer ein.',
|
3225
|
+
date: 'Geben Sie ein Datum ein.',
|
3226
|
+
time: 'Geben Sie eine Uhrzeit ein.',
|
3227
|
+
month: 'Geben Sie einen Monat mit Jahr ein.',
|
3228
|
+
range: 'Geben Sie eine Nummer.',
|
3229
|
+
"datetime-local": 'Geben Sie ein Datum mit Uhrzeit ein.'
|
3207
3230
|
},
|
3208
3231
|
rangeUnderflow: {
|
3209
3232
|
defaultMessage: '{%value} ist zu niedrig. {%min} ist der unterste Wert, den Sie benutzen können.'
|
@@ -3251,11 +3274,17 @@ webshims.register('form-message', function($, webshims, window, document, undefi
|
|
3251
3274
|
|
3252
3275
|
webshims.createValidationMessage = function(elem, name){
|
3253
3276
|
var widget;
|
3254
|
-
var message = getMessageFromObj(currentValidationMessage[name], elem);
|
3255
3277
|
var type = $.prop(elem, 'type');
|
3278
|
+
var message = getMessageFromObj(currentValidationMessage[name], elem);
|
3279
|
+
if(!message && name == 'badInput'){
|
3280
|
+
message = getMessageFromObj(currentValidationMessage.typeMismatch, elem);
|
3281
|
+
}
|
3282
|
+
if(!message && name == 'typeMismatch'){
|
3283
|
+
message = getMessageFromObj(currentValidationMessage.badInput, elem);
|
3284
|
+
}
|
3256
3285
|
if(!message){
|
3257
3286
|
message = getMessageFromObj(validityMessages[''][name], elem) || $.prop(elem, 'validationMessage');
|
3258
|
-
webshims.info('could not find errormessage for: '+ name +' / '+ type +'. in language: '
|
3287
|
+
webshims.info('could not find errormessage for: '+ name +' / '+ type +'. in language: '+webshims.activeLang());
|
3259
3288
|
}
|
3260
3289
|
if(message){
|
3261
3290
|
['value', 'min', 'max', 'title', 'maxlength', 'label'].forEach(function(attr){
|
@@ -3298,20 +3327,14 @@ webshims.register('form-message', function($, webshims, window, document, undefi
|
|
3298
3327
|
webshims.activeLang({
|
3299
3328
|
register: 'form-core',
|
3300
3329
|
callback: function(val){
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3304
|
-
return false;
|
3305
|
-
}
|
3306
|
-
});
|
3330
|
+
if(validityMessages[val]){
|
3331
|
+
currentValidationMessage = validityMessages[val];
|
3332
|
+
}
|
3307
3333
|
}
|
3308
3334
|
});
|
3309
3335
|
|
3310
3336
|
implementProperties.forEach(function(messageProp){
|
3311
|
-
|
3312
|
-
valid: 1,
|
3313
|
-
badInput: 1
|
3314
|
-
};
|
3337
|
+
|
3315
3338
|
webshims.defineNodeNamesProperty(['fieldset', 'output', 'button'], messageProp, {
|
3316
3339
|
prop: {
|
3317
3340
|
value: '',
|
@@ -3340,16 +3363,14 @@ webshims.register('form-message', function($, webshims, window, document, undefi
|
|
3340
3363
|
if(message){return message;}
|
3341
3364
|
}
|
3342
3365
|
$.each(validity, function(name, prop){
|
3343
|
-
if(
|
3366
|
+
if(name == 'valid' || !prop){return;}
|
3344
3367
|
|
3345
3368
|
message = webshims.createValidationMessage(elem, name);
|
3346
3369
|
if(message){
|
3347
3370
|
return false;
|
3348
3371
|
}
|
3349
3372
|
});
|
3350
|
-
|
3351
|
-
message = webshims.createValidationMessage(elem, 'typeMismatch') || webshims.createValidationMessage(elem, 'valueMissing');
|
3352
|
-
}
|
3373
|
+
|
3353
3374
|
return message || '';
|
3354
3375
|
},
|
3355
3376
|
writeable: false
|
@@ -3458,34 +3479,6 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
|
|
3458
3479
|
}
|
3459
3480
|
};
|
3460
3481
|
|
3461
|
-
if(formsCFG.customDatalist && (!listSupport || !('selectedOption' in $('<input />')[0]))){
|
3462
|
-
//currently not supported x-browser (FF4 has not implemented and is not polyfilled )
|
3463
|
-
inputListProto.selectedOption = {
|
3464
|
-
prop: {
|
3465
|
-
writeable: false,
|
3466
|
-
get: function(){
|
3467
|
-
var elem = this;
|
3468
|
-
var list = $.prop(elem, 'list');
|
3469
|
-
var ret = null;
|
3470
|
-
var value, options;
|
3471
|
-
if(!list){return ret;}
|
3472
|
-
value = $.prop(elem, 'value');
|
3473
|
-
if(!value){return ret;}
|
3474
|
-
options = $.prop(list, 'options');
|
3475
|
-
if(!options.length){return ret;}
|
3476
|
-
$.each(options, function(i, option){
|
3477
|
-
if(value == $.prop(option, 'value')){
|
3478
|
-
ret = option;
|
3479
|
-
return false;
|
3480
|
-
}
|
3481
|
-
});
|
3482
|
-
return ret;
|
3483
|
-
}
|
3484
|
-
}
|
3485
|
-
};
|
3486
|
-
}
|
3487
|
-
|
3488
|
-
|
3489
3482
|
if(listSupport){
|
3490
3483
|
//options only return options, if option-elements are rooted: but this makes this part of HTML5 less backwards compatible
|
3491
3484
|
if(!($('<datalist><select><option></option></select></datalist>').prop('options') || []).length ){
|