2019-01-15 04:23:13 +11:00
|
|
|
import StillImage from '../still-image/still-image.vue'
|
|
|
|
import fileTypeService from '../../services/file_type/file_type.service.js'
|
|
|
|
|
|
|
|
const MediaModal = {
|
|
|
|
components: {
|
|
|
|
StillImage
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
showing () {
|
|
|
|
return this.$store.state.mediaViewer.activated
|
|
|
|
},
|
|
|
|
currentIndex () {
|
|
|
|
return this.$store.state.mediaViewer.currentIndex
|
|
|
|
},
|
|
|
|
currentMedia () {
|
|
|
|
return this.$store.state.mediaViewer.media[this.currentIndex]
|
|
|
|
},
|
|
|
|
type () {
|
|
|
|
return this.currentMedia ? fileTypeService.fileType(this.currentMedia.mimetype) : null
|
2019-01-20 21:46:11 +11:00
|
|
|
},
|
|
|
|
loopVideo () {
|
|
|
|
return this.$store.state.config.loopVideo
|
2019-01-15 04:23:13 +11:00
|
|
|
}
|
|
|
|
},
|
2019-01-17 02:27:23 +11:00
|
|
|
created () {
|
|
|
|
document.addEventListener('keyup', e => {
|
|
|
|
if (e.keyCode === 27 && this.showing) { // escape
|
|
|
|
this.hide()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
2019-01-15 04:23:13 +11:00
|
|
|
methods: {
|
|
|
|
hide () {
|
|
|
|
this.$store.dispatch('closeMediaViewer')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default MediaModal
|