1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-03 17:59:55 +02:00
Oinktube/node_modules/videojs-hls-quality-selector/cjs/ConcreteButton.js
2024-10-27 13:39:07 -03:00

91 lines
No EOL
2.4 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"));
var MenuButton = _video.default.getComponent('MenuButton');
var Menu = _video.default.getComponent('Menu');
var Component = _video.default.getComponent('Component');
var Dom = _video.default.dom;
/**
* Convert string to title case.
*
* @param {string} string - the string to convert
* @return {string} the returned titlecase string
*/
function toTitleCase(string) {
if (typeof string !== 'string') {
return string;
}
return string.charAt(0).toUpperCase() + string.slice(1);
}
/**
* Extend vjs button class for quality button.
*/
var ConcreteButton = exports.default = /*#__PURE__*/function (_MenuButton) {
(0, _inheritsLoose2.default)(ConcreteButton, _MenuButton);
/**
* Button constructor.
*
* @param {Player} player - videojs player instance
*/
function ConcreteButton(player) {
return _MenuButton.call(this, player, {
title: player.localize('Quality'),
name: 'QualityButton'
}) || this;
}
/**
* Creates button items.
*
* @return {Array} - Button items
*/
var _proto = ConcreteButton.prototype;
_proto.createItems = function createItems() {
return [];
}
/**
* Create the menu and add all items to it.
*
* @return {Menu}
* The constructed menu
*/;
_proto.createMenu = function createMenu() {
var menu = new Menu(this.player_, {
menuButton: this
});
this.hideThreshold_ = 0;
// Add a title list item to the top
if (this.options_.title) {
var titleEl = Dom.createEl('li', {
className: 'vjs-menu-title',
innerHTML: toTitleCase(this.options_.title),
tabIndex: -1
});
var titleComponent = new Component(this.player_, {
el: titleEl
});
this.hideThreshold_ += 1;
menu.addItem(titleComponent);
}
this.items = this.createItems();
if (this.items) {
// Add menu items to the menu
for (var i = 0; i < this.items.length; i++) {
menu.addItem(this.items[i]);
}
}
return menu;
};
return ConcreteButton;
}(MenuButton);
module.exports = exports.default;