From 27ef52a9c9224bd3d8e5613fb8dceb305fc7511b Mon Sep 17 00:00:00 2001 From: Anna No <anna.no@xored.com> Date: Thu, 2 Jun 2022 14:59:59 +0700 Subject: [PATCH] Add Contact info presenter (#1985) * Add Contact info presenter Signed-off-by: Anna No <anna.no@xored.com> * Update error message Signed-off-by: Anna No <anna.no@xored.com> * Add Contact info presenter Signed-off-by: Anna No <anna.no@xored.com> * fix formatting Signed-off-by: Anna No <anna.no@xored.com> --- models/contact/src/index.ts | 4 ++++ plugins/view-resources/src/utils.ts | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/models/contact/src/index.ts b/models/contact/src/index.ts index d787a45bcb..1497924f80 100644 --- a/models/contact/src/index.ts +++ b/models/contact/src/index.ts @@ -201,6 +201,10 @@ export function createModel (builder: Builder): void { editor: contact.component.PersonEditor }) + builder.mixin(contact.class.Channel, core.class.Class, view.mixin.AttributePresenter, { + presenter: contact.component.ChannelsPresenter + }) + builder.mixin(contact.class.Channel, core.class.Class, view.mixin.CollectionPresenter, { presenter: contact.component.ChannelsPresenter }) diff --git a/plugins/view-resources/src/utils.ts b/plugins/view-resources/src/utils.ts index 8af29d96d8..cc8d2abc71 100644 --- a/plugins/view-resources/src/utils.ts +++ b/plugins/view-resources/src/utils.ts @@ -61,7 +61,9 @@ export async function getObjectPresenter ( mixinClazz = hierarchy.getClass(mixinClazz.extends) } if (presenterMixin.presenter === undefined) { - throw new Error('object presenter not found for ' + JSON.stringify(preserveKey)) + throw new Error( + `object presenter not found for class=${_class}, mixin=${mixin}, preserve key ${JSON.stringify(preserveKey)}` + ) } const presenter = await getResource(presenterMixin.presenter) const key = preserveKey.sortingKey ?? preserveKey.key