Fix activity messages generation and display (#4469)

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
This commit is contained in:
Kristina
2024-01-29 18:54:21 +07:00
committed by GitHub
parent b78c4138a4
commit f94089b7dd
7 changed files with 75 additions and 50 deletions
@@ -26,16 +26,12 @@
export let viewlet: DocUpdateMessageViewlet | undefined
export let objectName: IntlString
export let collectionName: IntlString | undefined
export let objectClass: Ref<Class<Doc>>
export let collectionAttribute: Attribute<Collection<AttachedDoc>> | undefined = undefined
const client = getClient()
const hierarchy = client.getHierarchy()
const clazz = hierarchy.getClass(message.objectClass)
const objectPanel = hierarchy.classHierarchyMixin(objectClass, view.mixin.ObjectPanel)
const objectPresenter = hierarchy.classHierarchyMixin(objectClass, view.mixin.ObjectPresenter)
const isOwn = message.objectId === message.attachedTo
let valueMessages: DocUpdateMessage[] = []
@@ -71,8 +67,6 @@
{#each createMessages as valueMessage, index}
<DocUpdateMessageObjectValue
message={valueMessage}
{objectPresenter}
{objectPanel}
{viewlet}
withIcon={index === 0}
hasSeparator={createMessages.length > 1 && index !== createMessages.length - 1}
@@ -81,8 +75,6 @@
{#each removeMessages as valueMessage, index}
<DocUpdateMessageObjectValue
message={valueMessage}
{objectPresenter}
{objectPanel}
{viewlet}
withIcon={index === 0}
hasSeparator={removeMessages.length > 1 && index !== removeMessages.length - 1}
@@ -92,8 +84,6 @@
{#each valueMessages as valueMessage, index}
<DocUpdateMessageObjectValue
message={valueMessage}
{objectPresenter}
{objectPanel}
{viewlet}
hasSeparator={valueMessages.length > 1 && index !== valueMessages.length - 1}
/>
@@ -22,16 +22,18 @@
export let message: DisplayDocUpdateMessage
export let viewlet: DocUpdateMessageViewlet | undefined
export let objectPanel: ObjectPanel | undefined
export let objectPresenter: ObjectPresenter | undefined
export let withIcon: boolean = false
export let hasSeparator: boolean = false
const client = getClient()
const hierarchy = client.getHierarchy()
const objectQuery = createQuery()
let object: Doc | undefined = undefined
$: objectPanel = hierarchy.classHierarchyMixin(message.objectClass, view.mixin.ObjectPanel)
$: objectPresenter = hierarchy.classHierarchyMixin(message.objectClass, view.mixin.ObjectPresenter)
async function getValue (object: Doc): Promise<string | undefined> {
if (viewlet?.valueAttr) {
return (object as any)[viewlet.valueAttr]
@@ -83,7 +83,7 @@
.getModel()
.findAllSync(activity.class.DocUpdateMessageViewlet, { action: value.action, objectClass: value.objectClass })
$: void getAttributeModel(client, value.attributeUpdates, value.attachedToClass).then((model) => {
$: void getAttributeModel(client, value.attributeUpdates, value.objectClass).then((model) => {
attributeModel = model
})
@@ -197,14 +197,7 @@
</ShowMore>
{:else if value.action === 'create' || value.action === 'remove'}
<ShowMore>
<DocUpdateMessageContent
objectClass={value.objectClass}
message={value}
{viewlet}
{objectName}
{collectionName}
{collectionAttribute}
/>
<DocUpdateMessageContent message={value} {viewlet} {objectName} {collectionName} {collectionAttribute} />
</ShowMore>
{:else if value.attributeUpdates && attributeModel}
<DocUpdateMessageAttributes attributeUpdates={value.attributeUpdates} {attributeModel} {viewlet} />