webshims-rails 1.11.3.1 → 1.11.6
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 +114 -104
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +5 -5
- data/vendor/assets/javascripts/webshims/polyfiller.js +156 -207
- data/vendor/assets/javascripts/webshims/shims/$ajax.js +862 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +20 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +20 -0
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +12 -12
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +62 -32
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +192 -509
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +96 -415
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +36 -26
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -26
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +1007 -359
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +310 -235
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +313 -237
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +96 -415
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +1003 -678
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +1085 -387
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +161 -127
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +1086 -388
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +168 -96
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +36 -27
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +411 -172
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +1085 -387
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +96 -94
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +163 -140
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +166 -141
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +159 -126
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +103 -109
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +98 -417
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +101 -418
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +168 -142
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +165 -141
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +195 -510
- data/vendor/assets/javascripts/webshims/shims/details.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +96 -94
- data/vendor/assets/javascripts/webshims/shims/es5.js +908 -264
- data/vendor/assets/javascripts/webshims/shims/excanvas.js +16 -1
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +147 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +60 -31
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +114 -33
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/form-message.js +7 -15
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +88 -410
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +143 -93
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +268 -79
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +116 -81
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +23 -10
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +605 -9
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +51 -39
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +78 -33
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +24 -6
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +110 -49
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +3 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +81 -30
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +131 -54
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +497 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +8 -5
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +2026 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +401 -521
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +1 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +94 -82
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +250 -321
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +34 -25
- metadata +7 -3
@@ -9,6 +9,9 @@
|
|
9
9
|
}
|
10
10
|
}(function($){
|
11
11
|
"use strict";
|
12
|
+
if (typeof WSDEBUG === 'undefined') {
|
13
|
+
window.WSDEBUG = true;
|
14
|
+
}
|
12
15
|
var DOMSUPPORT = 'dom-support';
|
13
16
|
var jScripts = $(document.scripts || 'script');
|
14
17
|
var special = $.event.special;
|
@@ -18,6 +21,7 @@
|
|
18
21
|
var addTest = Modernizr.addTest;
|
19
22
|
var Object = window.Object;
|
20
23
|
var html5 = window.html5 || {};
|
24
|
+
var firstRun;
|
21
25
|
|
22
26
|
Modernizr.advancedObjectProperties = Modernizr.objectAccessor = Modernizr.ES5 = !!('create' in Object && 'seal' in Object);
|
23
27
|
|
@@ -27,7 +31,7 @@
|
|
27
31
|
|
28
32
|
|
29
33
|
var webshims = {
|
30
|
-
version: '1.11.
|
34
|
+
version: '1.11.6',
|
31
35
|
cfg: {
|
32
36
|
|
33
37
|
//addCacheBuster: false,
|
@@ -36,6 +40,7 @@
|
|
36
40
|
loadStyles: true,
|
37
41
|
disableShivMethods: true,
|
38
42
|
wspopover: {appendTo: 'auto', hideOnBlur: true},
|
43
|
+
ajax: {cache: true, crossDomain: true},
|
39
44
|
basePath: (function(){
|
40
45
|
var script = jScripts.filter('[src*="polyfiller.js"]');
|
41
46
|
var path;
|
@@ -78,10 +83,10 @@
|
|
78
83
|
}
|
79
84
|
|
80
85
|
if(webshimsFeatures[feature].failedM){
|
81
|
-
cfg.test = function(){
|
86
|
+
cfg.test = WSDEBUG ? function(){
|
82
87
|
webshims.error('webshims needs Modernizr.'+webshimsFeatures[feature].failedM + ' to implement feature: '+ feature);
|
83
88
|
return true;
|
84
|
-
};
|
89
|
+
} : true;
|
85
90
|
}
|
86
91
|
webshimsFeatures[feature].push(name);
|
87
92
|
cfg.options = $.extend(webCFG[feature], cfg.options);
|
@@ -98,99 +103,62 @@
|
|
98
103
|
return function(features){
|
99
104
|
if(!features){
|
100
105
|
features = webshims.featureList;
|
101
|
-
webshims.
|
106
|
+
WSDEBUG && webshims.warn('loading all features without specifing might be bad for performance');
|
102
107
|
}
|
103
108
|
|
104
109
|
if (typeof features == 'string') {
|
105
110
|
features = features.split(' ');
|
106
111
|
}
|
107
112
|
|
108
|
-
|
109
|
-
|
110
|
-
|
113
|
+
if(WSDEBUG){
|
114
|
+
for(var i = 0; i < features.length; i++){
|
115
|
+
if(loaded[features[i]]){
|
116
|
+
webshims.error(features[i] +' already loaded, you might want to use updatePolyfill instead? see: bit.ly/12BtXX3');
|
117
|
+
}
|
118
|
+
loaded[features[i]] = true;
|
111
119
|
}
|
112
|
-
loaded[features[i]] = true;
|
113
120
|
}
|
114
121
|
return webshims._polyfill(features);
|
115
122
|
};
|
116
123
|
})(),
|
117
|
-
_polyfill:
|
118
|
-
var
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
var removeLoader = function(){
|
128
|
-
$('html').removeClass('loading-polyfills long-loading-polyfills');
|
129
|
-
$(window).unbind('.lP');
|
130
|
-
clearTimeout(timer);
|
131
|
-
};
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
addClass.push('loading-polyfills');
|
136
|
-
timer = setTimeout(function(){
|
137
|
-
$('html').addClass('long-loading-polyfills');
|
138
|
-
timer = setTimeout(removeLoader, 300);
|
139
|
-
}, 300);
|
140
|
-
$(window).on('load.lP error.lP', removeLoader);
|
141
|
-
|
142
|
-
if (webCFG.waitReady && $.isReady) {
|
143
|
-
webshims.warn('Call webshims.polyfill before DOM-Ready or set waitReady to false.');
|
144
|
-
}
|
145
|
-
onReady(features, removeLoader);
|
146
|
-
if (addClass[0]) {
|
147
|
-
$('html').addClass(addClass.join(' '));
|
148
|
-
}
|
149
|
-
if(webCFG.loadStyles){
|
150
|
-
loader.loadCSS('styles/shim.css');
|
124
|
+
_polyfill: function(features){
|
125
|
+
var toLoadFeatures = [];
|
126
|
+
|
127
|
+
firstRun();
|
128
|
+
|
129
|
+
if($.inArray('forms', features) == -1 && $.inArray('forms-ext', features) !== -1){
|
130
|
+
features.push('forms');
|
131
|
+
if(WSDEBUG){
|
132
|
+
webshims.error('need to load forms feature to use forms-ext feature.');
|
151
133
|
}
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
134
|
+
}
|
135
|
+
|
136
|
+
if (webCFG.waitReady) {
|
137
|
+
$.readyWait++;
|
138
|
+
onReady(features, function(){
|
139
|
+
$.ready(true);
|
140
|
+
});
|
141
|
+
}
|
142
|
+
|
143
|
+
$.each(features, function(i, feature){
|
144
|
+
if(!webshimsFeatures[feature]){
|
145
|
+
WSDEBUG && webshims.error("could not find webshims-feature (aborted): "+ feature);
|
146
|
+
isReady(feature, true);
|
147
|
+
return;
|
166
148
|
}
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
onReady(features, function(){
|
171
|
-
$.ready(true);
|
149
|
+
if (feature !== webshimsFeatures[feature][0]) {
|
150
|
+
onReady(webshimsFeatures[feature], function(){
|
151
|
+
isReady(feature, true);
|
172
152
|
});
|
173
153
|
}
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
onReady(webshimsFeatures[feature], function(){
|
183
|
-
isReady(feature, true);
|
184
|
-
});
|
185
|
-
}
|
186
|
-
toLoadFeatures = toLoadFeatures.concat(webshimsFeatures[feature]);
|
187
|
-
});
|
188
|
-
|
189
|
-
firstPolyfillCall(features);
|
190
|
-
loadList(toLoadFeatures);
|
191
|
-
|
192
|
-
};
|
193
|
-
})(),
|
154
|
+
toLoadFeatures = toLoadFeatures.concat(webshimsFeatures[feature]);
|
155
|
+
});
|
156
|
+
if(webCFG.loadStyles){
|
157
|
+
loader.loadCSS('styles/shim.css');
|
158
|
+
}
|
159
|
+
loadList(toLoadFeatures);
|
160
|
+
|
161
|
+
},
|
194
162
|
|
195
163
|
/*
|
196
164
|
* handle ready modules
|
@@ -411,12 +379,12 @@
|
|
411
379
|
for (i = 0; i < list.length; i++) {
|
412
380
|
module = modules[list[i]];
|
413
381
|
if (!module || noNeedToLoad(module.name, list)) {
|
414
|
-
if (!module) {
|
382
|
+
if (WSDEBUG && !module) {
|
415
383
|
webshims.warn('could not find: ' + list[i]);
|
416
384
|
}
|
417
385
|
continue;
|
418
386
|
}
|
419
|
-
if (module.css) {
|
387
|
+
if (module.css && webCFG.loadStyles) {
|
420
388
|
loader.loadCSS(module.css);
|
421
389
|
}
|
422
390
|
|
@@ -435,7 +403,7 @@
|
|
435
403
|
module = loadCombos[i];
|
436
404
|
|
437
405
|
if($.inArray(module, loadedModules) == -1){
|
438
|
-
if(
|
406
|
+
if(webCFG.debug != 'noCombo'){
|
439
407
|
$.each(modules[module].c, loadCombo);
|
440
408
|
}
|
441
409
|
if(!foundCombo){
|
@@ -461,14 +429,14 @@
|
|
461
429
|
},
|
462
430
|
|
463
431
|
loadCSS: (function(){
|
464
|
-
var parent, loadedSrcs =
|
432
|
+
var parent, loadedSrcs = {};
|
465
433
|
return function(src){
|
466
434
|
src = this.makePath(src);
|
467
|
-
if (
|
435
|
+
if (loadedSrcs[src]) {
|
468
436
|
return;
|
469
437
|
}
|
470
438
|
parent = parent || $('link, style')[0] || $('script')[0];
|
471
|
-
loadedSrcs
|
439
|
+
loadedSrcs[src] = 1;
|
472
440
|
$('<link rel="stylesheet" />').insertBefore(parent).attr({
|
473
441
|
href: src
|
474
442
|
});
|
@@ -476,15 +444,14 @@
|
|
476
444
|
})(),
|
477
445
|
|
478
446
|
loadScript: (function(){
|
479
|
-
var loadedSrcs =
|
447
|
+
var loadedSrcs = {};
|
480
448
|
var scriptLoader;
|
481
449
|
return function(src, callback, name){
|
482
450
|
|
483
451
|
src = loader.makePath(src);
|
484
|
-
if (
|
452
|
+
if (loadedSrcs[src]) {return;}
|
485
453
|
var complete = function(){
|
486
454
|
|
487
|
-
complete = null;
|
488
455
|
if (callback) {
|
489
456
|
callback();
|
490
457
|
}
|
@@ -506,16 +473,17 @@
|
|
506
473
|
}
|
507
474
|
};
|
508
475
|
|
509
|
-
loadedSrcs
|
476
|
+
loadedSrcs[src] = 1;
|
477
|
+
|
510
478
|
if(window.require && window.define && window.define.amd){
|
511
479
|
require([src], complete);
|
512
480
|
} else if (window.sssl) {
|
513
481
|
sssl(src, complete);
|
514
482
|
} else if (window.yepnope) {
|
515
483
|
yepnope.injectJs(src, complete);
|
516
|
-
} else
|
517
|
-
|
518
|
-
}
|
484
|
+
} else {
|
485
|
+
$.ajax($.extend({}, webCFG.ajax, {url: src, success: complete, dataType: 'script'}));
|
486
|
+
}
|
519
487
|
};
|
520
488
|
})()
|
521
489
|
}
|
@@ -542,6 +510,7 @@
|
|
542
510
|
error: 1
|
543
511
|
};
|
544
512
|
|
513
|
+
|
545
514
|
webshims.addMethodName = function(name){
|
546
515
|
name = name.split(':');
|
547
516
|
var prop = name[1];
|
@@ -576,18 +545,7 @@
|
|
576
545
|
return (ret !== undefined) ? ret : this;
|
577
546
|
};
|
578
547
|
|
579
|
-
//activeLang will be overridden
|
580
|
-
|
581
548
|
|
582
|
-
// set current Lang:
|
583
|
-
// - webshims.activeLang(lang:string);
|
584
|
-
// get current lang
|
585
|
-
// - webshims.activeLang();
|
586
|
-
// - webshims.activeLang({
|
587
|
-
// module: moduleName:string,
|
588
|
-
// callback: callback:function,
|
589
|
-
// langObj: languageObj:array/object
|
590
|
-
// });
|
591
549
|
|
592
550
|
webshims.activeLang = (function(){
|
593
551
|
var curLang = navigator.browserLanguage || navigator.language || '';
|
@@ -614,7 +572,7 @@
|
|
614
572
|
webshims.errorLog = [];
|
615
573
|
$.each(['log', 'error', 'warn', 'info'], function(i, fn){
|
616
574
|
webshims[fn] = function(message){
|
617
|
-
if( (importantLogs[fn] &&
|
575
|
+
if( (importantLogs[fn] && webCFG.debug !== false) || webCFG.debug){
|
618
576
|
webshims.errorLog.push(message);
|
619
577
|
if(window.console && console.log){
|
620
578
|
console[(console[fn]) ? fn : 'log'](message);
|
@@ -622,10 +580,24 @@
|
|
622
580
|
}
|
623
581
|
};
|
624
582
|
});
|
625
|
-
|
626
583
|
|
627
|
-
|
584
|
+
/*
|
585
|
+
* jQuery-plugins for triggering dom updates can be also very usefull in conjunction with non-HTML5 DOM-Changes (AJAX)
|
586
|
+
* Example:
|
587
|
+
* $.webshims.addReady(function(context, insertedElement){
|
588
|
+
* $('div.tabs', context).add(insertedElement.filter('div.tabs')).tabs();
|
589
|
+
* });
|
590
|
+
*
|
591
|
+
* $.ajax({
|
592
|
+
* success: function(html){
|
593
|
+
* $('#main').htmlPolyfill(html);
|
594
|
+
* }
|
595
|
+
* });
|
596
|
+
*/
|
597
|
+
|
628
598
|
(function(){
|
599
|
+
|
600
|
+
//Overwrite DOM-Ready and implement a new ready-method
|
629
601
|
$.isDOMReady = $.isReady;
|
630
602
|
var onReady = function(){
|
631
603
|
$.isDOMReady = true;
|
@@ -634,44 +606,53 @@
|
|
634
606
|
isReady('WINDOWLOAD', true);
|
635
607
|
}, 9999);
|
636
608
|
};
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
if(
|
641
|
-
|
642
|
-
|
609
|
+
|
610
|
+
firstRun = function(){
|
611
|
+
if(!firstRun.run){
|
612
|
+
if($.mobile && ($.mobile.textinput || $.mobile.rangeslider || $.mobile.button)){
|
613
|
+
if(WSDEBUG){
|
614
|
+
webshims.warn('jQM textinput/rangeslider/button detected waitReady was set to false. Use webshims.ready("featurename") to script against polyfilled methods/properties');
|
615
|
+
}
|
616
|
+
if(!webCFG.readyEvt){
|
617
|
+
webCFG.readyEvt = 'pageinit';
|
618
|
+
}
|
619
|
+
webCFG.waitReady = false;
|
643
620
|
}
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
621
|
+
|
622
|
+
if (WSDEBUG && webCFG.waitReady && $.isReady) {
|
623
|
+
webshims.warn('Call webshims.polyfill before DOM-Ready or set waitReady to false.');
|
624
|
+
}
|
625
|
+
|
626
|
+
if(!$.isDOMReady && webCFG.waitReady){
|
627
|
+
var $Ready = $.ready;
|
628
|
+
$.ready = function(unwait){
|
629
|
+
if(unwait !== true && document.body){
|
630
|
+
onReady();
|
631
|
+
$.ready = $Ready;
|
632
|
+
}
|
633
|
+
return $Ready.apply(this, arguments);
|
634
|
+
};
|
635
|
+
$.ready.promise = $Ready.promise;
|
636
|
+
}
|
637
|
+
if(webCFG.readyEvt){
|
638
|
+
$(document).one(webCFG.readyEvt, onReady);
|
639
|
+
} else {
|
640
|
+
$(onReady);
|
641
|
+
}
|
642
|
+
}
|
643
|
+
firstRun.run = true;
|
644
|
+
};
|
651
645
|
|
652
|
-
|
646
|
+
setTimeout(function(){
|
647
|
+
$(onReady);
|
648
|
+
}, 4);
|
649
|
+
$(window).on('load', function(){
|
653
650
|
onReady();
|
654
651
|
setTimeout(function(){
|
655
652
|
isReady('WINDOWLOAD', true);
|
656
653
|
}, 9);
|
657
654
|
});
|
658
|
-
|
659
|
-
|
660
|
-
/*
|
661
|
-
* jQuery-plugins for triggering dom updates can be also very usefull in conjunction with non-HTML5 DOM-Changes (AJAX)
|
662
|
-
* Example:
|
663
|
-
* $.webshims.addReady(function(context, insertedElement){
|
664
|
-
* $('div.tabs', context).add(insertedElement.filter('div.tabs')).tabs();
|
665
|
-
* });
|
666
|
-
*
|
667
|
-
* $.ajax({
|
668
|
-
* success: function(html){
|
669
|
-
* $('#main').htmlPolyfill(html);
|
670
|
-
* }
|
671
|
-
* });
|
672
|
-
*/
|
673
|
-
|
674
|
-
(function(){
|
655
|
+
|
675
656
|
var readyFns = [];
|
676
657
|
var eachTrigger = function(){
|
677
658
|
if(this.nodeType == 1){
|
@@ -713,7 +694,7 @@
|
|
713
694
|
};
|
714
695
|
|
715
696
|
$.fn.jProp = function(){
|
716
|
-
return $($.fn.prop.apply(this, arguments) || []);
|
697
|
+
return this.pushStack($($.fn.prop.apply(this, arguments) || []));
|
717
698
|
};
|
718
699
|
|
719
700
|
$.each(['after', 'before', 'append', 'prepend', 'replaceWith'], function(i, name){
|
@@ -753,6 +734,11 @@
|
|
753
734
|
|
754
735
|
})();
|
755
736
|
|
737
|
+
|
738
|
+
if(WSDEBUG){
|
739
|
+
webCFG.debug = true;
|
740
|
+
}
|
741
|
+
|
756
742
|
//this might be extended by ES5 shim feature
|
757
743
|
(function(){
|
758
744
|
var defineProperty = 'defineProperty';
|
@@ -826,7 +812,9 @@
|
|
826
812
|
c: [16, 7, 2, 8, 1, 12, 19, 25, 23, 27]
|
827
813
|
});
|
828
814
|
modules.swfmini.test();
|
829
|
-
|
815
|
+
|
816
|
+
addModule('sizzle', {test: $.expr.filters});
|
817
|
+
addModule('$ajax', {test: $.ajax});
|
830
818
|
/*
|
831
819
|
* polyfill-Modules
|
832
820
|
*/
|
@@ -873,7 +861,6 @@
|
|
873
861
|
|
874
862
|
//<canvas
|
875
863
|
(function(){
|
876
|
-
var flashCanvas;
|
877
864
|
addPolyfill('canvas', {
|
878
865
|
src: 'excanvas',
|
879
866
|
test: Modernizr.canvas,
|
@@ -882,46 +869,10 @@
|
|
882
869
|
|
883
870
|
loadInit: function(){
|
884
871
|
var type = this.options.type;
|
885
|
-
var src;
|
886
872
|
if(type && type.indexOf('flash') !== -1 && (!modules.swfmini.test() || swfmini.hasFlashPlayerVersion('9.0.0'))){
|
887
|
-
|
888
|
-
flashCanvas = FlashCanvasOptions;
|
889
|
-
if(type == 'flash'){
|
890
|
-
$.extend(flashCanvas, {
|
891
|
-
swfPath: webCFG.basePath + 'FlashCanvas/'
|
892
|
-
});
|
893
|
-
this.src = 'FlashCanvas/flashcanvas';
|
894
|
-
src = flashCanvas.swfPath + 'flashcanvas.swf';
|
895
|
-
} else {
|
896
|
-
$.extend(flashCanvas, {swfPath: webCFG.basePath + 'FlashCanvasPro/'});
|
897
|
-
this.src = 'FlashCanvasPro/flashcanvas';
|
898
|
-
//assume, that the user has flash10+
|
899
|
-
src = flashCanvas.swfPath + 'flash10canvas.swf';
|
900
|
-
}
|
901
|
-
//todo: implement cachbuster for flashcanvas
|
902
|
-
// if(webCFG.addCacheBuster){
|
903
|
-
// src += webCFG.addCacheBuster;
|
904
|
-
// }
|
873
|
+
this.src = type == 'flash' ? 'FlashCanvas/flashcanvas' : 'FlashCanvasPro/flashcanvas';
|
905
874
|
}
|
906
875
|
},
|
907
|
-
afterLoad: function(){
|
908
|
-
webshims.addReady(function(context, elem){
|
909
|
-
if(context == document){
|
910
|
-
if(window.G_vmlCanvasManager && G_vmlCanvasManager.init_ ){
|
911
|
-
G_vmlCanvasManager.init_(document);
|
912
|
-
}
|
913
|
-
}
|
914
|
-
$('canvas', context).add(elem.filter('canvas')).each(function(){
|
915
|
-
var hasContext = this.getContext;
|
916
|
-
if(!hasContext && window.G_vmlCanvasManager){
|
917
|
-
G_vmlCanvasManager.initElement(this);
|
918
|
-
}
|
919
|
-
});
|
920
|
-
if(context == document){
|
921
|
-
isReady('canvas', true);
|
922
|
-
}
|
923
|
-
});
|
924
|
-
},
|
925
876
|
methodNames: ['getContext'],
|
926
877
|
d: [DOMSUPPORT],
|
927
878
|
nM: 'canvas'
|
@@ -938,40 +889,32 @@
|
|
938
889
|
var modernizrInputTypes = Modernizr.inputtypes;
|
939
890
|
var formvalidation = 'formvalidation';
|
940
891
|
var fNuAPI = 'form-number-date-api';
|
941
|
-
var select = $('<select required=""><option disabled="" /></select>')[0];
|
942
892
|
var bustedValidity = false;
|
943
893
|
var bustedWidgetUi = false;
|
944
894
|
|
945
895
|
var initialFormTest = function(){
|
946
|
-
var range, rangeCSS;
|
896
|
+
var range, rangeCSS, fieldset;
|
947
897
|
if(!initialFormTest.run){
|
948
|
-
|
949
|
-
|
950
|
-
});
|
898
|
+
fieldset = $('<fieldset />')[0];
|
899
|
+
addTest(formvalidation, !!(modernizrInputAttrs.required && modernizrInputAttrs.pattern));
|
951
900
|
|
952
|
-
addTest('fieldsetdisabled',
|
953
|
-
|
954
|
-
return 'elements' in fieldset && 'disabled' in fieldset;
|
955
|
-
});
|
901
|
+
addTest('fieldsetdisabled', 'disabled' in fieldset);
|
902
|
+
addTest('fieldsetelements', 'elements' in fieldset);
|
956
903
|
|
957
904
|
if(modernizrInputTypes && modernizrInputTypes.range && !window.opera){
|
958
905
|
range = $('<input type="range" style="-webkit-appearance: slider-horizontal; -moz-appearance: range;" />').appendTo('html');
|
959
906
|
rangeCSS = range.css('appearance');
|
960
907
|
range.remove();
|
961
908
|
|
962
|
-
addTest('csstrackrange',
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
});
|
968
|
-
addTest('styleableinputrange', function(){
|
969
|
-
return Modernizr.csstrackrange || Modernizr.cssrangeinput;
|
970
|
-
});
|
909
|
+
addTest('csstrackrange', rangeCSS == null || rangeCSS == 'range');
|
910
|
+
|
911
|
+
addTest('cssrangeinput', rangeCSS == 'slider-horizontal' || rangeCSS == 'range');
|
912
|
+
|
913
|
+
addTest('styleableinputrange', Modernizr.csstrackrange || Modernizr.cssrangeinput);
|
971
914
|
}
|
972
915
|
|
973
916
|
if(Modernizr[formvalidation]){
|
974
|
-
bustedWidgetUi = !Modernizr.fieldsetdisabled || !('value' in document.createElement('progress')) || !('value' in document.createElement('output'))
|
917
|
+
bustedWidgetUi = !Modernizr.fieldsetdisabled ||!Modernizr.fieldsetelements || !('value' in document.createElement('progress')) || !('value' in document.createElement('output'));
|
975
918
|
bugs.bustedValidity = bustedValidity = window.opera || bustedWidgetUi || !modernizrInputAttrs.list;
|
976
919
|
}
|
977
920
|
|
@@ -987,8 +930,13 @@
|
|
987
930
|
}
|
988
931
|
document.createElement('datalist');
|
989
932
|
|
990
|
-
|
991
|
-
webshims.validationMessages = webshims.validityMessages =
|
933
|
+
|
934
|
+
webshims.validationMessages = webshims.validityMessages = {
|
935
|
+
langSrc: 'i18n/formcfg-',
|
936
|
+
availableLangs: ['ar', 'ch-ZN', 'cs', 'el', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'lt', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sv']
|
937
|
+
};
|
938
|
+
webshims.formcfg = $.extend({}, webshims.validationMessages);
|
939
|
+
|
992
940
|
webshims.inputTypes = {};
|
993
941
|
|
994
942
|
addPolyfill('form-core', {
|
@@ -997,10 +945,11 @@
|
|
997
945
|
test: initialFormTest,
|
998
946
|
options: {
|
999
947
|
placeholderType: 'value',
|
1000
|
-
langSrc: 'i18n/formcfg-',
|
1001
948
|
messagePopover: {},
|
1002
|
-
|
1003
|
-
|
949
|
+
list: {
|
950
|
+
popover: {
|
951
|
+
constrainWidth: true
|
952
|
+
}
|
1004
953
|
},
|
1005
954
|
iVal: {
|
1006
955
|
handleBubble: true,
|
@@ -1009,13 +958,12 @@
|
|
1009
958
|
// ,hideBubble: undefined,
|
1010
959
|
// ,fieldWrapper: undefined
|
1011
960
|
// ,fx: 'slide'
|
1012
|
-
}
|
1013
|
-
availableLangs: ['ar', 'ch-ZN', 'cs', 'el', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'lt', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sv'] //en and de are directly implemented in core
|
961
|
+
}
|
1014
962
|
// ,customMessages: false,
|
1015
963
|
// overridePlaceholder: false, // might be good for IE10
|
1016
964
|
// replaceValidationUI: false
|
1017
965
|
},
|
1018
|
-
methodNames: ['setCustomValidity','checkValidity'],
|
966
|
+
methodNames: ['setCustomValidity','checkValidity', 'setSelectionRange'],
|
1019
967
|
c: [16, 7, 2, 8, 1, 15, 30, 3, 31],
|
1020
968
|
nM: 'input'
|
1021
969
|
});
|
@@ -1036,7 +984,7 @@
|
|
1036
984
|
test: function(){
|
1037
985
|
return Modernizr[formvalidation] && !bustedValidity;
|
1038
986
|
},
|
1039
|
-
d: ['form-core', DOMSUPPORT],
|
987
|
+
d: ['form-core', DOMSUPPORT, 'sizzle'],
|
1040
988
|
c: [16, 15, 24]
|
1041
989
|
});
|
1042
990
|
|
@@ -1267,5 +1215,6 @@
|
|
1267
1215
|
webshims.polyfill(asyncWebshims.polyfill);
|
1268
1216
|
}
|
1269
1217
|
}
|
1218
|
+
|
1270
1219
|
return webshims;
|
1271
1220
|
}));
|