Skip to content
Snippets Groups Projects
Commit e1c3691a authored by Shpuld Shpludson's avatar Shpuld Shpludson
Browse files

Add escape button support

parent 17735943
No related branches found
No related tags found
No related merge requests found
......@@ -24,24 +24,34 @@ const MediaModal = {
return this.currentMedia ? fileTypeService.fileType(this.currentMedia.mimetype) : null
}
},
created () {
document.addEventListener('keyup', e => {
if (e.keyCode === 27 && this.showing) { // escape
this.hide()
}
})
},
methods: {
hide () {
this.$store.dispatch('closeMediaViewer')
},
onVideoDataLoad (e) {
if (!e.srcElement) {
return
}
if (typeof e.srcElement.webkitAudioDecodedByteCount !== 'undefined') {
// non-zero if video has audio track
if (e.srcElement.webkitAudioDecodedByteCount > 0) {
this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
this.loopVideo = this.$store.state.config.loopVideo && !this.$store.state.config.loopVideoSilentOnly
}
} else if (typeof e.srcElement.mozHasAudio !== 'undefined') {
// true if video has audio track
if (e.srcElement.mozHasAudio) {
this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
this.loopVideo = this.$store.state.config.loopVideo && !this.$store.state.config.loopVideoSilentOnly
}
} else if (typeof e.srcElement.audioTracks !== 'undefined') {
if (e.srcElement.audioTracks.length > 0) {
this.loopVideo = this.loopVideo && !this.$store.state.config.loopVideoSilentOnly
this.loopVideo = this.$store.state.config.loopVideo && !this.$store.state.config.loopVideoSilentOnly
}
}
}
......
......@@ -7,8 +7,8 @@
:src="currentMedia.url"
@click.stop=""
controls autoplay
:loop="loopVideo"
@loadeddata="onVideoDataLoad">
@loadeddata="onVideoDataLoad"
:loop="loopVideo">
</video>
</div>
</template>
......
......@@ -28,7 +28,6 @@ const mediaViewer = {
},
setCurrent ({ commit, state }, current) {
const index = state.media.indexOf(current)
console.log(index, current)
commit('setCurrent', index || 0)
},
closeMediaViewer ({ commit }) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment