From 1dc240a9488c66ad38205d08fcfdb32d35efceaa Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Thu, 19 Dec 2019 21:34:45 +0100 Subject: Add next video button to the player --- .../player/videojs-components/next-video-button.ts | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 client/src/assets/player/videojs-components/next-video-button.ts (limited to 'client/src/assets/player/videojs-components') diff --git a/client/src/assets/player/videojs-components/next-video-button.ts b/client/src/assets/player/videojs-components/next-video-button.ts new file mode 100644 index 000000000..bf5c1aba4 --- /dev/null +++ b/client/src/assets/player/videojs-components/next-video-button.ts @@ -0,0 +1,36 @@ +import { VideoJSComponentInterface, videojsUntyped } from '../peertube-videojs-typings' +// FIXME: something weird with our path definition in tsconfig and typings +// @ts-ignore +import { Player } from 'video.js' + +const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button') + +class NextVideoButton extends Button { + + constructor (player: Player, options: any) { + super(player, options) + } + + createEl () { + const button = videojsUntyped.dom.createEl('button', { + className: 'vjs-next-video' + }) + const nextIcon = videojsUntyped.dom.createEl('span', { + className: 'icon icon-next' + }) + button.appendChild(nextIcon) + + button.title = this.player_.localize('Next video') + + return button + } + + handleClick () { + this.options_.handler() + } + +} + +NextVideoButton.prototype.controlText_ = 'Next video' + +NextVideoButton.registerComponent('NextVideoButton', NextVideoButton) -- cgit v1.2.3