aboutsummaryrefslogtreecommitdiff
path: root/viewer/src/views/item_handlers/PdfViewer.vue
diff options
context:
space:
mode:
Diffstat (limited to 'viewer/src/views/item_handlers/PdfViewer.vue')
-rw-r--r--viewer/src/views/item_handlers/PdfViewer.vue48
1 files changed, 48 insertions, 0 deletions
diff --git a/viewer/src/views/item_handlers/PdfViewer.vue b/viewer/src/views/item_handlers/PdfViewer.vue
new file mode 100644
index 0000000..29f8033
--- /dev/null
+++ b/viewer/src/views/item_handlers/PdfViewer.vue
@@ -0,0 +1,48 @@
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 double scrollbar -->
23 <div class="fill no-scroll">
24 <!-- prefer native browser PDF viewer if available -->
25 <object
26 class="fill"
27 :data="itemResourceUrl"
28 type="application/pdf"
29 >
30 <!-- TODO: fallback to PDF.js (https://github.com/pacien/ldgallery/issues/212) -->
31 <DownloadViewer :item="item" />
32 </object>
33 </div>
34</template>
35
36<script setup lang="ts">
37import { PDFItem } from '@/@types/gallery';
38import { useItemResource } from '@/services/ui/ldItemResourceUrl';
39import { PropType } from 'vue';
40import DownloadViewer from './DownloadViewer.vue';
41
42const props = defineProps({
43 item: { type: Object as PropType<PDFItem>, required: true },
44});
45
46const { itemResourceUrl } = useItemResource(props.item);
47
48</script>