aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpacien2020-05-19 21:10:37 +0200
committerNotkea2020-05-22 01:02:18 +0200
commitbc640b96052d657d22e0afbc05dc1ab4d0289bfb (patch)
tree217d0c604b9a53589e916c2550536873cc4b833b
parent932d6449094920d7ca10f76eeaac58e142d2763b (diff)
downloadldgallery-bc640b96052d657d22e0afbc05dc1ab4d0289bfb.tar.gz
viewer/LdVideoViewer: add video viewer
GitHub: closes #222
-rw-r--r--viewer/src/components/LdVideoViewer.vue50
-rw-r--r--viewer/src/views/GalleryNavigation.vue1
2 files changed, 51 insertions, 0 deletions
diff --git a/viewer/src/components/LdVideoViewer.vue b/viewer/src/components/LdVideoViewer.vue
new file mode 100644
index 0000000..49f687f
--- /dev/null
+++ b/viewer/src/components/LdVideoViewer.vue
@@ -0,0 +1,50 @@
1<!--
2-- ldgallery - A static generator which turns a collection of tagged
3-- pictures into a searchable web gallery.
4--
5-- Copyright (C) 2020 Pacien TRAN-GIRARD
6--
7-- This program is free software: you can redistribute it and/or modify
8-- it under the terms of the GNU Affero General Public License as
9-- published by the Free Software Foundation, either version 3 of the
10-- License, or (at your option) any later version.
11--
12-- This program is distributed in the hope that it will be useful,
13-- but WITHOUT ANY WARRANTY; without even the implied warranty of
14-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-- GNU Affero General Public License for more details.
16--
17-- You should have received a copy of the GNU Affero General Public License
18-- along with this program. If not, see <https://www.gnu.org/licenses/>.
19-->
20
21<template>
22 <!-- intermediate container necessary to eliminate the scrollbar -->
23 <div class="fill no-scroll">
24 <video class="fill" :src="itemResourceUrl()" :poster="thumbnailResourceUrl()" preload="auto" controls>
25 <ld-download :item="videoItem" />
26 </video>
27 </div>
28</template>
29
30<script lang="ts">
31import { Component, Prop, Vue } from "vue-property-decorator";
32
33@Component export default class LdVideoViewer extends Vue {
34 @Prop({ required: true }) readonly videoItem!: Gallery.Video;
35
36 itemResourceUrl(): string {
37 return this.$galleryStore.resourceRoot + this.videoItem.properties.resource;
38 }
39
40 thumbnailResourceUrl(): string {
41 return this.videoItem.thumbnail
42 ? this.$galleryStore.resourceRoot + this.videoItem.thumbnail.resource
43 : "";
44 }
45}
46</script>
47
48<style lang="scss" module>
49
50</style>
diff --git a/viewer/src/views/GalleryNavigation.vue b/viewer/src/views/GalleryNavigation.vue
index e1c860b..df738b8 100644
--- a/viewer/src/views/GalleryNavigation.vue
+++ b/viewer/src/views/GalleryNavigation.vue
@@ -26,6 +26,7 @@
26 <ld-picture v-else-if="checkType('picture')" :picture="$galleryStore.currentItem" /> 26 <ld-picture v-else-if="checkType('picture')" :picture="$galleryStore.currentItem" />
27 <ld-plain-text-viewer v-else-if="checkType('plaintext')" :plain-text-item="$galleryStore.currentItem" /> 27 <ld-plain-text-viewer v-else-if="checkType('plaintext')" :plain-text-item="$galleryStore.currentItem" />
28 <ld-pdf-viewer v-else-if="checkType('pdf')" :pdf-item="$galleryStore.currentItem" /> 28 <ld-pdf-viewer v-else-if="checkType('pdf')" :pdf-item="$galleryStore.currentItem" />
29 <ld-video-viewer v-else-if="checkType('video')" :video-item="$galleryStore.currentItem" />
29 <ld-download v-else :item="$galleryStore.currentItem" /> 30 <ld-download v-else :item="$galleryStore.currentItem" />
30 </div> 31 </div>
31</template> 32</template>