commit 9bee21d847251c067caac5e0d682b7551400d483 Author: Dhruv Srivastava Date: Wed Oct 14 14:31:09 2020 +0200 Add event detail interfaces for dispatchEventThroughTarget Change-Id: I677c0e76b029fd3e56e1cc3031bc74e985d801a3 diff --git a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.ts b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.ts index 90dac88..78b6cda 100644 --- a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.ts +++ b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.ts @@ -29,6 +29,15 @@ import { removeScrollLock, } from '@polymer/iron-overlay-behavior/iron-scroll-manager'; +interface ShowAlertEventDetail { + message: string; + dismissOnNavigation?: boolean; +} + +interface ReloadEventDetail { + clearPatchset?: boolean; +} + const HOVER_CLASS = 'hovered'; const HIDE_CLASS = 'hide'; @@ -193,6 +202,19 @@ export const hovercardBehaviorMixin = dedupingMixin( * Hovercard elements are created outside of , so if you want to fire * events, then you probably want to do that through the target element. */ + + dispatchEventThroughTarget(eventName: string): void; + + dispatchEventThroughTarget( + eventName: 'show-alert', + detail: ShowAlertEventDetail + ): void; + + dispatchEventThroughTarget( + eventName: 'reload', + detail: ReloadEventDetail + ): void; + dispatchEventThroughTarget(eventName: string, detail?: unknown) { if (!detail) detail = {}; if (this._target)