forEach => for

This commit is contained in:
zhw2590582 committed 2022-01-07 22:11:48 +08:00
1 parent 99f5694100
commit 455e2189a7
18 files changed
+159 -103

No files matched your search

+86 -62
View File
@@ -1144,11 +1144,13 @@
} }
if (option.mutex) { if (option.mutex) {
instances.filter(function (item) { for (var index = 0; index < instances.length; index++) {
return item !== art; var instance = instances[index];
}).forEach(function (item) {
return item.pause(); if (instance !== art) {
}); instance.pause();
}
}
} }
notice.show = i18n.get('Play'); notice.show = i18n.get('Play');
@@ -1896,13 +1898,21 @@
return art.template.$player.getBoundingClientRect(); return art.template.$player.getBoundingClientRect();
} }
}); });
['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (key) { var keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];
var _loop = function _loop(index) {
var key = keys[index];
def(art, key, { def(art, key, {
get: function get() { get: function get() {
return art.rect[key]; return art.rect[key];
} }
}); });
}); };
for (var index = 0; index < keys.length; index++) {
_loop(index);
}
def(art, 'x', { def(art, 'x', {
get: function get() { get: function get() {
return art.left + window.pageXOffset; return art.left + window.pageXOffset;
@@ -2230,7 +2240,8 @@
var sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb']; var sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];
function exclusive(props) { function exclusive(props) {
props.forEach(function (name) { var _loop = function _loop(index) {
var name = props[index];
art.on(name, function () { art.on(name, function () {
if (art[name]) { if (art[name]) {
props.filter(function (item) { props.filter(function (item) {
@@ -2242,7 +2253,11 @@
}); });
} }
}); });
}); };
for (var index = 0; index < props.length; index++) {
_loop(index);
}
} }
exclusive(sizeProps); exclusive(sizeProps);
@@ -2313,13 +2328,15 @@
proxy($video, 'dblclick', function () { proxy($video, 'dblclick', function () {
art.fullscreen = !art.fullscreen; art.fullscreen = !art.fullscreen;
}); });
config.events.forEach(function (eventName) {
proxy($video, eventName, function (event) { for (var index = 0; index < config.events.length; index++) {
proxy($video, config.events[index], function (event) {
art.emit("video:".concat(event.type), event); art.emit("video:".concat(event.type), event);
}); });
}); // art.on('video:abort', () => { } // art.on('video:abort', () => {
// }); // });
art.on('video:canplay', function () { art.on('video:canplay', function () {
reconnectTime = 0; reconnectTime = 0;
art.loading.show = false; art.loading.show = false;
@@ -2848,10 +2865,12 @@
} }
} }
option.highlight.forEach(function (item) { for (var index = 0; index < option.highlight.length; index++) {
var item = option.highlight[index];
var left = clamp(item.time, 0, art.duration) / art.duration * 100; var left = clamp(item.time, 0, art.duration) / art.duration * 100;
append($highlight, "<span data-text=\"".concat(item.text, "\" data-time=\"").concat(item.time, "\" style=\"left: ").concat(left, "%\"></span>")); append($highlight, "<span data-text=\"".concat(item.text, "\" data-time=\"").concat(item.time, "\" style=\"left: ").concat(left, "%\"></span>"));
}); }
setBar('loaded', art.loaded); setBar('loaded', art.loaded);
art.on('video:progress', function () { art.on('video:progress', function () {
setBar('loaded', art.loaded); setBar('loaded', art.loaded);
@@ -2947,9 +2966,11 @@
} }
getTime(); getTime();
['video:loadedmetadata', 'video:timeupdate', 'video:progress'].forEach(function (event) { var events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];
art.on(event, getTime);
}); for (var index = 0; index < events.length; index++) {
art.on(events[index], getTime);
}
} }
}); });
}; };
@@ -3311,9 +3332,9 @@
index: 70 index: 70
})); }));
option.controls.forEach(function (item) { for (var index = 0; index < option.controls.length; index++) {
return _this.add(item); _this.add(option.controls[index]);
}); }
}); });
return _this; return _this;
} }
@@ -3508,9 +3529,10 @@
index: 60 index: 60
})); }));
option.contextmenu.forEach(function (item) { for (var index = 0; index < option.contextmenu.length; index++) {
return _this.add(item); _this.add(option.contextmenu[index]);
}); }
proxy($player, 'contextmenu', function (event) { proxy($player, 'contextmenu', function (event) {
event.preventDefault(); event.preventDefault();
_this.show = true; _this.show = true;
@@ -3574,11 +3596,9 @@
_this = _super.call(this, art); _this = _super.call(this, art);
_this.name = 'info'; _this.name = 'info';
art.once('ready', function () {
if (_this.art.template.$info) {
_this.init(); _this.init();
} });
return _this; return _this;
} }
@@ -3588,37 +3608,33 @@
var _this2 = this; var _this2 = this;
var _this$art = this.art, var _this$art = this.art,
proxy = _this$art.events.proxy,
_this$art$template = _this$art.template, _this$art$template = _this$art.template,
$infoPanel = _this$art$template.$infoPanel, $infoPanel = _this$art$template.$infoPanel,
$infoClose = _this$art$template.$infoClose, $infoClose = _this$art$template.$infoClose,
$video = _this$art$template.$video, $video = _this$art$template.$video;
proxy = _this$art.events.proxy;
proxy($infoClose, 'click', function () { proxy($infoClose, 'click', function () {
_this2.show = false; _this2.show = false;
}); });
var timer = null; var timer = null;
var types = queryAll('[data-video]', $infoPanel); var types = queryAll('[data-video]', $infoPanel) || [];
this.art.on('destroy', function () { this.art.on('destroy', function () {
clearTimeout(timer); clearTimeout(timer);
}); });
function loop() { function loop() {
types.forEach(function (item) { for (var index = 0; index < types.length; index++) {
var item = types[index];
var value = $video[item.dataset.video]; var value = $video[item.dataset.video];
item.innerText = typeof value === 'number' ? value.toFixed(2) : value; item.innerText = typeof value === 'number' ? value.toFixed(2) : value;
}); }
timer = setTimeout(function () { timer = setTimeout(function () {
loop(); loop();
}, 1000); }, 1000);
} }
this.art.on('info', function (value) { loop();
clearTimeout(timer);
if (value) {
loop();
}
});
} }
}]); }]);
@@ -3988,9 +4004,9 @@
}, { }, {
key: "destroy", key: "destroy",
value: function destroy() { value: function destroy() {
this.destroyEvents.forEach(function (event) { for (var index = 0; index < this.destroyEvents.length; index++) {
return event(); this.destroyEvents[index]();
}); }
} }
}]); }]);
@@ -4045,9 +4061,11 @@
if (events) { if (events) {
event.preventDefault(); event.preventDefault();
events.forEach(function (fn) {
return fn.call(art, event); for (var index = 0; index < events.length; index++) {
}); events[index].call(art, event);
}
art.emit('hotkey', event); art.emit('hotkey', event);
} }
} }
@@ -4101,12 +4119,14 @@
_classCallCheck(this, Layer); _classCallCheck(this, Layer);
_this = _super.call(this, art); _this = _super.call(this, art);
var option = art.option,
$layer = art.template.$layer;
_this.name = 'layer'; _this.name = 'layer';
_this.$parent = art.template.$layer; _this.$parent = $layer;
art.once('ready', function () { art.once('ready', function () {
art.option.layers.forEach(function (item) { for (var index = 0; index < option.layers.length; index++) {
return _this.add(item); _this.add(option.layers[index]);
}); }
}); });
return _this; return _this;
} }
@@ -4422,9 +4442,9 @@
name: 'playbackRate' name: 'playbackRate'
})); }));
option.settings.forEach(function (item) { for (var index = 0; index < option.settings.length; index++) {
return _this.add(item); _this.add(option.settings[index]);
}); }
}); });
art.on('blur', function () { art.on('blur', function () {
_this.show = false; _this.show = false;
@@ -4540,7 +4560,10 @@
if (template.$track && template.$track.track) { if (template.$track && template.$track.track) {
var cues = Array.from(template.$track.track.cues); var cues = Array.from(template.$track.track.cues);
var time = clamp(value, -5, 5); var time = clamp(value, -5, 5);
cues.forEach(function (cue, index) {
for (var index = 0; index < cues.length; index++) {
var cue = cues[index];
if (!cuesCache[index]) { if (!cuesCache[index]) {
cuesCache[index] = { cuesCache[index] = {
startTime: cue.startTime, startTime: cue.startTime,
@@ -4550,7 +4573,8 @@
cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration); cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration);
cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration); cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration);
}); }
notice.show = "".concat(i18n.get('Subtitle offset time'), ": ").concat(value, "s"); notice.show = "".concat(i18n.get('Subtitle offset time'), ": ").concat(value, "s");
art.emit('subtitleOffset', value); art.emit('subtitleOffset', value);
} else { } else {
@@ -4728,8 +4752,6 @@
var Plugins = /*#__PURE__*/function () { var Plugins = /*#__PURE__*/function () {
function Plugins(art) { function Plugins(art) {
var _this = this;
_classCallCheck(this, Plugins); _classCallCheck(this, Plugins);
this.art = art; this.art = art;
@@ -4752,9 +4774,9 @@
this.add(localSubtitle); this.add(localSubtitle);
} }
art.option.plugins.forEach(function (plugin) { for (var index = 0; index < option.plugins.length; index++) {
return _this.add(plugin); this.add(option.plugins[index]);
}); }
} }
_createClass(Plugins, [{ _createClass(Plugins, [{
@@ -4854,11 +4876,13 @@
var option = art.option, var option = art.option,
proxy = art.events.proxy, proxy = art.events.proxy,
$video = art.template.$video; $video = art.template.$video;
config.events.forEach(function (eventName) {
proxy($video, eventName, function (event) { for (var index = 0; index < config.events.length; index++) {
proxy($video, config.events[index], function (event) {
art.emit("video:".concat(event.type), event); art.emit("video:".concat(event.type), event);
}); });
}); }
Object.keys(option.moreVideoAttr).forEach(function (key) { Object.keys(option.moreVideoAttr).forEach(function (key) {
$video[key] = option.moreVideoAttr[key]; $video[key] = option.moreVideoAttr[key];
}); });
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/_screenfull@5.0.2@screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/srcLine truncated {"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/_screenfull@5.0.2@screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/srcLine truncated
+3 -1
View File
@@ -61,7 +61,9 @@ export default class Contextmenu extends Component {
}), }),
); );
option.contextmenu.forEach((item) => this.add(item)); for (let index = 0; index < option.contextmenu.length; index++) {
this.add(option.contextmenu[index]);
}
proxy($player, 'contextmenu', (event) => { proxy($player, 'contextmenu', (event) => {
event.preventDefault(); event.preventDefault();
+3 -1
View File
@@ -160,7 +160,9 @@ export default class Control extends Component {
}), }),
); );
option.controls.forEach((item) => this.add(item)); for (let index = 0; index < option.controls.length; index++) {
this.add(option.controls[index]);
}
}); });
} }
+3 -2
View File
@@ -93,13 +93,14 @@ export default function progress(options) {
} }
} }
option.highlight.forEach((item) => { for (let index = 0; index < option.highlight.length; index++) {
const item = option.highlight[index];
const left = (clamp(item.time, 0, art.duration) / art.duration) * 100; const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;
append( append(
$highlight, $highlight,
`<span data-text="${item.text}" data-time="${item.time}" style="left: ${left}%"></span>`, `<span data-text="${item.text}" data-time="${item.time}" style="left: ${left}%"></span>`,
); );
}); }
setBar('loaded', art.loaded); setBar('loaded', art.loaded);
+7 -5
View File
@@ -1,9 +1,9 @@
import { secondToTime } from '../utils'; import { secondToTime } from '../utils';
export default function time(option) { export default function time(option) {
return art => ({ return (art) => ({
...option, ...option,
mounted: $control => { mounted: ($control) => {
function getTime() { function getTime() {
const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`; const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;
if (newTime !== $control.innerText) { if (newTime !== $control.innerText) {
@@ -12,9 +12,11 @@ export default function time(option) {
} }
getTime(); getTime();
['video:loadedmetadata', 'video:timeupdate', 'video:progress'].forEach(event => {
art.on(event, getTime); const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];
}); for (let index = 0; index < events.length; index++) {
art.on(events[index], getTime);
}
}, },
}); });
} }
+3 -1
View File
@@ -68,6 +68,8 @@ export default class Events {
} }
destroy() { destroy() {
this.destroyEvents.forEach((event) => event()); for (let index = 0; index < this.destroyEvents.length; index++) {
this.destroyEvents[index]();
}
} }
} }
+3 -1
View File
@@ -43,7 +43,9 @@ export default class Hotkey {
const events = this.keys[event.keyCode]; const events = this.keys[event.keyCode];
if (events) { if (events) {
event.preventDefault(); event.preventDefault();
events.forEach((fn) => fn.call(art, event)); for (let index = 0; index < events.length; index++) {
events[index].call(art, event);
}
art.emit('hotkey', event); art.emit('hotkey', event);
} }
} }
+9 -12
View File
@@ -5,15 +5,15 @@ export default class Info extends Component {
constructor(art) { constructor(art) {
super(art); super(art);
this.name = 'info'; this.name = 'info';
if (this.art.template.$info) { art.once('ready', () => {
this.init(); this.init();
} });
} }
init() { init() {
const { const {
template: { $infoPanel, $infoClose, $video },
events: { proxy }, events: { proxy },
template: { $infoPanel, $infoClose, $video },
} = this.art; } = this.art;
proxy($infoClose, 'click', () => { proxy($infoClose, 'click', () => {
@@ -21,27 +21,24 @@ export default class Info extends Component {
}); });
let timer = null; let timer = null;
const types = queryAll('[data-video]', $infoPanel); const types = queryAll('[data-video]', $infoPanel) || [];
this.art.on('destroy', () => { this.art.on('destroy', () => {
clearTimeout(timer); clearTimeout(timer);
}); });
function loop() { function loop() {
types.forEach((item) => { for (let index = 0; index < types.length; index++) {
const item = types[index];
const value = $video[item.dataset.video]; const value = $video[item.dataset.video];
item.innerText = typeof value === 'number' ? value.toFixed(2) : value; item.innerText = typeof value === 'number' ? value.toFixed(2) : value;
}); }
timer = setTimeout(() => { timer = setTimeout(() => {
loop(); loop();
}, 1000); }, 1000);
} }
this.art.on('info', (value) => { loop();
clearTimeout(timer);
if (value) {
loop();
}
});
} }
} }
+11 -2
View File
@@ -3,10 +3,19 @@ import Component from './utils/component';
export default class Layer extends Component { export default class Layer extends Component {
constructor(art) { constructor(art) {
super(art); super(art);
const {
option,
template: { $layer },
} = art;
this.name = 'layer'; this.name = 'layer';
this.$parent = art.template.$layer; this.$parent = $layer;
art.once('ready', () => { art.once('ready', () => {
art.option.layers.forEach((item) => this.add(item)); for (let index = 0; index < option.layers.length; index++) {
this.add(option.layers[index]);
}
}); });
} }
} }
+3 -3
View File
@@ -9,11 +9,11 @@ export default class Mobile {
template: { $video }, template: { $video },
} = art; } = art;
config.events.forEach((eventName) => { for (let index = 0; index < config.events.length; index++) {
proxy($video, eventName, (event) => { proxy($video, config.events[index], (event) => {
art.emit(`video:${event.type}`, event); art.emit(`video:${event.type}`, event);
}); });
}); }
Object.keys(option.moreVideoAttr).forEach((key) => { Object.keys(option.moreVideoAttr).forEach((key) => {
$video[key] = option.moreVideoAttr[key]; $video[key] = option.moreVideoAttr[key];
+3 -3
View File
@@ -21,11 +21,11 @@ export default function eventInit(art) {
art.fullscreen = !art.fullscreen; art.fullscreen = !art.fullscreen;
}); });
config.events.forEach((eventName) => { for (let index = 0; index < config.events.length; index++) {
proxy($video, eventName, (event) => { proxy($video, config.events[index], (event) => {
art.emit(`video:${event.type}`, event); art.emit(`video:${event.type}`, event);
}); });
}); }
// art.on('video:abort', () => { // art.on('video:abort', () => {
@@ -4,7 +4,8 @@ export default function exclusiveMix(art) {
const sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb']; const sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];
function exclusive(props) { function exclusive(props) {
props.forEach((name) => { for (let index = 0; index < props.length; index++) {
const name = props[index];
art.on(name, () => { art.on(name, () => {
if (art[name]) { if (art[name]) {
props props
@@ -16,7 +17,7 @@ export default function exclusiveMix(art) {
}); });
} }
}); });
}); }
} }
exclusive(sizeProps); exclusive(sizeProps);
+6 -1
View File
@@ -21,7 +21,12 @@ export default function playMix(art) {
} }
if (option.mutex) { if (option.mutex) {
instances.filter((item) => item !== art).forEach((item) => item.pause()); for (let index = 0; index < instances.length; index++) {
const instance = instances[index];
if (instance !== art) {
instance.pause();
}
}
} }
notice.show = i18n.get('Play'); notice.show = i18n.get('Play');
+4 -2
View File
@@ -7,13 +7,15 @@ export default function rectMix(art) {
}, },
}); });
['bottom', 'height', 'left', 'right', 'top', 'width'].forEach((key) => { const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];
for (let index = 0; index < keys.length; index++) {
const key = keys[index];
def(art, key, { def(art, key, {
get: () => { get: () => {
return art.rect[key]; return art.rect[key];
}, },
}); });
}); }
def(art, 'x', { def(art, 'x', {
get: () => { get: () => {
+3 -1
View File
@@ -27,7 +27,9 @@ export default class Plugins {
this.add(localSubtitle); this.add(localSubtitle);
} }
art.option.plugins.forEach((plugin) => this.add(plugin)); for (let index = 0; index < option.plugins.length; index++) {
this.add(option.plugins[index]);
}
} }
add(plugin) { add(plugin) {
@@ -60,7 +60,9 @@ export default function subtitleOffset(art) {
if (template.$track && template.$track.track) { if (template.$track && template.$track.track) {
const cues = Array.from(template.$track.track.cues); const cues = Array.from(template.$track.track.cues);
const time = clamp(value, -5, 5); const time = clamp(value, -5, 5);
cues.forEach((cue, index) => {
for (let index = 0; index < cues.length; index++) {
const cue = cues[index];
if (!cuesCache[index]) { if (!cuesCache[index]) {
cuesCache[index] = { cuesCache[index] = {
startTime: cue.startTime, startTime: cue.startTime,
@@ -69,7 +71,8 @@ export default function subtitleOffset(art) {
} }
cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration); cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration);
cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration); cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration);
}); }
notice.show = `${i18n.get('Subtitle offset time')}: ${value}s`; notice.show = `${i18n.get('Subtitle offset time')}: ${value}s`;
art.emit('subtitleOffset', value); art.emit('subtitleOffset', value);
} else { } else {
+3 -1
View File
@@ -54,7 +54,9 @@ export default class Setting extends Component {
}), }),
); );
option.settings.forEach((item) => this.add(item)); for (let index = 0; index < option.settings.length; index++) {
this.add(option.settings[index]);
}
}); });
art.on('blur', () => { art.on('blur', () => {