webshims-rails 1.12.3 → 1.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +75 -31
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +14 -14
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +83 -459
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +92 -69
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +104 -494
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +66 -228
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +2 -0
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +42 -40
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +105 -494
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +123 -471
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +85 -474
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -205
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +103 -45
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +41 -40
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +63 -454
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +52 -36
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +123 -471
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +2 -15
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +38 -266
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +20 -20
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +24 -20
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +24 -20
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -20
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +4 -15
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +87 -474
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +87 -474
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +92 -69
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +1724 -0
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +2 -15
- data/vendor/assets/javascripts/webshims/shims/form-core.js +19 -4
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +39 -5
- data/vendor/assets/javascripts/webshims/shims/form-message.js +2 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +69 -37
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +18 -20
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +34 -16
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +12 -9
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +21 -5
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +16 -13
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/jajax.js +1262 -0
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +576 -0
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +1148 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +373 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +711 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +36 -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/jpicker/jpicker.css +16 -18
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +25 -188
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +58 -2
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +130 -66
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +21 -17
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +1634 -1613
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +5 -5
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +5 -1
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +13 -9
- data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +136 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +38 -266
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -3
- data/vendor/assets/javascripts/webshims/shims/track.js +41 -40
- metadata +13 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf9250f01df02ab7750a79be2f509fc898993f61
|
|
4
|
+
data.tar.gz: eb32f94fe00dd8ca6dc22bc42d5bb2177cf5dbab
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 05260607e2870fcd730f475ea8b8cbfa6fd674bde183f184d9aa031281d4f62a19c69ddd33519f7cb663a58be7b91a965d1176aaa15bd5532e766b21c7267b35
|
|
7
|
+
data.tar.gz: 7406fdde1e7a97bb55335e831b1d658b524bfb5c4dee07cd42b73951a990058f0122af4a5b8284282f96634bf72341f042f201e3fbcd1451e8592f1cb81356c1
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
13
|
var start = function(){
|
|
14
|
-
if(window.jQuery){
|
|
14
|
+
if(window.jQuery && window.Modernizr){
|
|
15
15
|
factory(jQuery);
|
|
16
16
|
factory = function(){return window.webshims;};
|
|
17
17
|
}
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
window.webshims.timer = setInterval(start, 0);
|
|
84
84
|
start();
|
|
85
85
|
|
|
86
|
-
if (typeof define === 'function' && define.amd
|
|
86
|
+
if (typeof define === 'function' && define.amd) {
|
|
87
87
|
define('polyfiller', ['jquery'], factory);
|
|
88
88
|
}
|
|
89
89
|
}(function($){
|
|
@@ -97,39 +97,49 @@
|
|
|
97
97
|
var asyncWebshims = window.asyncWebshims;
|
|
98
98
|
var addTest = Modernizr.addTest;
|
|
99
99
|
var Object = window.Object;
|
|
100
|
-
var html5 = window.html5 || {};
|
|
101
100
|
var addSource = function(text){
|
|
102
101
|
return text +"\n//# sourceURL="+this.url;
|
|
103
102
|
};
|
|
103
|
+
var getAutoEnhance = function(prop){
|
|
104
|
+
return !webCFG.enhanceAuto && prop == 'auto' ? false : prop;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
clearInterval(webshims.timer);
|
|
104
108
|
Modernizr.advancedObjectProperties = Modernizr.objectAccessor = Modernizr.ES5 = !!('create' in Object && 'seal' in Object);
|
|
105
|
-
|
|
109
|
+
|
|
106
110
|
if(Modernizr.ES5 && !('toJSON' in Date.prototype)){
|
|
107
111
|
Modernizr.ES5 = false;
|
|
108
112
|
}
|
|
109
|
-
|
|
110
|
-
clearInterval(webshims.timer);
|
|
113
|
+
|
|
111
114
|
|
|
112
115
|
path = ($.support.hrefNormalized === false) ? webshims._curScript.getAttribute("src", 4) : webshims._curScript.src;
|
|
113
116
|
path = path.split('?')[0].slice(0, path.lastIndexOf("/") + 1) + 'shims/';
|
|
114
117
|
|
|
115
118
|
$.extend(webshims, {
|
|
116
|
-
version: '1.12.
|
|
119
|
+
version: '1.12.5',
|
|
117
120
|
cfg: {
|
|
118
|
-
|
|
121
|
+
enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 719px)').matches),
|
|
119
122
|
//addCacheBuster: false,
|
|
120
123
|
waitReady: true,
|
|
121
124
|
// extendNative: false,
|
|
122
125
|
loadStyles: true,
|
|
123
|
-
disableShivMethods: true,
|
|
124
126
|
wsdoc: document,
|
|
125
127
|
wspopover: {appendTo: 'auto', hideOnBlur: true},
|
|
126
128
|
ajax: {},
|
|
127
|
-
loadScript: function(src, success
|
|
128
|
-
|
|
129
|
+
loadScript: function(src, success){
|
|
130
|
+
if(!$.ajax){
|
|
131
|
+
if(window.yepnope){
|
|
132
|
+
yepnope.injectJs(src, success);
|
|
133
|
+
} else if(window.require){
|
|
134
|
+
require([src], success);
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
$.ajax($.extend({}, webCFG.ajax, {url: src, success: success, dataType: 'script', cache: true, global: false, dataFilter: addSource}));
|
|
138
|
+
}
|
|
129
139
|
},
|
|
130
|
-
|
|
131
140
|
basePath: path
|
|
132
141
|
},
|
|
142
|
+
|
|
133
143
|
bugs: {},
|
|
134
144
|
/*
|
|
135
145
|
* some data
|
|
@@ -144,6 +154,7 @@
|
|
|
144
154
|
$.extend(true, webCFG, name);
|
|
145
155
|
}
|
|
146
156
|
},
|
|
157
|
+
_getAutoEnhance: getAutoEnhance,
|
|
147
158
|
addPolyfill: function(name, cfg){
|
|
148
159
|
cfg = cfg || {};
|
|
149
160
|
var feature = cfg.f || name;
|
|
@@ -437,7 +448,7 @@
|
|
|
437
448
|
}
|
|
438
449
|
};
|
|
439
450
|
|
|
440
|
-
return function(list
|
|
451
|
+
return function(list){
|
|
441
452
|
var module;
|
|
442
453
|
var loadCombos = [];
|
|
443
454
|
var i;
|
|
@@ -530,7 +541,6 @@
|
|
|
530
541
|
|
|
531
542
|
loadScript: (function(){
|
|
532
543
|
var loadedSrcs = {};
|
|
533
|
-
var scriptLoader;
|
|
534
544
|
return function(src, callback, name, noShimPath){
|
|
535
545
|
if(!noShimPath){
|
|
536
546
|
src = loader.makePath(src);
|
|
@@ -601,6 +611,7 @@
|
|
|
601
611
|
return this.callProp(prop, arguments);
|
|
602
612
|
};
|
|
603
613
|
};
|
|
614
|
+
|
|
604
615
|
$.fn.callProp = function(prop, args){
|
|
605
616
|
var ret;
|
|
606
617
|
if(!args){
|
|
@@ -679,7 +690,7 @@
|
|
|
679
690
|
(function(){
|
|
680
691
|
//Overwrite DOM-Ready and implement a new ready-method
|
|
681
692
|
$.isDOMReady = $.isReady;
|
|
682
|
-
var onReady = function(
|
|
693
|
+
var onReady = function(){
|
|
683
694
|
|
|
684
695
|
$.isDOMReady = true;
|
|
685
696
|
isReady('DOM', true);
|
|
@@ -900,7 +911,7 @@
|
|
|
900
911
|
modules.swfmini.test();
|
|
901
912
|
|
|
902
913
|
addModule('sizzle', {test: $.expr.filters});
|
|
903
|
-
addModule('
|
|
914
|
+
addModule('jajax', {test: $.ajax && $.ajaxSettings.xhr});
|
|
904
915
|
/*
|
|
905
916
|
* polyfill-Modules
|
|
906
917
|
*/
|
|
@@ -988,7 +999,9 @@
|
|
|
988
999
|
|
|
989
1000
|
if(Modernizr[formvalidation]){
|
|
990
1001
|
bustedWidgetUi = !Modernizr.fieldsetdisabled ||!Modernizr.fieldsetelements || !('value' in document.createElement('progress')) || !('value' in document.createElement('output'));
|
|
991
|
-
bugs.bustedValidity = bustedValidity = window.opera || bustedWidgetUi || !modernizrInputAttrs.list;
|
|
1002
|
+
bugs.bustedValidity = bustedValidity = window.opera || bugs.bustedValidity || bustedWidgetUi || !modernizrInputAttrs.list;
|
|
1003
|
+
} else {
|
|
1004
|
+
bugs.bustedValidity = false;
|
|
992
1005
|
}
|
|
993
1006
|
|
|
994
1007
|
formExtend = Modernizr[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
|
|
@@ -997,10 +1010,7 @@
|
|
|
997
1010
|
initialFormTest.run = true;
|
|
998
1011
|
return false;
|
|
999
1012
|
};
|
|
1000
|
-
|
|
1001
|
-
if(modernizrInputAttrs && modernizrInputTypes){
|
|
1002
|
-
initialFormTest();
|
|
1003
|
-
}
|
|
1013
|
+
|
|
1004
1014
|
document.createElement('datalist');
|
|
1005
1015
|
|
|
1006
1016
|
|
|
@@ -1128,6 +1138,9 @@
|
|
|
1128
1138
|
test: function(){
|
|
1129
1139
|
var o = this.options;
|
|
1130
1140
|
initialFormTest();
|
|
1141
|
+
|
|
1142
|
+
o.replaceUI = getAutoEnhance(o.replaceUI);
|
|
1143
|
+
|
|
1131
1144
|
//input widgets on old androids can't be trusted
|
|
1132
1145
|
if(bustedWidgetUi && !o.replaceUI && (/Android/i).test(navigator.userAgent)){
|
|
1133
1146
|
o.replaceUI = true;
|
|
@@ -1195,8 +1208,22 @@
|
|
|
1195
1208
|
addPolyfill('mediaelement-core', {
|
|
1196
1209
|
f: 'mediaelement',
|
|
1197
1210
|
noAutoCallback: true,
|
|
1211
|
+
loadInit: function(){
|
|
1212
|
+
//
|
|
1213
|
+
var o = this.options;
|
|
1214
|
+
o.replaceUI = getAutoEnhance(o.replaceUI);
|
|
1215
|
+
|
|
1216
|
+
if(o.replaceUI){
|
|
1217
|
+
o.plugins.unshift('mediacontrols');
|
|
1218
|
+
}
|
|
1219
|
+
setTimeout(function(){
|
|
1220
|
+
loadList(o.plugins);
|
|
1221
|
+
});
|
|
1222
|
+
},
|
|
1198
1223
|
options: {
|
|
1199
|
-
|
|
1224
|
+
//replaceUI: false,
|
|
1225
|
+
jme: {},
|
|
1226
|
+
plugins: [],
|
|
1200
1227
|
vars: {},
|
|
1201
1228
|
params: {},
|
|
1202
1229
|
attrs: {},
|
|
@@ -1211,13 +1238,14 @@
|
|
|
1211
1238
|
|
|
1212
1239
|
addPolyfill('mediaelement-jaris', {
|
|
1213
1240
|
f: 'mediaelement',
|
|
1214
|
-
d: ['mediaelement-core',
|
|
1241
|
+
d: ['mediaelement-core', DOMSUPPORT],
|
|
1215
1242
|
test: function(){
|
|
1243
|
+
var options = this.options;
|
|
1244
|
+
|
|
1216
1245
|
if(!Modernizr.audio || !Modernizr.video || webshims.mediaelement.loadSwf){
|
|
1217
1246
|
return false;
|
|
1218
1247
|
}
|
|
1219
|
-
|
|
1220
|
-
var options = this.options;
|
|
1248
|
+
|
|
1221
1249
|
if(options.preferFlash && !modules.swfmini.test()){
|
|
1222
1250
|
options.preferFlash = false;
|
|
1223
1251
|
}
|
|
@@ -1225,23 +1253,39 @@
|
|
|
1225
1253
|
},
|
|
1226
1254
|
c: [21, 19, 25, 20]
|
|
1227
1255
|
});
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
bugs.track = !window.TextTrackCue || !Modernizr.texttrackapi;
|
|
1259
|
+
|
|
1231
1260
|
addPolyfill('track', {
|
|
1232
1261
|
options: {
|
|
1233
1262
|
positionDisplay: true,
|
|
1234
1263
|
override: bugs.track
|
|
1235
1264
|
},
|
|
1236
1265
|
test: function(){
|
|
1237
|
-
|
|
1266
|
+
var o = this.options;
|
|
1267
|
+
o.override = getAutoEnhance(o.override);
|
|
1268
|
+
return !o.override && !bugs.track;
|
|
1238
1269
|
},
|
|
1239
1270
|
d: ['mediaelement', DOMSUPPORT],
|
|
1240
1271
|
methodNames: ['addTextTrack'],
|
|
1241
1272
|
c: [21, 12, 13, 22]
|
|
1242
1273
|
});
|
|
1243
|
-
|
|
1244
|
-
|
|
1274
|
+
|
|
1275
|
+
//if(WSDEBUG){
|
|
1276
|
+
addModule('jme', {
|
|
1277
|
+
src: 'jme/b',
|
|
1278
|
+
c: [99]
|
|
1279
|
+
});
|
|
1280
|
+
|
|
1281
|
+
addModule('mediacontrols', {
|
|
1282
|
+
src: 'jme/c',
|
|
1283
|
+
css: 'jme/controls.css',
|
|
1284
|
+
d: ['jme'],
|
|
1285
|
+
c: [99]
|
|
1286
|
+
});
|
|
1287
|
+
//}
|
|
1288
|
+
|
|
1245
1289
|
addModule('track-ui', {
|
|
1246
1290
|
d: ['track', DOMSUPPORT]
|
|
1247
1291
|
});
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
setValuesFromMousePosition.call($this, e);
|
|
68
68
|
}, 0);
|
|
69
69
|
// Bind mousemove and mouseup event to the document so it responds when dragged of of the bar - we will unbind these when on mouseup to save processing
|
|
70
|
-
$(document).
|
|
70
|
+
$(document).on('mousemove', mouseMove).on('mouseup', mouseUp);
|
|
71
71
|
e.preventDefault(); // don't try to select anything or drag the image to the desktop
|
|
72
72
|
},
|
|
73
73
|
mouseMove = // set the values as the mouse moves
|
|
@@ -315,7 +315,7 @@
|
|
|
315
315
|
bar.w = options.map && options.map.width || bar.width();
|
|
316
316
|
bar.h = options.map && options.map.height || bar.height();
|
|
317
317
|
// bind mousedown event
|
|
318
|
-
bar.
|
|
318
|
+
bar.on('mousedown', mouseDown);
|
|
319
319
|
bind.call($this, draw);
|
|
320
320
|
},
|
|
321
321
|
ColorValuePicker = // controls for all the input elements for the typing in color values
|
|
@@ -567,8 +567,8 @@
|
|
|
567
567
|
{
|
|
568
568
|
destroy: destroy
|
|
569
569
|
});
|
|
570
|
-
red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).add(hex).add(bindedHex).add(ahex).
|
|
571
|
-
red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).
|
|
570
|
+
red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).add(hex).add(bindedHex).add(ahex).on('keyup', keyUp).on('blur', blur);
|
|
571
|
+
red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).on('keydown', keyDown);
|
|
572
572
|
color.bind(colorChanged);
|
|
573
573
|
};
|
|
574
574
|
$.wsjPicker = {
|
|
@@ -1583,7 +1583,7 @@
|
|
|
1583
1583
|
color.current.val('ahex', color.active.val('ahex'));
|
|
1584
1584
|
},
|
|
1585
1585
|
radioClicked = function (e) {
|
|
1586
|
-
container.find('input[type="radio"][value
|
|
1586
|
+
container.find('input[type="radio"]:not([value="' + e.target.value + '"])').prop('checked', false);
|
|
1587
1587
|
setColorMode.call($this, e.target.value);
|
|
1588
1588
|
},
|
|
1589
1589
|
currentClicked = function () {
|
|
@@ -1610,7 +1610,7 @@
|
|
|
1610
1610
|
pageStartX = e.pageX;
|
|
1611
1611
|
pageStartY = e.pageY;
|
|
1612
1612
|
// bind events to document to move window - we will unbind these on mouseup
|
|
1613
|
-
$(document).
|
|
1613
|
+
$(document).on('mousemove', documentMouseMove).on('mouseup', documentMouseUp);
|
|
1614
1614
|
e.preventDefault(); // prevent attempted dragging of the column
|
|
1615
1615
|
},
|
|
1616
1616
|
documentMouseMove = function (e) {
|
|
@@ -1702,16 +1702,16 @@
|
|
|
1702
1702
|
var hex = all != null ? all.hex : null,
|
|
1703
1703
|
preview = tbody.find('.Preview'),
|
|
1704
1704
|
button = tbody.find('.Button');
|
|
1705
|
-
activePreview = preview.find('.Active
|
|
1705
|
+
activePreview = preview.find('.Active').eq(0).css({
|
|
1706
1706
|
backgroundColor: hex && '#' + hex || 'transparent'
|
|
1707
1707
|
});
|
|
1708
|
-
currentPreview = preview.find('.Current
|
|
1708
|
+
currentPreview = preview.find('.Current').eq(0).css({
|
|
1709
1709
|
backgroundColor: hex && '#' + hex || 'transparent'
|
|
1710
|
-
}).
|
|
1710
|
+
}).on('click', currentClicked);
|
|
1711
1711
|
setAlpha.call($this, currentPreview, mPrecision(color.current.val('a') * 100) / 255, 4);
|
|
1712
|
-
okButton = button.find('.Ok
|
|
1713
|
-
cancelButton = button.find('.Cancel
|
|
1714
|
-
grid = button.find('.Grid
|
|
1712
|
+
okButton = button.find('.Ok').eq(0).on('click', okClicked);
|
|
1713
|
+
cancelButton = button.find('.Cancel').eq(0).on('click', cancelClicked);
|
|
1714
|
+
grid = button.find('.Grid').eq(0);
|
|
1715
1715
|
setTimeout(function () {
|
|
1716
1716
|
setImg.call($this, colorMapL1, images.clientPath + 'Maps.png');
|
|
1717
1717
|
setImg.call($this, colorMapL2, images.clientPath + 'Maps.png');
|
|
@@ -1724,7 +1724,7 @@
|
|
|
1724
1724
|
setImg.call($this, colorBarL6, images.clientPath + 'AlphaBar.png');
|
|
1725
1725
|
setImg.call($this, preview.find('div').eq(0), images.clientPath + 'preview-opacity.png');
|
|
1726
1726
|
}, 0);
|
|
1727
|
-
tbody.find('td.Radio input').
|
|
1727
|
+
tbody.find('td.Radio input').on('click', radioClicked);
|
|
1728
1728
|
// initialize quick list
|
|
1729
1729
|
if (color.quickList && color.quickList.length > 0) {
|
|
1730
1730
|
var html = '', i;
|
|
@@ -1741,7 +1741,7 @@
|
|
|
1741
1741
|
}
|
|
1742
1742
|
setImg.call($this, grid, images.clientPath + 'bar-opacity.png');
|
|
1743
1743
|
grid.html(html);
|
|
1744
|
-
grid.find('.QuickColor').click
|
|
1744
|
+
grid.find('.QuickColor').on('click', quickPickClicked);
|
|
1745
1745
|
}
|
|
1746
1746
|
setColorMode.call($this, settings.color.mode);
|
|
1747
1747
|
color.active.bind(activeColorChanged);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
var swfmini = function() {
|
|
8
|
-
|
|
8
|
+
var wasRemoved = function(){webshims.error('This method was removed from swfmini');};
|
|
9
9
|
var UNDEF = "undefined",
|
|
10
10
|
OBJECT = "object",
|
|
11
11
|
webshims = window.webshims,
|
|
@@ -19,15 +19,8 @@ var swfmini = function() {
|
|
|
19
19
|
|
|
20
20
|
plugin = false,
|
|
21
21
|
domLoadFnArr = [main],
|
|
22
|
-
|
|
23
|
-
listenersArr = [],
|
|
24
|
-
storedAltContent,
|
|
25
|
-
storedAltContentId,
|
|
26
|
-
storedCallbackFn,
|
|
27
|
-
storedCallbackObj,
|
|
22
|
+
|
|
28
23
|
isDomLoaded = false,
|
|
29
|
-
dynamicStylesheet,
|
|
30
|
-
dynamicStylesheetMedia,
|
|
31
24
|
autoHideShow = true,
|
|
32
25
|
|
|
33
26
|
/* Centralized function for browser feature detection
|
|
@@ -75,11 +68,6 @@ var swfmini = function() {
|
|
|
75
68
|
|
|
76
69
|
function callDomLoadFunctions() {
|
|
77
70
|
if (isDomLoaded) { return; }
|
|
78
|
-
try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
|
|
79
|
-
var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
|
|
80
|
-
t.parentNode.removeChild(t);
|
|
81
|
-
}
|
|
82
|
-
catch (e) { return; }
|
|
83
71
|
isDomLoaded = true;
|
|
84
72
|
var dl = domLoadFnArr.length;
|
|
85
73
|
for (var i = 0; i < dl; i++) {
|
|
@@ -95,14 +83,7 @@ var swfmini = function() {
|
|
|
95
83
|
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
|
|
96
84
|
}
|
|
97
85
|
}
|
|
98
|
-
|
|
99
|
-
/* Cross-browser onload
|
|
100
|
-
- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
|
|
101
|
-
- Will fire an event as soon as a web page including all of its assets are loaded
|
|
102
|
-
*/
|
|
103
|
-
function addLoadEvent(fn) {
|
|
104
|
-
|
|
105
|
-
}
|
|
86
|
+
|
|
106
87
|
|
|
107
88
|
/* Main function
|
|
108
89
|
- Will preferably execute onDomLoad, otherwise onload (as a fallback)
|
|
@@ -145,150 +126,13 @@ var swfmini = function() {
|
|
|
145
126
|
})();
|
|
146
127
|
}
|
|
147
128
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
function getObjectById(objectIdStr) {
|
|
151
|
-
var r = null;
|
|
152
|
-
var o = getElementById(objectIdStr);
|
|
153
|
-
if (o && o.nodeName == "OBJECT") {
|
|
154
|
-
if (typeof o.SetVariable != UNDEF) {
|
|
155
|
-
r = o;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
var n = o.getElementsByTagName(OBJECT)[0];
|
|
159
|
-
if (n) {
|
|
160
|
-
r = n;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return r;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
/* Cross-browser dynamic SWF creation
|
|
169
|
-
*/
|
|
170
|
-
function createSWF(attObj, parObj, id) {
|
|
171
|
-
var r, el = getElementById(id);
|
|
172
|
-
if (ua.wk && ua.wk < 312) { return r; }
|
|
173
|
-
if (el) {
|
|
174
|
-
if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
|
|
175
|
-
attObj.id = id;
|
|
176
|
-
}
|
|
177
|
-
if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
|
|
178
|
-
var att = "";
|
|
179
|
-
for (var i in attObj) {
|
|
180
|
-
if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
|
|
181
|
-
if (i.toLowerCase() == "data") {
|
|
182
|
-
parObj.movie = attObj[i];
|
|
183
|
-
}
|
|
184
|
-
else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
|
185
|
-
att += ' class="' + attObj[i] + '"';
|
|
186
|
-
}
|
|
187
|
-
else if (i.toLowerCase() != "classid") {
|
|
188
|
-
att += ' ' + i + '="' + attObj[i] + '"';
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
var par = "";
|
|
193
|
-
for (var j in parObj) {
|
|
194
|
-
if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
|
|
195
|
-
par += '<param name="' + j + '" value="' + parObj[j] + '" />';
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
|
|
199
|
-
objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
|
|
200
|
-
r = getElementById(attObj.id);
|
|
201
|
-
}
|
|
202
|
-
else { // well-behaving browsers
|
|
203
|
-
var o = createElement(OBJECT);
|
|
204
|
-
o.setAttribute("type", FLASH_MIME_TYPE);
|
|
205
|
-
for (var m in attObj) {
|
|
206
|
-
if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
|
|
207
|
-
if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
|
|
208
|
-
o.setAttribute("class", attObj[m]);
|
|
209
|
-
}
|
|
210
|
-
else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
|
|
211
|
-
o.setAttribute(m, attObj[m]);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
for (var n in parObj) {
|
|
216
|
-
if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
|
|
217
|
-
createObjParam(o, n, parObj[n]);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
el.parentNode.replaceChild(o, el);
|
|
221
|
-
r = o;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
return r;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
function createObjParam(el, pName, pValue) {
|
|
228
|
-
var p = createElement("param");
|
|
229
|
-
p.setAttribute("name", pName);
|
|
230
|
-
p.setAttribute("value", pValue);
|
|
231
|
-
el.appendChild(p);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/* Cross-browser SWF removal
|
|
235
|
-
- Especially needed to safely and completely remove a SWF in Internet Explorer
|
|
236
|
-
*/
|
|
237
|
-
function removeSWF(id) {
|
|
238
|
-
var obj = getElementById(id);
|
|
239
|
-
if (obj && obj.nodeName == "OBJECT") {
|
|
240
|
-
if (ua.ie && ua.win) {
|
|
241
|
-
obj.style.display = "none";
|
|
242
|
-
(function(){
|
|
243
|
-
if (obj.readyState == 4) {
|
|
244
|
-
removeObjectInIE(id);
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
setTimeout(arguments.callee, 10);
|
|
248
|
-
}
|
|
249
|
-
})();
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
obj.parentNode.removeChild(obj);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
function removeObjectInIE(id) {
|
|
258
|
-
var obj = getElementById(id);
|
|
259
|
-
if (obj) {
|
|
260
|
-
for (var i in obj) {
|
|
261
|
-
if (typeof obj[i] == "function") {
|
|
262
|
-
obj[i] = null;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
obj.parentNode.removeChild(obj);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/* Functions to optimize JavaScript compression
|
|
270
|
-
*/
|
|
271
|
-
function getElementById(id) {
|
|
272
|
-
var el = null;
|
|
273
|
-
try {
|
|
274
|
-
el = doc.getElementById(id);
|
|
275
|
-
}
|
|
276
|
-
catch (e) {}
|
|
277
|
-
return el;
|
|
278
|
-
}
|
|
129
|
+
|
|
279
130
|
|
|
280
131
|
function createElement(el) {
|
|
281
132
|
return doc.createElement(el);
|
|
282
133
|
}
|
|
283
134
|
|
|
284
|
-
|
|
285
|
-
- Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
|
|
286
|
-
*/
|
|
287
|
-
function addListener(target, eventType, fn) {
|
|
288
|
-
target.attachEvent(eventType, fn);
|
|
289
|
-
listenersArr[listenersArr.length] = [target, eventType, fn];
|
|
290
|
-
}
|
|
291
|
-
|
|
135
|
+
|
|
292
136
|
/* Flash Player and SWF content version matching
|
|
293
137
|
*/
|
|
294
138
|
function hasPlayerVersion(rv) {
|
|
@@ -300,107 +144,43 @@ var swfmini = function() {
|
|
|
300
144
|
}
|
|
301
145
|
|
|
302
146
|
|
|
303
|
-
|
|
304
|
-
function setVisibility(id, isVisible) {
|
|
305
|
-
if (!autoHideShow) { return; }
|
|
306
|
-
var elem;
|
|
307
|
-
var v = isVisible ? "visible" : "hidden";
|
|
308
|
-
if (isDomLoaded && (elem && getElementById(id))) {
|
|
309
|
-
getElementById(id).style.visibility = v;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
147
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
var cleanup = function() {
|
|
316
|
-
if (ua.ie && ua.win && window.attachEvent) {
|
|
317
|
-
window.attachEvent("onunload", function() {
|
|
318
|
-
// remove listeners to avoid memory leaks
|
|
319
|
-
var ll = listenersArr.length;
|
|
320
|
-
for (var i = 0; i < ll; i++) {
|
|
321
|
-
listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
|
|
322
|
-
}
|
|
323
|
-
// cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect
|
|
324
|
-
var il = objIdArr.length;
|
|
325
|
-
for (var j = 0; j < il; j++) {
|
|
326
|
-
removeSWF(objIdArr[j]);
|
|
327
|
-
}
|
|
328
|
-
// cleanup library's main closures to avoid memory leaks
|
|
329
|
-
for (var k in ua) {
|
|
330
|
-
ua[k] = null;
|
|
331
|
-
}
|
|
332
|
-
ua = null;
|
|
333
|
-
for (var l in swfmini) {
|
|
334
|
-
swfmini[l] = null;
|
|
335
|
-
}
|
|
336
|
-
swfmini = null;
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
}();
|
|
340
|
-
|
|
148
|
+
|
|
149
|
+
|
|
341
150
|
webshims.ready('DOM', callDomLoadFunctions);
|
|
342
|
-
|
|
151
|
+
|
|
152
|
+
webshims.loader.addModule('swfmini-embed', {d: ['swfmini']});
|
|
153
|
+
var loadEmbed = hasPlayerVersion('9.0.0') ?
|
|
154
|
+
function(){
|
|
155
|
+
webshims.loader.loadList(['swfmini-embed']);
|
|
156
|
+
return true;
|
|
157
|
+
} :
|
|
158
|
+
webshims.$.noop
|
|
159
|
+
;
|
|
160
|
+
|
|
161
|
+
if(!Modernizr.video){
|
|
162
|
+
loadEmbed();
|
|
163
|
+
} else {
|
|
164
|
+
webshims.ready('WINDOWLOAD', loadEmbed);
|
|
165
|
+
}
|
|
166
|
+
|
|
343
167
|
return {
|
|
344
168
|
/* Public API
|
|
345
169
|
- Reference: http://code.google.com/p/swfobject/wiki/documentation
|
|
346
170
|
*/
|
|
347
|
-
registerObject:
|
|
348
|
-
|
|
349
|
-
},
|
|
171
|
+
registerObject: wasRemoved,
|
|
350
172
|
|
|
351
|
-
getObjectById:
|
|
352
|
-
if (ua.w3) {
|
|
353
|
-
return getObjectById(objectIdStr);
|
|
354
|
-
}
|
|
355
|
-
},
|
|
173
|
+
getObjectById: wasRemoved,
|
|
356
174
|
|
|
357
175
|
embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
|
|
358
|
-
var
|
|
359
|
-
if
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
widthStr += ""; // auto-convert to string
|
|
363
|
-
heightStr += "";
|
|
364
|
-
var att = {};
|
|
365
|
-
if (attObj && typeof attObj === OBJECT) {
|
|
366
|
-
for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
|
|
367
|
-
att[i] = attObj[i];
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
att.data = swfUrlStr;
|
|
371
|
-
att.width = widthStr;
|
|
372
|
-
att.height = heightStr;
|
|
373
|
-
var par = {};
|
|
374
|
-
if (parObj && typeof parObj === OBJECT) {
|
|
375
|
-
for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
|
|
376
|
-
par[j] = parObj[j];
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
if (flashvarsObj && typeof flashvarsObj === OBJECT) {
|
|
380
|
-
for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
|
|
381
|
-
if (typeof par.flashvars != UNDEF) {
|
|
382
|
-
par.flashvars += "&" + k + "=" + flashvarsObj[k];
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
par.flashvars = k + "=" + flashvarsObj[k];
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
if (hasPlayerVersion(swfVersionStr)) { // create SWF
|
|
390
|
-
var obj = createSWF(att, par, replaceElemIdStr);
|
|
391
|
-
if (att.id == replaceElemIdStr) {
|
|
392
|
-
setVisibility(replaceElemIdStr, true);
|
|
393
|
-
}
|
|
394
|
-
callbackObj.success = true;
|
|
395
|
-
callbackObj.ref = obj;
|
|
396
|
-
}
|
|
397
|
-
else { // show alternative content
|
|
398
|
-
setVisibility(replaceElemIdStr, true);
|
|
399
|
-
}
|
|
400
|
-
if (callbackFn) { callbackFn(callbackObj); }
|
|
176
|
+
var args = arguments;
|
|
177
|
+
if(loadEmbed()){
|
|
178
|
+
webshims.ready('swfmini-embed', function(){
|
|
179
|
+
swfmini.embedSWF.apply(swfmini, args);
|
|
401
180
|
});
|
|
181
|
+
} else if(callbackFn) {
|
|
182
|
+
callbackFn({success:false, id:replaceElemIdStr});
|
|
402
183
|
}
|
|
403
|
-
else if (callbackFn) { callbackFn(callbackObj); }
|
|
404
184
|
},
|
|
405
185
|
|
|
406
186
|
switchOffAutoHideShow: function() {
|
|
@@ -424,33 +204,24 @@ var swfmini = function() {
|
|
|
424
204
|
}
|
|
425
205
|
},
|
|
426
206
|
|
|
427
|
-
showExpressInstall:
|
|
428
|
-
|
|
429
|
-
},
|
|
207
|
+
showExpressInstall: wasRemoved,
|
|
430
208
|
|
|
431
|
-
removeSWF:
|
|
432
|
-
if (ua.w3) {
|
|
433
|
-
removeSWF(objElemIdStr);
|
|
434
|
-
}
|
|
435
|
-
},
|
|
209
|
+
removeSWF: wasRemoved,
|
|
436
210
|
|
|
437
|
-
createCSS:
|
|
438
|
-
|
|
439
|
-
},
|
|
211
|
+
createCSS: wasRemoved,
|
|
440
212
|
|
|
441
213
|
addDomLoadEvent: addDomLoadEvent,
|
|
442
214
|
|
|
443
|
-
addLoadEvent:
|
|
215
|
+
addLoadEvent: wasRemoved,
|
|
444
216
|
|
|
445
217
|
|
|
446
218
|
// For internal usage only
|
|
447
|
-
expressInstallCallback:
|
|
448
|
-
|
|
449
|
-
}
|
|
219
|
+
expressInstallCallback: wasRemoved
|
|
450
220
|
};
|
|
451
221
|
}();
|
|
452
|
-
|
|
453
|
-
webshims.
|
|
222
|
+
|
|
223
|
+
webshims.isReady('swfmini', true);
|
|
224
|
+
;webshims.register('form-core', function($, webshims, window, document, undefined, options){
|
|
454
225
|
"use strict";
|
|
455
226
|
|
|
456
227
|
webshims.capturingEventPrevented = function(e){
|
|
@@ -476,6 +247,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
476
247
|
webshims.capturingEvents(['invalid'], true);
|
|
477
248
|
}
|
|
478
249
|
|
|
250
|
+
var modules = webshims.modules;
|
|
479
251
|
var isValid = function(elem){
|
|
480
252
|
return ($.prop(elem, 'validity') || {valid: 1}).valid;
|
|
481
253
|
};
|
|
@@ -485,10 +257,12 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
485
257
|
options.customMessages = true;
|
|
486
258
|
toLoad.push('form-message');
|
|
487
259
|
}
|
|
488
|
-
|
|
260
|
+
|
|
261
|
+
if(webshims._getAutoEnhance(options.customDatalist)){
|
|
489
262
|
options.fD = true;
|
|
490
263
|
toLoad.push('form-datalist');
|
|
491
264
|
}
|
|
265
|
+
|
|
492
266
|
if(options.addValidators){
|
|
493
267
|
toLoad.push('form-validators');
|
|
494
268
|
}
|
|
@@ -502,7 +276,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
502
276
|
var hasInvalid = function(elem){
|
|
503
277
|
var ret = false;
|
|
504
278
|
$(elem).jProp('elements').each(function(){
|
|
505
|
-
if(!rElementsGroup.test(
|
|
279
|
+
if(!rElementsGroup.test(this.nodeName || '')){
|
|
506
280
|
ret = $(this).is(':invalid');
|
|
507
281
|
if(ret){
|
|
508
282
|
return false;
|
|
@@ -697,18 +471,30 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
697
471
|
}
|
|
698
472
|
return message;
|
|
699
473
|
};
|
|
700
|
-
|
|
474
|
+
|
|
475
|
+
$.event.special.valuevalidation = {
|
|
476
|
+
setup: function(){
|
|
477
|
+
var data = $(this).data() || $.data(this, {});
|
|
478
|
+
if(!('valuevalidation' in data)){
|
|
479
|
+
data.valuevalidation = true;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
};
|
|
701
483
|
|
|
702
484
|
$(document).on('focusin.lazyloadvalidation', function(e){
|
|
703
485
|
if('form' in e.target){
|
|
704
486
|
lazyLoad();
|
|
705
487
|
}
|
|
706
488
|
});
|
|
489
|
+
|
|
707
490
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
|
491
|
+
|
|
492
|
+
if(modules['form-number-date-ui'].loaded && modules['form-number-date-api'].test()){
|
|
493
|
+
webshims.isReady('form-number-date-ui', true);
|
|
494
|
+
}
|
|
708
495
|
});
|
|
709
496
|
;(function(Modernizr, webshims){
|
|
710
497
|
"use strict";
|
|
711
|
-
var $ = webshims.$;
|
|
712
498
|
var hasNative = Modernizr.audio && Modernizr.video;
|
|
713
499
|
var supportsLoop = false;
|
|
714
500
|
var bugs = webshims.bugs;
|
|
@@ -721,6 +507,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
721
507
|
}
|
|
722
508
|
});
|
|
723
509
|
};
|
|
510
|
+
|
|
724
511
|
var wsCfg = webshims.cfg;
|
|
725
512
|
var options = wsCfg.mediaelement;
|
|
726
513
|
var hasFullTrackSupport;
|
|
@@ -729,74 +516,36 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
|
729
516
|
webshims.error("mediaelement wasn't implemented but loaded");
|
|
730
517
|
return;
|
|
731
518
|
}
|
|
519
|
+
|
|
732
520
|
if(hasNative){
|
|
733
521
|
var videoElem = document.createElement('video');
|
|
734
522
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
|
735
523
|
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
|
736
524
|
supportsLoop = ('loop' in videoElem);
|
|
737
|
-
|
|
525
|
+
Modernizr.mediaLoop = supportsLoop;
|
|
526
|
+
|
|
738
527
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
|
739
528
|
|
|
740
|
-
if(!Modernizr.videoBuffered ){
|
|
529
|
+
if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && navigator.userAgent.indexOf('MSIE') != -1 && 'ActiveXObject' in window) ){
|
|
741
530
|
webshims.addPolyfill('mediaelement-native-fix', {
|
|
742
531
|
d: ['dom-support']
|
|
743
532
|
});
|
|
744
533
|
webshims.loader.loadList(['mediaelement-native-fix']);
|
|
745
534
|
}
|
|
746
|
-
|
|
747
|
-
if(!options.preferFlash){
|
|
748
|
-
var noSwitch = {
|
|
749
|
-
1: 1
|
|
750
|
-
};
|
|
751
|
-
var switchOptions = function(e){
|
|
752
|
-
var media, error, parent;
|
|
753
|
-
if(!options.preferFlash &&
|
|
754
|
-
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
|
755
|
-
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
|
756
|
-
){
|
|
757
|
-
|
|
758
|
-
$(function(){
|
|
759
|
-
if(hasSwf && !options.preferFlash){
|
|
760
|
-
loadSwf();
|
|
761
|
-
webshims.ready('WINDOWLOAD '+swfType, function(){
|
|
762
|
-
setTimeout(function(){
|
|
763
|
-
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
|
764
|
-
options.preferFlash = true;
|
|
765
|
-
document.removeEventListener('error', switchOptions, true);
|
|
766
|
-
$('audio, video').each(function(){
|
|
767
|
-
webshims.mediaelement.selectSource(this);
|
|
768
|
-
});
|
|
769
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
|
770
|
-
}
|
|
771
|
-
}, 9);
|
|
772
|
-
});
|
|
773
|
-
} else{
|
|
774
|
-
document.removeEventListener('error', switchOptions, true);
|
|
775
|
-
}
|
|
776
|
-
});
|
|
777
|
-
}
|
|
778
|
-
};
|
|
779
|
-
document.addEventListener('error', switchOptions, true);
|
|
780
|
-
$('audio, video').each(function(){
|
|
781
|
-
var error = $.prop(this, 'error');
|
|
782
|
-
if(error && !noSwitch[error]){
|
|
783
|
-
switchOptions({target: this});
|
|
784
|
-
return false;
|
|
785
|
-
}
|
|
786
|
-
});
|
|
787
|
-
}
|
|
788
535
|
}
|
|
789
536
|
|
|
790
537
|
if(Modernizr.track && !bugs.track){
|
|
791
538
|
(function(){
|
|
792
|
-
|
|
793
|
-
if(!bugs.track){
|
|
794
|
-
bugs.track = typeof $('<track />')[0].readyState != 'number';
|
|
795
|
-
}
|
|
796
|
-
|
|
797
539
|
if(!bugs.track){
|
|
540
|
+
|
|
541
|
+
if(window.VTTCue && !window.TextTrackCue){
|
|
542
|
+
window.TextTrackCue = window.VTTCue;
|
|
543
|
+
} else if(!window.VTTCue){
|
|
544
|
+
window.VTTCue = window.TextTrackCue;
|
|
545
|
+
}
|
|
546
|
+
|
|
798
547
|
try {
|
|
799
|
-
new
|
|
548
|
+
new VTTCue(2, 3, '');
|
|
800
549
|
} catch(e){
|
|
801
550
|
bugs.track = true;
|
|
802
551
|
}
|
|
@@ -832,6 +581,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
832
581
|
}
|
|
833
582
|
data.streamId = data.streamId.join('/');
|
|
834
583
|
};
|
|
584
|
+
|
|
835
585
|
var getSrcObj = function(elem, nodeName){
|
|
836
586
|
elem = $(elem);
|
|
837
587
|
var src = {src: elem.attr('src') || '', elem: elem, srcProp: elem.prop('src')};
|
|
@@ -901,14 +651,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
901
651
|
});
|
|
902
652
|
}
|
|
903
653
|
};
|
|
904
|
-
|
|
905
|
-
// if(!loadMediaGroup.loaded){
|
|
906
|
-
// loadMediaGroup.loaded = true;
|
|
907
|
-
// webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
|
|
908
|
-
// webshims.loader.loadList(['mediagroup']);
|
|
909
|
-
// });
|
|
910
|
-
// }
|
|
911
|
-
// };
|
|
654
|
+
|
|
912
655
|
var loadYt = (function(){
|
|
913
656
|
var loaded;
|
|
914
657
|
return function(){
|
|
@@ -933,10 +676,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
933
676
|
d: ['dom-support']
|
|
934
677
|
});
|
|
935
678
|
|
|
936
|
-
|
|
937
|
-
// webshims.addModule('mediagroup', {
|
|
938
|
-
// d: ['mediaelement', 'dom-support']
|
|
939
|
-
// });
|
|
679
|
+
|
|
940
680
|
|
|
941
681
|
mediaelement.mimeTypes = {
|
|
942
682
|
audio: {
|
|
@@ -970,7 +710,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
970
710
|
|
|
971
711
|
mediaelement.mimeTypes.source = $.extend({}, mediaelement.mimeTypes.audio, mediaelement.mimeTypes.video);
|
|
972
712
|
|
|
973
|
-
mediaelement.getTypeForSrc = function(src, nodeName
|
|
713
|
+
mediaelement.getTypeForSrc = function(src, nodeName){
|
|
974
714
|
if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
|
|
975
715
|
return 'video/youtube';
|
|
976
716
|
}
|
|
@@ -1008,32 +748,13 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1008
748
|
}
|
|
1009
749
|
return srces;
|
|
1010
750
|
} else {
|
|
1011
|
-
|
|
1012
|
-
if(!$.isArray(srces)){
|
|
1013
|
-
srces = [srces];
|
|
1014
|
-
}
|
|
1015
|
-
srces.forEach(function(src){
|
|
1016
|
-
if(typeof src == 'string'){
|
|
1017
|
-
src = {src: src};
|
|
1018
|
-
}
|
|
1019
|
-
mediaElem.append($(document.createElement('source')).attr(src));
|
|
1020
|
-
});
|
|
1021
|
-
|
|
751
|
+
webshims.error('setting sources was removed.');
|
|
1022
752
|
}
|
|
1023
753
|
};
|
|
1024
754
|
|
|
1025
755
|
|
|
1026
|
-
$.fn.loadMediaSrc = function(
|
|
1027
|
-
|
|
1028
|
-
if(poster !== undefined){
|
|
1029
|
-
$(this).removeAttr('poster');
|
|
1030
|
-
if(poster){
|
|
1031
|
-
$.attr(this, 'poster', poster);
|
|
1032
|
-
}
|
|
1033
|
-
}
|
|
1034
|
-
mediaelement.srces(this, srces);
|
|
1035
|
-
$(this).mediaLoad();
|
|
1036
|
-
});
|
|
756
|
+
$.fn.loadMediaSrc = function(){
|
|
757
|
+
webshims.error('loadMediaSrc was removed.');
|
|
1037
758
|
};
|
|
1038
759
|
|
|
1039
760
|
mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
|
|
@@ -1109,8 +830,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1109
830
|
var readyType = hasSwf ? swfType : 'mediaelement-yt';
|
|
1110
831
|
return function( mediaElem, ret, data ){
|
|
1111
832
|
//readd to ready
|
|
1112
|
-
|
|
1113
|
-
|
|
833
|
+
|
|
1114
834
|
webshims.ready(readyType, function(){
|
|
1115
835
|
if(mediaelement.createSWF && $(mediaElem).parent()[0]){
|
|
1116
836
|
mediaelement.createSWF( mediaElem, ret, data );
|
|
@@ -1186,7 +906,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1186
906
|
|
|
1187
907
|
});
|
|
1188
908
|
|
|
1189
|
-
var handleMedia = false;
|
|
909
|
+
var handleMedia = false;
|
|
1190
910
|
var initMediaElements = function(){
|
|
1191
911
|
var testFixMedia = function(){
|
|
1192
912
|
if(webshims.implement(this, 'mediaelement')){
|
|
@@ -1194,50 +914,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1194
914
|
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
|
1195
915
|
$.prop(this, 'muted', true);
|
|
1196
916
|
}
|
|
1197
|
-
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
|
1198
|
-
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
|
1199
|
-
var bufferTimer;
|
|
1200
|
-
var lastBuffered;
|
|
1201
|
-
var elem = this;
|
|
1202
|
-
var getBufferedString = function(){
|
|
1203
|
-
var buffered = $.prop(elem, 'buffered');
|
|
1204
|
-
if(!buffered){return;}
|
|
1205
|
-
var bufferString = "";
|
|
1206
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
|
1207
|
-
bufferString += buffered.end(i);
|
|
1208
|
-
}
|
|
1209
|
-
return bufferString;
|
|
1210
|
-
};
|
|
1211
|
-
var testBuffer = function(){
|
|
1212
|
-
var buffered = getBufferedString();
|
|
1213
|
-
if(buffered != lastBuffered){
|
|
1214
|
-
lastBuffered = buffered;
|
|
1215
|
-
webshims.info('needed to trigger progress manually');
|
|
1216
|
-
$(elem).triggerHandler('progress');
|
|
1217
|
-
}
|
|
1218
|
-
};
|
|
1219
|
-
|
|
1220
|
-
$(this)
|
|
1221
|
-
.on({
|
|
1222
|
-
'play loadstart progress': function(e){
|
|
1223
|
-
if(e.type == 'progress'){
|
|
1224
|
-
lastBuffered = getBufferedString();
|
|
1225
|
-
}
|
|
1226
|
-
clearTimeout(bufferTimer);
|
|
1227
|
-
bufferTimer = setTimeout(testBuffer, 400);
|
|
1228
|
-
},
|
|
1229
|
-
'emptied stalled mediaerror abort suspend': function(e){
|
|
1230
|
-
if(e.type == 'emptied'){
|
|
1231
|
-
lastBuffered = false;
|
|
1232
|
-
}
|
|
1233
|
-
clearTimeout(bufferTimer);
|
|
1234
|
-
}
|
|
1235
|
-
})
|
|
1236
|
-
;
|
|
1237
|
-
if('ActiveXObject' in window && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay],.nonnative-api-active)')){
|
|
1238
|
-
$(this).prop('preload', 'metadata').mediaLoad();
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
917
|
}
|
|
1242
918
|
|
|
1243
919
|
};
|
|
@@ -1250,7 +926,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1250
926
|
}
|
|
1251
927
|
|
|
1252
928
|
['audio', 'video'].forEach(function(nodeName){
|
|
1253
|
-
var supLoad
|
|
929
|
+
var supLoad;
|
|
1254
930
|
supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
|
1255
931
|
prop: {
|
|
1256
932
|
value: function(){
|
|
@@ -1283,58 +959,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1283
959
|
}
|
|
1284
960
|
}
|
|
1285
961
|
});
|
|
1286
|
-
|
|
1287
|
-
// supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
|
|
1288
|
-
// prop: {
|
|
1289
|
-
// get: function(type){
|
|
1290
|
-
// if(!loadMediaGroup.loaded){
|
|
1291
|
-
// loadMediaGroup();
|
|
1292
|
-
// }
|
|
1293
|
-
// if(mediaelement.controller){
|
|
1294
|
-
// return mediaelement.controller[nodeName].get.apply(this, arguments);
|
|
1295
|
-
// }
|
|
1296
|
-
// return supController.prop._supget && supController.prop._supget.apply(this, arguments);
|
|
1297
|
-
// },
|
|
1298
|
-
// set: function(){
|
|
1299
|
-
// var that = this;
|
|
1300
|
-
// var args = arguments;
|
|
1301
|
-
// if(!loadMediaGroup.loaded){
|
|
1302
|
-
// loadMediaGroup();
|
|
1303
|
-
// }
|
|
1304
|
-
// if(mediaelement.controller){
|
|
1305
|
-
// return mediaelement.controller[nodeName].set.apply(that, args);
|
|
1306
|
-
// } else {
|
|
1307
|
-
// webshims.ready('mediagroup', function(){
|
|
1308
|
-
// mediaelement.controller[nodeName].set.apply(that, args);
|
|
1309
|
-
// });
|
|
1310
|
-
// }
|
|
1311
|
-
// return supController.prop._supset && supController.prop._supset.apply(this, arguments);
|
|
1312
|
-
// }
|
|
1313
|
-
// }
|
|
1314
|
-
// });
|
|
1315
|
-
|
|
1316
|
-
// webshims.ready('mediagroup', function(){
|
|
1317
|
-
// mediaelement.controller[nodeName].sup = supController;
|
|
1318
|
-
// });
|
|
1319
962
|
});
|
|
1320
|
-
|
|
1321
|
-
// webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
|
|
1322
|
-
// set: function(){
|
|
1323
|
-
// var that = this;
|
|
1324
|
-
// var args = arguments;
|
|
1325
|
-
// if(!loadMediaGroup.loaded){
|
|
1326
|
-
// loadMediaGroup();
|
|
1327
|
-
// }
|
|
1328
|
-
// if(mediaelement.mediagroup){
|
|
1329
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
|
1330
|
-
// } else {
|
|
1331
|
-
// webshims.ready('mediagroup', function(){
|
|
1332
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
|
1333
|
-
// });
|
|
1334
|
-
// }
|
|
1335
|
-
// },
|
|
1336
|
-
// initAttr: true
|
|
1337
|
-
// });
|
|
963
|
+
|
|
1338
964
|
|
|
1339
965
|
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
|
1340
966
|
set: function(){
|
|
@@ -1357,9 +983,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1357
983
|
if(!loadTrackUi.loaded && $('track', media).length){
|
|
1358
984
|
loadTrackUi();
|
|
1359
985
|
}
|
|
1360
|
-
// if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
|
|
1361
|
-
// loadMediaGroup();
|
|
1362
|
-
// }
|
|
1363
986
|
media = null;
|
|
1364
987
|
});
|
|
1365
988
|
});
|
|
@@ -1399,4 +1022,5 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
|
1399
1022
|
}
|
|
1400
1023
|
webshims.ready('track', loadTrackUi);
|
|
1401
1024
|
});
|
|
1025
|
+
|
|
1402
1026
|
})(Modernizr, webshims);
|