From 753b8f4efbd42774c556098e395134b19b985c04 Mon Sep 17 00:00:00 2001 From: Alexander Onnikov Date: Tue, 11 Feb 2025 17:05:13 +0700 Subject: [PATCH] UBERF-9461 Add personId array presenter (#7979) Signed-off-by: Alexander Onnikov --- models/view/src/index.ts | 3 +- models/view/src/plugin.ts | 1 + .../src/components/UserBoxList.svelte | 2 +- .../src/components/Spaces.svelte | 2 +- .../src/components/PersonArrayEditor.svelte | 39 +++++++++++++++++++ .../src/components/Table.svelte | 1 + plugins/view-resources/src/index.ts | 2 + 7 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 plugins/view-resources/src/components/PersonArrayEditor.svelte diff --git a/models/view/src/index.ts b/models/view/src/index.ts index 762d608c05..05f7c0b8e0 100644 --- a/models/view/src/index.ts +++ b/models/view/src/index.ts @@ -1226,7 +1226,8 @@ export function createModel (builder: Builder): void { }) builder.mixin(core.class.TypePersonId, core.class.Class, view.mixin.AttributePresenter, { - presenter: view.component.PersonIdPresenter + presenter: view.component.PersonIdPresenter, + arrayPresenter: view.component.PersonArrayEditor }) builder.mixin(core.class.TypePersonId, core.class.Class, view.mixin.AttributeFilterPresenter, { diff --git a/models/view/src/plugin.ts b/models/view/src/plugin.ts index 9d0ffea67b..bb74266cec 100644 --- a/models/view/src/plugin.ts +++ b/models/view/src/plugin.ts @@ -89,6 +89,7 @@ export default mergeIds(viewId, view, { EnumPresenter: '' as AnyComponent, StatusPresenter: '' as AnyComponent, StatusRefPresenter: '' as AnyComponent, + PersonArrayEditor: '' as AnyComponent, PersonIdFilterValuePresenter: '' as AnyComponent, DateFilterPresenter: '' as AnyComponent, StringFilterPresenter: '' as AnyComponent, diff --git a/plugins/contact-resources/src/components/UserBoxList.svelte b/plugins/contact-resources/src/components/UserBoxList.svelte index 47680ca3fd..91fcb0fa9b 100644 --- a/plugins/contact-resources/src/components/UserBoxList.svelte +++ b/plugins/contact-resources/src/components/UserBoxList.svelte @@ -37,7 +37,7 @@ export let justify: 'left' | 'center' = 'center' export let width: string | undefined = undefined export let labelDirection: TooltipAlignment | undefined = undefined - export let emptyLabel: IntlString = plugin.string.Members + export let emptyLabel: IntlString = label ?? plugin.string.Members export let readonly: boolean = false export let create: ObjectCreate | undefined = undefined diff --git a/plugins/setting-resources/src/components/Spaces.svelte b/plugins/setting-resources/src/components/Spaces.svelte index 2062976eca..b63526211b 100644 --- a/plugins/setting-resources/src/components/Spaces.svelte +++ b/plugins/setting-resources/src/components/Spaces.svelte @@ -88,7 +88,7 @@ { handleRoleAssignmentChanged(role._id, refs) }} diff --git a/plugins/view-resources/src/components/PersonArrayEditor.svelte b/plugins/view-resources/src/components/PersonArrayEditor.svelte new file mode 100644 index 0000000000..445fd25111 --- /dev/null +++ b/plugins/view-resources/src/components/PersonArrayEditor.svelte @@ -0,0 +1,39 @@ + + + + diff --git a/plugins/view-resources/src/components/Table.svelte b/plugins/view-resources/src/components/Table.svelte index c14b642445..8499cde9b3 100644 --- a/plugins/view-resources/src/components/Table.svelte +++ b/plugins/view-resources/src/components/Table.svelte @@ -452,6 +452,7 @@ this={attribute.presenter} value={getValue(attribute, object)} onChange={getOnChange(object, attribute)} + label={attribute.label} {...joinProps(attribute, object, readonly || $restrictionStore.readonly)} /> diff --git a/plugins/view-resources/src/index.ts b/plugins/view-resources/src/index.ts index 4dbdf60264..f54471f298 100644 --- a/plugins/view-resources/src/index.ts +++ b/plugins/view-resources/src/index.ts @@ -96,6 +96,7 @@ import TreeItem from './components/navigator/TreeItem.svelte' import TreeNode from './components/navigator/TreeNode.svelte' import StatusPresenter from './components/status/StatusPresenter.svelte' import StatusRefPresenter from './components/status/StatusRefPresenter.svelte' +import PersonArrayEditor from './components/PersonArrayEditor.svelte' import PersonIdPresenter from './components/PersonIdPresenter.svelte' import PersonIdFilterValuePresenter from './components/filter/PersonIdFilterValuePresenter.svelte' import AudioViewer from './components/viewer/AudioViewer.svelte' @@ -299,6 +300,7 @@ export default async (): Promise => ({ FileSizePresenter, StatusPresenter, StatusRefPresenter, + PersonArrayEditor, PersonIdPresenter, PersonIdFilterValuePresenter, DateFilterPresenter,