From f5fcd9f72514d6c4044a9c904d0ce610033bcba5 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 28 Jan 2020 17:29:50 +0100 Subject: Correctly type videojs player --- client/src/assets/player/bezels/bezels-plugin.ts | 86 ++---------------------- client/src/assets/player/bezels/pause-bezel.ts | 72 ++++++++++++++++++++ 2 files changed, 79 insertions(+), 79 deletions(-) create mode 100644 client/src/assets/player/bezels/pause-bezel.ts (limited to 'client/src/assets/player/bezels') diff --git a/client/src/assets/player/bezels/bezels-plugin.ts b/client/src/assets/player/bezels/bezels-plugin.ts index c2c251961..499177526 100644 --- a/client/src/assets/player/bezels/bezels-plugin.ts +++ b/client/src/assets/player/bezels/bezels-plugin.ts @@ -1,85 +1,12 @@ -// @ts-ignore -import * as videojs from 'video.js' -import { VideoJSComponentInterface } from '../peertube-videojs-typings' +import videojs, { VideoJsPlayer } from 'video.js' +import './pause-bezel' -function getPauseBezel () { - return ` -
-
-
- - - - -
-
-
- ` -} - -function getPlayBezel () { - return ` -
-
-
- - - - -
-
-
- ` -} - -// @ts-ignore-start -const Component = videojs.getComponent('Component') -class PauseBezel extends Component { - options_: any - container: HTMLBodyElement - - constructor (player: videojs.Player, options: any) { - super(player, options) - this.options_ = options - - player.on('pause', (_: any) => { - if (player.seeking() || player.ended()) return - this.container.innerHTML = getPauseBezel() - this.showBezel() - }) - - player.on('play', (_: any) => { - if (player.seeking()) return - this.container.innerHTML = getPlayBezel() - this.showBezel() - }) - } +const Plugin = videojs.getPlugin('plugin') - createEl () { - const container = super.createEl('div', { - className: 'vjs-bezels-content' - }) - this.container = container - container.style.display = 'none' - - return container - } - - showBezel () { - this.container.style.display = 'inherit' - setTimeout(() => { - this.container.style.display = 'none' - }, 500) // matching the animation duration - } -} -// @ts-ignore-end - -videojs.registerComponent('PauseBezel', PauseBezel) - -const Plugin: VideoJSComponentInterface = videojs.getPlugin('plugin') class BezelsPlugin extends Plugin { - constructor (player: videojs.Player, options: any = {}) { - super(player, options) + + constructor (player: VideoJsPlayer, options?: videojs.ComponentOptions) { + super(player) this.player.ready(() => { player.addClass('vjs-bezels') @@ -90,4 +17,5 @@ class BezelsPlugin extends Plugin { } videojs.registerPlugin('bezels', BezelsPlugin) + export { BezelsPlugin } diff --git a/client/src/assets/player/bezels/pause-bezel.ts b/client/src/assets/player/bezels/pause-bezel.ts new file mode 100644 index 000000000..98eb12099 --- /dev/null +++ b/client/src/assets/player/bezels/pause-bezel.ts @@ -0,0 +1,72 @@ +import videojs, { VideoJsPlayer } from 'video.js' + +function getPauseBezel () { + return ` +
+
+
+ + + + +
+
+
+ ` +} + +function getPlayBezel () { + return ` +
+
+
+ + + + +
+
+
+ ` +} + +const Component = videojs.getComponent('Component') +class PauseBezel extends Component { + container: HTMLDivElement + + constructor (player: VideoJsPlayer, options?: videojs.ComponentOptions) { + super(player, options) + + player.on('pause', (_: any) => { + if (player.seeking() || player.ended()) return + this.container.innerHTML = getPauseBezel() + this.showBezel() + }) + + player.on('play', (_: any) => { + if (player.seeking()) return + this.container.innerHTML = getPlayBezel() + this.showBezel() + }) + } + + createEl () { + this.container = super.createEl('div', { + className: 'vjs-bezels-content' + }) as HTMLDivElement + + this.container.style.display = 'none' + + return this.container + } + + showBezel () { + this.container.style.display = 'inherit' + + setTimeout(() => { + this.container.style.display = 'none' + }, 500) // matching the animation duration + } +} + +videojs.registerComponent('PauseBezel', PauseBezel) -- cgit v1.2.3