mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 17:59:55 +02:00
55 lines
No EOL
1.7 KiB
JavaScript
55 lines
No EOL
1.7 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
var _video = _interopRequireDefault(require("video.js"));
|
|
// Concrete classes
|
|
var VideoJsMenuItemClass = _video.default.getComponent('MenuItem');
|
|
|
|
/**
|
|
* Extend vjs menu item class.
|
|
*/
|
|
var ConcreteMenuItem = exports.default = /*#__PURE__*/function (_VideoJsMenuItemClass) {
|
|
(0, _inheritsLoose2.default)(ConcreteMenuItem, _VideoJsMenuItemClass);
|
|
/**
|
|
* Menu item constructor.
|
|
*
|
|
* @param {Player} player - vjs player
|
|
* @param {Object} item - Item object
|
|
* @param {ConcreteButton} qualityButton - The containing button.
|
|
* @param {HlsQualitySelector} plugin - This plugin instance.
|
|
*/
|
|
function ConcreteMenuItem(player, item, qualityButton, plugin) {
|
|
var _this;
|
|
_this = _VideoJsMenuItemClass.call(this, player, {
|
|
label: item.label,
|
|
selectable: true,
|
|
selected: item.selected || false
|
|
}) || this;
|
|
_this.item = item;
|
|
_this.qualityButton = qualityButton;
|
|
_this.plugin = plugin;
|
|
return _this;
|
|
}
|
|
|
|
/**
|
|
* Click event for menu item.
|
|
*/
|
|
var _proto = ConcreteMenuItem.prototype;
|
|
_proto.handleClick = function handleClick() {
|
|
// Reset other menu items selected status.
|
|
for (var i = 0; i < this.qualityButton.items.length; ++i) {
|
|
this.qualityButton.items[i].selected(false);
|
|
}
|
|
|
|
// Set this menu item to selected, and set quality.
|
|
this.plugin.setQuality(this.item.value);
|
|
this.selected(true);
|
|
};
|
|
return ConcreteMenuItem;
|
|
}(VideoJsMenuItemClass);
|
|
module.exports = exports.default; |