mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-26 17:01:20 -08:00
Refactor Artplayer class to update qualityMix.js and component.js
This commit is contained in:
1 parent
c82e381aa1
commit
945ff841d5
5 files changed
+159
-109
No files matched your search
@@ -2617,6 +2617,7 @@ function qualityMix(art) {
|
|||||||
async onSelect (item) {
|
async onSelect (item) {
|
||||||
await art.switchQuality(item.url);
|
await art.switchQuality(item.url);
|
||||||
notice.show = `${i18n.get("Switch Video")}: ${item.html}`;
|
notice.show = `${i18n.get("Switch Video")}: ${item.html}`;
|
||||||
|
return item.html;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -2841,7 +2842,6 @@ function eventInit(art) {
|
|||||||
},{"../config":"2ZnKD","../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"faO0X":[function(require,module,exports) {
|
},{"../config":"2ZnKD","../utils":"jmgNb","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"faO0X":[function(require,module,exports) {
|
||||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||||
parcelHelpers.defineInteropFlag(exports);
|
parcelHelpers.defineInteropFlag(exports);
|
||||||
var _utils = require("../utils");
|
|
||||||
var _component = require("../utils/component");
|
var _component = require("../utils/component");
|
||||||
var _componentDefault = parcelHelpers.interopDefault(_component);
|
var _componentDefault = parcelHelpers.interopDefault(_component);
|
||||||
var _fullscreen = require("./fullscreen");
|
var _fullscreen = require("./fullscreen");
|
||||||
@@ -2864,6 +2864,7 @@ var _screenshot = require("./screenshot");
|
|||||||
var _screenshotDefault = parcelHelpers.interopDefault(_screenshot);
|
var _screenshotDefault = parcelHelpers.interopDefault(_screenshot);
|
||||||
var _airplay = require("./airplay");
|
var _airplay = require("./airplay");
|
||||||
var _airplayDefault = parcelHelpers.interopDefault(_airplay);
|
var _airplayDefault = parcelHelpers.interopDefault(_airplay);
|
||||||
|
var _utils = require("../utils");
|
||||||
class Control extends (0, _componentDefault.default) {
|
class Control extends (0, _componentDefault.default) {
|
||||||
constructor(art){
|
constructor(art){
|
||||||
super(art);
|
super(art);
|
||||||
@@ -2978,6 +2979,68 @@ class Control extends (0, _componentDefault.default) {
|
|||||||
}
|
}
|
||||||
super.add(option);
|
super.add(option);
|
||||||
}
|
}
|
||||||
|
check(item) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
selector(option, $ref, events) {
|
||||||
|
const { hover, proxy } = this.art.events;
|
||||||
|
(0, _utils.addClass)($ref, "art-control-selector");
|
||||||
|
const $value = (0, _utils.createElement)("div");
|
||||||
|
(0, _utils.addClass)($value, "art-selector-value");
|
||||||
|
(0, _utils.append)($value, option.html);
|
||||||
|
$ref.innerText = "";
|
||||||
|
(0, _utils.append)($ref, $value);
|
||||||
|
const $list = (0, _utils.createElement)("div");
|
||||||
|
(0, _utils.addClass)($list, "art-selector-list");
|
||||||
|
(0, _utils.append)($ref, $list);
|
||||||
|
for(let index = 0; index < option.selector.length; index++){
|
||||||
|
const item = option.selector[index];
|
||||||
|
const $item = (0, _utils.createElement)("div");
|
||||||
|
(0, _utils.addClass)($item, "art-selector-item");
|
||||||
|
if (item.default) (0, _utils.addClass)($item, "art-current");
|
||||||
|
$item.dataset.index = index;
|
||||||
|
$item.dataset.value = item.value;
|
||||||
|
$item.innerHTML = item.html;
|
||||||
|
(0, _utils.append)($list, $item);
|
||||||
|
(0, _utils.def)(item, "$item", {
|
||||||
|
configurable: true,
|
||||||
|
get () {
|
||||||
|
return $item;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
(0, _utils.def)(item, "$value", {
|
||||||
|
configurable: true,
|
||||||
|
get () {
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
(0, _utils.def)(item, "$list", {
|
||||||
|
configurable: true,
|
||||||
|
get () {
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const setLeft = ()=>{
|
||||||
|
const refWidth = (0, _utils.getStyle)($ref, "width");
|
||||||
|
const listWidth = (0, _utils.getStyle)($list, "width");
|
||||||
|
const left = refWidth / 2 - listWidth / 2;
|
||||||
|
$list.style.left = `${left}px`;
|
||||||
|
};
|
||||||
|
hover($ref, setLeft);
|
||||||
|
const event = proxy($list, "click", async (event)=>{
|
||||||
|
const path = event.composedPath() || [];
|
||||||
|
const $item = path.find((item)=>(0, _utils.hasClass)(item, "art-selector-item"));
|
||||||
|
if (!$item) return;
|
||||||
|
(0, _utils.inverseClass)($item, "art-current");
|
||||||
|
const index = Number($item.dataset.index);
|
||||||
|
const find = option.selector[index] || {};
|
||||||
|
$value.innerText = $item.innerText;
|
||||||
|
if (option.onSelect) $value.innerHTML = await option.onSelect.call(this.art, find, $item, event);
|
||||||
|
setLeft();
|
||||||
|
});
|
||||||
|
events.push(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
exports.default = Control;
|
exports.default = Control;
|
||||||
|
|
||||||
@@ -3042,7 +3105,7 @@ class Component {
|
|||||||
if (option.selector && [
|
if (option.selector && [
|
||||||
"left",
|
"left",
|
||||||
"right"
|
"right"
|
||||||
].includes(option.position)) this.addSelector(option, $ref, events);
|
].includes(option.position)) this.selector(option, $ref, events);
|
||||||
this[name] = $ref;
|
this[name] = $ref;
|
||||||
this.cache.set(name, {
|
this.cache.set(name, {
|
||||||
$ref,
|
$ref,
|
||||||
@@ -3052,45 +3115,6 @@ class Component {
|
|||||||
if (option.mounted) option.mounted.call(this.art, $ref);
|
if (option.mounted) option.mounted.call(this.art, $ref);
|
||||||
return $ref;
|
return $ref;
|
||||||
}
|
}
|
||||||
addSelector(option, $ref, events) {
|
|
||||||
const { hover, proxy } = this.art.events;
|
|
||||||
(0, _dom.addClass)($ref, "art-control-selector");
|
|
||||||
const $value = (0, _dom.createElement)("div");
|
|
||||||
(0, _dom.addClass)($value, "art-selector-value");
|
|
||||||
(0, _dom.append)($value, option.html);
|
|
||||||
$ref.innerText = "";
|
|
||||||
(0, _dom.append)($ref, $value);
|
|
||||||
const list = option.selector.map((item, index)=>`<div
|
|
||||||
class="art-selector-item ${item.default ? "art-current" : ""}"
|
|
||||||
data-index="${index}"
|
|
||||||
data-value="${item.value}"
|
|
||||||
>
|
|
||||||
${item.html}
|
|
||||||
</div>`).join("");
|
|
||||||
const $list = (0, _dom.createElement)("div");
|
|
||||||
(0, _dom.addClass)($list, "art-selector-list");
|
|
||||||
(0, _dom.append)($list, list);
|
|
||||||
(0, _dom.append)($ref, $list);
|
|
||||||
const setLeft = ()=>{
|
|
||||||
const refWidth = (0, _dom.getStyle)($ref, "width");
|
|
||||||
const listWidth = (0, _dom.getStyle)($list, "width");
|
|
||||||
const left = refWidth / 2 - listWidth / 2;
|
|
||||||
$list.style.left = `${left}px`;
|
|
||||||
};
|
|
||||||
hover($ref, setLeft);
|
|
||||||
const destroyEvent = proxy($list, "click", async (event)=>{
|
|
||||||
const path = event.composedPath() || [];
|
|
||||||
const $item = path.find((item)=>(0, _dom.hasClass)(item, "art-selector-item"));
|
|
||||||
if (!$item) return;
|
|
||||||
(0, _dom.inverseClass)($item, "art-current");
|
|
||||||
const index = Number($item.dataset.index);
|
|
||||||
const find = option.selector[index] || {};
|
|
||||||
$value.innerText = $item.innerText;
|
|
||||||
if (option.onSelect) $value.innerHTML = await option.onSelect.call(this.art, find, $item, event);
|
|
||||||
setLeft();
|
|
||||||
});
|
|
||||||
events.push(destroyEvent);
|
|
||||||
}
|
|
||||||
remove(name) {
|
remove(name) {
|
||||||
const item = this.cache.get(name);
|
const item = this.cache.get(name);
|
||||||
(0, _error.errorHandle)(item, `Can't find [${name}] from the [${this.name}]`);
|
(0, _error.errorHandle)(item, `Can't find [${name}] from the [${this.name}]`);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"mappings":"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 truncated
|
{"mappings":"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 truncated
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import { errorHandle, addClass, removeClass, isMobile, sleep, includeFromEvent } from '../utils';
|
|
||||||
import Component from '../utils/component';
|
import Component from '../utils/component';
|
||||||
import fullscreen from './fullscreen';
|
import fullscreen from './fullscreen';
|
||||||
import fullscreenWeb from './fullscreenWeb';
|
import fullscreenWeb from './fullscreenWeb';
|
||||||
@@ -10,6 +9,20 @@ import volume from './volume';
|
|||||||
import setting from './setting';
|
import setting from './setting';
|
||||||
import screenshot from './screenshot';
|
import screenshot from './screenshot';
|
||||||
import airplay from './airplay';
|
import airplay from './airplay';
|
||||||
|
import {
|
||||||
|
def,
|
||||||
|
sleep,
|
||||||
|
append,
|
||||||
|
addClass,
|
||||||
|
isMobile,
|
||||||
|
getStyle,
|
||||||
|
hasClass,
|
||||||
|
removeClass,
|
||||||
|
errorHandle,
|
||||||
|
inverseClass,
|
||||||
|
createElement,
|
||||||
|
includeFromEvent,
|
||||||
|
} from '../utils';
|
||||||
|
|
||||||
export default class Control extends Component {
|
export default class Control extends Component {
|
||||||
constructor(art) {
|
constructor(art) {
|
||||||
@@ -204,4 +217,80 @@ export default class Control extends Component {
|
|||||||
|
|
||||||
super.add(option);
|
super.add(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check(item) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
selector(option, $ref, events) {
|
||||||
|
const { hover, proxy } = this.art.events;
|
||||||
|
|
||||||
|
addClass($ref, 'art-control-selector');
|
||||||
|
const $value = createElement('div');
|
||||||
|
addClass($value, 'art-selector-value');
|
||||||
|
append($value, option.html);
|
||||||
|
$ref.innerText = '';
|
||||||
|
append($ref, $value);
|
||||||
|
|
||||||
|
const $list = createElement('div');
|
||||||
|
addClass($list, 'art-selector-list');
|
||||||
|
append($ref, $list);
|
||||||
|
|
||||||
|
for (let index = 0; index < option.selector.length; index++) {
|
||||||
|
const item = option.selector[index];
|
||||||
|
const $item = createElement('div');
|
||||||
|
addClass($item, 'art-selector-item');
|
||||||
|
if (item.default) addClass($item, 'art-current');
|
||||||
|
$item.dataset.index = index;
|
||||||
|
$item.dataset.value = item.value;
|
||||||
|
$item.innerHTML = item.html;
|
||||||
|
append($list, $item);
|
||||||
|
|
||||||
|
def(item, '$item', {
|
||||||
|
configurable: true,
|
||||||
|
get() {
|
||||||
|
return $item;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
def(item, '$value', {
|
||||||
|
configurable: true,
|
||||||
|
get() {
|
||||||
|
return $value;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
def(item, '$list', {
|
||||||
|
configurable: true,
|
||||||
|
get() {
|
||||||
|
return $list;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const setLeft = () => {
|
||||||
|
const refWidth = getStyle($ref, 'width');
|
||||||
|
const listWidth = getStyle($list, 'width');
|
||||||
|
const left = refWidth / 2 - listWidth / 2;
|
||||||
|
$list.style.left = `${left}px`;
|
||||||
|
};
|
||||||
|
|
||||||
|
hover($ref, setLeft);
|
||||||
|
|
||||||
|
const event = proxy($list, 'click', async (event) => {
|
||||||
|
const path = event.composedPath() || [];
|
||||||
|
const $item = path.find((item) => hasClass(item, 'art-selector-item'));
|
||||||
|
if (!$item) return;
|
||||||
|
inverseClass($item, 'art-current');
|
||||||
|
const index = Number($item.dataset.index);
|
||||||
|
const find = option.selector[index] || {};
|
||||||
|
$value.innerText = $item.innerText;
|
||||||
|
if (option.onSelect) {
|
||||||
|
$value.innerHTML = await option.onSelect.call(this.art, find, $item, event);
|
||||||
|
}
|
||||||
|
setLeft();
|
||||||
|
});
|
||||||
|
|
||||||
|
events.push(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -17,6 +17,7 @@ export default function qualityMix(art) {
|
|||||||
async onSelect(item) {
|
async onSelect(item) {
|
||||||
await art.switchQuality(item.url);
|
await art.switchQuality(item.url);
|
||||||
notice.show = `${i18n.get('Switch Video')}: ${item.html}`;
|
notice.show = `${i18n.get('Switch Video')}: ${item.html}`;
|
||||||
|
return item.html;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,15 +1,4 @@
|
|||||||
import {
|
import { remove, append, tooltip, hasClass, addClass, setStyles, removeClass, createElement } from './dom';
|
||||||
remove,
|
|
||||||
append,
|
|
||||||
tooltip,
|
|
||||||
hasClass,
|
|
||||||
addClass,
|
|
||||||
getStyle,
|
|
||||||
setStyles,
|
|
||||||
removeClass,
|
|
||||||
inverseClass,
|
|
||||||
createElement,
|
|
||||||
} from './dom';
|
|
||||||
import { errorHandle } from './error';
|
import { errorHandle } from './error';
|
||||||
import validator from 'option-validator';
|
import validator from 'option-validator';
|
||||||
import { ComponentOption } from '../scheme';
|
import { ComponentOption } from '../scheme';
|
||||||
@@ -88,7 +77,7 @@ export default class Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (option.selector && ['left', 'right'].includes(option.position)) {
|
if (option.selector && ['left', 'right'].includes(option.position)) {
|
||||||
this.addSelector(option, $ref, events);
|
this.selector(option, $ref, events);
|
||||||
}
|
}
|
||||||
|
|
||||||
this[name] = $ref;
|
this[name] = $ref;
|
||||||
@@ -101,59 +90,6 @@ export default class Component {
|
|||||||
return $ref;
|
return $ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
addSelector(option, $ref, events) {
|
|
||||||
const { hover, proxy } = this.art.events;
|
|
||||||
|
|
||||||
addClass($ref, 'art-control-selector');
|
|
||||||
const $value = createElement('div');
|
|
||||||
addClass($value, 'art-selector-value');
|
|
||||||
append($value, option.html);
|
|
||||||
$ref.innerText = '';
|
|
||||||
append($ref, $value);
|
|
||||||
|
|
||||||
const list = option.selector
|
|
||||||
.map(
|
|
||||||
(item, index) =>
|
|
||||||
`<div
|
|
||||||
class="art-selector-item ${item.default ? 'art-current' : ''}"
|
|
||||||
data-index="${index}"
|
|
||||||
data-value="${item.value}"
|
|
||||||
>
|
|
||||||
${item.html}
|
|
||||||
</div>`,
|
|
||||||
)
|
|
||||||
.join('');
|
|
||||||
const $list = createElement('div');
|
|
||||||
addClass($list, 'art-selector-list');
|
|
||||||
append($list, list);
|
|
||||||
append($ref, $list);
|
|
||||||
|
|
||||||
const setLeft = () => {
|
|
||||||
const refWidth = getStyle($ref, 'width');
|
|
||||||
const listWidth = getStyle($list, 'width');
|
|
||||||
const left = refWidth / 2 - listWidth / 2;
|
|
||||||
$list.style.left = `${left}px`;
|
|
||||||
};
|
|
||||||
|
|
||||||
hover($ref, setLeft);
|
|
||||||
|
|
||||||
const destroyEvent = proxy($list, 'click', async (event) => {
|
|
||||||
const path = event.composedPath() || [];
|
|
||||||
const $item = path.find((item) => hasClass(item, 'art-selector-item'));
|
|
||||||
if (!$item) return;
|
|
||||||
inverseClass($item, 'art-current');
|
|
||||||
const index = Number($item.dataset.index);
|
|
||||||
const find = option.selector[index] || {};
|
|
||||||
$value.innerText = $item.innerText;
|
|
||||||
if (option.onSelect) {
|
|
||||||
$value.innerHTML = await option.onSelect.call(this.art, find, $item, event);
|
|
||||||
}
|
|
||||||
setLeft();
|
|
||||||
});
|
|
||||||
|
|
||||||
events.push(destroyEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
remove(name) {
|
remove(name) {
|
||||||
const item = this.cache.get(name);
|
const item = this.cache.get(name);
|
||||||
errorHandle(item, `Can't find [${name}] from the [${this.name}]`);
|
errorHandle(item, `Can't find [${name}] from the [${this.name}]`);
|
||||||
|
|||||||
Reference in new issue
Block a user