From 7b4db2e94d32993bf4b9cd0cf42df9a4210c105e Mon Sep 17 00:00:00 2001 From: Alexander Onnikov Date: Wed, 27 Mar 2024 17:28:43 +0700 Subject: [PATCH] UBERF-6189 Fix document inbox issues (#5072) Signed-off-by: Alexander Onnikov --- models/document/src/index.ts | 6 ++++++ plugins/document-resources/src/index.ts | 5 +++-- plugins/document-resources/src/plugin.ts | 3 ++- plugins/document-resources/src/utils.ts | 6 ++++++ .../src/components/DocNotifyContextCard.svelte | 6 +++++- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/models/document/src/index.ts b/models/document/src/index.ts index 2f9b9b959f..d92fce5cf8 100644 --- a/models/document/src/index.ts +++ b/models/document/src/index.ts @@ -383,6 +383,12 @@ function defineDocument (builder: Builder): void { ['attachments', 'children', 'comments'] ) + // Activity & Inbox + + builder.mixin(document.class.Document, core.class.Class, view.mixin.ObjectTitle, { + titleProvider: document.function.DocumentTitleProvider + }) + // Search builder.createDoc( diff --git a/plugins/document-resources/src/index.ts b/plugins/document-resources/src/index.ts index 0bf22d1d20..26bebb7525 100644 --- a/plugins/document-resources/src/index.ts +++ b/plugins/document-resources/src/index.ts @@ -45,7 +45,7 @@ import Move from './components/Move.svelte' import DocumentToDoPresenter from './components/DocumentToDoPresenter.svelte' import document from './plugin' -import { createEmptyDocument, getDocumentLink, getDocumentUrl, resolveLocation } from './utils' +import { createEmptyDocument, documentTitleProvider, getDocumentLink, getDocumentUrl, resolveLocation } from './utils' const toObjectSearchResult = (e: WithLookup): ObjectSearchResult => ({ doc: e, @@ -152,7 +152,8 @@ export default async (): Promise => ({ function: { GetDocumentLink: getDocumentUrl, GetObjectLinkFragment: getDocumentLink, - IsTeamspaceVisible: async (space: Teamspace) => !space.private || space.members.includes(getCurrentAccount()._id) + IsTeamspaceVisible: async (space: Teamspace) => !space.private || space.members.includes(getCurrentAccount()._id), + DocumentTitleProvider: documentTitleProvider }, resolver: { Location: resolveLocation diff --git a/plugins/document-resources/src/plugin.ts b/plugins/document-resources/src/plugin.ts index 968c5211c5..39b144c030 100644 --- a/plugins/document-resources/src/plugin.ts +++ b/plugins/document-resources/src/plugin.ts @@ -13,7 +13,7 @@ // limitations under the License. // -import { type Doc } from '@hcengineering/core' +import { type Client, type Doc, type Ref } from '@hcengineering/core' import document, { type Teamspace, documentId } from '@hcengineering/document' import { type IntlString, type Resource, mergeIds } from '@hcengineering/platform' import { type AnyComponent, type Location } from '@hcengineering/ui' @@ -27,6 +27,7 @@ export default mergeIds(documentId, document, { CreateTeamspace: '' as AnyComponent }, function: { + DocumentTitleProvider: '' as Resource<(client: Client, ref: Ref, doc?: T) => Promise>, GetDocumentLink: '' as Resource<(doc: Doc, props: Record) => Promise>, GetObjectLinkFragment: '' as Resource<(doc: Doc, props: Record) => Promise>, IsTeamspaceVisible: '' as Resource<(space: Teamspace) => Promise> diff --git a/plugins/document-resources/src/utils.ts b/plugins/document-resources/src/utils.ts index 2aa481aa71..9794f59bbe 100644 --- a/plugins/document-resources/src/utils.ts +++ b/plugins/document-resources/src/utils.ts @@ -15,6 +15,7 @@ import { type AttachedData, + type Client, type Ref, type TxOperations, getCollaborativeDoc, @@ -138,3 +139,8 @@ function parseDocumentId (shortLink: string): Ref | undefined { } return undefined } + +export async function documentTitleProvider (client: Client, ref: Ref, doc?: Document): Promise { + const object = doc ?? (await client.findOne(document.class.Document, { _id: ref })) + return object?.name ?? '' +} diff --git a/plugins/notification-resources/src/components/DocNotifyContextCard.svelte b/plugins/notification-resources/src/components/DocNotifyContextCard.svelte index 9e0be74a6e..91331b081d 100644 --- a/plugins/notification-resources/src/components/DocNotifyContextCard.svelte +++ b/plugins/notification-resources/src/components/DocNotifyContextCard.svelte @@ -114,7 +114,11 @@