From 880c6056d7d7534e7a605753dac5809a63ce6dc5 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Jan 2023 16:33:16 +0100 Subject: [PATCH] migrate tree context services to UmbContextAlias --- .../tree/action/tree-item-action.element.ts | 14 ++++++++++---- .../context-menu/tree-context-menu-page.service.ts | 8 +++++++- .../tree/context-menu/tree-context-menu.service.ts | 7 ++++++- .../shared/components/tree/tree-item.element.ts | 7 +++++-- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/action/tree-item-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/action/tree-item-action.element.ts index 02c504c965..964777c6f0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/action/tree-item-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/action/tree-item-action.element.ts @@ -1,7 +1,13 @@ import { customElement, property, state } from 'lit/decorators.js'; import { UmbSectionContext, UMB_SECTION_CONTEXT_ALIAS } from '../../section/section.context'; -import { UmbTreeContextMenuPageService } from '../context-menu/tree-context-menu-page.service'; -import { UmbTreeContextMenuService } from '../context-menu/tree-context-menu.service'; +import { + UmbTreeContextMenuPageService, + UMB_TREE_CONTEXT_MENU_PAGE_SERVICE_CONTEXT_ALIAS, +} from '../context-menu/tree-context-menu-page.service'; +import { + UmbTreeContextMenuService, + UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS, +} from '../context-menu/tree-context-menu.service'; import type { Entity, ManifestTreeItemAction, ManifestTree } from '@umbraco-cms/models'; import { UmbLitElement } from '@umbraco-cms/element'; @@ -34,11 +40,11 @@ export default class UmbTreeItemActionElement extends UmbLitElement { this._observeActiveTreeItem(); }); - this.consumeContext('umbTreeContextMenuService', (treeContextMenuService: UmbTreeContextMenuService) => { + this.consumeContext(UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS, (treeContextMenuService) => { this._treeContextMenuService = treeContextMenuService; }); - this.consumeContext('umbTreeContextMenuPageService', (actionPageService: UmbTreeContextMenuPageService) => { + this.consumeContext(UMB_TREE_CONTEXT_MENU_PAGE_SERVICE_CONTEXT_ALIAS, (actionPageService) => { this._actionPageService = actionPageService; this._observeEntity(); }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts index 5804c1b483..4f799de30c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu-page.service.ts @@ -2,8 +2,10 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, nothing, PropertyValueMap } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import UmbTreeItemActionElement, { ActionPageEntity } from '../action/tree-item-action.element'; +import { UmbTreeContextMenuService } from './tree-context-menu.service'; import { UmbLitElement } from '@umbraco-cms/element'; import { UniqueBehaviorSubject } from '@umbraco-cms/observable-api'; +import { UmbContextAlias } from '@umbraco-cms/context-api'; // TODO: Refactor this, its not a service and the data should be handled by a context api. @customElement('umb-tree-context-menu-page-service') @@ -21,7 +23,7 @@ export class UmbTreeContextMenuPageService extends UmbLitElement { connectedCallback() { super.connectedCallback(); - this.provideContext('umbTreeContextMenuPageService', this); + this.provideContext(UMB_TREE_CONTEXT_MENU_PAGE_SERVICE_CONTEXT_ALIAS, this); this.openFreshPage('umb-tree-context-menu-page-action-list'); } @@ -64,6 +66,10 @@ export class UmbTreeContextMenuPageService extends UmbLitElement { } } +export const UMB_TREE_CONTEXT_MENU_PAGE_SERVICE_CONTEXT_ALIAS = new UmbContextAlias( + UmbTreeContextMenuService.name +); + declare global { interface HTMLElementTagNameMap { 'umb-tree-context-menu-page-service': UmbTreeContextMenuPageService; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts index f21f2d833a..aaed6a96aa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/context-menu/tree-context-menu.service.ts @@ -3,6 +3,7 @@ import { css, html, nothing } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { ActionPageEntity } from '../action/tree-item-action.element'; import { UmbLitElement } from '@umbraco-cms/element'; +import { UmbContextAlias } from '@umbraco-cms/context-api'; @customElement('umb-tree-context-menu-service') export class UmbTreeContextMenuService extends UmbLitElement { @@ -56,7 +57,7 @@ export class UmbTreeContextMenuService extends UmbLitElement { connectedCallback() { super.connectedCallback(); - this.provideContext('umbTreeContextMenuService', this); + this.provideContext(UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS, this); } public open(entity: ActionPageEntity) { @@ -92,6 +93,10 @@ export class UmbTreeContextMenuService extends UmbLitElement { } } +export const UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS = new UmbContextAlias( + UmbTreeContextMenuService.name +); + declare global { interface HTMLElementTagNameMap { 'umb-tree-context-menu-service': UmbTreeContextMenuService; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts index 828841b360..767fa4721c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree-item.element.ts @@ -6,7 +6,10 @@ import { map, Observable } from 'rxjs'; import { repeat } from 'lit/directives/repeat.js'; import { UmbSectionContext, UMB_SECTION_CONTEXT_ALIAS } from '../section/section.context'; import type { UmbTreeContextBase } from './tree.context'; -import { UmbTreeContextMenuService } from './context-menu/tree-context-menu.service'; +import { + UmbTreeContextMenuService, + UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS, +} from './context-menu/tree-context-menu.service'; import type { Entity } from '@umbraco-cms/models'; import { UmbTreeDataStore } from '@umbraco-cms/stores/store'; import { UmbLitElement } from '@umbraco-cms/element'; @@ -88,7 +91,7 @@ export class UmbTreeItem extends UmbLitElement { this._observeActiveTreeItem(); }); - this.consumeContext('umbTreeContextMenuService', (treeContextMenuService: UmbTreeContextMenuService) => { + this.consumeContext(UMB_TREE_CONTEXT_MENU_SERVICE_CONTEXT_ALIAS, (treeContextMenuService) => { this._treeContextMenuService = treeContextMenuService; }); }