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