aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
Diffstat (limited to 'viewer')
-rw-r--r--viewer/.env6
-rw-r--r--viewer/.env.development3
-rw-r--r--viewer/.eslintrc.js38
-rw-r--r--viewer/.gitignore2
-rw-r--r--viewer/.vscode/launch.json19
-rw-r--r--viewer/.vscode/tasks.json39
-rw-r--r--viewer/babel.config.js2
-rw-r--r--viewer/examples/config.json.example3
-rw-r--r--viewer/examples/defaulticon.pngbin0 -> 3363 bytes
-rw-r--r--viewer/examples/manifest.json.example13
-rw-r--r--viewer/ldgallery-viewer.7.md83
-rw-r--r--viewer/package-lock.json3820
-rw-r--r--viewer/package.json70
-rw-r--r--viewer/public/favicon.icobin4286 -> 0 bytes
-rw-r--r--viewer/public/index.html8
-rw-r--r--viewer/readme.md4
-rw-r--r--viewer/src/@types/Operation.ts (renamed from viewer/src/@types/tag/Operation.ts)8
-rw-r--r--viewer/src/@types/gallery.d.ts74
-rw-r--r--viewer/src/@types/scrollposition.d.ts (renamed from viewer/src/@types/tag/index.d.ts)15
-rw-r--r--viewer/src/@types/tag.d.ts41
-rw-r--r--viewer/src/@types/v-lazy-image.d.ts20
-rw-r--r--viewer/src/@types/vue-dragscroll.d.ts20
-rw-r--r--viewer/src/assets/defaulticon.svg63
-rw-r--r--viewer/src/assets/scss/buefy.scss9
-rw-r--r--viewer/src/assets/scss/global.scss67
-rw-r--r--viewer/src/assets/scss/palette.scss31
-rw-r--r--viewer/src/assets/scss/theme.scss65
-rw-r--r--viewer/src/components/LdBreadcrumb.vue127
-rw-r--r--viewer/src/components/LdCommand.vue96
-rw-r--r--viewer/src/components/LdCommandSearch.vue (renamed from viewer/src/components/LdModeRadio.vue)35
-rw-r--r--viewer/src/components/LdGallery.vue (renamed from viewer/src/components/LdButtonFullscreen.vue)41
-rw-r--r--viewer/src/components/LdKeyPress.vue (renamed from viewer/src/views/GalleryThumbnail.vue)45
-rw-r--r--viewer/src/components/LdPicture.vue121
-rw-r--r--viewer/src/components/LdProposition.vue114
-rw-r--r--viewer/src/components/LdTagInput.vue94
-rw-r--r--viewer/src/components/LdThumbnail.vue90
-rw-r--r--viewer/src/components/LdTitle.vue (renamed from viewer/src/views/GalleryPicture.vue)34
-rw-r--r--viewer/src/components/index.ts32
-rw-r--r--viewer/src/locales/en.json24
-rw-r--r--viewer/src/main.ts18
-rw-r--r--viewer/src/plugins/buefy.ts24
-rw-r--r--viewer/src/plugins/dragscroll.ts23
-rw-r--r--viewer/src/plugins/fontawesome.ts43
-rw-r--r--viewer/src/plugins/lazyimage.ts23
-rw-r--r--viewer/src/plugins/router.ts (renamed from viewer/src/router/index.ts)17
-rw-r--r--viewer/src/services/dragscrollclickfix.ts (renamed from viewer/src/@types/gallery/index.d.ts)55
-rw-r--r--viewer/src/services/indexfactory.ts143
-rw-r--r--viewer/src/services/indexsearch.ts69
-rw-r--r--viewer/src/services/ldzoom.ts134
-rw-r--r--viewer/src/services/navigation.ts80
-rw-r--r--viewer/src/shims-tsx.d.ts4
-rw-r--r--viewer/src/store/galleryStore.ts180
-rw-r--r--viewer/src/store/index.ts13
-rw-r--r--viewer/src/store/uiStore.ts40
-rw-r--r--viewer/src/views/Gallery.vue104
-rw-r--r--viewer/src/views/GalleryDirectory.vue24
-rw-r--r--viewer/src/views/GalleryNavigation.vue62
-rw-r--r--viewer/src/views/GallerySearch.vue42
-rw-r--r--viewer/src/views/MainLayout.vue71
-rw-r--r--viewer/src/views/PanelLeft.vue78
-rw-r--r--viewer/src/views/PanelTop.vue64
-rw-r--r--viewer/tsconfig.json8
-rw-r--r--viewer/visualstudio.code-workspace40
-rw-r--r--viewer/vue.config.js18
-rw-r--r--viewer/win_start_vueui.cmd32
65 files changed, 4656 insertions, 2129 deletions
diff --git a/viewer/.env b/viewer/.env
index 59b220a..99efa3d 100644
--- a/viewer/.env
+++ b/viewer/.env
@@ -1,4 +1,6 @@
1# Override with .env.development.local and .env.production.local
2
1VUE_APP_I18N_LOCALE=en 3VUE_APP_I18N_LOCALE=en
2VUE_APP_I18N_FALLBACK_LOCALE=en 4VUE_APP_I18N_FALLBACK_LOCALE=en
3VUE_APP_DATA_URL=/gallery/ 5VUE_APP_DATA_URL=./
4VUE_APP_EXAMPLE_PROJECT=../example/out/ 6VUE_APP_FULLWIDTH_LIMIT=1216
diff --git a/viewer/.env.development b/viewer/.env.development
new file mode 100644
index 0000000..0d87cf4
--- /dev/null
+++ b/viewer/.env.development
@@ -0,0 +1,3 @@
1VUE_APP_DEVSERVER_PORT=8085
2VUE_APP_DEVSERVER_CONFIG_PATH=../example/
3VUE_APP_DATA_URL=~/
diff --git a/viewer/.eslintrc.js b/viewer/.eslintrc.js
index 996c4f3..a67de5e 100644
--- a/viewer/.eslintrc.js
+++ b/viewer/.eslintrc.js
@@ -5,30 +5,36 @@ module.exports = {
5 node: true, 5 node: true,
6 }, 6 },
7 7
8 'extends': [ 8 extends: [
9 'plugin:vue/essential', 9 "plugin:vue/essential",
10 '@vue/typescript' 10 "@vue/typescript"
11 ], 11 ],
12 12
13 rules: { 13 rules: {
14 "no-console": "off", 14 "no-console": "off",
15 "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", 15 "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
16 'vue/attribute-hyphenation': 'warn', 16 "eol-last": ["warn", "always"],
17 'vue/html-closing-bracket-spacing': 'warn', 17 "object-curly-spacing": ["warn", "always"],
18 'vue/html-end-tags': 'error', 18 "quote-props": ["warn", "as-needed"],
19 'vue/html-quotes': 'warn', 19 indent: ["warn", 2, { SwitchCase: 1 }],
20 'vue/html-self-closing': 'off', 20 quotes: ["warn", "double"],
21 'vue/no-multi-spaces': 'warn', 21 "vue/attribute-hyphenation": "warn",
22 'vue/no-spaces-around-equal-signs-in-attribute': 'warn', 22 "vue/html-closing-bracket-spacing": "warn",
23 'vue/no-template-shadow': 'error', 23 "vue/html-end-tags": "error",
24 'vue/v-bind-style': 'warn', 24 "vue/html-quotes": "warn",
25 'vue/v-on-style': 'warn', 25 "vue/html-self-closing": "off",
26 'vue/attributes-order': 'warn', 26 "vue/no-multi-spaces": "warn",
27 'vue/this-in-template': 'warn' 27 "vue/no-spaces-around-equal-signs-in-attribute": "warn",
28 "vue/no-template-shadow": "error",
29 "vue/v-bind-style": "warn",
30 "vue/v-on-style": "warn",
31 "vue/attributes-order": "warn",
32 "vue/this-in-template": "warn",
28 }, 33 },
29 34
30 parserOptions: { 35 parserOptions: {
31 parser: '@typescript-eslint/parser', 36 sourceType: "module",
37 parser: "@typescript-eslint/parser",
32 }, 38 },
33 39
34}; 40};
diff --git a/viewer/.gitignore b/viewer/.gitignore
index 12a8306..f1ab425 100644
--- a/viewer/.gitignore
+++ b/viewer/.gitignore
@@ -13,7 +13,7 @@ yarn-error.log*
13 13
14# Editor directories and files 14# Editor directories and files
15.idea 15.idea
16.vscode 16.vscode/settings.json
17*.suo 17*.suo
18*.ntvs* 18*.ntvs*
19*.njsproj 19*.njsproj
diff --git a/viewer/.vscode/launch.json b/viewer/.vscode/launch.json
new file mode 100644
index 0000000..d7995e5
--- /dev/null
+++ b/viewer/.vscode/launch.json
@@ -0,0 +1,19 @@
1{
2 // Use IntelliSense to learn about possible attributes.
3 // Hover to view descriptions of existing attributes.
4 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0",
6 "configurations": [
7 {
8 "type": "chrome",
9 "request": "launch",
10 "name": "vuejs: chrome",
11 "url": "http://127.0.0.1:8085",
12 "webRoot": "${workspaceFolder}/src",
13 "breakOnLoad": true,
14 "sourceMapPathOverrides": {
15 "webpack:///./src/*": "${webRoot}/*"
16 }
17 }
18 ]
19} \ No newline at end of file
diff --git a/viewer/.vscode/tasks.json b/viewer/.vscode/tasks.json
new file mode 100644
index 0000000..102002d
--- /dev/null
+++ b/viewer/.vscode/tasks.json
@@ -0,0 +1,39 @@
1{
2 // See https://go.microsoft.com/fwlink/?LinkId=733558
3 // for the documentation about the tasks.json format
4 "version": "2.0.0",
5 "tasks": [
6 {
7 "type": "npm",
8 "script": "build",
9 "group": {
10 "kind": "build",
11 "isDefault": true
12 },
13 "problemMatcher": [
14 "$tsc"
15 ]
16 },
17 {
18 "type": "npm",
19 "script": "serve",
20 "problemMatcher": [
21 "$tsc"
22 ]
23 },
24 {
25 "type": "npm",
26 "script": "lint-autoformat",
27 "problemMatcher": [
28 "$tsc"
29 ]
30 },
31 {
32 "type": "npm",