From f34591011644a6651db2c32e070ee33acddb1beb Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 1 May 2023 15:51:17 +0200 Subject: [PATCH] Hide notifications when clicking dropdown button --- .../elsa-workflows-designer/src/components.d.ts | 1 + .../components/shared/dropdown-button/dropdown-button.tsx | 5 ++++- .../workflow-definitions/components/publish-button.tsx | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/components.d.ts b/src/designer/designer_packages/elsa-workflows-designer/src/components.d.ts index cc0449794..737038810 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/components.d.ts +++ b/src/designer/designer_packages/elsa-workflows-designer/src/components.d.ts @@ -1061,6 +1061,7 @@ declare namespace LocalJSX { "icon"?: any; "items"?: Array; "onItemSelected"?: (event: ElsaDropdownButtonCustomEvent) => void; + "onMenuOpened"?: (event: ElsaDropdownButtonCustomEvent) => void; "origin"?: DropdownButtonOrigin; "text"?: string; "theme"?: ('Primary' | 'Secondary'); diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/dropdown-button/dropdown-button.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/dropdown-button/dropdown-button.tsx index 98a97e854..5b9be0fa2 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/dropdown-button/dropdown-button.tsx +++ b/src/designer/designer_packages/elsa-workflows-designer/src/components/shared/dropdown-button/dropdown-button.tsx @@ -15,6 +15,7 @@ export class DropdownButton { @Prop() public items: Array = []; @Prop() public theme: ('Primary' | 'Secondary') = 'Primary'; @Event() public itemSelected: EventEmitter + @Event() public menuOpened: EventEmitter private contextMenu: HTMLElement; private element: HTMLElement; @@ -102,8 +103,10 @@ export class DropdownButton { } private toggleMenu() { - if (!!this.contextMenu) + if (!!this.contextMenu) { toggle(this.contextMenu); + this.menuOpened.emit(); + } } private getOriginClass(): string { diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/components/publish-button.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/components/publish-button.tsx index 292ec41db..eeba87c7b 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/components/publish-button.tsx +++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/components/publish-button.tsx @@ -1,5 +1,6 @@ import {Component, Event, EventEmitter, h, Prop} from '@stencil/core'; import {DropdownButtonItem} from "../../../components/shared/dropdown-button/models"; +import NotificationService from "../../notifications/notification-service"; export interface PublishClickedArgs { begin: () => void; @@ -73,6 +74,6 @@ export class PublishButton { handler: publishing ? () => {} : () => this.onPublishClick() } - return + return NotificationService.hideAllNotifications()} /> } }