From d9ee2c97882ea5ace9c28ac6560ffa240daf9345 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 20 Mar 2021 18:03:31 +0100 Subject: toggle side of sidebar. popup form. wait to appear form. --- frontend/app/views/tile/handles/tile.video.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'frontend/app/views/tile/handles') diff --git a/frontend/app/views/tile/handles/tile.video.js b/frontend/app/views/tile/handles/tile.video.js index 001cce2..a9f0d09 100644 --- a/frontend/app/views/tile/handles/tile.video.js +++ b/frontend/app/views/tile/handles/tile.video.js @@ -11,12 +11,25 @@ export default class TileVideo extends Component { this.handleEnded = this.handleEnded.bind(this) } componentDidMount() { - this.videoRef.current.addEventListener('ended', this.handleEnded) - this.videoRef.current.addEventListener('timeupdate', this.handleTimeUpdate) + this.bind() + } + componentDidUpdate() { + this.unbind() + this.bind() } componentWillUnmount() { - this.videoRef.current.removeEventListener('timeupdate', this.handleTimeUpdate) - this.videoRef.current.removeEventListener('ended', this.handleEnded) + this.unbind() + } + bind() { + if (!this.videoRef.current) return + this.el = this.videoRef.current + this.el.addEventListener('ended', this.handleEnded) + this.el.addEventListener('timeupdate', this.handleTimeUpdate) + } + unbind() { + if (!this.el) return + this.el.removeEventListener('timeupdate', this.handleTimeUpdate) + this.el.removeEventListener('ended', this.handleEnded) } handleTimeUpdate() { if (this.props.tile.settings.loop && this.props.tile.settings.loop_section) { @@ -63,7 +76,7 @@ export default class TileVideo extends Component { autoPlay={true} controls={false} loop={tile.settings.loop} - muted={tile.settings.muted} + muted={viewing ? tile.settings.muted : true} style={generateVideoStyle(tile, bounds)} /> -- cgit v1.2.3-70-g09d2