aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/assets/player/shared/control-bar/next-previous-video-button.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/assets/player/shared/control-bar/next-previous-video-button.ts')
-rw-r--r--client/src/assets/player/shared/control-bar/next-previous-video-button.ts25
1 files changed, 17 insertions, 8 deletions
diff --git a/client/src/assets/player/shared/control-bar/next-previous-video-button.ts b/client/src/assets/player/shared/control-bar/next-previous-video-button.ts
index b7b986806..18a107f52 100644
--- a/client/src/assets/player/shared/control-bar/next-previous-video-button.ts
+++ b/client/src/assets/player/shared/control-bar/next-previous-video-button.ts
@@ -4,14 +4,18 @@ import { NextPreviousVideoButtonOptions } from '../../types'
4const Button = videojs.getComponent('Button') 4const Button = videojs.getComponent('Button')
5 5
6class NextPreviousVideoButton extends Button { 6class NextPreviousVideoButton extends Button {
7 private readonly nextPreviousVideoButtonOptions: NextPreviousVideoButtonOptions 7 options_: NextPreviousVideoButtonOptions & videojs.ComponentOptions
8 8
9 constructor (player: videojs.Player, options?: NextPreviousVideoButtonOptions) { 9 constructor (player: videojs.Player, options?: NextPreviousVideoButtonOptions & videojs.ComponentOptions) {
10 super(player, options as any) 10 super(player, options)
11 11
12 this.nextPreviousVideoButtonOptions = options 12 this.player().on('video-change', () => {
13 this.updateDisabled()
14 this.updateShowing()
15 })
13 16
14 this.update() 17 this.updateDisabled()
18 this.updateShowing()
15 } 19 }
16 20
17 createEl () { 21 createEl () {
@@ -35,15 +39,20 @@ class NextPreviousVideoButton extends Button {
35 } 39 }
36 40
37 handleClick () { 41 handleClick () {
38 this.nextPreviousVideoButtonOptions.handler() 42 this.options_.handler()
39 } 43 }
40 44
41 update () { 45 updateDisabled () {
42 const disabled = this.nextPreviousVideoButtonOptions.isDisabled() 46 const disabled = this.options_.isDisabled()
43 47
44 if (disabled) this.addClass('vjs-disabled') 48 if (disabled) this.addClass('vjs-disabled')
45 else this.removeClass('vjs-disabled') 49 else this.removeClass('vjs-disabled')
46 } 50 }
51
52 updateShowing () {
53 if (this.options_.isDisplayed()) this.show()
54 else this.hide()
55 }
47} 56}
48 57
49videojs.registerComponent('NextVideoButton', NextPreviousVideoButton) 58videojs.registerComponent('NextVideoButton', NextPreviousVideoButton)