diff options
author | Zero~Informatique | 2021-07-02 22:53:16 +0200 |
---|---|---|
committer | Zero~Informatique | 2021-07-03 00:05:22 +0200 |
commit | 9165cc1efcf7791f78b61b2c51a9de651b1b09aa (patch) | |
tree | 111cfdc74ddaf7b19ff27508f16ab84694b27670 /viewer/src/services/indexfactory.ts | |
parent | 08ac32103fb5f8cca1861267dfd07a7c0d2faf62 (diff) | |
download | ldgallery-9165cc1efcf7791f78b61b2c51a9de651b1b09aa.tar.gz |
viewer: types normalization - gallery.d.ts
GitHub: closes #301
Diffstat (limited to 'viewer/src/services/indexfactory.ts')
-rw-r--r-- | viewer/src/services/indexfactory.ts | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/viewer/src/services/indexfactory.ts b/viewer/src/services/indexfactory.ts index 4b28a60..0c5fdc5 100644 --- a/viewer/src/services/indexfactory.ts +++ b/viewer/src/services/indexfactory.ts | |||
@@ -17,19 +17,20 @@ | |||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | 17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | import { Operation } from "@/@types/Operation"; | 20 | import { Item, RawTag } from "@/@types/gallery"; |
21 | import { ItemType } from "@/@types/ItemType"; | 21 | import { ItemType } from "@/@types/ItemType"; |
22 | import { Operation } from "@/@types/Operation"; | ||
22 | import Navigation from "@/services/navigation"; | 23 | import Navigation from "@/services/navigation"; |
23 | 24 | ||
24 | export default class IndexFactory { | 25 | export default class IndexFactory { |
25 | public static generateTags(root: Gallery.Item | null): Tag.Index { | 26 | public static generateTags(root: Item | null): Tag.Index { |
26 | const tagsIndex: Tag.Index = {}; | 27 | const tagsIndex: Tag.Index = {}; |
27 | if (root) IndexFactory.pushTagsForItem(tagsIndex, root); | 28 | if (root) IndexFactory.pushTagsForItem(tagsIndex, root); |
28 | return tagsIndex; | 29 | return tagsIndex; |
29 | } | 30 | } |
30 | 31 | ||
31 | // Pushes all tags for a root item (and its children) to the index | 32 | // Pushes all tags for a root item (and its children) to the index |
32 | private static pushTagsForItem(tagsIndex: Tag.Index, item: Gallery.Item): void { | 33 | private static pushTagsForItem(tagsIndex: Tag.Index, item: Item): void { |
33 | if (item.properties.type === ItemType.DIRECTORY) { | 34 | if (item.properties.type === ItemType.DIRECTORY) { |
34 | item.properties.items.forEach(item => this.pushTagsForItem(tagsIndex, item)); | 35 | item.properties.items.forEach(item => this.pushTagsForItem(tagsIndex, item)); |
35 | return; // Directories are not indexed | 36 | return; // Directories are not indexed |
@@ -49,7 +50,7 @@ export default class IndexFactory { | |||
49 | } | 50 | } |
50 | } | 51 | } |
51 | 52 | ||
52 | private static pushPartToIndex(index: Tag.Node, part: string, item: Gallery.Item, rootPart: boolean): Tag.Node { | 53 | private static pushPartToIndex(index: Tag.Node, part: string, item: Item, rootPart: boolean): Tag.Node { |
53 | if (!index) | 54 | if (!index) |
54 | index = { | 55 | index = { |
55 | tag: part, | 56 | tag: part, |
@@ -131,7 +132,7 @@ export default class IndexFactory { | |||
131 | 132 | ||
132 | // --- | 133 | // --- |
133 | 134 | ||
134 | public static generateCategories(tagsIndex: Tag.Index, categoryTags?: Gallery.RawTag[]): Tag.Category[] { | 135 | public static generateCategories(tagsIndex: Tag.Index, categoryTags?: RawTag[]): Tag.Category[] { |
135 | if (!categoryTags?.length) return [{ tag: "", index: tagsIndex }]; | 136 | if (!categoryTags?.length) return [{ tag: "", index: tagsIndex }]; |
136 | 137 | ||
137 | const tagsCategories: Tag.Category[] = []; | 138 | const tagsCategories: Tag.Category[] = []; |
@@ -149,7 +150,7 @@ export default class IndexFactory { | |||
149 | return tagsCategories; | 150 | return tagsCategories; |
150 | } | 151 | } |
151 | 152 | ||
152 | private static isDiscriminantTagOnly(tags: Gallery.RawTag[], node: Tag.Node): boolean { | 153 | private static isDiscriminantTagOnly(tags: RawTag[], node: Tag.Node): boolean { |
153 | return !tags.includes(node.tag) || !node.childPart; | 154 | return !tags.includes(node.tag) || !node.childPart; |
154 | } | 155 | } |
155 | } | 156 | } |