webshims-rails 1.12.5 → 1.12.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +111 -132
  4. data/vendor/assets/javascripts/webshims/shims/combos/1.js +40 -37
  5. data/vendor/assets/javascripts/webshims/shims/combos/10.js +217 -36
  6. data/vendor/assets/javascripts/webshims/shims/combos/11.js +151 -29
  7. data/vendor/assets/javascripts/webshims/shims/combos/12.js +70 -93
  8. data/vendor/assets/javascripts/webshims/shims/combos/13.js +70 -93
  9. data/vendor/assets/javascripts/webshims/shims/combos/14.js +90 -13
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +202 -59
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +208 -70
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +151 -29
  13. data/vendor/assets/javascripts/webshims/shims/combos/18.js +155 -30
  14. data/vendor/assets/javascripts/webshims/shims/combos/19.js +79 -20
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +109 -47
  16. data/vendor/assets/javascripts/webshims/shims/combos/20.js +79 -20
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +80 -87
  18. data/vendor/assets/javascripts/webshims/shims/combos/22.js +66 -83
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -10
  20. data/vendor/assets/javascripts/webshims/shims/combos/25.js +79 -20
  21. data/vendor/assets/javascripts/webshims/shims/combos/26.js +66 -7
  22. data/vendor/assets/javascripts/webshims/shims/combos/28.js +100 -25
  23. data/vendor/assets/javascripts/webshims/shims/combos/3.js +192 -47
  24. data/vendor/assets/javascripts/webshims/shims/combos/30.js +193 -49
  25. data/vendor/assets/javascripts/webshims/shims/combos/31.js +103 -36
  26. data/vendor/assets/javascripts/webshims/shims/combos/32.js +5 -3
  27. data/vendor/assets/javascripts/webshims/shims/combos/33.js +1 -2
  28. data/vendor/assets/javascripts/webshims/shims/combos/34.js +2048 -0
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +156 -20
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +151 -29
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +152 -31
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +199 -60
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +197 -58
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +218 -38
  35. data/vendor/assets/javascripts/webshims/shims/combos/97.js +1004 -0
  36. data/vendor/assets/javascripts/webshims/shims/combos/98.js +1283 -0
  37. data/vendor/assets/javascripts/webshims/shims/combos/99.js +204 -1248
  38. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +66 -7
  39. data/vendor/assets/javascripts/webshims/shims/es5.js +4 -1
  40. data/vendor/assets/javascripts/webshims/shims/form-combat.js +3 -3
  41. data/vendor/assets/javascripts/webshims/shims/form-core.js +36 -27
  42. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
  43. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +137 -0
  44. data/vendor/assets/javascripts/webshims/shims/form-message.js +90 -13
  45. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +129 -15
  46. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -10
  47. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +886 -985
  48. data/vendor/assets/javascripts/webshims/shims/form-validation.js +78 -174
  49. data/vendor/assets/javascripts/webshims/shims/form-validators.js +39 -26
  50. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +45 -17
  51. data/vendor/assets/javascripts/webshims/shims/geolocation.js +10 -3
  52. data/vendor/assets/javascripts/webshims/shims/jme/b.js +71 -246
  53. data/vendor/assets/javascripts/webshims/shims/jme/c.js +133 -1002
  54. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +62 -23
  55. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +73 -10
  56. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +1117 -0
  57. data/vendor/assets/javascripts/webshims/shims/jme/p.js +603 -0
  58. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +5 -2
  59. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -10
  60. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -1
  61. data/vendor/assets/javascripts/webshims/shims/range-ui.js +22 -14
  62. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +29 -344
  63. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +362 -0
  64. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +6 -483
  65. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +10 -2
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +6 -2
  69. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +8 -1
  71. data/vendor/assets/javascripts/webshims/shims/track.js +66 -83
  72. metadata +12 -5
  73. data/vendor/assets/javascripts/webshims/shims/$ajax.js +0 -862
  74. data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2087
@@ -372,9 +372,7 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
372
372
  if (events[name] && events[name].val != val) {
373
373
  clearTimeout(events[name].timer);
374
374
  events[name].val = val;
375
- events[name].timer = setTimeout(function(){
376
- events[name].fn(val, that);
377
- }, 9);
375
+ events[name].fn(val, that);
378
376
  }
379
377
  }
380
378
  };
@@ -394,7 +392,7 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
394
392
  return true;
395
393
  }
396
394
  };
