webshims-rails 1.14.1 → 1.14.3
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 +0 -0
- data/vendor/assets/javascripts/webshims/polyfiller.js +3 -8
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +96 -59
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +96 -59
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +70 -44
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +1241 -1126
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +1272 -1214
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +1272 -1214
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -92
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +30 -16
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +41 -85
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +1556 -2316
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +12 -10
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +1175 -1095
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +30 -16
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +66 -31
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +63 -28
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +149 -74
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +149 -74
- data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -1
- data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/es5.js +1175 -1095
- data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/filereader.js +10 -9
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +40 -11
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +80 -47
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +19 -8
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +21 -1
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +130 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-TW.js +130 -0
- data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +186 -0
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +63 -28
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +86 -46
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +317 -211
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +59 -223
- data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +66 -14
- data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +55 -48
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +66 -43
- data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +833 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +31 -76
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.min.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +1542 -2303
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
- data/vendor/assets/javascripts/webshims/shims/picture.js +160 -79
- data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +26 -20
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +444 -326
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +379 -300
- data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +8 -8
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +0 -14
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +104 -85
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +20 -32
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +14 -34
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +920 -728
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +471 -391
- data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +0 -0
- data/vendor/assets/javascripts/webshims/shims/track.js +30 -16
- metadata +8 -4
- data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -12
- data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
@@ -3,13 +3,19 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
3
3
|
var props = {};
|
4
4
|
var fns = {};
|
5
5
|
var slice = Array.prototype.slice;
|
6
|
-
|
6
|
+
var readyLength = 0;
|
7
7
|
var options = $.extend({selector: '.mediaplayer'}, webshims.cfg.mediaelement.jme);
|
8
|
+
var baseSelector = options.selector;
|
9
|
+
|
8
10
|
webshims.cfg.mediaelement.jme = options;
|
9
11
|
|
10
12
|
|
11
13
|
$.jme = {
|
14
|
+
pluginsClasses: [],
|
15
|
+
pluginsSel: '',
|
12
16
|
plugins: {},
|
17
|
+
props: props,
|
18
|
+
fns: fns,
|
13
19
|
data: function(elem, name, value){
|
14
20
|
var data = $(elem).data('jme') || $.data(elem, 'jme', {});
|
15
21
|
if(value === undefined){
|
@@ -18,6 +24,16 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
18
24
|
data[name] = value;
|
19
25
|
}
|
20
26
|
},
|
27
|
+
runPlugin: function(sel){
|
28
|
+
if(readyLength){
|
29
|
+
$(document.querySelectorAll(baseSelector)).each(function(){
|
30
|
+
var controls = this.querySelectorAll(sel);
|
31
|
+
if(controls.length){
|
32
|
+
$(this).jmeFn('addControls', controls);
|
33
|
+
}
|
34
|
+
});
|
35
|
+
}
|
36
|
+
},
|
21
37
|
registerPlugin: function(name, plugin){
|
22
38
|
this.plugins[name] = plugin;
|
23
39
|
if(!plugin.nodeName){
|
@@ -27,6 +43,10 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
27
43
|
plugin.className = name;
|
28
44
|
}
|
29
45
|
|
46
|
+
this.pluginsClasses.push('.'+plugin.className);
|
47
|
+
|
48
|
+
this.pluginsSel = this.pluginsClasses.join(', ');
|
49
|
+
|
30
50
|
options[name] = $.extend(plugin.options || {}, options[name]);
|
31
51
|
|
32
52
|
if(options[name] && options[name].text){
|
@@ -34,6 +54,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
34
54
|
} else if(options.i18n && options.i18n[name]){
|
35
55
|
plugin.text = options.i18n[name];
|
36
56
|
}
|
57
|
+
this.runPlugin('.'+plugin.className);
|
37
58
|
},
|
38
59
|
defineMethod: function(name, fn){
|
39
60
|
fns[name] = fn;
|
@@ -100,10 +121,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
100
121
|
};
|
101
122
|
|
102
123
|
|
103
|
-
var baseSelector = options.selector;
|
104
|
-
|
105
124
|
$.jme.initJME = function(context, insertedElement){
|
106
|
-
$(baseSelector
|
125
|
+
readyLength += $(context.querySelectorAll(baseSelector)).add(insertedElement.filter(baseSelector)).jmePlayer().length;
|
107
126
|
};
|
108
127
|
|
109
128
|
|
@@ -286,7 +305,9 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
286
305
|
base.attr('data-volume', volume);
|
287
306
|
})
|
288
307
|
;
|
289
|
-
|
308
|
+
if($.jme.pluginsSel){
|
309
|
+
base.jmeFn('addControls', $(base[0].querySelectorAll($.jme.pluginsSel)));
|
310
|
+
}
|
290
311
|
if(mediaUpdateFn){
|
291
312
|
media.on('updateJMEState', mediaUpdateFn).triggerHandler('updateJMEState');
|
292
313
|
}
|
@@ -365,39 +386,53 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
365
386
|
if(!data.media){return;}
|
366
387
|
var oldControls = $.jme.data(data.player[0], 'controlElements') || $([]);
|
367
388
|
controls = $(controls);
|
368
|
-
|
369
|
-
controls
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
389
|
+
if($.jme.pluginsSel){
|
390
|
+
controls = controls.find($.jme.pluginsSel).add(controls.filter($.jme.pluginsSel));
|
391
|
+
}
|
392
|
+
if(controls.length){
|
393
|
+
$.each($.jme.plugins, function(name, plugin){
|
394
|
+
var control, options, i, opt;
|
395
|
+
var pluginControls = controls.filter('.'+plugin.className);
|
396
|
+
|
397
|
+
for(i = 0; i < pluginControls.length; i++){
|
398
|
+
control = $(pluginControls[i]);
|
399
|
+
options = $.jme.data(pluginControls[i]);
|
375
400
|
options.player = data.player;
|
376
401
|
options.media = data.media;
|
377
|
-
if(options._rendered){
|
378
|
-
|
402
|
+
if(!options._rendered){
|
403
|
+
options._rendered = true;
|
379
404
|
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
405
|
+
if(plugin.options){
|
406
|
+
for(opt in plugin.options){
|
407
|
+
if(!(opt in options)){
|
408
|
+
options[opt] = plugin.options[opt];
|
409
|
+
}
|
384
410
|
}
|
385
|
-
}
|
386
|
-
}
|
387
|
-
plugin._create(control, data.media, data.player, options);
|
388
|
-
control = null;
|
389
|
-
})
|
390
|
-
;
|
391
|
-
});
|
411
|
+
}
|
392
412
|
|
393
|
-
|
413
|
+
plugin._create(control, data.media, data.player, options);
|
414
|
+
}
|
415
|
+
}
|
394
416
|
|
395
|
-
|
396
|
-
});
|
417
|
+
});
|
397
418
|
|
419
|
+
$.jme.data(data.player[0], 'controlElements', oldControls.add(controls));
|
398
420
|
|
421
|
+
data.player.triggerHandler('controlsadded');
|
422
|
+
}
|
423
|
+
});
|
424
|
+
webshims.isReady('jme', true);
|
399
425
|
webshims.addReady($.jme.initJME);
|
400
426
|
webshims._polyfill(['mediaelement']);
|
427
|
+
webshims.isReady('jme-base', true);
|
428
|
+
|
429
|
+
if(webshims.cfg.debug !== false){
|
430
|
+
$(function(){
|
431
|
+
if(document.getElementsByTagName('video').length && !document.querySelector(baseSelector)){
|
432
|
+
webshims.warn("found video element but video wasn't wrapped inside a ."+ baseSelector +" element. Will not add control UI");
|
433
|
+
}
|
434
|
+
});
|
435
|
+
}
|
401
436
|
});
|
402
437
|
;webshims.ready('jme DOM', function(){
|
403
438
|
"use strict";
|
@@ -3,13 +3,19 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
3
3
|
var props = {};
|
4
4
|
var fns = {};
|
5
5
|
var slice = Array.prototype.slice;
|
6
|
-
|
6
|
+
var readyLength = 0;
|
7
7
|
var options = $.extend({selector: '.mediaplayer'}, webshims.cfg.mediaelement.jme);
|
8
|
+
var baseSelector = options.selector;
|
9
|
+
|
8
10
|
webshims.cfg.mediaelement.jme = options;
|
9
11
|
|
10
12
|
|
11
13
|
$.jme = {
|
14
|
+
pluginsClasses: [],
|
15
|
+
pluginsSel: '',
|
12
16
|
plugins: {},
|
17
|
+
props: props,
|
18
|
+
fns: fns,
|
13
19
|
data: function(elem, name, value){
|
14
20
|
var data = $(elem).data('jme') || $.data(elem, 'jme', {});
|
15
21
|
if(value === undefined){
|
@@ -18,6 +24,16 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
18
24
|
data[name] = value;
|
19
25
|
}
|
20
26
|
},
|
27
|
+
runPlugin: function(sel){
|
28
|
+
if(readyLength){
|
29
|
+
$(document.querySelectorAll(baseSelector)).each(function(){
|
30
|
+
var controls = this.querySelectorAll(sel);
|
31
|
+
if(controls.length){
|
32
|
+
$(this).jmeFn('addControls', controls);
|
33
|
+
}
|
34
|
+
});
|
35
|
+
}
|
36
|
+
},
|
21
37
|
registerPlugin: function(name, plugin){
|
22
38
|
this.plugins[name] = plugin;
|
23
39
|
if(!plugin.nodeName){
|
@@ -27,6 +43,10 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
27
43
|
plugin.className = name;
|
28
44
|
}
|
29
45
|
|
46
|
+
this.pluginsClasses.push('.'+plugin.className);
|
47
|
+
|
48
|
+
this.pluginsSel = this.pluginsClasses.join(', ');
|
49
|
+
|
30
50
|
options[name] = $.extend(plugin.options || {}, options[name]);
|
31
51
|
|
32
52
|
if(options[name] && options[name].text){
|
@@ -34,6 +54,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
34
54
|
} else if(options.i18n && options.i18n[name]){
|
35
55
|
plugin.text = options.i18n[name];
|
36
56
|
}
|
57
|
+
this.runPlugin('.'+plugin.className);
|
37
58
|
},
|
38
59
|
defineMethod: function(name, fn){
|
39
60
|
fns[name] = fn;
|
@@ -100,10 +121,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
100
121
|
};
|
101
122
|
|
102
123
|
|
103
|
-
var baseSelector = options.selector;
|
104
|
-
|
105
124
|
$.jme.initJME = function(context, insertedElement){
|
106
|
-
$(baseSelector
|
125
|
+
readyLength += $(context.querySelectorAll(baseSelector)).add(insertedElement.filter(baseSelector)).jmePlayer().length;
|
107
126
|
};
|
108
127
|
|
109
128
|
|
@@ -286,7 +305,9 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
286
305
|
base.attr('data-volume', volume);
|
287
306
|
})
|
288
307
|
;
|
289
|
-
|
308
|
+
if($.jme.pluginsSel){
|
309
|
+
base.jmeFn('addControls', $(base[0].querySelectorAll($.jme.pluginsSel)));
|
310
|
+
}
|
290
311
|
if(mediaUpdateFn){
|
291
312
|
media.on('updateJMEState', mediaUpdateFn).triggerHandler('updateJMEState');
|
292
313
|
}
|
@@ -365,39 +386,53 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
365
386
|
if(!data.media){return;}
|
366
387
|
var oldControls = $.jme.data(data.player[0], 'controlElements') || $([]);
|
367
388
|
controls = $(controls);
|
368
|
-
|
369
|
-
controls
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
389
|
+
if($.jme.pluginsSel){
|
390
|
+
controls = controls.find($.jme.pluginsSel).add(controls.filter($.jme.pluginsSel));
|
391
|
+
}
|
392
|
+
if(controls.length){
|
393
|
+
$.each($.jme.plugins, function(name, plugin){
|
394
|
+
var control, options, i, opt;
|
395
|
+
var pluginControls = controls.filter('.'+plugin.className);
|
396
|
+
|
397
|
+
for(i = 0; i < pluginControls.length; i++){
|
398
|
+
control = $(pluginControls[i]);
|
399
|
+
options = $.jme.data(pluginControls[i]);
|
375
400
|
options.player = data.player;
|
376
401
|
options.media = data.media;
|
377
|
-
if(options._rendered){
|
378
|
-
|
402
|
+
if(!options._rendered){
|
403
|
+
options._rendered = true;
|
379
404
|
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
405
|
+
if(plugin.options){
|
406
|
+
for(opt in plugin.options){
|
407
|
+
if(!(opt in options)){
|
408
|
+
options[opt] = plugin.options[opt];
|
409
|
+
}
|
384
410
|
}
|
385
|
-
}
|
386
|
-
}
|
387
|
-
plugin._create(control, data.media, data.player, options);
|
388
|
-
control = null;
|
389
|
-
})
|
390
|
-
;
|
391
|
-
});
|
411
|
+
}
|
392
412
|
|
393
|
-
|
413
|
+
plugin._create(control, data.media, data.player, options);
|
414
|
+
}
|
415
|
+
}
|
394
416
|
|
395
|
-
|
396
|
-
});
|
417
|
+
});
|
397
418
|
|
419
|
+
$.jme.data(data.player[0], 'controlElements', oldControls.add(controls));
|
398
420
|
|
421
|
+
data.player.triggerHandler('controlsadded');
|
422
|
+
}
|
423
|
+
});
|
424
|
+
webshims.isReady('jme', true);
|
399
425
|
webshims.addReady($.jme.initJME);
|
400
426
|
webshims._polyfill(['mediaelement']);
|
427
|
+
webshims.isReady('jme-base', true);
|
428
|
+
|
429
|
+
if(webshims.cfg.debug !== false){
|
430
|
+
$(function(){
|
431
|
+
if(document.getElementsByTagName('video').length && !document.querySelector(baseSelector)){
|
432
|
+
webshims.warn("found video element but video wasn't wrapped inside a ."+ baseSelector +" element. Will not add control UI");
|
433
|
+
}
|
434
|
+
});
|
435
|
+
}
|
401
436
|
});
|
402
437
|
;webshims.register('mediacontrols', function($, webshims, window){
|
403
438
|
"use strict";
|
@@ -405,7 +440,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
405
440
|
|
406
441
|
var options = webshims.cfg.mediaelement.jme;
|
407
442
|
var baseSelector = options.selector;
|
408
|
-
|
443
|
+
var jme = $.jme;
|
444
|
+
var unknowStructure = '<div class="{%class%}"></div>'
|
409
445
|
var btnStructure = '<button class="{%class%}" type="button" aria-label="{%text%}"></button>';
|
410
446
|
var slideStructure = '<div class="{%class%} media-range"></div>';
|
411
447
|
var timeStructure = '<div class="{%class%}">00:00</div>';
|
@@ -413,10 +449,14 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
413
449
|
var noVolumeClass = (function(){
|
414
450
|
var audio;
|
415
451
|
var ret = '';
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
452
|
+
|
453
|
+
if(window.Audio){
|
454
|
+
try {
|
455
|
+
audio = new Audio();
|
456
|
+
audio.volume = 0.55;
|
457
|
+
ret = ((Math.round(audio.volume * 100) / 100) == 0.55) ? '' : ' no-volume-api';
|
458
|
+
} catch(e){}
|
459
|
+
|
420
460
|
}
|
421
461
|
return ret;
|
422
462
|
})();
|
@@ -431,8 +471,12 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
431
471
|
}
|
432
472
|
if(!cache[template] || invalidCache){
|
433
473
|
cache[template] = template.replace(regTemplate, function(match, matchName){
|
434
|
-
var plugin =
|
435
|
-
if(plugin
|
474
|
+
var plugin = jme.plugins[matchName];
|
475
|
+
if(plugin){
|
476
|
+
if(!plugin.structure){
|
477
|
+
webshims.warn('no structure option provided for plugin: '+ matchName +'. Fallback to standard div');
|
478
|
+
plugin.structure = unknowStructure;
|
479
|
+
}
|
436
480
|
return plugin.structure.replace('{%class%}', matchName).replace('{%text%}', plugin.text || '');
|
437
481
|
}
|
438
482
|
return match;
|
@@ -442,7 +486,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
442
486
|
return cache[template] || '';
|
443
487
|
};
|
444
488
|
})();
|
445
|
-
|
489
|
+
var ios6 = /iP(hone|od|ad)/i.test(navigator.platform) && parseInt(((navigator.appVersion).match(/OS (\d+)_\d+/) || ['','8'])[1], 10) < 7;
|
446
490
|
var loadLazy = function(){
|
447
491
|
if(!loadLazy.loaded){
|
448
492
|
loadLazy.loaded = true;
|
@@ -468,13 +512,6 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
468
512
|
return rfn;
|
469
513
|
};
|
470
514
|
|
471
|
-
if(!options.barTemplate){
|
472
|
-
options.barTemplate = '<div class="play-pause-container">{{play-pause}}</div><div class="playlist-container"><div class="playlist-box">{{playlist-prev}}{{playlist-next}}</div></div><div class="currenttime-container">{{currenttime-display}}</div><div class="progress-container">{{time-slider}}</div><div class="duration-container">{{duration-display}}</div><div class="mute-container">{{mute-unmute}}</div><div class="volume-container">{{volume-slider}}</div><div class="subtitle-container"><div class="subtitle-controls">{{captions}}</div></div><div class="fullscreen-container">{{fullscreen}}</div>';
|
473
|
-
}
|
474
|
-
if(!options.barStructure){
|
475
|
-
options.barStructure = '<div class="jme-media-overlay"></div><div class="jme-controlbar'+ noVolumeClass +'" tabindex="-1"><div class="jme-cb-box"></div></div>';
|
476
|
-
}
|
477
|
-
|
478
515
|
webshims.loader.addModule('mediacontrols-lazy', {
|
479
516
|
src: 'jme/mediacontrols-lazy'
|
480
517
|
});
|
@@ -482,43 +519,48 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
482
519
|
var userActivity = {
|
483
520
|
_create: lazyLoadPlugin()
|
484
521
|
};
|
485
|
-
|
522
|
+
jme.plugins.useractivity = userActivity;
|
486
523
|
|
487
|
-
|
524
|
+
jme.defineProp('controlbar', {
|
488
525
|
set: function(elem, value){
|
489
526
|
value = !!value;
|
490
527
|
var controls, playerSize;
|
491
|
-
var data =
|
528
|
+
var data = jme.data(elem);
|
492
529
|
var controlBar = $('div.jme-mediaoverlay, div.jme-controlbar', data.player);
|
493
530
|
var structure = '';
|
494
531
|
if(value && !controlBar[0]){
|
495
532
|
if(data._controlbar){
|
496
533
|
data._controlbar.appendTo(data.player);
|
497
534
|
} else {
|
535
|
+
if(ios6){
|
536
|
+
data.media.removeAttr('controls');
|
537
|
+
data.media.mediaLoad();
|
538
|
+
}
|
498
539
|
data.media.prop('controls', false);
|
499
|
-
|
500
540
|
structure = getBarHtml();
|
501
541
|
data._controlbar = $( options.barStructure );
|
502
542
|
controlBar = data._controlbar.find('div.jme-cb-box').addClass('media-controls');
|
503
|
-
controls = data._controlbar.filter('.jme-media-overlay')
|
543
|
+
controls = data._controlbar.filter('.jme-media-overlay');
|
504
544
|
controls = controls.add( controlBar );
|
505
545
|
$(structure).appendTo(controlBar);
|
506
546
|
data._controlbar.appendTo(data.player);
|
507
547
|
data.player.jmeFn('addControls', controls);
|
508
548
|
|
509
549
|
playerSize = (function(){
|
510
|
-
var lastSize;
|
550
|
+
var lastSize = {};
|
511
551
|
var sizes = [
|
512
|
-
{size: 290, name: 'xx-small'},
|
513
|
-
{size: 380, name: 'x-small'},
|
514
|
-
{size:
|
515
|
-
{size: 756, name: 'medium'},
|
516
|
-
{size: 1024, name: 'large'}
|
552
|
+
{size: 290, name: 'xx-small', names: 's xs xxs'},
|
553
|
+
{size: 380, name: 'x-small', names: 's xs'},
|
554
|
+
{size: 478, name: 'small', names: 's'},
|
555
|
+
{size: 756, name: 'medium', names: 'm'},
|
556
|
+
{size: 1024, name: 'large', names: 'l'},
|
557
|
+
{size: Number.MAX_VALUE, name: 'x-large', names: 'l xl'}
|
517
558
|
];
|
518
559
|
|
560
|
+
|
519
561
|
var len = sizes.length;
|
520
562
|
return function(){
|
521
|
-
var size
|
563
|
+
var size;
|
522
564
|
var i = 0;
|
523
565
|
var width = data.player.outerWidth();
|
524
566
|
var fSize = Math.max(parseInt(data.player.css('fontSize'), 10) || 16, 13);
|
@@ -526,14 +568,33 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
526
568
|
width = width * (16 / fSize);
|
527
569
|
for(; i < len; i++){
|
528
570
|
if(sizes[i].size >= width){
|
529
|
-
size = sizes[i]
|
571
|
+
size = sizes[i];
|
530
572
|
break;
|
531
573
|
}
|
532
574
|
}
|
533
575
|
|
534
|
-
if(lastSize != size){
|
576
|
+
if(lastSize.name != size.name){
|
535
577
|
lastSize = size;
|
536
|
-
data.player.attr('data-playersize', size);
|
578
|
+
data.player.attr('data-playersize', size.name);
|
579
|
+
data.player.attr('data-playersizes', size.names);
|
580
|
+
}
|
581
|
+
};
|
582
|
+
})();
|
583
|
+
var posterState = (function(){
|
584
|
+
var lastPosterState, lastYoutubeState;
|
585
|
+
var hasFlash = window.swfmini && swfmini.hasFlashPlayerVersion('10.0.3');
|
586
|
+
var regYt = /youtube\.com\/[watch\?|v\/]+/i;
|
587
|
+
return function(){
|
588
|
+
var hasPoster = !!data.media.attr('poster');
|
589
|
+
var hasYt = (hasFlash && hasPoster) ? false : regYt.test(data.media.prop('currentSrc') || '');
|
590
|
+
if(lastPosterState !== hasPoster){
|
591
|
+
lastPosterState = hasPoster;
|
592
|
+
data.player[hasPoster ? 'removeClass' : 'addClass']('no-poster');
|
593
|
+
}
|
594
|
+
|
595
|
+
if(lastYoutubeState !== hasYt){
|
596
|
+
lastYoutubeState = hasYt;
|
597
|
+
data.player[hasYt ? 'addClass' : 'removeClass']('has-ytposter');
|
537
598
|
}
|
538
599
|
};
|
539
600
|
})();
|
@@ -541,7 +602,10 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
541
602
|
|
542
603
|
userActivity._create(data.player, data.media, data.player);
|
543
604
|
|
605
|
+
data.media.on('emptied', posterState);
|
606
|
+
|
544
607
|
playerSize();
|
608
|
+
posterState();
|
545
609
|
webshims.ready('dom-support', function(){
|
546
610
|
data.player.onWSOff('updateshadowdom', playerSize);
|
547
611
|
controls.add(data._controlbar).addClass(webshims.shadowClass);
|
@@ -556,28 +620,32 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
556
620
|
}
|
557
621
|
});
|
558
622
|
|
559
|
-
|
560
|
-
|
623
|
+
jme.registerPlugin('play-pause', {
|
561
624
|
structure: btnStructure,
|
562
625
|
text: 'play / pause',
|
563
626
|
_create: lazyLoadPlugin()
|
564
627
|
});
|
565
628
|
|
566
|
-
|
567
|
-
|
629
|
+
jme.registerPlugin('mute-unmute', {
|
568
630
|
structure: btnStructure,
|
569
631
|
text: 'mute / unmute',
|
570
632
|
_create: lazyLoadPlugin()
|
571
633
|
});
|
572
634
|
|
635
|
+
jme.registerPlugin('jme-media-overlay', {
|
636
|
+
_create: lazyLoadPlugin()
|
637
|
+
});
|
638
|
+
|
573
639
|
|
574
|
-
|
640
|
+
|
641
|
+
|
642
|
+
jme.registerPlugin('volume-slider', {
|
575
643
|
structure: slideStructure,
|
576
644
|
|
577
645
|
_create: lazyLoadPlugin()
|
578
646
|
});
|
579
647
|
|
580
|
-
|
648
|
+
jme.registerPlugin('time-slider', {
|
581
649
|
structure: slideStructure,
|
582
650
|
|
583
651
|
options: {
|
@@ -587,12 +655,12 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
587
655
|
});
|
588
656
|
|
589
657
|
|
590
|
-
|
658
|
+
jme.defineProp('format', {
|
591
659
|
set: function(elem, format){
|
592
660
|
if(!$.isArray(format)){
|
593
661
|
format = format.split(':');
|
594
662
|
}
|
595
|
-
var data =
|
663
|
+
var data = jme.data(elem);
|
596
664
|
data.format = format;
|
597
665
|
$(elem).triggerHandler('updatetimeformat');
|
598
666
|
data.player.triggerHandler('updatetimeformat');
|
@@ -600,7 +668,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
600
668
|
}
|
601
669
|
});
|
602
670
|
|
603
|
-
|
671
|
+
jme.registerPlugin('duration-display', {
|
604
672
|
structure: timeStructure,
|
605
673
|
options: {
|
606
674
|
format: "mm:ss"
|
@@ -608,10 +676,10 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
608
676
|
_create: lazyLoadPlugin()
|
609
677
|
});
|
610
678
|
|
611
|
-
|
679
|
+
jme.defineProp('countdown', {
|
612
680
|
set: function(elem, value){
|
613
681
|
|
614
|
-
var data =
|
682
|
+
var data = jme.data(elem);
|
615
683
|
data.countdown = !!value;
|
616
684
|
$(elem).triggerHandler('updatetimeformat');
|
617
685
|
data.player.triggerHandler('updatetimeformat');
|
@@ -619,7 +687,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
619
687
|
}
|
620
688
|
});
|
621
689
|
|
622
|
-
|
690
|
+
jme.registerPlugin('currenttime-display', {
|
623
691
|
structure: timeStructure,
|
624
692
|
options: {
|
625
693
|
format: "mm:ss",
|
@@ -638,7 +706,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
638
706
|
* the old technique wasn't fully bullet proof
|
639
707
|
* beside this, jme2 adovactes to use the new improved state-classes to handle visual effect on specific state (see CSS change)
|
640
708
|
*/
|
641
|
-
|
709
|
+
jme.registerPlugin('poster-display', {
|
642
710
|
structure: '<div />',
|
643
711
|
options: {
|
644
712
|
},
|
@@ -646,7 +714,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
646
714
|
});
|
647
715
|
|
648
716
|
|
649
|
-
|
717
|
+
jme.registerPlugin('fullscreen', {
|
650
718
|
|
651
719
|
options: {
|
652
720
|
fullscreen: true,
|
@@ -658,7 +726,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
658
726
|
});
|
659
727
|
|
660
728
|
|
661
|
-
|
729
|
+
jme.registerPlugin('captions', {
|
662
730
|
structure: btnStructure,
|
663
731
|
text: 'subtitles',
|
664
732
|
_create: function(control, media, base){
|
@@ -670,7 +738,14 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
|
|
670
738
|
}
|
671
739
|
});
|
672
740
|
|
673
|
-
webshims.ready(webshims.cfg.mediaelement.plugins.concat(['mediaelement']), function(){
|
741
|
+
webshims.ready(webshims.cfg.mediaelement.plugins.concat(['mediaelement', 'jme-base']), function(){
|
742
|
+
if(!options.barTemplate){
|
743
|
+
options.barTemplate = '<div class="play-pause-container">{{play-pause}}</div><div class="playlist-container"><div class="playlist-box">{{playlist-prev}}{{playlist-next}}</div></div><div class="currenttime-container">{{currenttime-display}}</div><div class="progress-container">{{time-slider}}</div><div class="duration-container">{{duration-display}}</div><div class="mute-container">{{mute-unmute}}</div><div class="volume-container">{{volume-slider}}</div><div class="subtitle-container"><div class="subtitle-controls">{{captions}}</div></div><div class="fullscreen-container">{{fullscreen}}</div>';
|
744
|
+
}
|
745
|
+
if(!options.barStructure){
|
746
|
+
options.barStructure = '<div class="jme-media-overlay"></div><div class="jme-controlbar'+ noVolumeClass +'" tabindex="-1"><div class="jme-cb-box"></div></div>';
|
747
|
+
}
|
748
|
+
|
674
749
|
webshims.addReady(function(context, insertedElement){
|
675
750
|
$(baseSelector, context).add(insertedElement.filter(baseSelector)).jmeProp('controlbar', true);
|
676
751
|
});
|