diff --git a/plugins/chunter-resources/src/utils.ts b/plugins/chunter-resources/src/utils.ts index 7dcc4f2d29..634ed3448d 100644 --- a/plugins/chunter-resources/src/utils.ts +++ b/plugins/chunter-resources/src/utils.ts @@ -229,9 +229,8 @@ async function generateLocation (loc: Location, shortLink: string): Promise { - const targetClass = hierarchy.getClass(notifyInstance.attachedToClass) - const panelComponent = hierarchy.as(targetClass, view.mixin.ObjectPanel) - const component = panelComponent.component ?? view.component.EditDoc + const panelComponent = hierarchy.classHierarchyMixin(notifyInstance.attachedToClass, view.mixin.ObjectPanel) + const component = panelComponent?.component ?? view.component.EditDoc showPanel(component, notifyInstance.attachedTo, notifyInstance.attachedToClass, 'content') } } diff --git a/plugins/notification-resources/src/components/Inbox.svelte b/plugins/notification-resources/src/components/Inbox.svelte index 4d17a3e42d..3e13580b06 100644 --- a/plugins/notification-resources/src/components/Inbox.svelte +++ b/plugins/notification-resources/src/components/Inbox.svelte @@ -86,9 +86,8 @@ if (hierarchy.isDerived(value.attachedToClass, chunter.class.ChunterSpace)) { openDM(value.attachedTo) } else { - const targetClass = hierarchy.getClass(value.attachedToClass) - const panelComponent = hierarchy.as(targetClass, view.mixin.ObjectPanel) - component = panelComponent.component ?? view.component.EditDoc + const panelComponent = hierarchy.classHierarchyMixin(value.attachedToClass, view.mixin.ObjectPanel) + component = panelComponent?.component ?? view.component.EditDoc _id = value.attachedTo _class = value.attachedToClass } @@ -96,9 +95,11 @@ function openDM (value: Ref) { if (value) { - const targetClass = hierarchy.getClass(chunter.class.DirectMessage) - const panelComponent = hierarchy.as(targetClass, view.mixin.ObjectPanel) - component = panelComponent.component ?? view.component.EditDoc + const panelComponent = hierarchy.classHierarchyMixin( + chunter.class.DirectMessage as Ref>, + view.mixin.ObjectPanel + ) + component = panelComponent?.component ?? view.component.EditDoc _id = value _class = chunter.class.DirectMessage const loc = getLocation() diff --git a/plugins/recruit-resources/src/utils.ts b/plugins/recruit-resources/src/utils.ts index 37d132874b..4181bec67e 100644 --- a/plugins/recruit-resources/src/utils.ts +++ b/plugins/recruit-resources/src/utils.ts @@ -65,9 +65,8 @@ async function generateIdLocation (loc: Location, shortLink: string): Promise>, view.mixin.ObjectPanel) + const component = objectPanel?.component ?? view.component.EditDoc const special = _class === recruit.mixin.Candidate ? 'talents' : 'organizations' const defaultPath = [appComponent, workspace, recruitId, special] @@ -111,9 +110,8 @@ async function generateLocation (loc: Location, shortLink: string): Promise