From 0adaefe5f32b632911d18bdcc846eea439d43442 Mon Sep 17 00:00:00 2001 From: Artyom Savchenko Date: Wed, 28 Jan 2026 14:56:32 +0700 Subject: [PATCH] Add activity section in controlled doc (#10457) * Add activity section in controlled doc Signed-off-by: Artem Savchenko * Remove approved state Signed-off-by: Artem Savchenko --------- Signed-off-by: Artem Savchenko --- .../components/document/EditDocContent.svelte | 22 ++++++++++++++++++- .../src/utils.ts | 15 +++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/plugins/controlled-documents-resources/src/components/document/EditDocContent.svelte b/plugins/controlled-documents-resources/src/components/document/EditDocContent.svelte index 59731ba758..ec99525af6 100644 --- a/plugins/controlled-documents-resources/src/components/document/EditDocContent.svelte +++ b/plugins/controlled-documents-resources/src/components/document/EditDocContent.svelte @@ -28,10 +28,11 @@ highlightUpdateCommand, selectNode } from '@hcengineering/text-editor-resources' - import { EditBox, Label, Scroller } from '@hcengineering/ui' + import { Component, EditBox, Label, Scroller } from '@hcengineering/ui' import { getCollaborationUser } from '@hcengineering/view-resources' import { merge } from 'effector' import { createEventDispatcher, onDestroy, tick } from 'svelte' + import activity from '@hcengineering/activity' import plugin from '../../plugin' import { @@ -41,11 +42,13 @@ $controlledDocument as controlledDocument, $documentCommentHighlightedLocation as documentCommentHighlightedLocation, $documentComments as documentComments, + $documentState as documentState, documentCommentsDisplayRequested, documentCommentsLocationNavigateRequested, documentCommentsAddCanceled, $isEditable as isEditable } from '../../stores/editors/document' + import { isActivityDocumentState } from '../../utils' import DocumentPrintTitlePage from '../print/DocumentPrintTitlePage.svelte' import DocumentTitle from './DocumentTitle.svelte' @@ -276,6 +279,19 @@ return await createEmbedding(file) }} /> + {#if isActivityDocumentState($documentState)} +
+ +
+ {/if}
@@ -340,6 +356,10 @@ padding-bottom: 55vh; } + .activity-container { + padding-top: 2rem; + } + .watermark-container { position: absolute; z-index: 100; diff --git a/plugins/controlled-documents-resources/src/utils.ts b/plugins/controlled-documents-resources/src/utils.ts index 830ef54e85..c58a52dc1b 100644 --- a/plugins/controlled-documents-resources/src/utils.ts +++ b/plugins/controlled-documents-resources/src/utils.ts @@ -536,6 +536,14 @@ export const controlledDocumentStatesOrder = [ ControlledDocumentState.ToReview ] +const activityDocumentStates = [ + DocumentState.Draft, + ControlledDocumentState.InReview, + ControlledDocumentState.Reviewed, + ControlledDocumentState.InApproval, + ControlledDocumentState.Rejected +] + export interface LoginInfo { email: string password: string @@ -1233,3 +1241,10 @@ export async function extractValidationWorkflow ( return result } + +export function isActivityDocumentState (state: DocumentState | ControlledDocumentState | null): boolean { + if (state == null) { + return false + } + return activityDocumentStates.includes(state) +}