aboutsummaryrefslogtreecommitdiff
path: root/src/modules/media_viewer.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/media_viewer.js')
-rw-r--r--src/modules/media_viewer.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/modules/media_viewer.js b/src/modules/media_viewer.js
new file mode 100644
index 00000000..27714bae
--- /dev/null
+++ b/src/modules/media_viewer.js
@@ -0,0 +1,40 @@
+import fileTypeService from '../services/file_type/file_type.service.js'
+
+const mediaViewer = {
+ state: {
+ media: [],
+ currentIndex: 0,
+ activated: false
+ },
+ mutations: {
+ setMedia (state, media) {
+ state.media = media
+ },
+ setCurrent (state, index) {
+ state.activated = true
+ state.currentIndex = index
+ },
+ close (state) {
+ state.activated = false
+ }
+ },
+ actions: {
+ setMedia ({ commit }, attachments) {
+ const media = attachments.filter(attachment => {
+ const type = fileTypeService.fileType(attachment.mimetype)
+ return type === 'image' || type === 'video'
+ })
+ commit('setMedia', media)
+ },
+ setCurrent ({ commit, state }, current) {
+ const index = state.media.indexOf(current)
+ console.log(index, current)
+ commit('setCurrent', index || 0)
+ },
+ closeMediaViewer ({ commit }) {
+ commit('close')
+ }
+ }
+}
+
+export default mediaViewer