aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
authorpacien2020-09-25 16:01:49 +0200
committerpacien2020-09-25 16:01:49 +0200
commite93f7b1eb84c083d67567115284c0002a3a7d5fc (patch)
tree8d373e8f7f571485e1330928f43b090ed004c525 /viewer
parent8e3ac8fe44bebb38e1882ca7f06b8100078ad88d (diff)
parentfd542f75a1d94ee5f804d0925823276b97f38581 (diff)
downloadldgallery-e93f7b1eb84c083d67567115284c0002a3a7d5fc.tar.gz
Merge branch 'develop' for release v2.0v2.0
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)