From 5d50520b0a8da26870765ee30ed86b9d217547ba Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 10 Feb 2023 09:51:53 +0100 Subject: [PATCH] emit event from element instead of class --- .../documents/entity-actions/create-blueprint.action.ts | 2 -- .../documents/documents/entity-actions/create.action.ts | 4 +--- .../documents/entity-actions/culture-and-hostnames.action.ts | 2 -- .../documents/documents/entity-actions/permissions.action.ts | 2 -- .../documents/entity-actions/public-access.action.ts | 2 -- .../documents/documents/entity-actions/publish.action.ts | 2 -- .../documents/documents/entity-actions/rollback.action.ts | 2 -- .../documents/documents/entity-actions/unpublish.action.ts | 2 -- .../documents/entity-bulk-actions/copy/copy.action.ts | 2 -- .../documents/entity-bulk-actions/move/move.action.ts | 2 -- .../media/media/entity-bulk-actions/copy/copy.action.ts | 2 -- .../media/media/entity-bulk-actions/move/move.action.ts | 2 -- .../media/media/entity-bulk-actions/trash/trash.action.ts | 2 -- .../workspace/workspace-action/workspace-action.element.ts | 2 ++ .../src/backoffice/shared/entity-actions/copy/copy.action.ts | 2 -- .../backoffice/shared/entity-actions/delete/delete.action.ts | 2 -- .../backoffice/shared/entity-actions/entity-action.element.ts | 4 +++- .../src/backoffice/shared/entity-actions/move/move.action.ts | 2 -- .../sort-children-of/sort-children-of.action.ts | 2 -- .../backoffice/shared/entity-actions/trash/trash.action.ts | 2 -- .../shared/entity-bulk-actions/entity-bulk-action.element.ts | 2 ++ .../templates/entity-actions/create/create.action.ts | 2 -- 22 files changed, 8 insertions(+), 40 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts index 894adc5a51..e9dac9e70a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create-blueprint.action.ts @@ -1,6 +1,5 @@ import { UmbDocumentRepository } from '../repository/document.repository'; import { UmbEntityActionBase } from '../../../shared/entity-actions'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbCreateDocumentBlueprintEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbCreateDocumentBlueprintEntityAction extends UmbEntityActionBase< async execute() { console.log(`execute for: ${this.unique}`); await this.repository?.createBlueprint(); - this.host.dispatchEvent(new UmbExecutedEvent()); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create.action.ts index 97450bc95c..938bd470a2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create.action.ts @@ -1,6 +1,5 @@ import { UmbDocumentRepository } from '../repository/document.repository'; import { UmbEntityActionBase } from '../../../shared/entity-actions'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { @@ -8,9 +7,8 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbDocumentCultureAndHostnamesEntityAction extends UmbEntityActionB async execute() { console.log(`execute for: ${this.unique}`); await this.repository?.setCultureAndHostnames(); - this.host.dispatchEvent(new UmbExecutedEvent()); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts index 5bbf7c06df..2aabec2046 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/permissions.action.ts @@ -1,6 +1,5 @@ import { UmbDocumentRepository } from '../repository/document.repository'; import { UmbEntityActionBase } from '../../../shared/entity-actions'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbDocumentPermissionsEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbDocumentPermissionsEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbDocumentPublicAccessEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbPublishDocumentEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbRollbackDocumentEntityAction extends UmbEntityActionBase { @@ -11,6 +10,5 @@ export class UmbUnpublishDocumentEntityAction extends UmbEntityActionBase { @@ -18,6 +17,5 @@ export class UmbDocumentCopyEntityBulkAction extends UmbActionBase { @@ -18,6 +17,5 @@ export class UmbDocumentMoveEntityBulkAction extends UmbActionBase { @@ -18,6 +17,5 @@ export class UmbMediaCopyEntityBulkAction extends UmbActionBase }> extends UmbEntityActionBase { @@ -10,6 +9,5 @@ export class UmbCopyEntityAction }> extends Um async execute() { console.log(`execute for: ${this.unique}`); await this.repository?.copy(); - this.host.dispatchEvent(new UmbExecutedEvent()); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/delete/delete.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/delete/delete.action.ts index 249714f40c..58e9d919ae 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/delete/delete.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/delete/delete.action.ts @@ -1,5 +1,4 @@ import { UmbEntityActionBase } from '..'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbContextConsumerController } from '@umbraco-cms/context-api'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_TOKEN } from '@umbraco-cms/modal'; @@ -35,7 +34,6 @@ export class UmbDeleteEntityAction< const { confirmed } = await modalHandler.onClose(); if (confirmed) { await this.repository?.delete(this.unique); - this.host.dispatchEvent(new UmbExecutedEvent()); } } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/entity-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/entity-action.element.ts index efd462bc10..1e05d3eb86 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/entity-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/entity-action.element.ts @@ -1,9 +1,10 @@ import { html, nothing } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; +import { UUIMenuItemEvent } from '@umbraco-ui/uui'; +import { UmbExecutedEvent } from '../../../core/events'; import { UmbLitElement } from '@umbraco-cms/element'; import { ManifestEntityAction } from 'libs/extensions-registry/entity-action.models'; -import { UUIMenuItemEvent } from '@umbraco-ui/uui'; @customElement('umb-entity-action') class UmbEntityActionElement extends UmbLitElement { @@ -47,6 +48,7 @@ class UmbEntityActionElement extends UmbLitElement { async #onClickLabel(event: UUIMenuItemEvent) { event.stopPropagation(); await this.#api.execute(); + this.dispatchEvent(new UmbExecutedEvent()); } // TODO: we need to stop the regular click event from bubbling up to the table so it doesn't select the row. diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/move/move.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/move/move.action.ts index 60b6595059..7b4666ad8c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/move/move.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/move/move.action.ts @@ -1,5 +1,4 @@ import { UmbEntityActionBase } from '..'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbMoveEntityAction }> extends UmbEntityActionBase { @@ -10,6 +9,5 @@ export class UmbMoveEntityAction }> extends Um async execute() { console.log(`execute for: ${this.unique}`); await this.repository?.move(); - this.host.dispatchEvent(new UmbExecutedEvent()); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/sort-children-of/sort-children-of.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/sort-children-of/sort-children-of.action.ts index 409fa548b0..0860f53ad4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/sort-children-of/sort-children-of.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/sort-children-of/sort-children-of.action.ts @@ -1,5 +1,4 @@ import { UmbEntityActionBase } from '..'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbSortChildrenOfEntityAction< @@ -12,6 +11,5 @@ export class UmbSortChildrenOfEntityAction< async execute() { console.log(`execute for: ${this.unique}`); await this.repository?.sortChildrenOf(); - this.host.dispatchEvent(new UmbExecutedEvent()); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/trash/trash.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/trash/trash.action.ts index 9b288aa68d..626452118d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/trash/trash.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-actions/trash/trash.action.ts @@ -1,5 +1,4 @@ import { UmbEntityActionBase } from '..'; -import { UmbExecutedEvent } from '../../../../core/events'; import { UmbContextConsumerController } from '@umbraco-cms/context-api'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_TOKEN } from '@umbraco-cms/modal'; @@ -35,7 +34,6 @@ export class UmbTrashEntityAction< modalHandler?.onClose().then(({ confirmed }) => { if (confirmed) { this.repository?.trash([this.unique]); - this.host.dispatchEvent(new UmbExecutedEvent()); } }); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-bulk-actions/entity-bulk-action.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-bulk-actions/entity-bulk-action.element.ts index 259e473496..a351882411 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-bulk-actions/entity-bulk-action.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/entity-bulk-actions/entity-bulk-action.element.ts @@ -1,6 +1,7 @@ import { html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit-html/directives/if-defined.js'; +import { UmbExecutedEvent } from '../../../core/events'; import { UmbLitElement } from '@umbraco-cms/element'; import { ManifestEntityBulkAction } from '@umbraco-cms/extensions-registry'; @@ -44,6 +45,7 @@ class UmbEntityBulkActionElement extends UmbLitElement { async #onClick(event: PointerEvent) { event.stopPropagation(); await this.#api.execute(); + this.dispatchEvent(new UmbExecutedEvent()); } render() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/entity-actions/create/create.action.ts index bd51a7d525..12af1d77c2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/entity-actions/create/create.action.ts @@ -1,5 +1,4 @@ import { UmbEntityActionBase } from '../../../../shared/entity-actions'; -import { UmbExecutedEvent } from '../../../../../core/events'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; export class UmbCreateEntityAction }> extends UmbEntityActionBase { @@ -13,6 +12,5 @@ export class UmbCreateEntityAction }> extends const url = `section/settings/template/create/${this.unique || 'root'}`; // TODO: how do we handle this with a href? history.pushState(null, '', url); - this.host.dispatchEvent(new UmbExecutedEvent()); } }