From 8667b7482d9f4f9e324a9fe9594ba1ff5ce8a1b4 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Mon, 5 Aug 2024 12:37:34 +0700 Subject: [PATCH] UBERF-7794: Restore related issues control (#6244) Signed-off-by: Andrey Sobolev --- models/lead/src/index.ts | 14 ++++++- models/recruit/src/index.ts | 14 ++++++- plugins/lead-resources/package.json | 1 + .../src/components/KanbanCard.svelte | 39 ++++++++++++++++--- .../src/components/KanbanCard.svelte | 2 +- 5 files changed, 62 insertions(+), 8 deletions(-) diff --git a/models/lead/src/index.ts b/models/lead/src/index.ts index b1d9057dd0..7e9e6ed71d 100644 --- a/models/lead/src/index.ts +++ b/models/lead/src/index.ts @@ -227,6 +227,12 @@ export function createModel (builder: Builder): void { 'status', 'attachments', 'comments', + { + key: '', + label: tracker.string.RelatedIssues, + presenter: tracker.component.RelatedIssueSelector, + displayProps: { key: 'related', suffix: true } + }, 'modifiedOn', { key: '$lookup.attachedTo.$lookup.channels', @@ -294,6 +300,12 @@ export function createModel (builder: Builder): void { }, { key: 'attachments', displayProps: { key: 'attachments', suffix: true } }, { key: 'comments', displayProps: { key: 'comments', suffix: true } }, + { + key: '', + label: tracker.string.RelatedIssues, + presenter: tracker.component.RelatedIssueSelector, + displayProps: { key: 'related', suffix: true } + }, { key: '', displayProps: { grow: true } }, { key: '$lookup.attachedTo.$lookup.channels', @@ -441,7 +453,7 @@ export function createModel (builder: Builder): void { groupDepth: 1 }, options: lookupLeadOptions, - config: ['attachedTo', 'attachments', 'comments', 'dueDate', 'assignee'], + config: ['attachedTo', 'status', 'attachments', 'comments', 'dueDate', 'assignee'], configOptions: { strict: true } diff --git a/models/recruit/src/index.ts b/models/recruit/src/index.ts index 50c7823292..bce4f9a7b7 100644 --- a/models/recruit/src/index.ts +++ b/models/recruit/src/index.ts @@ -21,6 +21,7 @@ import calendar from '@hcengineering/model-calendar' import chunter from '@hcengineering/model-chunter' import contact from '@hcengineering/model-contact' import core from '@hcengineering/model-core' +import gmail from '@hcengineering/model-gmail' import { generateClassNotificationTypes } from '@hcengineering/model-notification' import presentation from '@hcengineering/model-presentation' import tags from '@hcengineering/model-tags' @@ -33,7 +34,6 @@ import { type IntlString } from '@hcengineering/platform' import { recruitId, type Applicant } from '@hcengineering/recruit' import setting from '@hcengineering/setting' import { type KeyBinding, type ViewOptionModel, type ViewOptionsModel } from '@hcengineering/view' -import gmail from '@hcengineering/model-gmail' import recruit from './plugin' import { createReviewModel, reviewTableConfig, reviewTableOptions } from './review' @@ -475,6 +475,12 @@ export function createModel (builder: Builder): void { 'status', 'attachments', 'comments', + { + key: '', + label: tracker.string.RelatedIssues, + presenter: tracker.component.RelatedIssueSelector, + displayProps: { key: 'related', suffix: true } + }, 'modifiedOn', '$lookup.space.company', { @@ -604,6 +610,12 @@ export function createModel (builder: Builder): void { }, { key: 'attachments', displayProps: { key: 'attachments', suffix: true } }, { key: 'comments', displayProps: { key: 'comments', suffix: true } }, + { + key: '', + label: tracker.string.RelatedIssues, + presenter: tracker.component.RelatedIssueSelector, + displayProps: { key: 'related', suffix: true } + }, { key: '', displayProps: { grow: true } }, { key: '$lookup.space.company', diff --git a/plugins/lead-resources/package.json b/plugins/lead-resources/package.json index 5a813e9a9a..12879fb8f4 100644 --- a/plugins/lead-resources/package.json +++ b/plugins/lead-resources/package.json @@ -52,6 +52,7 @@ "@hcengineering/presentation": "^0.6.3", "@hcengineering/task": "^0.6.20", "@hcengineering/task-resources": "^0.6.0", + "@hcengineering/tracker": "^0.6.24", "@hcengineering/text-editor-resources": "^0.6.0", "@hcengineering/ui": "^0.6.15", "@hcengineering/view": "^0.6.13", diff --git a/plugins/lead-resources/src/components/KanbanCard.svelte b/plugins/lead-resources/src/components/KanbanCard.svelte index 854fbde4ca..e1c01959d3 100644 --- a/plugins/lead-resources/src/components/KanbanCard.svelte +++ b/plugins/lead-resources/src/components/KanbanCard.svelte @@ -23,16 +23,18 @@ import notification from '@hcengineering/notification' import { getClient } from '@hcengineering/presentation' import task from '@hcengineering/task' - import { AssigneePresenter } from '@hcengineering/task-resources' + import { AssigneePresenter, StateRefPresenter } from '@hcengineering/task-resources' import { ActionIcon, Component, DueDatePresenter, IconMoreH } from '@hcengineering/ui' import { BuildModelKey } from '@hcengineering/view' import { enabledConfig, openDoc, showMenu, statusStore } from '@hcengineering/view-resources' + import tracker from '@hcengineering/tracker' import lead from '../plugin' import LeadPresenter from './LeadPresenter.svelte' export let object: WithLookup export let config: (string | BuildModelKey)[] + export let groupByKey: string const client = getClient() const assigneeAttribute = client.getHierarchy().getAttribute(lead.class.Lead, 'assignee') @@ -69,8 +71,21 @@ {/if} - {#if enabledConfig(config, 'dueDate')} -
+
+ {#if groupByKey !== 'status' && enabledConfig(config, 'status')} + { + client.update(object, { status }) + }} + /> + {/if} + + {#if enabledConfig(config, 'dueDate')} -
- {/if} + {/if} +
@@ -105,3 +120,17 @@ {/if}
+ + diff --git a/plugins/recruit-resources/src/components/KanbanCard.svelte b/plugins/recruit-resources/src/components/KanbanCard.svelte index 988c631dd8..a8422fae8f 100644 --- a/plugins/recruit-resources/src/components/KanbanCard.svelte +++ b/plugins/recruit-resources/src/components/KanbanCard.svelte @@ -111,7 +111,7 @@ }} /> {/if} - + {#if enabledConfig(config, 'dueDate')}