397
- var callSplitChange = (function(){
395
+ (function(){
398
396
  var timer;
399
397
 
400
398
  var call = function(e){
@@ -411,13 +409,14 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
411
409
  }
412
410
  };
413
411
 
414
- var onFocus = function(){
412
+ var onFocus = function(e){
415
413
  clearTimeout(timer);
414
+ $(e.target).trigger('wswidgetfocusin');
416
415
  };
417
416
  var onBlur = function(e){
418
417
  clearTimeout(timer);
419
418
  timer = setTimeout(call, 0);
420
-
419
+ $(e.target).trigger('wswidgetfocusout');
421
420
  if (e.type == 'ws__change') {
422
421
  stopPropagation(e);
423
422
  if (!o.splitInput) {
@@ -480,16 +479,18 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
480
479
  },
481
480
  ws__input: (this.type == 'color' && this.isValid) ? $.noop : (function(){
482
481
  var timer;
482
+ var delay = that.type == 'number' && !o.nogrouping ? 99 : 199;
483
483
  var check = function(){
484
484
  var val = that.parseValue(true);
485
485
  if (val && that.isValid(val)) {
486
- that.setInput(val);
486
+ that.setInput(val, true);
487
487
  }
488
488
 
489
489
  };
490
+
490
491
  return function(){
491
492
  clearTimeout(timer);
492
- timer = setTimeout(check, 200);
493
+ timer = setTimeout(check, delay);
493
494
  };
494
495
  })(),
495
496
  'ws__input keydown keypress': (function(){
@@ -566,8 +567,8 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
566
567
 
567
568
  this.buttonWrapper.on('mousedown', mouseDownInit);
568
569
 
569
- this.setInput = function(value){
570
- that.value(value);
570
+ this.setInput = function(value, isLive){
571
+ that.value(value, false, isLive);
571
572
  eventTimer.call('input', value);
572
573
  };
573
574
  this.setChange = function(value){
@@ -649,14 +650,33 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
649
650
  role: 'spinbutton'
650
651
  }).on(spinEvents);
651
652
  }
652
- $(this.buttonWrapper).on('mousepressstart mousepressend', '.step-up, .step-down', mousePress).on('mousedown mousepress', '.step-up', function(e){
653
- step.stepUp();
654
- }).on('mousedown mousepress', '.step-down', function(e){
655
- step.stepDown();
656
- });
653
+ $(this.buttonWrapper)
654
+ .on('mousepressstart mousepressend', '.step-up, .step-down', mousePress)
655
+ .on('mousedown mousepress', '.step-up', function(e){
656
+ step.stepUp();
657
+ })
658
+ .on('mousedown mousepress', '.step-down', function(e){
659
+ step.stepDown();
660
+ })
661
+ ;
657
662
  initChangeEvents();
658
663
  }
659
664
  },
665
+ _getSelectionEnd: function(val){
666
+ var oldVal, selectionEnd;
667
+ if((oldVal = this.element[0].value) && this.element.is(':focus') && (selectionEnd = this.element.prop('selectionEnd')) < oldVal.length){
668
+ if(this.type == 'number'){
669
+ oldVal = oldVal.substr(0, selectionEnd).split(curCfg.numberFormat[',']);
670
+ val = val.substr(0, selectionEnd).split(curCfg.numberFormat[',']);
671
+ if(oldVal.length < val.length){
672
+ selectionEnd++;
673
+ } else if(oldVal.length > val.length){
674
+ selectionEnd--;
675
+ }
676
+ }
677
+ return selectionEnd;
678
+ }
679
+ },
660
680
  initDataList: function(){
661
681
  var listTimer;
662
682
  var that = this;
@@ -933,6 +953,14 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
933
953
  var str = '';
934
954
  var rowNum = 0;
935
955
  var triggerValueValidation = (data.orig && ('valuevalidation' in $.data(data.orig)));
956
+
957
+ if(!data.options.useDecadeBase){
958
+ if(!max[0] && min[0]){
959
+ data.options.useDecadeBase = 'min';
960
+ } else if(max[0] && !min[0]){
961
+ data.options.useDecadeBase = 'max';
962
+ }
963
+ }
936
964
 
937
965
  if(data.options.useDecadeBase == 'max' && max[0]){
938
966
  xthCorrect = 11 - (max[0] % 12);
@@ -1600,9 +1628,9 @@ webshims.register('forms-picker', function($, webshims, window, document, undefi
1600
1628
  popover.bodyElement = $('div.ws-picker-body', popover.contentElement);
1601
1629
  popover.buttonRow = $('div.ws-button-row', popover.contentElement);
1602
1630
  popover.element.on('updatepickercontent', updateContent);
1603
-
1631
+
1604
1632
  popover.contentElement
1605
- .on('click', 'button[data-action]', actionfn)
1633
+ .wsTouchClick('button[data-action]', actionfn)
1606
1634
  .on('change', 'select[data-action]', actionfn)
1607
1635
  ;
1608
1636
 
@@ -1,5 +1,9 @@
1
1
  (function($){
2
- if(navigator.geolocation){return;}
2
+ var webshims = window.webshims;
3
+
4
+ setTimeout(function(){
5
+ webshims.isReady('geolocation', true);
6
+ });
3
7
  var domWrite = function(){
4
8
  setTimeout(function(){
5
9
  throw('document.write is overwritten by geolocation shim. This method is incompatible with this plugin');
@@ -8,7 +12,10 @@
8
12
  id = 0
9
13
  ;
10
14
  var geoOpts = webshims.cfg.geolocation || {};
11
- navigator.geolocation = (function(){
15
+ if(!navigator.geolocation){
16
+ navigator.geolocation = {};
17
+ }
18
+ $.extend(navigator.geolocation, (function(){
12
19
  var pos;
13
20
  var api = {
14
21
  getCurrentPosition: function(success, error, opts){
@@ -171,7 +178,7 @@
171
178
  return id;
172
179
  };
173
180
  return api;
174
- })();
181
+ })());
175
182
 
176
183
  webshims.ready('WINDOWLOAD', function(){
177
184
  webshims.loader.loadList(['jajax']);
@@ -1,31 +1,17 @@
1
- webshims.register('jme', function($, webshims, window, doc, undefined, options){
1
+ webshims.register('jme', function($, webshims, window, doc, undefined){
2
2
  "use strict";
3
3
  var props = {};
4
-
5
4
  var fns = {};
6
- var allowPreload = false;
7
- $(window).on('load', function(){
8
- allowPreload = true;
9
- var scrollTimer;
10
- var allow = function(){
11
- allowPreload = true;
12
- };
13
- $(window).on('scroll', function(){
14
- allowPreload = false;
15
- clearTimeout(scrollTimer);
16
- scrollTimer = setTimeout(allow, 999);
17
- });
18
- });
5
+ var slice = Array.prototype.slice;
19
6
 
7
+ var options = $.extend({selector: '.mediaplayer'}, webshims.cfg.mediaelement.jme);
8
+ webshims.cfg.mediaelement.jme = options;
20
9
 
21
10
 
22
11
  $.jme = {
23
- version: '2.0.9',
24
- classNS: '',
25
- options: {},
26
12
  plugins: {},
27
13
  data: function(elem, name, value){
28
- var data = $(elem).data(ns+'jme') || $.data(elem, ns+'jme', {});
14
+ var data = $(elem).data('jme') || $.data(elem, 'jme', {});
29
15
  if(value === undefined){
30
16
  return (name) ? data[name] : data;
31
17
  } else {
@@ -40,6 +26,14 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
40
26
  if(!plugin.className){
41
27
  plugin.className = name;
42
28
  }
29
+
30
+ options[name] = $.extend(plugin.options || {}, options[name]);
31
+
32
+ if(options[name] && options[name].text){
33
+ plugin.text = options[name].text;
34
+ } else if(options.i18n && options.i18n[name]){
35
+ plugin.text = options.i18n[name];
36
+ }
43
37
  },
44
38
  defineMethod: function(name, fn){
45
39
  fns[name] = fn;
@@ -79,18 +73,6 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
79
73
  $.jme.data(elem, name, setValue);
80
74
  }
81
75
  }
82
- },
83
- setText: function(name, text){
84
- var obj = name;
85
- if(name && text){
86
- obj = {};
87
- obj[name] = text;
88
- }
89
- $.each(obj, function(name, text){
90
- if($.jme.plugins[name]){
91
- $.jme.plugins[name].text = text;
92
- }
93
- });
94
76
  }
95
77
  };
96
78
 
@@ -99,7 +81,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
99
81
  };
100
82
 
101
83
  $.fn.jmeFn = function(fn){
102
- var args = Array.prototype.slice.call( arguments, 1 );
84
+ var args = slice.call( arguments, 1 );
103
85
  var ret;
104
86
  this.each(function(){
105
87
  ret = (fns[fn] || $.prop(this, fn)).apply(this, args);
@@ -109,23 +91,21 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
109
91
  });
110
92
  return (ret !== undefined) ? ret : this;
111
93
  };
94
+ var idlStates = {
95
+ emptied: 1,
96
+ pause: 1
97
+ };
98
+ var unwaitingEvents = {
99
+ canplay: 1, canplaythrough: 1
100
+ };
112
101
 
113
102
 
114
- options = $.extend({selector: '.mediaplayer'}, webshims.cfg.mediaelement.jme);
115
- webshims.cfg.mediaelement.jme = options;
116
103
  var baseSelector = options.selector;
117
- var pluginSelectors = [];
118
- var ns = '';
119
-
120
104
 
121
105
  $.jme.initJME = function(context, insertedElement){
122
106
  $(baseSelector, context).add(insertedElement.filter(baseSelector)).jmePlayer();
123
107
  };
124
108
 
125
- var idlStates = {
126
- emptied: 1,
127
- pause: 1
128
- };
129
109
 
130
110
  $.jme.getDOMList = function(attr){
131
111
  var list = [];
@@ -146,81 +126,26 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
146
126
  return list;
147
127
  };
148
128
 
149
- webshims.ready('dom-support', function(){
150
- if($('<input />').prop('labels')){return;}
151
- webshims.defineNodeNamesProperty('button, input, keygen, meter, output, progress, select, textarea', 'labels', {
152
- prop: {
153
- get: function(){
154
- var labels = [];
155
- var id = this.id;
156
- if(id){
157
- labels = $('label[for="'+ id +'"]');
158
- }
159
- if(!labels[0]) {
160
- labels = $(this).closest('label', this.form);
161
- }
162
- return labels.get();
163
- },
164
- writeable: false
165
- }
166
- });
167
- });
168
-
169
129
 
170
130
  $.jme.getButtonText = function(button, classes){
171
-
172
- var btnTextElem = $('span.jme-text, +label span.jme-text', button);
173
- var btnLabelElem = button.prop('labels');
174
-
175
- btnLabelElem = (btnLabelElem && btnLabelElem[0]) ? $(btnLabelElem).eq(0) : false;
176
-
177
- if(!btnTextElem[0]){
178
- btnTextElem = btnLabelElem || button;
179
- }
180
-
181
- var txt = btnTextElem.text().split('/');
182
- var title = button.prop('title').split('/');
183
-
184
131
  var isCheckbox;
185
- var doText;
186
- var doTitle;
187
132
  var lastState;
188
133
  var txtChangeFn = function(state){
189
134
  if(lastState === state){return;}
190
135
  lastState = state;
191
- if(doText){
192
- btnTextElem.text(txt[state || 0]);
193
- }
194
- if(doTitle){
195
- button.prop('title', txt[state || 0]);
196
- if (btnLabelElem) {
197
- btnLabelElem.prop('title', txt[state || 0]);
198
- }
199
- }
200
136
 
201
- if(classes){
202
- button
203
- .removeClass(classes[(state) ? 0 : 1])
204
- .addClass(classes[state])
205
- ;
206
- }
137
+
138
+ button
139
+ .removeClass(classes[(state) ? 0 : 1])
140
+ .addClass(classes[state])
141
+ ;
142
+
207
143
  if(isCheckbox){
208
144
  button.prop('checked', !!state);
209
145
  (button.data('checkboxradio') || {refresh: $.noop}).refresh();
210
146
  }
211
147
  };
212
148
 
213
- if(txt.length == 2){
214
- txt[0] = txt[0].trim();
215
- txt[1] = txt[1].trim();
216
- doText = true;
217
- }
218
- if(title.length == 2){
219
- title[0] = title[0].trim();
220
- title[1] = title[1].trim();
221
- doTitle = true;
222
- }
223
-
224
149
  if (button.is('[type="checkbox"], [type="radio"]')){
225
150
  button.prop('checked', function(){
226
151
  return this.defaultChecked;
@@ -242,8 +167,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
242
167
  $.jme.data(this, $.extend(true, {}, opts));
243
168
  }
244
169
 
245
- var mediaUpdateFn, init, canPlay, removeCanPlay, canplayTimer, needPreload, playerSize;
246
- var media = $('audio, video', this).filter(':first');
170
+ var mediaUpdateFn, canPlay, removeCanPlay, canplayTimer, lastState, stopEmptiedEvent;
171
+ var media = $('audio, video', this).eq(0);
247
172
  var base = $(this);
248
173
 
249
174
  var jmeData = $.jme.data(this);
@@ -254,24 +179,29 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
254
179
  mediaData.player = base;
255
180
  mediaData.media = media;
256
181
  if(!jmeData.media){
257
- init = true;
258
- needPreload = !media.prop('autoplay');
259
182
 
260
183
  removeCanPlay = function(){
261
184
  media.off('canplay', canPlay);
262
185
  clearTimeout(canplayTimer);
263
186
  };
264
187
  canPlay = function(){
265
- var state = ($.prop(this, 'paused')) ? 'idle' : 'playing';
188
+ var state = (media.prop('paused')) ? 'idle' : 'playing';
266
189
  base.attr('data-state', state);
267
190
  };
268
191
  mediaUpdateFn = function(e){
269
192
  var state = e.type;
270
193
  var readyState;
271
194
  var paused;
272
-
273
195
  removeCanPlay();
274
196
 
197
+ if(unwaitingEvents[state] && lastState != 'waiting'){
198
+ return;
199
+ }
200
+
201
+ if(stopEmptiedEvent && state == 'emptied'){
202
+ return;
203
+ }
204
+
275
205
  if(state == 'ended' || $.prop(this, 'ended')){
276
206
  state = 'ended';
277
207
  } else if(state == 'waiting'){
@@ -304,51 +234,45 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
304
234
  if(state == 'idle' && base._seekpause){
305
235
  state = false;
306
236
  }
237
+
307
238
  if(state){
239
+ lastState = state;
308
240
  base.attr('data-state', state);
309
241
  }
310
242
  };
311
243
 
312
- playerSize = (function(){
313
- var lastSize;
314
- var sizes = [
315
- {size: 380, name: 'x-small'},
316
- {size: 490, name: 'small'},
317
- {size: 756, name: 'medium'},
318
- {size: 1024, name: 'large'}
319
- ];
320
-
321
- var len = sizes.length;
322
- return function(){
323
- var size = 'x-large';
324
- var i = 0;
325
- var width = base.outerWidth();
326
- for(; i < len; i++){
327
- if(sizes[i].size >= width){
328
- size = sizes[i].name;
329
- break;
330
- }
331
- }
332
- if(lastSize != size){
333
- lastSize = size;
334
- base.attr('data-playersize', size);
335
- }
336
- };
337
- })();
244
+
338
245
  jmeData.media = media;
339
246
  jmeData.player = base;
340
247
  media
341
- .on('ended', function(){
342
- removeCanPlay();
343
- media.jmeFn('pause');
344
- if(!media.prop('autoplay') && !media.prop('loop') && !media.hasClass('no-reload')){
345
- media.jmeFn('load');
346
- }
347
- })
248
+ .on('ended emptied play', (function(){
249
+ var timer;
250
+ var releaseEmptied = function(){
251
+ stopEmptiedEvent = false;
252
+ };
253
+ var ended = function(){
254
+ removeCanPlay();
255
+ media.jmeFn('pause');
256
+ if(!options.noReload && media.prop('ended') && media.prop('paused') && !media.prop('autoplay') && !media.prop('loop') && !media.hasClass('no-reload')){
257
+ stopEmptiedEvent = true;
258
+ media.jmeFn('load');
259
+ base.attr('data-state', 'ended');
260
+ setTimeout(releaseEmptied);
261
+
262
+ }
263
+ };
264
+ return function(e){
265
+
266
+ clearTimeout(timer);
267
+ if(e.type == 'ended' && !options.noReload && !media.prop('autoplay') && !media.prop('loop') && !media.hasClass('no-reload')){
268
+ timer = setTimeout(ended);
269
+ }
270
+ };
271
+ })())
348
272
  .on('emptied waiting canplay canplaythrough playing ended pause mediaerror', mediaUpdateFn)
349
273
  .on('volumechange updateJMEState', function(){
350
274
  var volume = $.prop(this, 'volume');
351
- base[!volume || $.prop(this, 'muted') ? 'addClass' : 'removeClass'](ns +'state-muted');
275
+ base[!volume || $.prop(this, 'muted') ? 'addClass' : 'removeClass']('state-muted');
352
276
 
353
277
  if(volume < 0.01){
354
278
  volume = 'no';
@@ -361,30 +285,8 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
361
285
  }
362
286
  base.attr('data-volume', volume);
363
287
  })
364
- .on('emptied', function(e){
365
- if(e.type == 'emptied'){
366
- needPreload = !media.prop('autoplay');
367
- }
368
- })
369
- ;
370
-
371
- base
372
- .on({
373
- useractive: function(){
374
- base.attr('data-useractivity', 'true');
375
- }
376
- })
377
- .on('userinactive', {idletime: 3500}, function(){
378
- base.attr('data-useractivity', 'false');
379
- })
380
- .triggerHandler('userinactive')
381
288
  ;
382
289
 
383
- playerSize();
384
- webshims.ready('dom-support', function(){
385
- base.onWSOff('updateshadowdom', playerSize);
386
- webshims.addShadowDom();
387
- });
388
290
  if(mediaUpdateFn){
389
291
  media.on('updateJMEState', mediaUpdateFn).triggerHandler('updateJMEState');
390
292
  }
@@ -472,8 +374,9 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
472
374
  var options = $.jme.data(this);
473
375
  options.player = data.player;
474
376
  options.media = data.media;
475
- if(options.rendered){return;}
476
- options.rendered = true;
377
+ if(options._rendered){return;}
378
+ options._rendered = true;
379
+
477
380
  if(plugin.options){
478
381
  $.each(plugin.options, function(option, value){
479
382
  if(!(option in options)){
@@ -493,84 +396,6 @@ webshims.register('jme', function($, webshims, window, doc, undefined, options){
493
396
  });
494
397
 
495
398
 
496
-
497
-
498
- (function(){
499
- var activity = {
500
- add: function(elem, cfg, name){
501
- var data = $.data(elem, 'jmeuseractivity') || $.data(elem, 'jmeuseractivity', {idletime: 2500, idle: true, trigger: {}}),
502
- jElm = $(elem),
503
- setInactive = function(){
504
- if(!data.idle){
505
- data.idle = true;
506
- if ( data.trigger.userinactive ) {
507
- jElm.trigger('userinactive');
508
- }
509
- }
510
- },
511
- x, y,
512
- setActive = function(e){
513
- if(!e || (e.type === 'mousemove' && e.pageX === x && e.pageY === y)){return;}
514
- if(e.type === 'mousemove'){
515
- x = e.pageX;
516
- y = e.pageY;
517
- }
518
- if(data.idleTimer){
519
- clearTimeout(data.idleTimer);
520
- }
521
- data.idleTimer = setTimeout(setInactive, data.idletime);
522
- if(data.idle){
523
- data.idle = false;
524
- if( data.trigger.useractive ){
525
- jElm.trigger('useractive');
526
- }
527
- }
528
- }
529
- ;
530
-
531
- data.idletime = (cfg || {}).idletime || data.idletime;
532
- if(cfg && 'idle' in cfg){
533
- data.idle = cfg.idle;
534
- }
535
- data.trigger[name] = true;
536
-
537
- if(!data.bound){
538
- jElm
539
- .on('mouseleave.jmeuseractivity', setInactive)
540
- .on('mousemove.jmeuseractivity focusin.jmeuseractivity mouseenter.jmeuseractivity keydown.jmeuseractivity keyup.jmeuseractivity mousedown.jmeuseractivity', setActive)
541
- ;
542
- data.bound = true;
543
- }
544
- if(!data.idle){
545
- setActive({type: 'initunidled'});
546
- }
547
- },
548
- remove: function(elem, name){
549
- var data = $.data(elem, 'jmeuseractivity') || $.data(elem, 'jmeuseractivity', {idletime: 2500, idle: true, trigger: {}});
550
- data.trigger[name] = false;
551
- if(!data.trigger.useractive && !data.trigger.userinactive){
552
- $(elem).off('.jmeuseractivity');
553
- data.bound = false;
554
- }
555
- }
556
- };
557
- $.each(['useractive', 'userinactive'], function(i, name){
558
- $.event.special[name] = {
559
- setup: function(cfg){
560
- activity.add(this, cfg, name);
561
- },
562
- teardown: function(){
563
- activity.remove(this, name);
564
- }
565
- };
566
- });
567
- })();
568
-
569
-
570
- webshims.ready('mediaelement', function(){
571
- webshims.addReady($.jme.initJME);
572
- });
399
+ webshims.addReady($.jme.initJME);
400
+ webshims._polyfill(['mediaelement']);
573
401
  });
574
-
575
-
576
-