From 7c2576b0cfb0a15b2a14f6f5ea96de16f0c23b44 Mon Sep 17 00:00:00 2001 From: Zero~Informatique Date: Tue, 24 Dec 2019 02:22:56 +0100 Subject: viewer: Plugin for Optional chaining and Coalesce. Implemented tag operations (intersection, addition, substraction). Unified Tag.Search --- viewer/src/@types/tag/Operation.ts | 5 ++++ viewer/src/@types/tag/index.d.ts | 8 +++--- viewer/src/components/LdTagInput.vue | 48 ++++++++++++++++++++++++++++++------ viewer/src/components/index.ts | 2 +- viewer/src/plugins/fontawesome.ts | 14 +++++++++-- viewer/src/store/galleryStore.ts | 2 +- viewer/src/store/uiStore.ts | 2 +- viewer/src/views/Gallery.vue | 46 ++++++++++++++++++++++++++++++---- 8 files changed, 106 insertions(+), 21 deletions(-) create mode 100644 viewer/src/@types/tag/Operation.ts (limited to 'viewer/src') diff --git a/viewer/src/@types/tag/Operation.ts b/viewer/src/@types/tag/Operation.ts new file mode 100644 index 0000000..a0de92b --- /dev/null +++ b/viewer/src/@types/tag/Operation.ts @@ -0,0 +1,5 @@ +export enum Operation { + INTERSECTION = '', + ADDITION = '+', + SUBSTRACTION = '-', +}; \ No newline at end of file diff --git a/viewer/src/@types/tag/index.d.ts b/viewer/src/@types/tag/index.d.ts index 30bbebb..6a0c605 100644 --- a/viewer/src/@types/tag/index.d.ts +++ b/viewer/src/@types/tag/index.d.ts @@ -4,9 +4,11 @@ declare namespace Tag { items: Gallery.Item[]; children: Index; } - interface NodeWithParent extends Node { - parent: Node; + interface Search extends Node { + parent?: Node; + operation: string; // Enum Operation + display: string; } - type Search = Node | NodeWithParent; + type SearchByOperation = { [index: string]: Tag.Search[] }; type Index = { [index: string]: Node }; } \ No newline at end of file diff --git a/viewer/src/components/LdTagInput.vue b/viewer/src/components/LdTagInput.vue index 4121cd7..daca62d 100644 --- a/viewer/src/components/LdTagInput.vue +++ b/viewer/src/components/LdTagInput.vue @@ -6,11 +6,14 @@ ellipsis attached :data="filteredTags" - field="tag" + field="display" type="is-black" icon="tag" + size="is-medium" class="panelTagInput" @typing="searchTags" + @add="onAdd" + @remove="onRemove" > @@ -19,41 +22,70 @@ -- cgit v1.2.3