From b8d9499628a80da677efcf268a9e95f55a3c8b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesper=20M=C3=B8ller=20Jensen?= Date: Thu, 1 Sep 2022 14:24:52 +0200 Subject: [PATCH] actions: add context to actions --- .../tree/actions/tree-action-create.element.ts | 14 +++++++++++++- .../tree/actions/tree-action-delete.element.ts | 12 ++++++++++++ .../{shared => actions}/tree-action.element.ts | 0 3 files changed, 25 insertions(+), 1 deletion(-) rename src/Umbraco.Web.UI.Client/src/backoffice/tree/{shared => actions}/tree-action.element.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-create.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-create.element.ts index e42c019a19..ba299f8f50 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-create.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-create.element.ts @@ -3,6 +3,7 @@ import { css, html, LitElement } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { UmbContextConsumerMixin } from '../../../core/context'; import type { ManifestEntityAction } from '../../../core/models'; +import { UmbActionService } from '../actions.service'; @customElement('umb-tree-action-create') export default class UmbTreeActionCreateElement extends UmbContextConsumerMixin(LitElement) { @@ -11,12 +12,23 @@ export default class UmbTreeActionCreateElement extends UmbContextConsumerMixin( @property({ attribute: false }) public treeAction?: ManifestEntityAction; + private _actionService?: UmbActionService; + + constructor() { + super(); + + this.consumeContext('umbActionService', (actionService: UmbActionService) => { + this._actionService = actionService; + }); + } + private _handleLabelClick() { console.log(this.treeAction, 'label clicked'); + this._actionService?.openPage('umb-tree-action-create-page'); } render() { - return html` + return html` `; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-delete.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-delete.element.ts index bae13b14b6..5b833e31c3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-delete.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action-delete.element.ts @@ -3,6 +3,7 @@ import { css, html, LitElement } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { UmbContextConsumerMixin } from '../../../core/context'; import type { ManifestEntityAction } from '../../../core/models'; +import { UmbActionService } from '../actions.service'; @customElement('umb-tree-action-delete') export default class UmbTreeActionDeleteElement extends UmbContextConsumerMixin(LitElement) { @@ -11,8 +12,19 @@ export default class UmbTreeActionDeleteElement extends UmbContextConsumerMixin( @property({ attribute: false }) public treeAction?: ManifestEntityAction; + private _actionService?: UmbActionService; + + constructor() { + super(); + + this.consumeContext('umbActionService', (actionService: UmbActionService) => { + this._actionService = actionService; + }); + } + private _handleLabelClick() { console.log(this.treeAction, 'label clicked'); + this._actionService?.openPage('umb-tree-action-delete-page'); } render() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/tree/shared/tree-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/backoffice/tree/shared/tree-action.element.ts rename to src/Umbraco.Web.UI.Client/src/backoffice/tree/actions/tree-action.element.ts