From 419f95d05c5db52e7b068398d6d2520b77c6aad3 Mon Sep 17 00:00:00 2001 From: Vlad Babich Date: Tue, 20 Aug 2024 14:14:03 -0600 Subject: [PATCH] refactor: Change TabEvent to object literal, add TabEventMap (#2191) Add TabEventMap assiciating TabEvent types to callback signatures. Change TabEvent to object literal so it could be used to define TabEventMap. BREAKING CHANGE: Delete unused event types: `openPQObject`, `openControl`, `reload`, `clearAllFilters`. --- .../src/events/TabEvent.ts | 17 ++++------------- .../src/events/TabEventMap.ts | 12 ++++++++++++ 2 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 packages/dashboard-core-plugins/src/events/TabEventMap.ts diff --git a/packages/dashboard-core-plugins/src/events/TabEvent.ts b/packages/dashboard-core-plugins/src/events/TabEvent.ts index 6e5e13b716..a23938ce71 100644 --- a/packages/dashboard-core-plugins/src/events/TabEvent.ts +++ b/packages/dashboard-core-plugins/src/events/TabEvent.ts @@ -1,15 +1,6 @@ -class TabEvent { - static focus = 'TabEvent.focus'; - - static blur = 'TabEvent.blur'; - - static openPQObject = 'TabEvent.openPQObject'; - - static openControl = 'TabEvent.openControl'; - - static reload = 'TabEvent.reload'; - - static clearAllFilters = 'TabEvent.clearAllFilters'; -} +const TabEvent = Object.freeze({ + focus: 'TabEvent.focus', + blur: 'TabEvent.blur', +}); export default TabEvent; diff --git a/packages/dashboard-core-plugins/src/events/TabEventMap.ts b/packages/dashboard-core-plugins/src/events/TabEventMap.ts new file mode 100644 index 0000000000..ce371f55b8 --- /dev/null +++ b/packages/dashboard-core-plugins/src/events/TabEventMap.ts @@ -0,0 +1,12 @@ +import { ValueOf } from '@deephaven/utils'; +import TabEvent from './TabEvent'; + +export type TabEventType = ValueOf; + +export interface TabEventMap + extends Record void> { + [TabEvent.focus]: () => void; + [TabEvent.blur]: () => void; +} + +export default TabEventMap;