From 78d69ed27280c2124f3c7c6cabf1da58170ba009 Mon Sep 17 00:00:00 2001 From: Victor Ilyushchenko Date: Thu, 30 Jan 2025 12:29:01 +0300 Subject: [PATCH] EZQMS-1268: Doc ID changes editable phases (#7834) * EZQMS-1268: Doc ID changes editable phases Signed-off-by: Victor Ilyushchenko * fixed edit condition & added category edit handler Signed-off-by: Victor Ilyushchenko * fixed import Signed-off-by: Victor Ilyushchenko --------- Signed-off-by: Victor Ilyushchenko --- .../popups/ChangeCategoryPopup.svelte | 48 +++++++++++++++++++ .../presenters/CategoryPresenter.svelte | 22 ++++++++- .../right-panel/DocumentInfoTab.svelte | 31 +++++++++--- 3 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 plugins/controlled-documents-resources/src/components/document/popups/ChangeCategoryPopup.svelte diff --git a/plugins/controlled-documents-resources/src/components/document/popups/ChangeCategoryPopup.svelte b/plugins/controlled-documents-resources/src/components/document/popups/ChangeCategoryPopup.svelte new file mode 100644 index 0000000000..f8037f9467 --- /dev/null +++ b/plugins/controlled-documents-resources/src/components/document/popups/ChangeCategoryPopup.svelte @@ -0,0 +1,48 @@ + + + + +{#if object} + ({ id: cat._id, label: cat.title }))} + selected={object.category} + on:close={(e) => handleSubmit(e.detail)} + /> +{/if} diff --git a/plugins/controlled-documents-resources/src/components/document/presenters/CategoryPresenter.svelte b/plugins/controlled-documents-resources/src/components/document/presenters/CategoryPresenter.svelte index d5888a2512..920f17d156 100644 --- a/plugins/controlled-documents-resources/src/components/document/presenters/CategoryPresenter.svelte +++ b/plugins/controlled-documents-resources/src/components/document/presenters/CategoryPresenter.svelte @@ -5,21 +5,41 @@ import { getClient } from '@hcengineering/presentation' import { Label } from '@hcengineering/ui' import view from '@hcengineering/view' + import { createEventDispatcher } from 'svelte' export let value: Ref | undefined + export let editable: boolean = false let category: DocumentCategory | undefined = undefined const client = getClient() + const dispatch = createEventDispatcher() + $: if (value) { client.findOne(documents.class.DocumentCategory, { _id: value }).then((result) => { category = result }) } + + function handleClick (event: MouseEvent): void { + if (!editable) { + return + } + + dispatch('edit', event) + } {#if category} - {category.title} + + {category.title} + {:else}