From 16b72300a9de17ff2559cd7dd91c2a6769c2726a Mon Sep 17 00:00:00 2001 From: KoloMl Date: Mon, 10 Mar 2025 03:24:23 +0400 Subject: [PATCH] Added option to separate the specific group of choice in tags --- src/lib/extension/entities/TagGroup.ts | 4 +++- src/lib/extension/transporting/exporters.ts | 1 + src/routes/features/groups/[id]/edit/+page.svelte | 13 +++++++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/lib/extension/entities/TagGroup.ts b/src/lib/extension/entities/TagGroup.ts index fc39897..c95b751 100644 --- a/src/lib/extension/entities/TagGroup.ts +++ b/src/lib/extension/entities/TagGroup.ts @@ -6,6 +6,7 @@ export interface TagGroupSettings { prefixes: string[]; suffixes: string[]; category: string; + separate: boolean; } export default class TagGroup extends StorageEntity { @@ -15,7 +16,8 @@ export default class TagGroup extends StorageEntity { tags: settings.tags || [], prefixes: settings.prefixes || [], suffixes: settings.suffixes || [], - category: settings.category || '' + category: settings.category || '', + separate: Boolean(settings.separate), }); } diff --git a/src/lib/extension/transporting/exporters.ts b/src/lib/extension/transporting/exporters.ts index ff99e98..8477617 100644 --- a/src/lib/extension/transporting/exporters.ts +++ b/src/lib/extension/transporting/exporters.ts @@ -22,6 +22,7 @@ const entitiesExporters: ExportersMap = { prefixes: entity.settings.prefixes, suffixes: entity.settings.suffixes, category: entity.settings.category, + separate: entity.settings.separate, } } }; diff --git a/src/routes/features/groups/[id]/edit/+page.svelte b/src/routes/features/groups/[id]/edit/+page.svelte index 8d68f71..55adba3 100644 --- a/src/routes/features/groups/[id]/edit/+page.svelte +++ b/src/routes/features/groups/[id]/edit/+page.svelte @@ -11,6 +11,7 @@ import TagsEditor from "$components/tags/TagsEditor.svelte"; import TagGroup from "$entities/TagGroup"; import { tagGroups } from "$stores/entities/tag-groups"; + import CheckboxField from "$components/ui/forms/CheckboxField.svelte"; let groupId = $derived(page.params.id); @@ -26,7 +27,8 @@ let tagsList = $state([]); let prefixesList = $state([]); let suffixesList = $state([]); - let tagCategory = $state(''); + let tagCategory = $state('') + let separateGroup = $state(false); $effect(() => { if (groupId === 'new') { @@ -43,6 +45,7 @@ prefixesList = [...targetGroup.settings.prefixes].sort((a, b) => a.localeCompare(b)); suffixesList = [...targetGroup.settings.suffixes].sort((a, b) => a.localeCompare(b)); tagCategory = targetGroup.settings.category; + separateGroup = targetGroup.settings.separate; }); async function saveGroup() { @@ -56,6 +59,7 @@ targetGroup.settings.prefixes = [...prefixesList]; targetGroup.settings.suffixes = [...suffixesList]; targetGroup.settings.category = tagCategory; + targetGroup.settings.separate = separateGroup; await targetGroup.save(); await goto(`/features/groups/${targetGroup.id}`); @@ -71,13 +75,18 @@ - Back + Back
+ + + Display tags found by this group in separate list after all other tags. + +