aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
authorZero~Informatique2019-12-24 02:22:56 +0100
committerZero~Informatique2019-12-24 02:22:56 +0100
commit7c2576b0cfb0a15b2a14f6f5ea96de16f0c23b44 (patch)
tree1096617e6795916aa90e81ab50a7736f7d656943 /viewer
parent139e2b76d23b13d2b3bb70fb1d5c1ea9dc255513 (diff)
downloadldgallery-7c2576b0cfb0a15b2a14f6f5ea96de16f0c23b44.tar.gz
viewer: Plugin for Optional chaining and Coalesce. Implemented tag operations (intersection, addition, substraction). Unified Tag.Search
Diffstat (limited to 'viewer')
-rw-r--r--viewer/README.md2
-rw-r--r--viewer/babel.config.js4
-rw-r--r--viewer/package-lock.json76
-rw-r--r--viewer/package.json6
-rw-r--r--viewer/src/@types/tag/Operation.ts5
-rw-r--r--viewer/src/@types/tag/index.d.ts8
-rw-r--r--viewer/src/components/LdTagInput.vue48
-rw-r--r--viewer/src/components/index.ts2
-rw-r--r--viewer/src/plugins/fontawesome.ts14
-rw-r--r--viewer/src/store/galleryStore.ts2
-rw-r--r--viewer/src/store/uiStore.ts2
-rw-r--r--viewer/src/views/Gallery.vue46
12 files changed, 173 insertions, 42 deletions
diff --git a/viewer/README.md b/viewer/README.md
index 2da36b3..864dcc6 100644
--- a/viewer/README.md
+++ b/viewer/README.md
@@ -1,5 +1,7 @@
1# ldgallery-viewer 1# ldgallery-viewer
2 2
3If you get errors with optionals and coalesce, enable the Vetur global preference: useWorkspaceDependencies
4
3## Project setup 5## Project setup
4``` 6```
5npm install 7npm install
diff --git a/viewer/babel.config.js b/viewer/babel.config.js
index 162a3ea..7102a6e 100644
--- a/viewer/babel.config.js
+++ b/viewer/babel.config.js
@@ -1,3 +1,7 @@
1module.exports = { 1module.exports = {
2 presets: ["@vue/cli-plugin-babel/preset"], 2 presets: ["@vue/cli-plugin-babel/preset"],
3 plugins: [
4 '@babel/plugin-proposal-optional-chaining',
5 '@babel/plugin-proposal-nullish-coalescing-operator',
6 ],
3}; 7};
diff --git a/viewer/package-lock.json b/viewer/package-lock.json
index 8cf086a..10a0f26 100644
--- a/viewer/package-lock.json
+++ b/viewer/package-lock.json
@@ -343,6 +343,16 @@
343 "@babel/plugin-syntax-json-strings": "^7.7.4" 343 "@babel/plugin-syntax-json-strings": "^7.7.4"
344 } 344 }
345 }, 345 },
346 "@babel/plugin-proposal-nullish-coalescing-operator": {
347 "version": "7.7.4",
348 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz",
349 "integrity": "sha512-TbYHmr1Gl1UC7Vo2HVuj/Naci5BEGNZ0AJhzqD2Vpr6QPFWpUmBRLrIDjedzx7/CShq0bRDS2gI4FIs77VHLVQ==",
350 "dev": true,
351 "requires": {
352 "@babel/helper-plugin-utils": "^7.0.0",
353 "@babel/plugin-syntax-nullish-coalescing-operator": "^7.7.4"
354 }
355 },
346 "@babel/plugin-proposal-object-rest-spread": { 356 "@babel/plugin-proposal-object-rest-spread": {
347 "version": "7.7.7", 357 "version": "7.7.7",
348 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz", 358 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz",
@@ -363,6 +373,16 @@
363 "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" 373 "@babel/plugin-syntax-optional-catch-binding": "^7.7.4"
364 } 374 }
365 }, 375 },
376 "@babel/plugin-proposal-optional-chaining": {
377 "version": "7.7.5",
378 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.5.tgz",
379 "integrity": "sha512-sOwFqT8JSchtJeDD+CjmWCaiFoLxY4Ps7NjvwHC/U7l4e9i5pTRNt8nDMIFSOUL+ncFbYSwruHM8WknYItWdXw==",
380 "dev": true,
381 "requires": {
382 "@babel/helper-plugin-utils": "^7.0.0",
383 "@babel/plugin-syntax-optional-chaining": "^7.7.4"
384 }
385 },
366 "@babel/plugin-proposal-unicode-property-regex": { 386 "@babel/plugin-proposal-unicode-property-regex": {
367 "version": "7.7.7", 387 "version": "7.7.7",
368 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz", 388 "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz",
@@ -418,6 +438,15 @@
418 "@babel/helper-plugin-utils": "^7.0.0" 438 "@babel/helper-plugin-utils": "^7.0.0"
419 } 439 }
420 }, 440 },
441 "@babel/plugin-syntax-nullish-coalescing-operator": {
442 "version": "7.7.4",
443 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.7.4.tgz",
444 "integrity": "sha512-XKh/yIRPiQTOeBg0QJjEus5qiSKucKAiApNtO1psqG7D17xmE+X2i5ZqBEuSvo0HRuyPaKaSN/Gy+Ha9KFQolw==",
445 "dev": true,
446 "requires": {
447 "@babel/helper-plugin-utils": "^7.0.0"
448 }
449 },
421 "@babel/plugin-syntax-object-rest-spread": { 450 "@babel/plugin-syntax-object-rest-spread": {
422 "version": "7.7.4", 451 "version": "7.7.4",
423 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", 452 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz",
@@ -436,6 +465,15 @@
436 "@babel/helper-plugin-utils": "^7.0.0" 465 "@babel/helper-plugin-utils": "^7.0.0"
437 } 466 }
438 }, 467 },
468 "@babel/plugin-syntax-optional-chaining": {
469 "version": "7.7.4",
470 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.7.4.tgz",
471 "integrity": "sha512-2MqYD5WjZSbJdUagnJvIdSfkb/ucOC9/1fRJxm7GAxY6YQLWlUvkfxoNbUPcPLHJyetKUDQ4+yyuUyAoc0HriA==",
472 "dev": true,
473 "requires": {
474 "@babel/helper-plugin-utils": "^7.0.0"
475 }
476 },
439 "@babel/plugin-syntax-top-level-await": { 477 "@babel/plugin-syntax-top-level-await": {
440 "version": "7.7.4", 478 "version": "7.7.4",
441 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", 479 "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz",
@@ -1051,9 +1089,9 @@
1051 } 1089 }
1052 }, 1090 },
1053 "@types/json-schema": { 1091 "@types/json-schema": {
1054 "version": "7.0.3", 1092 "version": "7.0.4",
1055 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", 1093 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
1056 "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", 1094 "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
1057 "dev": true 1095 "dev": true
1058 }, 1096 },
1059 "@types/minimatch": { 1097 "@types/minimatch": {
@@ -1157,12 +1195,12 @@
1157 } 1195 }
1158 }, 1196 },
1159 "@typescript-eslint/eslint-plugin": { 1197 "@typescript-eslint/eslint-plugin": {
1160 "version": "2.12.0", 1198 "version": "2.13.0",
1161 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.12.0.tgz", 1199 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.13.0.tgz",
1162 "integrity": "sha512-1t4r9rpLuEwl3hgt90jY18wJHSyb0E3orVL3DaqwmpiSDHmHiSspVsvsFF78BJ/3NNG3qmeso836jpuBWYziAA==", 1200 "integrity": "sha512-QoiANo0MMGNa8ej/yX3BrW5dZj5d8HYcKiM2fyYUlezECqn8Xc7T/e4EUdiGinn8jhBrn+9X47E9TWaaup3u1g==",
1163 "dev": true, 1201 "dev": true,
1164 "requires": { 1202 "requires": {
1165 "@typescript-eslint/experimental-utils": "2.12.0", 1203 "@typescript-eslint/experimental-utils": "2.13.0",
1166 "eslint-utils": "^1.4.3", 1204 "eslint-utils": "^1.4.3",
1167 "functional-red-black-tree": "^1.0.1", 1205 "functional-red-black-tree": "^1.0.1",
1168 "regexpp": "^3.0.0", 1206 "regexpp": "^3.0.0",
@@ -1181,13 +1219,13 @@
1181 } 1219 }
1182 }, 1220 },
1183 "@typescript-eslint/experimental-utils": { 1221 "@typescript-eslint/experimental-utils": {
1184 "version": "2.12.0", 1222 "version": "2.13.0",
1185 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.12.0.tgz", 1223 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.13.0.tgz",
1186 "integrity": "sha512-jv4gYpw5N5BrWF3ntROvCuLe1IjRenLy5+U57J24NbPGwZFAjhnM45qpq0nDH1y/AZMb3Br25YiNVwyPbz6RkA==", 1224 "integrity": "sha512-+Hss3clwa6aNiC8ZjA45wEm4FutDV5HsVXPl/rDug1THq6gEtOYRGLqS3JlTk7mSnL5TbJz0LpEbzbPnKvY6sw==",
1187 "dev": true, 1225 "dev": true,
1188 "requires": { 1226 "requires": {
1189 "@types/json-schema": "^7.0.3", 1227 "@types/json-schema": "^7.0.3",
1190 "@typescript-eslint/typescript-estree": "2.12.0", 1228 "@typescript-eslint/typescript-estree": "2.13.0",
1191 "eslint-scope": "^5.0.0" 1229 "eslint-scope": "^5.0.0"
1192 }, 1230 },
1193 "dependencies": { 1231 "dependencies": {
@@ -1204,21 +1242,21 @@
1204 } 1242 }
1205 }, 1243 },
1206 "@typescript-eslint/parser": { 1244 "@typescript-eslint/parser": {
1207 "version": "2.12.0", 1245 "version": "2.13.0",
1208 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.12.0.tgz", 1246 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.13.0.tgz",
1209 "integrity": "sha512-lPdkwpdzxEfjI8TyTzZqPatkrswLSVu4bqUgnB03fHSOwpC7KSerPgJRgIAf11UGNf7HKjJV6oaPZI4AghLU6g==", 1247 "integrity": "sha512-vbDeLr5QRJ1K7x5iRK8J9wuGwR9OVyd1zDAY9XFAQvAosHVjSVbDgkm328ayE6hx2QWVGhwvGaEhedcqAbfQcA==",
1210 "dev": true, 1248 "dev": true,
1211 "requires": { 1249 "requires": {
1212 "@types/eslint-visitor-keys": "^1.0.0", 1250 "@types/eslint-visitor-keys": "^1.0.0",
1213 "@typescript-eslint/experimental-utils": "2.12.0", 1251 "@typescript-eslint/experimental-utils": "2.13.0",
1214 "@typescript-eslint/typescript-estree": "2.12.0", 1252 "@typescript-eslint/typescript-estree": "2.13.0",
1215 "eslint-visitor-keys": "^1.1.0" 1253 "eslint-visitor-keys": "^1.1.0"
1216 } 1254 }
1217 }, 1255 },
1218 "@typescript-eslint/typescript-estree": { 1256 "@typescript-eslint/typescript-estree": {
1219 "version": "2.12.0", 1257 "version": "2.13.0",
1220 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.12.0.tgz", 1258 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.13.0.tgz",
1221 "integrity": "sha512-rGehVfjHEn8Frh9UW02ZZIfJs6SIIxIu/K1bbci8rFfDE/1lQ8krIJy5OXOV3DVnNdDPtoiPOdEANkLMrwXbiQ==", 1259 "integrity": "sha512-t21Mg5cc8T3ADEUGwDisHLIubgXKjuNRbkpzDMLb7/JMmgCe/gHM9FaaujokLey+gwTuLF5ndSQ7/EfQqrQx4g==",
1222 "dev": true, 1260 "dev": true,
1223 "requires": { 1261 "requires": {
1224 "debug": "^4.1.1", 1262 "debug": "^4.1.1",
diff --git a/viewer/package.json b/viewer/package.json
index dda1eb4..52ef0d0 100644
--- a/viewer/package.json
+++ b/viewer/package.json
@@ -23,9 +23,11 @@
23 "vuex-class-component": "^2.2.1" 23 "vuex-class-component": "^2.2.1"
24 }, 24 },
25 "devDependencies": { 25 "devDependencies": {
26 "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4",
27 "@babel/plugin-proposal-optional-chaining": "^7.7.5",
26 "@types/webpack": "^4.4.0",