]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/videojs-components/peertube-link-button.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / videojs-components / peertube-link-button.ts
1 import { buildVideoLink } from '../utils'
2 import videojs, { VideoJsPlayer } from 'video.js'
3
4 const Button = videojs.getComponent('Button')
5 class PeerTubeLinkButton extends Button {
6
7 constructor (player: VideoJsPlayer, options?: videojs.ComponentOptions) {
8 super(player, options)
9 }
10
11 createEl () {
12 return this.buildElement()
13 }
14
15 updateHref () {
16 this.el().setAttribute('href', buildVideoLink({ startTime: this.player().currentTime() }))
17 }
18
19 handleClick () {
20 this.player().pause()
21 }
22
23 private buildElement () {
24 const el = videojs.dom.createEl('a', {
25 href: buildVideoLink(),
26 innerHTML: 'PeerTube',
27 title: this.player().localize('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 as HTMLButtonElement
35 }
36 }
37
38 videojs.registerComponent('PeerTubeLinkButton', PeerTubeLinkButton)