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.
- checksums.yaml +4 -4
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +111 -132
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +40 -37
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +217 -36
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +70 -93
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +70 -93
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +90 -13
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +202 -59
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +208 -70
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +155 -30
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +109 -47
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +80 -87
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +66 -83
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -10
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +66 -7
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +100 -25
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +192 -47
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +193 -49
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +103 -36
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +5 -3
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +2048 -0
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +156 -20
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +152 -31
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +199 -60
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +197 -58
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +218 -38
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +1004 -0
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +1283 -0
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +204 -1248
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +66 -7
- data/vendor/assets/javascripts/webshims/shims/es5.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/form-core.js +36 -27
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +137 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +90 -13
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +129 -15
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -10
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +886 -985
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +78 -174
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +39 -26
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +45 -17
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +10 -3
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +71 -246
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +133 -1002
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +62 -23
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +73 -10
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +1117 -0
- data/vendor/assets/javascripts/webshims/shims/jme/p.js +603 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +5 -2
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -10
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +22 -14
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +29 -344
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +362 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +6 -483
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +10 -2
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +6 -2
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +8 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +66 -83
- metadata +12 -5
- data/vendor/assets/javascripts/webshims/shims/$ajax.js +0 -862
- 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].
|
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
|
-
|
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,
|
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)
|
653
|
-
step.
|
654
|
-
|
655
|
-
|
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
|
-
.
|
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
|
-
|
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
|
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
|
1
|
+
webshims.register('jme', function($, webshims, window, doc, undefined){
|
2
2
|
"use strict";
|
3
3
|
var props = {};
|
4
|
-
|
5
4
|
var fns = {};
|
6
|
-
var
|
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(
|
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 =
|
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
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
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,
|
246
|
-
var media = $('audio, video', this).
|
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 = (
|
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
|
-
|
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
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
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'](
|
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.
|
476
|
-
options.
|
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
|
-
|