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}