From 7f1d23ffa1d63f2e5882054e35b72ef405fea2f2 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Sat, 30 Sep 2023 22:52:27 +0600 Subject: [PATCH] UBER-956 (#3768) Signed-off-by: Denis Bykhov --- models/chunter/src/index.ts | 4 ++++ .../src/components/NavLink.svelte | 1 + .../src/components/PersonsPresenter.svelte | 9 ++++----- .../src/components/ChannelHeader.svelte | 4 ++-- .../src/components/DmHeader.svelte | 11 +++++----- .../src/components/AssigneeBox.svelte | 20 +++++++++---------- .../src/components/UserBox.svelte | 19 +++++++++--------- .../src/components/DepartmentCard.svelte | 13 +++++------- .../src/components/KanbanCard.svelte | 10 +++++----- .../components/VacancyItemPresenter.svelte | 6 ++++-- .../src/components/review/EditReview.svelte | 8 +++----- .../components/review/PersonsPresenter.svelte | 8 ++++---- .../src/components/issues/Issues.svelte | 8 +++----- .../src/components/issues/KanbanView.svelte | 6 +++--- .../related/RelatedIssueSelector.svelte | 2 +- .../src/components/myissues/MyIssues.svelte | 6 ++---- .../src/components/DocNavLink.svelte | 4 +++- plugins/view-resources/src/utils.ts | 10 +++++++++- 18 files changed, 78 insertions(+), 71 deletions(-) diff --git a/models/chunter/src/index.ts b/models/chunter/src/index.ts index a87f956c39..deee74dad3 100644 --- a/models/chunter/src/index.ts +++ b/models/chunter/src/index.ts @@ -192,6 +192,10 @@ export function createModel (builder: Builder, options = { addApplication: true builder.mixin(spaceClass, core.class.Class, view.mixin.ObjectEditor, { editor: chunter.component.EditChannel }) + + builder.mixin(spaceClass, core.class.Class, view.mixin.ObjectPanel, { + component: chunter.component.EditChannel + }) }) builder.mixin(chunter.class.DirectMessage, core.class.Class, view.mixin.SpaceName, { diff --git a/packages/presentation/src/components/NavLink.svelte b/packages/presentation/src/components/NavLink.svelte index 597592bfab..aa7e8725ff 100644 --- a/packages/presentation/src/components/NavLink.svelte +++ b/packages/presentation/src/components/NavLink.svelte @@ -46,6 +46,7 @@ if (url.origin === window.location.origin) { e.preventDefault() + e.stopPropagation() navigate(parseLocation(url)) } } catch {} diff --git a/plugins/calendar-resources/src/components/PersonsPresenter.svelte b/plugins/calendar-resources/src/components/PersonsPresenter.svelte index 1a2bec37b8..2684b3fb21 100644 --- a/plugins/calendar-resources/src/components/PersonsPresenter.svelte +++ b/plugins/calendar-resources/src/components/PersonsPresenter.svelte @@ -15,12 +15,11 @@ --> diff --git a/plugins/chunter-resources/src/components/ChannelHeader.svelte b/plugins/chunter-resources/src/components/ChannelHeader.svelte index a0d8c6f384..a53f201d0e 100644 --- a/plugins/chunter-resources/src/components/ChannelHeader.svelte +++ b/plugins/chunter-resources/src/components/ChannelHeader.svelte @@ -16,7 +16,7 @@ import { Channel } from '@hcengineering/chunter' import type { Ref } from '@hcengineering/core' import { createQuery, getClient } from '@hcengineering/presentation' - import { showPanel } from '@hcengineering/ui' + import { openDoc } from '@hcengineering/view-resources' import chunter from '../plugin' import { classIcon } from '../utils' import Header from './Header.svelte' @@ -34,7 +34,7 @@ async function onSpaceEdit (): Promise { if (channel === undefined) return - showPanel(chunter.component.EditChannel, channel._id, channel._class, 'content') + openDoc(client.getHierarchy(), channel) } diff --git a/plugins/chunter-resources/src/components/DmHeader.svelte b/plugins/chunter-resources/src/components/DmHeader.svelte index fe5c7036d0..edcda3777a 100644 --- a/plugins/chunter-resources/src/components/DmHeader.svelte +++ b/plugins/chunter-resources/src/components/DmHeader.svelte @@ -14,15 +14,16 @@ --> diff --git a/plugins/contact-resources/src/components/AssigneeBox.svelte b/plugins/contact-resources/src/components/AssigneeBox.svelte index ecaee686e6..d77b08374b 100644 --- a/plugins/contact-resources/src/components/AssigneeBox.svelte +++ b/plugins/contact-resources/src/components/AssigneeBox.svelte @@ -14,31 +14,31 @@ --> diff --git a/plugins/recruit-resources/src/components/VacancyItemPresenter.svelte b/plugins/recruit-resources/src/components/VacancyItemPresenter.svelte index 1752b1f32e..ad08b49cda 100644 --- a/plugins/recruit-resources/src/components/VacancyItemPresenter.svelte +++ b/plugins/recruit-resources/src/components/VacancyItemPresenter.svelte @@ -14,8 +14,10 @@ --> diff --git a/plugins/recruit-resources/src/components/review/EditReview.svelte b/plugins/recruit-resources/src/components/review/EditReview.svelte index b95db8673b..bdc165215a 100644 --- a/plugins/recruit-resources/src/components/review/EditReview.svelte +++ b/plugins/recruit-resources/src/components/review/EditReview.svelte @@ -16,13 +16,11 @@ diff --git a/plugins/tracker-resources/src/components/issues/Issues.svelte b/plugins/tracker-resources/src/components/issues/Issues.svelte index aae13fe5dd..24fcb2d674 100644 --- a/plugins/tracker-resources/src/components/issues/Issues.svelte +++ b/plugins/tracker-resources/src/components/issues/Issues.svelte @@ -13,12 +13,12 @@ // limitations under the License. --> {#if query !== undefined && modeSelectorProps !== undefined} - {#key query && currentSpace} - - {/key} + {/if} diff --git a/plugins/tracker-resources/src/components/issues/KanbanView.svelte b/plugins/tracker-resources/src/components/issues/KanbanView.svelte index 2495b65f7c..488a1d9c70 100644 --- a/plugins/tracker-resources/src/components/issues/KanbanView.svelte +++ b/plugins/tracker-resources/src/components/issues/KanbanView.svelte @@ -29,7 +29,7 @@ import { Item, Kanban } from '@hcengineering/kanban' import notification from '@hcengineering/notification' import { getResource } from '@hcengineering/platform' - import { createQuery, getClient, ActionContext } from '@hcengineering/presentation' + import { ActionContext, createQuery, getClient } from '@hcengineering/presentation' import tags from '@hcengineering/tags' import { Issue, IssuesGrouping, IssuesOrdering, Project } from '@hcengineering/tracker' import { @@ -41,7 +41,6 @@ IconAdd, Label, Loading, - showPanel, showPopup, themeStore } from '@hcengineering/ui' @@ -65,6 +64,7 @@ ListSelectionProvider, Menu, noCategory, + openDoc, SelectDirection, selectionStore, setGroupByValues @@ -348,7 +348,7 @@
{ - showPanel(tracker.component.EditIssue, object._id, object._class, 'content') + openDoc(hierarchy, issue) }} >
diff --git a/plugins/tracker-resources/src/components/issues/related/RelatedIssueSelector.svelte b/plugins/tracker-resources/src/components/issues/related/RelatedIssueSelector.svelte index e096956a63..7105ae5559 100644 --- a/plugins/tracker-resources/src/components/issues/related/RelatedIssueSelector.svelte +++ b/plugins/tracker-resources/src/components/issues/related/RelatedIssueSelector.svelte @@ -20,9 +20,9 @@ Button, ButtonKind, ButtonSize, - closeTooltip, ProgressCircle, SelectPopup, + closeTooltip, showPanel, showPopup } from '@hcengineering/ui' diff --git a/plugins/tracker-resources/src/components/myissues/MyIssues.svelte b/plugins/tracker-resources/src/components/myissues/MyIssues.svelte index fedfcf88f6..9e28755b82 100644 --- a/plugins/tracker-resources/src/components/myissues/MyIssues.svelte +++ b/plugins/tracker-resources/src/components/myissues/MyIssues.svelte @@ -13,13 +13,13 @@ // limitations under the License. --> {#if query !== undefined && modeSelectorProps !== undefined} - {#key query} - - {/key} + {/if} diff --git a/plugins/view-resources/src/components/DocNavLink.svelte b/plugins/view-resources/src/components/DocNavLink.svelte index 5642a89e6e..9bd5d7fa11 100644 --- a/plugins/view-resources/src/components/DocNavLink.svelte +++ b/plugins/view-resources/src/components/DocNavLink.svelte @@ -44,7 +44,9 @@ href = undefined return } - const loc = await getObjectLinkFragment(hierarchy, object, props, component) + const panelComponent = hierarchy.classHierarchyMixin(object._class, view.mixin.ObjectPanel) + const comp = panelComponent?.component ?? component + const loc = await getObjectLinkFragment(hierarchy, object, props, comp) href = `${window.location.origin}${locationToUrl(loc)}` } diff --git a/plugins/view-resources/src/utils.ts b/plugins/view-resources/src/utils.ts index 43e20ac1c3..ad5763d4d2 100644 --- a/plugins/view-resources/src/utils.ts +++ b/plugins/view-resources/src/utils.ts @@ -46,7 +46,8 @@ import { getCurrentResolvedLocation, getPanelURI, getPlatformColorForText, - locationToUrl + locationToUrl, + navigate } from '@hcengineering/ui' import type { BuildModelOptions, Viewlet, ViewletDescriptor } from '@hcengineering/view' import view, { AttributeModel, BuildModelKey } from '@hcengineering/view' @@ -876,3 +877,10 @@ export function enabledConfig (config: Array, key: strin } return false } + +export async function openDoc (hierarchy: Hierarchy, object: Doc): Promise { + const panelComponent = hierarchy.classHierarchyMixin(object._class, view.mixin.ObjectPanel) + const comp = panelComponent?.component ?? view.component.EditDoc + const loc = await getObjectLinkFragment(hierarchy, object, {}, comp) + navigate(loc) +}