From 2adfc7ea9a1f858db874df9fe322e7ae833db77c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 23 Jan 2019 15:36:45 +0100 Subject: Refractor videojs player Add fake p2p-media-loader plugin --- client/src/assets/player/resolution-menu-button.ts | 88 ---------------------- 1 file changed, 88 deletions(-) delete mode 100644 client/src/assets/player/resolution-menu-button.ts (limited to 'client/src/assets/player/resolution-menu-button.ts') diff --git a/client/src/assets/player/resolution-menu-button.ts b/client/src/assets/player/resolution-menu-button.ts deleted file mode 100644 index a3c1108ca..000000000 --- a/client/src/assets/player/resolution-menu-button.ts +++ /dev/null @@ -1,88 +0,0 @@ -// FIXME: something weird with our path definition in tsconfig and typings -// @ts-ignore -import { Player } from 'video.js' - -import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings' -import { ResolutionMenuItem } from './resolution-menu-item' - -const Menu: VideoJSComponentInterface = videojsUntyped.getComponent('Menu') -const MenuButton: VideoJSComponentInterface = videojsUntyped.getComponent('MenuButton') -class ResolutionMenuButton extends MenuButton { - label: HTMLElement - - constructor (player: Player, options: any) { - super(player, options) - this.player = player - - player.peertube().on('videoFileUpdate', () => this.updateLabel()) - player.peertube().on('autoResolutionUpdate', () => this.updateLabel()) - } - - createEl () { - const el = super.createEl() - - this.labelEl_ = videojsUntyped.dom.createEl('div', { - className: 'vjs-resolution-value', - innerHTML: this.buildLabelHTML() - }) - - el.appendChild(this.labelEl_) - - return el - } - - updateARIAAttributes () { - this.el().setAttribute('aria-label', 'Quality') - } - - createMenu () { - const menu = new Menu(this.player_) - for (const videoFile of this.player_.peertube().videoFiles) { - let label = videoFile.resolution.label - if (videoFile.fps && videoFile.fps >= 50) { - label += videoFile.fps - } - - menu.addChild(new ResolutionMenuItem( - this.player_, - { - id: videoFile.resolution.id, - label, - src: videoFile.magnetUri - }) - ) - } - - menu.addChild(new ResolutionMenuItem( - this.player_, - { - id: -1, - label: this.player_.localize('Auto'), - src: null - } - )) - - return menu - } - - updateLabel () { - if (!this.labelEl_) return - - this.labelEl_.innerHTML = this.buildLabelHTML() - } - - buildCSSClass () { - return super.buildCSSClass() + ' vjs-resolution-button' - } - - buildWrapperCSSClass () { - return 'vjs-resolution-control ' + super.buildWrapperCSSClass() - } - - private buildLabelHTML () { - return this.player_.peertube().getCurrentResolutionLabel() - } -} -ResolutionMenuButton.prototype.controlText_ = 'Quality' - -MenuButton.registerComponent('ResolutionMenuButton', ResolutionMenuButton) -- cgit v1.2.3