aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/assets/player/videojs-components/peertube-load-progress-bar.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-01-23 15:36:45 +0100
committerChocobozzz <chocobozzz@cpy.re>2019-02-11 09:13:02 +0100
commit2adfc7ea9a1f858db874df9fe322e7ae833db77c (patch)
treee27c6ebe01b7c96ea0e053839a38fc1f824d1284 /client/src/assets/player/videojs-components/peertube-load-progress-bar.ts
parent7eeb6a0ba4028d0e20847b846332dd0b7747c7f8 (diff)
downloadPeerTube-2adfc7ea9a1f858db874df9fe322e7ae833db77c.tar.gz
PeerTube-2adfc7ea9a1f858db874df9fe322e7ae833db77c.tar.zst
PeerTube-2adfc7ea9a1f858db874df9fe322e7ae833db77c.zip
Refractor videojs player
Add fake p2p-media-loader plugin
Diffstat (limited to 'client/src/assets/player/videojs-components/peertube-load-progress-bar.ts')
-rw-r--r--client/src/assets/player/videojs-components/peertube-load-progress-bar.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/client/src/assets/player/videojs-components/peertube-load-progress-bar.ts b/client/src/assets/player/videojs-components/peertube-load-progress-bar.ts
new file mode 100644
index 000000000..9a0e3b550
--- /dev/null
+++ b/client/src/assets/player/videojs-components/peertube-load-progress-bar.ts
@@ -0,0 +1,38 @@
1import { VideoJSComponentInterface, videojsUntyped } from '../peertube-videojs-typings'
2// FIXME: something weird with our path definition in tsconfig and typings
3// @ts-ignore
4import { Player } from 'video.js'
5
6const Component: VideoJSComponentInterface = videojsUntyped.getComponent('Component')
7
8class PeerTubeLoadProgressBar extends Component {
9
10 constructor (player: Player, options: any) {
11 super(player, options)
12 this.partEls_ = []
13 this.on(player, 'progress', this.update)
14 }
15
16 createEl () {
17 return super.createEl('div', {
18 className: 'vjs-load-progress',
19 innerHTML: `<span class="vjs-control-text"><span>${this.localize('Loaded')}</span>: 0%</span>`
20 })
21 }
22
23 dispose () {
24 this.partEls_ = null
25
26 super.dispose()
27 }
28
29 update () {
30 const torrent = this.player().webtorrent().getTorrent()
31 if (!torrent) return
32
33 this.el_.style.width = (torrent.progress * 100) + '%'
34 }
35
36}
37
38Component.registerComponent('PeerTubeLoadProgressBar', PeerTubeLoadProgressBar)