]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/peertube-link-button.ts
Add context menu to player
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / peertube-link-button.ts
1 import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings'
2 import { buildVideoLink } from './utils'
3
4 const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button')
5 class PeerTubeLinkButton extends Button {
6
7 constructor (player: videojs.Player, options) {
8 super(player, options)
9 }
10
11 createEl () {
12 return this.buildElement()
13 }
14
15 updateHref () {
16 this.el().setAttribute('href', buildVideoLink(this.player().currentTime()))
17 }
18
19 handleClick () {
20 this.player_.pause()
21 }
22
23 private buildElement () {
24 const el = videojsUntyped.dom.createEl('a', {
25 href: buildVideoLink(),
26 innerHTML: 'PeerTube',
27 title: 'Go to the video page',
28 className: 'vjs-peertube-link',
29 target: '_blank'
30 })
31
32 el.addEventListener('mouseenter', () => this.updateHref())
33
34 return el
35 }
36 }
37 Button.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)