diff options
author | Zero~Informatique | 2019-12-24 02:22:56 +0100 |
---|---|---|
committer | Zero~Informatique | 2019-12-24 02:22:56 +0100 |
commit | 7c2576b0cfb0a15b2a14f6f5ea96de16f0c23b44 (patch) | |
tree | 1096617e6795916aa90e81ab50a7736f7d656943 | |
parent | 139e2b76d23b13d2b3bb70fb1d5c1ea9dc255513 (diff) | |
download | ldgallery-7c2576b0cfb0a15b2a14f6f5ea96de16f0c23b44.tar.gz |
viewer: Plugin for Optional chaining and Coalesce. Implemented tag operations (intersection, addition, substraction). Unified Tag.Search
-rw-r--r-- | viewer/README.md | 2 | ||||
-rw-r--r-- | viewer/babel.config.js | 4 | ||||
-rw-r--r-- | viewer/package-lock.json | 76 | ||||
-rw-r--r-- | viewer/package.json | 6 | ||||
-rw-r--r-- | viewer/src/@types/tag/Operation.ts | 5 | ||||
-rw-r--r-- | viewer/src/@types/tag/index.d.ts | 8 | ||||
-rw-r--r-- | viewer/src/components/LdTagInput.vue | 48 | ||||
-rw-r--r-- | viewer/src/components/index.ts | 2 | ||||
-rw-r--r-- | viewer/src/plugins/fontawesome.ts | 14 | ||||
-rw-r--r-- | viewer/src/store/galleryStore.ts | 2 | ||||
-rw-r--r-- | viewer/src/store/uiStore.ts | 2 | ||||
-rw-r--r-- | viewer/src/views/Gallery.vue | 46 |
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 | ||
3 | If you get errors with optionals and coalesce, enable the Vetur global preference: useWorkspaceDependencies | ||
4 | |||
3 | ## Project setup | 5 | ## Project setup |
4 | ``` | 6 | ``` |
5 | npm install | 7 | npm 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 @@ | |||
1 | module.exports = { | 1 | module.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", | 28 | "@types/webpack": "^4.4.0", |
27 | "@typescript-eslint/eslint-plugin": "^2.12.0", | 29 | "@typescript-eslint/eslint-plugin": "^2.13.0", |
28 | "@typescript-eslin |