mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-26 03:25:01 +02:00
Fix activity messages generation and display (#4469)
Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
This commit is contained in:
-10
@@ -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}
|
||||
/>
|
||||
|
||||
+4
-2
@@ -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]
|
||||
|
||||
+2
-9
@@ -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} />
|
||||
|
||||
Reference in New Issue
Block a user