]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/assets/player/videojs-components/peertube-load-progress-bar.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / videojs-components / peertube-load-progress-bar.ts
CommitLineData
f5fcd9f7 1import videojs, { VideoJsPlayer } from 'video.js'
77728efa 2
f5fcd9f7 3const Component = videojs.getComponent('Component')
77728efa
C
4
5class PeerTubeLoadProgressBar extends Component {
6
f5fcd9f7 7 constructor (player: VideoJsPlayer, options?: videojs.ComponentOptions) {
77728efa 8 super(player, options)
f5fcd9f7 9
77728efa
C
10 this.on(player, 'progress', this.update)
11 }
12
13 createEl () {
14 return super.createEl('div', {
15 className: 'vjs-load-progress',
16 innerHTML: `<span class="vjs-control-text"><span>${this.localize('Loaded')}</span>: 0%</span>`
17 })
18 }
19
20 dispose () {
77728efa
C
21 super.dispose()
22 }
23
24 update () {
2adfc7ea 25 const torrent = this.player().webtorrent().getTorrent()
77728efa
C
26 if (!torrent) return
27
f5fcd9f7
C
28 // FIXME: typings
29 (this.el() as HTMLElement).style.width = (torrent.progress * 100) + '%'
77728efa
C
30 }
31
32}
33
34Component.registerComponent('PeerTubeLoadProgressBar', PeerTubeLoadProgressBar)