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.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +0 -0
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +3 -8
  5. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
  6. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
  9. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
  10. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
  11. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  12. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  13. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +0 -0
  14. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
  15. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
  16. data/vendor/assets/javascripts/webshims/shims/color-picker.js +2 -2
  17. data/vendor/assets/javascripts/webshims/shims/combos/1.js +66 -43
  18. data/vendor/assets/javascripts/webshims/shims/combos/10.js +66 -31
  19. data/vendor/assets/javascripts/webshims/shims/combos/11.js +66 -31
  20. data/vendor/assets/javascripts/webshims/shims/combos/12.js +96 -59
  21. data/vendor/assets/javascripts/webshims/shims/combos/13.js +96 -59
  22. data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -0
  23. data/vendor/assets/javascripts/webshims/shims/combos/15.js +4 -1
  24. data/vendor/assets/javascripts/webshims/shims/combos/16.js +70 -44
  25. data/vendor/assets/javascripts/webshims/shims/combos/17.js +66 -31
  26. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1241 -1126
  27. data/vendor/assets/javascripts/webshims/shims/combos/19.js +1272 -1214
  28. data/vendor/assets/javascripts/webshims/shims/combos/2.js +66 -43
  29. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1272 -1214
  30. data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -92
  31. data/vendor/assets/javascripts/webshims/shims/combos/22.js +30 -16
  32. data/vendor/assets/javascripts/webshims/shims/combos/23.js +66 -43
  33. data/vendor/assets/javascripts/webshims/shims/combos/25.js +41 -85
  34. data/vendor/assets/javascripts/webshims/shims/combos/26.js +1556 -2316
  35. data/vendor/assets/javascripts/webshims/shims/combos/27.js +12 -10
  36. data/vendor/assets/javascripts/webshims/shims/combos/28.js +4 -1
  37. data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
  38. data/vendor/assets/javascripts/webshims/shims/combos/3.js +0 -0
  39. data/vendor/assets/javascripts/webshims/shims/combos/30.js +0 -0
  40. data/vendor/assets/javascripts/webshims/shims/combos/31.js +0 -0
  41. data/vendor/assets/javascripts/webshims/shims/combos/32.js +1175 -1095
  42. data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
  43. data/vendor/assets/javascripts/webshims/shims/combos/34.js +30 -16
  44. data/vendor/assets/javascripts/webshims/shims/combos/4.js +0 -0
  45. data/vendor/assets/javascripts/webshims/shims/combos/5.js +66 -31
  46. data/vendor/assets/javascripts/webshims/shims/combos/6.js +66 -31
  47. data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -43
  48. data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -43
  49. data/vendor/assets/javascripts/webshims/shims/combos/9.js +66 -31
  50. data/vendor/assets/javascripts/webshims/shims/combos/97.js +63 -28
  51. data/vendor/assets/javascripts/webshims/shims/combos/98.js +149 -74
  52. data/vendor/assets/javascripts/webshims/shims/combos/99.js +149 -74
  53. data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -1
  54. data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/es5.js +1175 -1095
  57. data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/filereader.js +10 -9
  59. data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -0
  60. data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -0
  61. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
  62. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
  63. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/form-message.js +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
  66. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +40 -11
  68. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +4 -1
  69. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +2 -1
  70. data/vendor/assets/javascripts/webshims/shims/form-validation.js +80 -47
  71. data/vendor/assets/javascripts/webshims/shims/form-validators.js +19 -8
  72. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +21 -1
  73. data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
  74. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
  75. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
  76. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
  77. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
  78. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
  79. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
  80. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
  81. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +130 -0
  82. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
  83. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
  84. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
  85. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
  86. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
  87. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
  88. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
  89. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
  90. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
  91. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
  92. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
  93. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
  94. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
  95. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
  96. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
  97. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-TW.js +130 -0
  98. data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
  99. data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +186 -0
  100. data/vendor/assets/javascripts/webshims/shims/jme/b.js +63 -28
  101. data/vendor/assets/javascripts/webshims/shims/jme/c.js +86 -46
  102. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +317 -211
  103. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +59 -223
  104. data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
  105. data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
  106. data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
  107. data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
  108. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +66 -14
  109. data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
  110. data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
  111. data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
  112. data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
  113. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
  114. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
  115. data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
  116. data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
  117. data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
  118. data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
  119. data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
  120. data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
  121. data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
  122. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +55 -48
  123. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +66 -43
  124. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +833 -0
  125. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +31 -76
  126. data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
  127. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +0 -0
  128. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
  129. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.min.swf +0 -0
  130. data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +1542 -2303
  131. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
  132. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
  133. data/vendor/assets/javascripts/webshims/shims/picture.js +160 -79
  134. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
  135. data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
  136. data/vendor/assets/javascripts/webshims/shims/range-ui.js +26 -20
  137. data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
  138. data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
  139. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +444 -326
  140. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +379 -300
  141. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  142. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  143. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +8 -8
  144. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +0 -0
  145. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +0 -14
  146. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +104 -85
  147. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +20 -32
  148. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +0 -0
  149. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +14 -34
  150. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +920 -728
  151. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +471 -391
  152. data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
  153. data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
  154. data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
  155. data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
  156. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  157. data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
  158. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
  159. data/vendor/assets/javascripts/webshims/shims/track-ui.js +0 -0
  160. data/vendor/assets/javascripts/webshims/shims/track.js +30 -16
  161. metadata +8 -4
  162. data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -12
  163. 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, context).add(insertedElement.filter(baseSelector)).jmePlayer();
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
- $.each($.jme.plugins, function(name, plugin){
369
- controls
370
- .filter('.'+plugin.className)
371
- .add(controls.find('.'+plugin.className))
372
- .each(function(){
373
- var control = $(this);
374
- var options = $.jme.data(this);
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){return;}
378
- options._rendered = true;
402
+ if(!options._rendered){
403
+ options._rendered = true;
379
404
 
380
- if(plugin.options){
381
- $.each(plugin.options, function(option, value){
382
- if(!(option in options)){
383
- options[option] = value;
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
- $.jme.data(data.player[0], 'controlElements', oldControls.add(controls));
413
+ plugin._create(control, data.media, data.player, options);
414
+ }
415
+ }
394
416
 
395
- data.player.triggerHandler('controlsadded');
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
- if(typeof window.Audio == 'function'){
417
- audio = new Audio();
418
- audio.volume = 0.55;
419
- ret = audio.volume = 0.55 ? '' : ' no-volume-api';
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 = $.jme.plugins[matchName];
435
- if(plugin && plugin.structure){
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
- $.jme.plugins.useractivity = userActivity;
522
+ jme.plugins.useractivity = userActivity;
486
523
 
487
- $.jme.defineProp('controlbar', {
524
+ jme.defineProp('controlbar', {
488
525
  set: function(elem, value){
489
526
  value = !!value;
490
527
  var controls, playerSize;
491
- var data = $.jme.data(elem);
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').addClass('play-pause');
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: 490, name: 'small'},
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 = 'x-large';
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].name;
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
- $.jme.registerPlugin('play-pause', {
560
-
623
+ jme.registerPlugin('play-pause', {
561
624
  structure: btnStructure,
562
625
  text: 'play / pause',
563
626
  _create: lazyLoadPlugin()
564
627
  });
565
628
 
566
- $.jme.registerPlugin('mute-unmute', {
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
- $.jme.registerPlugin('volume-slider', {
640
+
641
+
642
+ jme.registerPlugin('volume-slider', {
575
643
  structure: slideStructure,
576
644
 
577
645
  _create: lazyLoadPlugin()
578
646
  });
579
647
 
580
- $.jme.registerPlugin('time-slider', {
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
- $.jme.defineProp('format', {
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 = $.jme.data(elem);
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
- $.jme.registerPlugin('duration-display', {
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
- $.jme.defineProp('countdown', {
679
+ jme.defineProp('countdown', {
612
680
  set: function(elem, value){
613
681
 
614
- var data = $.jme.data(elem);
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
- $.jme.registerPlugin('currenttime-display', {
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
- $.jme.registerPlugin('poster-display', {
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
- $.jme.registerPlugin('fullscreen', {
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
- $.jme.registerPlugin('captions', {
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
  });
@@ -1 +1 @@
1
- {"version":"1.14.1","features":{"swfmini":[16,7,2,8,1,12,19,23],"dom-support":[16,7,2,8,19,20,15,30,3,4,9,10,25,31,34],"forms":[16,7,2,8,1,32,15,30,3,4,9,31,6,5,14,29,28,27,33],"mediaelement":[16,7,2,8,1,12,19,23,20,25,21,13],"track":[12,34,21,22,13],"es5":[19,18,20,32],"forms-ext":[18,32,9,10,6,5,14,29,28,17,33,11],"range-ui":[18,9,10,6,5,17,11],"filereader":[25,27,26],"geolocation":[21],"details":[21,22],"moxie":[26],"jme":[98,99,97],"mediacontrols":[98,99],"playlist":[98,97]},"files":{"src/shims/combos/16.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/7.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/2.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/8.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/mediaelement-core.js"],"src/shims/combos/1.js":["src/shims/swfmini.js","src/shims/form-core.js","src/shims/mediaelement-core.js"],"src/shims/combos/12.js":["src/shims/swfmini.js","src/shims/mediaelement-core.js","src/shims/track.js"],"src/shims/combos/19.js":["src/shims/swfmini.js","src/shims/es5.js","src/shims/dom-extend.js","src/shims/mediaelement-core.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/23.js":["src/shims/swfmini.js","src/shims/mediaelement-core.js"],"src/shims/combos/18.js":["src/shims/es5.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/20.js":["src/shims/es5.js","src/shims/dom-extend.js","src/shims/mediaelement-core.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/32.js":["src/shims/es5.js","src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/15.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-datalist.js"],"src/shims/combos/30.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/form-datalist.js"],"src/shims/combos/3.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js"],"src/shims/combos/4.js":["src/shims/dom-extend.js","src/shims/form-message.js"],"src/shims/combos/9.js":["src/shims/dom-extend.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js","src/shims/form-datalist.js"],"src/shims/combos/10.js":["src/shims/dom-extend.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/25.js":["src/shims/dom-extend.js","src/shims/filereader.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/31.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-datalist.js"],"src/shims/combos/34.js":["src/shims/dom-extend.js","src/shims/track.js"],"src/shims/combos/21.js":["src/shims/geolocation.js","src/shims/details.js","src/shims/mediaelement-jaris.js","src/shims/track.js"],"src/shims/combos/6.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js","src/shims/form-datalist.js"],"src/shims/combos/5.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/14.js":["src/shims/form-native-extend.js","src/shims/form-message.js","src/shims/form-number-date-api.js"],"src/shims/combos/29.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js"],"src/shims/combos/28.js":["src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/27.js":["src/shims/form-shim-extend2.js","src/shims/filereader.js"],"src/shims/combos/17.js":["src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/33.js":["src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/11.js":["src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/26.js":["src/shims/moxie/js/moxie.js","src/shims/filereader.js"],"src/shims/combos/22.js":["src/shims/details.js","src/shims/track.js"],"src/shims/combos/13.js":["src/shims/mediaelement-core.js","src/shims/track.js"],"src/shims/combos/98.js":["src/shims/jme/b.js","src/shims/jme/c.js","src/shims/jme/p.js"],"src/shims/combos/99.js":["src/shims/jme/b.js","src/shims/jme/c.js"],"src/shims/combos/97.js":["src/shims/jme/b.js","src/shims/jme/p.js"]}}
1
+ {"version":"1.14.3","features":{"swfmini":[16,7,2,8,1,12,19,23],"dom-support":[16,7,2,8,19,20,15,30,3,4,9,10,25,31,34],"forms":[16,7,2,8,1,32,15,30,3,4,9,31,6,5,14,29,28,27,33],"mediaelement":[16,7,2,8,1,12,19,23,20,25,21,13],"track":[12,34,21,22,13],"es5":[19,18,20,32],"forms-ext":[18,32,9,10,6,5,14,29,28,17,33,11],"range-ui":[18,9,10,6,5,17,11],"filereader":[25,27,26],"geolocation":[21],"details":[21,22],"moxie":[26],"jme":[98,99,97],"mediacontrols":[98,99],"playlist":[98,97]},"files":{"src/shims/combos/16.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/7.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/2.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-datalist.js","src/shims/mediaelement-core.js"],"src/shims/combos/8.js":["src/shims/swfmini.js","src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/mediaelement-core.js"],"src/shims/combos/1.js":["src/shims/swfmini.js","src/shims/form-core.js","src/shims/mediaelement-core.js"],"src/shims/combos/12.js":["src/shims/swfmini.js","src/shims/mediaelement-core.js","src/shims/track.js"],"src/shims/combos/19.js":["src/shims/swfmini.js","src/shims/es5.js","src/shims/dom-extend.js","src/shims/mediaelement-core.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/23.js":["src/shims/swfmini.js","src/shims/mediaelement-core.js"],"src/shims/combos/18.js":["src/shims/es5.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/20.js":["src/shims/es5.js","src/shims/dom-extend.js","src/shims/mediaelement-core.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/32.js":["src/shims/es5.js","src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/15.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-datalist.js"],"src/shims/combos/30.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js","src/shims/form-datalist.js"],"src/shims/combos/3.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-message.js"],"src/shims/combos/4.js":["src/shims/dom-extend.js","src/shims/form-message.js"],"src/shims/combos/9.js":["src/shims/dom-extend.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js","src/shims/form-datalist.js"],"src/shims/combos/10.js":["src/shims/dom-extend.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/25.js":["src/shims/dom-extend.js","src/shims/filereader.js","src/shims/mediaelement-jaris.js"],"src/shims/combos/31.js":["src/shims/dom-extend.js","src/shims/form-core.js","src/shims/form-datalist.js"],"src/shims/combos/34.js":["src/shims/dom-extend.js","src/shims/track.js"],"src/shims/combos/21.js":["src/shims/geolocation.js","src/shims/details.js","src/shims/mediaelement-jaris.js","src/shims/track.js"],"src/shims/combos/6.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js","src/shims/form-datalist.js"],"src/shims/combos/5.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/14.js":["src/shims/form-native-extend.js","src/shims/form-message.js","src/shims/form-number-date-api.js"],"src/shims/combos/29.js":["src/shims/form-native-extend.js","src/shims/form-number-date-api.js"],"src/shims/combos/28.js":["src/shims/form-shim-extend.js","src/shims/form-message.js","src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/27.js":["src/shims/form-shim-extend2.js","src/shims/filereader.js"],"src/shims/combos/17.js":["src/shims/form-number-date-api.js","src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/33.js":["src/shims/form-number-date-api.js","src/shims/form-datalist.js"],"src/shims/combos/11.js":["src/shims/range-ui.js","src/shims/form-number-date-ui.js"],"src/shims/combos/26.js":["src/shims/moxie/js/moxie.js","src/shims/filereader.js"],"src/shims/combos/22.js":["src/shims/details.js","src/shims/track.js"],"src/shims/combos/13.js":["src/shims/mediaelement-core.js","src/shims/track.js"],"src/shims/combos/98.js":["src/shims/jme/b.js","src/shims/jme/c.js","src/shims/jme/p.js"],"src/shims/combos/99.js":["src/shims/jme/b.js","src/shims/jme/c.js"],"src/shims/combos/97.js":["src/shims/jme/b.js","src/shims/jme/p.js"]}}