aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
Diffstat (limited to 'viewer')
-rw-r--r--viewer/.eslintrc.js9
-rw-r--r--viewer/.vscode/tasks.json86
-rw-r--r--viewer/babel.config.js3
-rw-r--r--viewer/ldgallery-viewer.7.md51
-rw-r--r--viewer/package-lock.json3316
-rw-r--r--viewer/package.json82
-rw-r--r--viewer/src/@types/ItemType.ts11
-rw-r--r--viewer/src/@types/Operation.ts2
-rw-r--r--viewer/src/@types/gallery.d.ts92
-rw-r--r--viewer/src/@types/scrollposition.d.ts2
-rw-r--r--viewer/src/@types/tag.d.ts4
-rw-r--r--viewer/src/assets/scss/global.scss40
-rw-r--r--viewer/src/assets/scss/scrollbar.scss39
-rw-r--r--viewer/src/assets/scss/theme.scss6
-rw-r--r--viewer/src/assets/scss/transition.scss32
-rw-r--r--viewer/src/components/LdBreadcrumb.vue4
-rw-r--r--viewer/src/components/LdCommand.vue17
-rw-r--r--viewer/src/components/LdCommandSearch.vue4
-rw-r--r--viewer/src/components/LdCommandSort.vue55
-rw-r--r--viewer/src/components/LdError.vue58
-rw-r--r--viewer/src/components/LdGallery.vue16
-rw-r--r--viewer/src/components/LdInformation.vue84
-rw-r--r--viewer/src/components/LdProposition.vue52
-rw-r--r--viewer/src/components/LdTagInput.vue4
-rw-r--r--viewer/src/components/LdThumbnail.vue18
-rw-r--r--viewer/src/components/index.ts17
-rw-r--r--viewer/src/components/item_handlers/LdAudioViewer.vue55
-rw-r--r--viewer/src/components/item_handlers/LdDirectory.vue (renamed from viewer/src/views/GalleryDirectory.vue)13
-rw-r--r--viewer/src/components/item_handlers/LdDownload.vue57
-rw-r--r--viewer/src/components/item_handlers/LdPdfViewer.vue45
-rw-r--r--viewer/src/components/item_handlers/LdPicture.vue (renamed from viewer/src/components/LdPicture.vue)20
-rw-r--r--viewer/src/components/item_handlers/LdPlainTextViewer.vue55
-rw-r--r--viewer/src/components/item_handlers/LdVideoViewer.vue47
-rw-r--r--viewer/src/locales/en.json31
-rw-r--r--viewer/src/main.ts14
-rw-r--r--viewer/src/plugins/buefy.ts6
-rw-r--r--viewer/src/plugins/fontawesome-icons.ts45
-rw-r--r--viewer/src/plugins/fontawesome.ts30
-rw-r--r--viewer/src/plugins/router.ts2
-rw-r--r--viewer/src/services/dragscrollclickfix.ts3
-rw-r--r--viewer/src/services/indexfactory.ts26
-rw-r--r--viewer/src/services/indexsearch.ts7
-rw-r--r--viewer/src/services/itemComparators.ts73
-rw-r--r--viewer/src/services/ldzoom.ts6
-rw-r--r--viewer/src/services/navigation.ts41
-rw-r--r--viewer/src/shims-tsx.d.ts4
-rw-r--r--viewer/src/store/galleryStore.ts36
-rw-r--r--viewer/src/store/index.ts16
-rw-r--r--viewer/src/store/uiStore.ts19
-rw-r--r--viewer/src/views/GalleryNavigation.vue38
-rw-r--r--viewer/src/views/GallerySearch.vue15
-rw-r--r--viewer/src/views/MainLayout.vue30
-rw-r--r--viewer/src/views/PanelLeft.vue34
-rw-r--r--viewer/src/views/PanelTop.vue8
-rw-r--r--viewer/visualstudio.code-workspace22
-rw-r--r--viewer/vue.config.js46
56 files changed, 3307 insertions, 1641 deletions
diff --git a/viewer/.eslintrc.js b/viewer/.eslintrc.js
index a67de5e..9d3fbbc 100644
--- a/viewer/.eslintrc.js
+++ b/viewer/.eslintrc.js
@@ -5,14 +5,14 @@ module.exports = {
5 node: true, 5 node: true,
6 }, 6 },
7 7
8 extends: [ 8 plugins: ["prettier"],
9 "plugin:vue/essential", 9
10 "@vue/typescript" 10 extends: ["plugin:vue/essential", "plugin:prettier/recommended", "@vue/typescript"],
11 ],
12 11
13 rules: { 12 rules: {
14 "no-console": "off", 13 "no-console": "off",
15 "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", 14 "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
15 "prettier/prettier": "warn",
16 "eol-last": ["warn", "always"], 16 "eol-last": ["warn", "always"],
17 "object-curly-spacing": ["warn", "always"], 17 "object-curly-spacing": ["warn", "always"],
18 "quote-props": ["warn", "as-needed"], 18 "quote-props": ["warn", "as-needed"],
@@ -36,5 +36,4 @@ module.exports = {
36 sourceType: "module", 36 sourceType: "module",
37 parser: "@typescript-eslint/parser", 37 parser: "@typescript-eslint/parser",
38 }, 38 },
39
40}; 39};
diff --git a/viewer/.vscode/tasks.json b/viewer/.vscode/tasks.json
index 102002d..cb1cdb2 100644
--- a/viewer/.vscode/tasks.json
+++ b/viewer/.vscode/tasks.json
@@ -1,39 +1,49 @@
1{ 1{
2 // See https://go.microsoft.com/fwlink/?LinkId=733558 2 // See https://go.microsoft.com/fwlink/?LinkId=733558
3 // for the documentation about the tasks.json format 3 // for the documentation about the tasks.json format
4 "version": "2.0.0", 4 "version": "2.0.0",
5 "tasks": [ 5 "tasks": [
6 { 6 {
7 "type": "npm", 7 "type": "npm",
8 "script": "build", 8 "script": "build",
9 "group": { 9 "group": {
10 "kind": "build", 10 "kind": "build",
11 "isDefault": true 11 "isDefault": true
12 }, 12 },
13 "problemMatcher": [ 13 "problemMatcher": [
14 "$tsc" 14 "$tsc"
15 ] 15 ]
16 }, 16 },
17 { 17 {
18 "type": "npm", 18 "type": "npm",
19 "script": "serve", 19 "script": "serve",
20 "problemMatcher": [ 20 "problemMatcher": [
21 "$tsc" 21 "$tsc"
22 ] 22 ]
23 }, 23 },
24 { 24 {
25 "type": "npm", 25 "type": "npm",
26 "script": "lint-autoformat", 26 "script": "lint-autoformat",
27 "problemMatcher": [ 27 "problemMatcher": [
28 "$tsc" 28 "$tsc"
29 ] 29 ]
30 }, 30 },
31 { 31 {
32 "type": "npm", 32 "type": "npm",
33 "script": "lint", 33 "script": "lint",
34 "problemMatcher": [ 34 "problemMatcher": [
35 "$tsc" 35 "$tsc"
36 ] 36 ]
37 } 37 },
38 ] 38 {
39} \ No newline at end of file 39 "type": "npm",
40 "script": "build:report",
41 "problemMatcher": [
42 "$tsc"
43 ],
44 "group": "build",
45 "label": "npm: build:report",
46 "detail": "vue-cli-service build --report",
47 }
48 ]
49}
diff --git a/viewer/babel.config.js b/viewer/babel.config.js
index 1378522..ca2a3c1 100644
--- a/viewer/babel.config.js
+++ b/viewer/babel.config.js
@@ -1,5 +1,4 @@
1module.exports = { 1module.exports = {
2 presets: ["@vue/cli-plugin-babel/preset"], 2 presets: ["@vue/cli-plugin-babel/preset"],
3 plugins: [ 3 plugins: [],
4 ],
5}; 4};
diff --git a/viewer/ldgallery-viewer.7.md b/viewer/ldgallery-viewer.7.md
index 41f5003..96070dc 100644
--- a/viewer/ldgallery-viewer.7.md
+++ b/viewer/ldgallery-viewer.7.md
@@ -2,7 +2,7 @@
2pagetitle: Viewer user manual - ldgallery 2pagetitle: Viewer user manual - ldgallery
3title: LDGALLERY-VIEWER(7) ldgallery 3title: LDGALLERY-VIEWER(7) ldgallery
4author: Pacien TRAN-GIRARD, Guillaume FOUET 4author: Pacien TRAN-GIRARD, Guillaume FOUET
5date: 2020-04-30 (v1.0) 5date: 2020-09-24 (v2.0)
6--- 6---
7 7
8 8
@@ -24,12 +24,23 @@ Its responsiveness allows it to be used from either a desktop browser or some mo
24The viewer's user interface is split into a main item view and a side search panel, which can be opened by using the appropriate button in the toolbar at the top-left corner. 24The viewer's user interface is split into a main item view and a side search panel, which can be opened by using the appropriate button in the toolbar at the top-left corner.
25 25
26The main view displays the gallery's directories and items as a thumbnail grid. 26The main view displays the gallery's directories and items as a thumbnail grid.
27The order in which items are displayed can be chosen from the sort menu at the top-left corner.
27 28
28The side panel allows the user to interactively enter filtering queries to search through the gallery's content. 29The side panel allows the user to interactively enter filtering queries to search through the gallery's content.
29This panel features a list of relevant tags, grouped by categories, that can be used to build the search query. 30This panel features a list of relevant tags, grouped by categories, that can be used to build the search query.
30 31
31Picture items can be opened and visualised within the application. 32The information panel at the bottom of the sidebar displays various metadata about the currently viewed item.
32Other types of elements are either downloaded or displayed in the same window depending on the user's web browser supported media types. 33Those include the title, date and description of the file or directory.
34
35Items of the following formats can be opened and visualised within the web application:
36
37* Pictures (Bitmap, JPEG, PNG, TIFF, HDR, GIF)
38* Videos (OGV, WebM, Matroska, MPEG-4)
39* Audio files (WAV, Opus, FLAC, MP3, MPEG-4)
40* Plain text files (`.txt`)
41* PDFs
42
43Formats which are not listed above or which are not supported by the user's web browser are offered for download instead of being directly displayed in the same window.
33 44
34 45
35# SEARCH QUERIES 46# SEARCH QUERIES
@@ -46,17 +57,45 @@ The following modifiers can be used in queries as prefixes of tags:
46`-` 57`-`
47: Exclude all items having the associated tag, independently of simple tag restrictions and inclusions. 58: Exclude all items having the associated tag, independently of simple tag restrictions and inclusions.
48 59
49Autocompletion suggestions are shown as filters are being typed in the query field.