@deephaven/dashboard-core-plugins 0.31.2 → 0.32.1-auth-plugins.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChartBuilderPlugin.d.ts.map +1 -1
- package/dist/ChartBuilderPlugin.js +1 -3
- package/dist/ChartBuilderPlugin.js.map +1 -1
- package/dist/ConsolePlugin.d.ts +0 -1
- package/dist/ConsolePlugin.d.ts.map +1 -1
- package/dist/ConsolePlugin.js +1 -1
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/GridPlugin.d.ts +0 -1
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js +1 -1
- package/dist/GridPlugin.js.map +1 -1
- package/dist/linker/Linker.d.ts +2 -2
- package/dist/linker/Linker.d.ts.map +1 -1
- package/dist/linker/Linker.js +2 -1
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerUtils.d.ts.map +1 -1
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +4 -5
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +3 -4
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/ChartPanelUtils.d.ts +3 -0
- package/dist/panels/ChartPanelUtils.d.ts.map +1 -0
- package/dist/panels/ChartPanelUtils.js +5 -0
- package/dist/panels/ChartPanelUtils.js.map +1 -0
- package/dist/panels/CommandHistoryPanel.d.ts +2 -2
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +2 -1
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +2 -2
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +2 -1
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +2 -2
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +2 -1
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +2 -2
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js +2 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.d.ts +2 -2
- package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -1
- package/dist/panels/FilterSetManagerPanel.js +2 -1
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.d.ts +2 -2
- package/dist/panels/InputFilterPanel.d.ts.map +1 -1
- package/dist/panels/InputFilterPanel.js +2 -1
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +3 -3
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +2 -1
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/LogPanel.d.ts +2 -2
- package/dist/panels/LogPanel.d.ts.map +1 -1
- package/dist/panels/LogPanel.js +2 -1
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownPanel.d.ts +2 -2
- package/dist/panels/MarkdownPanel.d.ts.map +1 -1
- package/dist/panels/MarkdownPanel.js +2 -1
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +2 -2
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +2 -1
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/index.d.ts +1 -0
- package/dist/panels/index.d.ts.map +1 -1
- package/dist/panels/index.js +1 -0
- package/dist/panels/index.js.map +1 -1
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryPanel.js","names":["React","Component","connect","ContextActions","CommandHistory","SHORTCUTS","Log","getCommandHistoryStorage","assertNotNull","Pending","ConsoleEvent","NotebookEvent","Panel","getDashboardSessionWrapper","log","module","CommandHistoryPanel","handleError","error","constructor","props","handleFocusHistory","bind","handleSessionOpened","handleSessionClosed","handleShow","handleSendToConsole","handleSendToNotebook","container","createRef","pending","session","sessionId","language","state","panelState","contextActions","action","shortcut","COMMAND_HISTORY","FOCUS_HISTORY","componentDidMount","glEventHub","on","loadTable","componentWillUnmount","off","cancel","current","focus","restoreScrollPosition","setState","undefined","table","settings","forceNewNotebook","debug","emit","CREATE_NOTEBOOK","SEND_TO_NOTEBOOK","command","execute","SEND_COMMAND","commandHistoryStorage","add","getTable","Date","now","resolved","close","then","catch","render","glContainer","mapStateToProps","ownProps","sessionWrapper","localDashboardId","config","sessionConfig","type","id","forwardRef"],"sources":["../../src/panels/CommandHistoryPanel.tsx"],"sourcesContent":["import React, { Component, RefObject } from 'react';\nimport { connect } from 'react-redux';\nimport { ContextAction, ContextActions } from '@deephaven/components';\nimport {\n CommandHistory,\n CommandHistoryStorage,\n SHORTCUTS,\n CommandHistorySettings,\n CommandHistoryTable,\n} from '@deephaven/console';\nimport Log from '@deephaven/log';\nimport { getCommandHistoryStorage, RootState } from '@deephaven/redux';\nimport { assertNotNull, Pending } from '@deephaven/utils';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { ConsoleEvent, NotebookEvent } from '../events';\nimport './CommandHistoryPanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('CommandHistoryPanel');\n\ninterface CommandHistoryPanelProps {\n glContainer: Container;\n glEventHub: EventEmitter;\n // eslint-disable-next-line react/no-unused-prop-types\n panelState?: Record<string, never>;\n session?: IdeSession;\n sessionId?: string;\n language?: string;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryPanelState {\n panelState: Record<string, never>;\n session?: IdeSession;\n sessionId?: string;\n language?: string;\n contextActions: ContextAction[];\n table?: CommandHistoryTable;\n}\n\nclass CommandHistoryPanel extends Component<\n CommandHistoryPanelProps,\n CommandHistoryPanelState\n> {\n static COMPONENT = 'CommandHistoryPanel';\n\n static TITLE = 'Command History';\n\n static handleError(error: unknown) {\n log.error(error);\n }\n\n constructor(props: CommandHistoryPanelProps) {\n super(props);\n\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSendToConsole = this.handleSendToConsole.bind(this);\n this.handleSendToNotebook = this.handleSendToNotebook.bind(this);\n\n this.container = React.createRef();\n this.pending = new Pending();\n\n const { session, sessionId, language } = props;\n\n this.state = {\n // eslint-disable-next-line react/no-unused-state\n panelState: {},\n session,\n sessionId,\n language,\n contextActions: [\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.COMMAND_HISTORY.FOCUS_HISTORY,\n },\n ],\n };\n }\n\n componentDidMount(): void {\n const { glEventHub, session } = this.props;\n glEventHub.on(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n if (session != null) {\n this.loadTable();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n glEventHub.off(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n\n this.pending.cancel();\n }\n\n container: RefObject<CommandHistory>;\n\n pending: Pending;\n\n handleFocusHistory(): void {\n if (this.container.current) {\n this.container.current.focus();\n }\n }\n\n handleShow(): void {\n // virtual list requires a forced reset to scroll position when picked up and dropped in same place\n this.container.current?.restoreScrollPosition();\n }\n\n handleSessionOpened(\n session: IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ): void {\n this.setState(\n {\n session,\n sessionId,\n language,\n },\n () => {\n this.loadTable();\n }\n );\n }\n\n handleSessionClosed() {\n this.pending.cancel();\n this.setState({\n session: undefined,\n language: undefined,\n table: undefined,\n });\n }\n\n handleSendToNotebook(\n settings: CommandHistorySettings,\n forceNewNotebook = false\n ) {\n const { session, language } = this.state;\n log.debug('handleSendToNotebook', session, settings);\n if (!session) {\n log.error('Session is not connected.');\n return;\n }\n const { glEventHub } = this.props;\n glEventHub.emit(\n forceNewNotebook\n ? NotebookEvent.CREATE_NOTEBOOK\n : NotebookEvent.SEND_TO_NOTEBOOK,\n session,\n language,\n settings\n );\n }\n\n handleSendToConsole(command: string, focus = true, execute = false) {\n log.debug('handleSendToConsole', command);\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, focus, execute);\n }\n\n loadTable() {\n const { commandHistoryStorage } = this.props;\n const { language, sessionId } = this.state;\n assertNotNull(language);\n assertNotNull(sessionId);\n this.pending\n .add(\n commandHistoryStorage.getTable(language, sessionId, Date.now()),\n resolved => resolved.close()\n )\n .then(table => {\n this.setState({ table });\n })\n .catch(CommandHistoryPanel.handleError);\n }\n\n render() {\n const { glContainer, glEventHub, commandHistoryStorage } = this.props;\n const { language, contextActions, table } = this.state;\n return (\n <Panel\n className=\"command-history-pane\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n {!table && (\n <div className=\"command-history-disconnected-message\">\n Waiting for console connection\n </div>\n )}\n {table && language != null && (\n <>\n <CommandHistory\n ref={this.container}\n language={language}\n sendToNotebook={this.handleSendToNotebook}\n sendToConsole={this.handleSendToConsole}\n table={table}\n commandHistoryStorage={commandHistoryStorage}\n />\n <ContextActions actions={contextActions} />\n </>\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n) => {\n const commandHistoryStorage = getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage;\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const { type: language, id: sessionId } = sessionConfig ?? {};\n\n return {\n commandHistoryStorage,\n language,\n session,\n sessionId,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n CommandHistoryPanel\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandHistoryPanel.js","names":["React","Component","connect","ContextActions","CommandHistory","SHORTCUTS","Log","getCommandHistoryStorage","assertNotNull","Pending","ConsoleEvent","NotebookEvent","Panel","getDashboardSessionWrapper","log","module","CommandHistoryPanel","handleError","error","constructor","props","handleFocusHistory","bind","handleSessionOpened","handleSessionClosed","handleShow","handleSendToConsole","handleSendToNotebook","container","createRef","pending","session","sessionId","language","state","panelState","contextActions","action","shortcut","COMMAND_HISTORY","FOCUS_HISTORY","componentDidMount","glEventHub","on","loadTable","componentWillUnmount","off","cancel","current","focus","restoreScrollPosition","setState","undefined","table","settings","forceNewNotebook","debug","emit","CREATE_NOTEBOOK","SEND_TO_NOTEBOOK","command","execute","SEND_COMMAND","commandHistoryStorage","add","getTable","Date","now","resolved","close","then","catch","render","glContainer","mapStateToProps","ownProps","sessionWrapper","localDashboardId","config","sessionConfig","type","id","ConnectedCommandHistoryPanel","forwardRef"],"sources":["../../src/panels/CommandHistoryPanel.tsx"],"sourcesContent":["import React, { Component, RefObject } from 'react';\nimport { connect } from 'react-redux';\nimport { ContextAction, ContextActions } from '@deephaven/components';\nimport {\n CommandHistory,\n CommandHistoryStorage,\n SHORTCUTS,\n CommandHistorySettings,\n CommandHistoryTable,\n} from '@deephaven/console';\nimport Log from '@deephaven/log';\nimport { getCommandHistoryStorage, RootState } from '@deephaven/redux';\nimport { assertNotNull, Pending } from '@deephaven/utils';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { ConsoleEvent, NotebookEvent } from '../events';\nimport './CommandHistoryPanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('CommandHistoryPanel');\n\ninterface CommandHistoryPanelProps {\n glContainer: Container;\n glEventHub: EventEmitter;\n // eslint-disable-next-line react/no-unused-prop-types\n panelState?: Record<string, never>;\n session?: IdeSession;\n sessionId?: string;\n language?: string;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryPanelState {\n panelState: Record<string, never>;\n session?: IdeSession;\n sessionId?: string;\n language?: string;\n contextActions: ContextAction[];\n table?: CommandHistoryTable;\n}\n\nclass CommandHistoryPanel extends Component<\n CommandHistoryPanelProps,\n CommandHistoryPanelState\n> {\n static COMPONENT = 'CommandHistoryPanel';\n\n static TITLE = 'Command History';\n\n static handleError(error: unknown) {\n log.error(error);\n }\n\n constructor(props: CommandHistoryPanelProps) {\n super(props);\n\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSendToConsole = this.handleSendToConsole.bind(this);\n this.handleSendToNotebook = this.handleSendToNotebook.bind(this);\n\n this.container = React.createRef();\n this.pending = new Pending();\n\n const { session, sessionId, language } = props;\n\n this.state = {\n // eslint-disable-next-line react/no-unused-state\n panelState: {},\n session,\n sessionId,\n language,\n contextActions: [\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.COMMAND_HISTORY.FOCUS_HISTORY,\n },\n ],\n };\n }\n\n componentDidMount(): void {\n const { glEventHub, session } = this.props;\n glEventHub.on(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n if (session != null) {\n this.loadTable();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n glEventHub.off(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n\n this.pending.cancel();\n }\n\n container: RefObject<CommandHistory>;\n\n pending: Pending;\n\n handleFocusHistory(): void {\n if (this.container.current) {\n this.container.current.focus();\n }\n }\n\n handleShow(): void {\n // virtual list requires a forced reset to scroll position when picked up and dropped in same place\n this.container.current?.restoreScrollPosition();\n }\n\n handleSessionOpened(\n session: IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ): void {\n this.setState(\n {\n session,\n sessionId,\n language,\n },\n () => {\n this.loadTable();\n }\n );\n }\n\n handleSessionClosed() {\n this.pending.cancel();\n this.setState({\n session: undefined,\n language: undefined,\n table: undefined,\n });\n }\n\n handleSendToNotebook(\n settings: CommandHistorySettings,\n forceNewNotebook = false\n ) {\n const { session, language } = this.state;\n log.debug('handleSendToNotebook', session, settings);\n if (!session) {\n log.error('Session is not connected.');\n return;\n }\n const { glEventHub } = this.props;\n glEventHub.emit(\n forceNewNotebook\n ? NotebookEvent.CREATE_NOTEBOOK\n : NotebookEvent.SEND_TO_NOTEBOOK,\n session,\n language,\n settings\n );\n }\n\n handleSendToConsole(command: string, focus = true, execute = false) {\n log.debug('handleSendToConsole', command);\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, focus, execute);\n }\n\n loadTable() {\n const { commandHistoryStorage } = this.props;\n const { language, sessionId } = this.state;\n assertNotNull(language);\n assertNotNull(sessionId);\n this.pending\n .add(\n commandHistoryStorage.getTable(language, sessionId, Date.now()),\n resolved => resolved.close()\n )\n .then(table => {\n this.setState({ table });\n })\n .catch(CommandHistoryPanel.handleError);\n }\n\n render() {\n const { glContainer, glEventHub, commandHistoryStorage } = this.props;\n const { language, contextActions, table } = this.state;\n return (\n <Panel\n className=\"command-history-pane\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n {!table && (\n <div className=\"command-history-disconnected-message\">\n Waiting for console connection\n </div>\n )}\n {table && language != null && (\n <>\n <CommandHistory\n ref={this.container}\n language={language}\n sendToNotebook={this.handleSendToNotebook}\n sendToConsole={this.handleSendToConsole}\n table={table}\n commandHistoryStorage={commandHistoryStorage}\n />\n <ContextActions actions={contextActions} />\n </>\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n) => {\n const commandHistoryStorage = getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage;\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const { type: language, id: sessionId } = sessionConfig ?? {};\n\n return {\n commandHistoryStorage,\n language,\n session,\n sessionId,\n };\n};\n\nconst ConnectedCommandHistoryPanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(CommandHistoryPanel);\n\nexport default ConnectedCommandHistoryPanel;\n"],"mappings":"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"}
|
|
@@ -71,8 +71,8 @@ export declare class ConsolePanel extends PureComponent<ConsolePanelProps, Conso
|
|
|
71
71
|
updateDimensions(): void;
|
|
72
72
|
render(): ReactElement;
|
|
73
73
|
}
|
|
74
|
-
declare const
|
|
74
|
+
declare const ConnectedConsolePanel: import("react-redux").ConnectedComponent<typeof ConsolePanel, import("react-redux").Omit<React.ClassAttributes<ConsolePanel> & ConsolePanelProps, "timeZone" | "sessionWrapper" | "commandHistoryStorage"> & {
|
|
75
75
|
localDashboardId: string;
|
|
76
76
|
}>;
|
|
77
|
-
export default
|
|
77
|
+
export default ConnectedConsolePanel;
|
|
78
78
|
//# sourceMappingURL=ConsolePanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../src/panels/ConsolePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -350,7 +350,8 @@ var mapStateToProps = (state, ownProps) => ({
|
|
|
350
350
|
sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),
|
|
351
351
|
timeZone: getTimeZone(state)
|
|
352
352
|
});
|
|
353
|
-
|
|
353
|
+
var ConnectedConsolePanel = connect(mapStateToProps, null, null, {
|
|
354
354
|
forwardRef: true
|
|
355
355
|
})(ConsolePanel);
|
|
356
|
+
export default ConnectedConsolePanel;
|
|
356
357
|
//# sourceMappingURL=ConsolePanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","Console","ConsoleConstants","HeapUsage","PanelEvent","Log","getCommandHistoryStorage","getTimeZone","assertNotNull","ConsoleEvent","Panel","getDashboardSessionWrapper","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","consoleRef","createRef","initialPanelState","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","flush","off","objectSubscriptionCleanup","sessionWrapper","session","updates","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","newItemIds","getItemId","createIfNecessary","get","generate","handleTabFocus","current","focus","panel","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","render","commandHistoryStorage","glContainer","timeZone","unzip","config","connection","sessionId","type","language","LANGUAGE_MAP","mapStateToProps","ownProps","localDashboardId","forwardRef"],"sources":["../../src/panels/ConsolePanel.tsx"],"sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent, ReactElement, RefObject } from 'react';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n HeapUsage,\n} from '@deephaven/console';\nimport { PanelEvent } from '@deephaven/dashboard';\nimport { IdeSession, VariableDefinition } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { assertNotNull } from '@deephaven/utils';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport './ConsolePanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper, SessionWrapper } from '../redux';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\ninterface ConsoleSettings {\n isClosePanelsOnDisconnectEnabled?: boolean;\n}\n\ninterface PanelState {\n consoleSettings: ConsoleSettings;\n itemIds: [string, string][];\n}\n\ntype ItemIds = Map<string, string>;\n\ninterface ConsolePanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n glContainer: Container;\n glEventHub: EventEmitter;\n\n panelState?: PanelState;\n\n sessionWrapper: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n}\n\ninterface ConsolePanelState {\n consoleSettings: ConsoleSettings;\n itemIds: ItemIds;\n\n objectMap: Map<string, VariableDefinition>;\n\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState;\n error: unknown;\n}\n\nexport class ConsolePanel extends PureComponent<\n ConsolePanelProps,\n ConsolePanelState\n> {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n constructor(props: ConsolePanelProps) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n\n this.consoleRef = React.createRef();\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n error: undefined,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(\n prevProps: ConsolePanelProps,\n prevState: ConsolePanelState\n ): void {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup?.();\n }\n\n consoleRef: RefObject<Console>;\n\n objectSubscriptionCleanup?: () => void;\n\n subscribeToFieldUpdates(): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n const { title } = toRemove;\n if (title !== undefined) {\n newObjectMap.delete(title);\n }\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.title !== undefined) {\n newObjectMap.set(toAdd.title, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name: string, id: string): void {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name: string, createIfNecessary = true): string | undefined {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabFocus(): void {\n this.consoleRef.current?.focus();\n }\n\n handlePanelMount(panel: {\n props: { id: string; metadata: { sourcePanelId: string } };\n }): void {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory(): void {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n handleShow(): void {\n this.updateDimensions();\n }\n\n handleOpenObject(object: VariableDefinition): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n this.openWidget(object, session);\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n }\n\n handleSettingsChange(consoleSettings: Record<string, unknown>): void {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param widget The widget to open\n * @param session The session object\n */\n openWidget(widget: VariableDefinition, session: IdeSession): void {\n const { glEventHub } = this.props;\n const { title } = widget;\n assertNotNull(title);\n const panelId = this.getItemId(title);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget,\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command: string, focus = true, execute = false): void {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false): void {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState = debounce((): void => {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }, DEBOUNCE_PANEL_STATE_UPDATE);\n\n updateDimensions(): void {\n this.consoleRef.current?.updateDimensions();\n }\n\n render(): ReactElement {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session, connection } = sessionWrapper;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n errorMessage={error != null ? `${error}` : undefined}\n >\n {session != null && (\n <Console\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div> </div>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n <div> </div>\n <div>\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </div>\n <div> </div>\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n) => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n ConsolePanel\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","Console","ConsoleConstants","HeapUsage","PanelEvent","Log","getCommandHistoryStorage","getTimeZone","assertNotNull","ConsoleEvent","Panel","getDashboardSessionWrapper","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","consoleRef","createRef","initialPanelState","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","flush","off","objectSubscriptionCleanup","sessionWrapper","session","updates","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","newItemIds","getItemId","createIfNecessary","get","generate","handleTabFocus","current","focus","panel","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","render","commandHistoryStorage","glContainer","timeZone","unzip","config","connection","sessionId","type","language","LANGUAGE_MAP","mapStateToProps","ownProps","localDashboardId","ConnectedConsolePanel","forwardRef"],"sources":["../../src/panels/ConsolePanel.tsx"],"sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent, ReactElement, RefObject } from 'react';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n HeapUsage,\n} from '@deephaven/console';\nimport { PanelEvent } from '@deephaven/dashboard';\nimport { IdeSession, VariableDefinition } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { assertNotNull } from '@deephaven/utils';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport './ConsolePanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper, SessionWrapper } from '../redux';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\ninterface ConsoleSettings {\n isClosePanelsOnDisconnectEnabled?: boolean;\n}\n\ninterface PanelState {\n consoleSettings: ConsoleSettings;\n itemIds: [string, string][];\n}\n\ntype ItemIds = Map<string, string>;\n\ninterface ConsolePanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n glContainer: Container;\n glEventHub: EventEmitter;\n\n panelState?: PanelState;\n\n sessionWrapper: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n}\n\ninterface ConsolePanelState {\n consoleSettings: ConsoleSettings;\n itemIds: ItemIds;\n\n objectMap: Map<string, VariableDefinition>;\n\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState;\n error: unknown;\n}\n\nexport class ConsolePanel extends PureComponent<\n ConsolePanelProps,\n ConsolePanelState\n> {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n constructor(props: ConsolePanelProps) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n\n this.consoleRef = React.createRef();\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n error: undefined,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(\n prevProps: ConsolePanelProps,\n prevState: ConsolePanelState\n ): void {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup?.();\n }\n\n consoleRef: RefObject<Console>;\n\n objectSubscriptionCleanup?: () => void;\n\n subscribeToFieldUpdates(): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n const { title } = toRemove;\n if (title !== undefined) {\n newObjectMap.delete(title);\n }\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.title !== undefined) {\n newObjectMap.set(toAdd.title, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name: string, id: string): void {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name: string, createIfNecessary = true): string | undefined {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabFocus(): void {\n this.consoleRef.current?.focus();\n }\n\n handlePanelMount(panel: {\n props: { id: string; metadata: { sourcePanelId: string } };\n }): void {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory(): void {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n handleShow(): void {\n this.updateDimensions();\n }\n\n handleOpenObject(object: VariableDefinition): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n this.openWidget(object, session);\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n }\n\n handleSettingsChange(consoleSettings: Record<string, unknown>): void {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param widget The widget to open\n * @param session The session object\n */\n openWidget(widget: VariableDefinition, session: IdeSession): void {\n const { glEventHub } = this.props;\n const { title } = widget;\n assertNotNull(title);\n const panelId = this.getItemId(title);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget,\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command: string, focus = true, execute = false): void {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false): void {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState = debounce((): void => {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }, DEBOUNCE_PANEL_STATE_UPDATE);\n\n updateDimensions(): void {\n this.consoleRef.current?.updateDimensions();\n }\n\n render(): ReactElement {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session, connection } = sessionWrapper;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n errorMessage={error != null ? `${error}` : undefined}\n >\n {session != null && (\n <Console\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div> </div>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n <div> </div>\n <div>\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </div>\n <div> </div>\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n) => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n});\n\nconst ConnectedConsolePanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(ConsolePanel);\n\nexport default ConnectedConsolePanel;\n"],"mappings":";;;;;AAAA;AACA;AACA,OAAOA,KAAK,IAAIC,aAAa,QAAiC,OAAO;AACrE,OAAOC,OAAO,MAAM,SAAS;AAC7B,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,OAAO,QAAQ,aAAa;AACrC,SAEEC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,QACJ,oBAAoB;AAC3B,SAASC,UAAU,QAAQ,sBAAsB;AAEjD,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SACEC,wBAAwB,EACxBC,WAAW,QAEN,kBAAkB;AAEzB,SAASC,aAAa,QAAQ,kBAAkB;AAAC,SAExCC,YAAY;AAAA;AAAA,OAEdC,KAAK;AAAA,SACHC,0BAA0B;AAEnC,IAAMC,GAAG,GAAGP,GAAG,CAACQ,MAAM,CAAC,cAAc,CAAC;AAEtC,IAAMC,2BAA2B,GAAG,GAAG;AAEvC,IAAMC,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAAC;EACxCC,eAAe,EAAE,CAAC,CAAC;EACnBC,OAAO,EAAE;AACX,CAAC,CAAC;AAqCF,OAAO,MAAMC,YAAY,SAASvB,aAAa,CAG7C;EAKAwB,WAAW,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAAC;IAAA;IAAA,wCAwNEvB,QAAQ,CAAC,MAAY;MACpC,IAAM;QAAEmB,eAAe;QAAEC;MAAQ,CAAC,GAAG,IAAI,CAACI,KAAK;MAC/C,IAAMC,UAAU,GAAG;QACjBN,eAAe;QACfC,OAAO,EAAE,CAAC,GAAGA,OAAO;MACtB,CAAC;MACDP,GAAG,CAACa,KAAK,CAAC,oBAAoB,EAAED,UAAU,CAAC;MAC3C;MACA,IAAI,CAACE,QAAQ,CAAC;QAAEF;MAAW,CAAC,CAAC;IAC/B,CAAC,EAAEV,2BAA2B,CAAC;IA/N7B,IAAI,CAACa,yBAAyB,GAAG,IAAI,CAACA,yBAAyB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1E,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACD,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACF,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACG,YAAY,GAAG,IAAI,CAACA,YAAY,CAACH,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACI,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACK,UAAU,GAAG,IAAI,CAACA,UAAU,CAACL,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACM,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACN,IAAI,CAAC,IAAI,CAAC;IAExD,IAAI,CAACO,UAAU,gBAAGvC,KAAK,CAACwC,SAAS,EAAE;IAEnC,IAAM;MAAEZ,UAAU,EAAEa;IAAkB,CAAC,GAAGf,KAAK;IAC/C,IAAME,WAAU,mCACXT,mBAAmB,GAClBsB,iBAAiB,IAAI,CAAC,CAAC,CAC5B;IACD,IAAM;MAAEnB,eAAe,EAAfA,gBAAe;MAAEC,OAAO,EAAPA;IAAQ,CAAC,GAAGK,WAAU;IAE/C,IAAI,CAACD,KAAK,GAAG;MACXL,eAAe,EAAfA,gBAAe;MACfC,OAAO,EAAE,IAAImB,GAAG,CAACnB,QAAO,CAAC;MAEzBoB,SAAS,EAAE,IAAID,GAAG,EAAE;MACpBE,KAAK,EAAEC,SAAS;MAChB;MACAjB,UAAU,EAAVA,WAAU,CAAE;IACd,CAAC;EACH;;EAEAkB,iBAAiB,GAAS;IACxB,IAAM;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjC;IACA;IACA,IAAI,CAACsB,uBAAuB,EAAE;IAC9BD,UAAU,CAACE,EAAE,CAACzC,UAAU,CAAC0C,KAAK,EAAE,IAAI,CAACZ,gBAAgB,CAAC;IACtD,IAAI,CAACa,uBAAuB,EAAE;EAChC;EAEAC,kBAAkB,CAChBC,SAA4B,EAC5BC,SAA4B,EACtB;IACN,IAAM;MAAEhC,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACI,KAAK;IAC/C,IACE2B,SAAS,CAAChC,eAAe,KAAKA,eAAe,IAC7CgC,SAAS,CAAC/B,OAAO,KAAKA,OAAO,EAC7B;MACA,IAAI,CAACgC,cAAc,EAAE;IACvB;EACF;EAEAC,oBAAoB,GAAS;IAAA;IAC3B,IAAM;MAAET;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjC,IAAI,CAAC6B,cAAc,CAACE,KAAK,EAAE;IAC3BV,UAAU,CAACW,GAAG,CAAClD,UAAU,CAAC0C,KAAK,EAAE,IAAI,CAACZ,gBAAgB,CAAC;IACvD,6BAAI,CAACqB,yBAAyB,0DAA9B,+BAAI,CAA8B;EACpC;EAMAR,uBAAuB,GAAS;IAC9B,IAAM;MAAES;IAAe,CAAC,GAAG,IAAI,CAAClC,KAAK;IACrC,IAAM;MAAEmC;IAAQ,CAAC,GAAGD,cAAc;IAElC,IAAI,CAACD,yBAAyB,GAAGE,OAAO,CAACV,uBAAuB,CAC9DW,OAAO,IAAI;MACT9C,GAAG,CAACa,KAAK,CAAC,aAAa,EAAEiC,OAAO,CAAC;MACjC,IAAI,CAAChC,QAAQ,CAAC,QAAmB;QAAA,IAAlB;UAAEa;QAAU,CAAC;QAC1B,IAAM;UAAEoB,OAAO;UAAEC,OAAO;UAAEC;QAAQ,CAAC,GAAGH,OAAO;;QAE7C;QACA,IAAMI,eAAe,GAAG,CAAC,GAAGH,OAAO,EAAE,GAAGE,OAAO,CAAC;QAChD,IAAME,YAAY,GAAG,IAAIzB,GAAG,CAACC,SAAS,CAAC;QACvCuB,eAAe,CAACE,OAAO,CAACC,QAAQ,IAAI;UAClC,IAAM;YAAEC;UAAM,CAAC,GAAGD,QAAQ;UAC1B,IAAIC,KAAK,KAAKzB,SAAS,EAAE;YACvBsB,YAAY,CAACI,MAAM,CAACD,KAAK,CAAC;UAC5B;QACF,CAAC,CAAC;;QAEF;QACA,IAAME,YAAY,GAAG,CAAC,GAAGT,OAAO,EAAE,GAAGC,OAAO,CAAC;QAC7CQ,YAAY,CAACJ,OAAO,CAACK,KAAK,IAAI;UAC5B,IAAIA,KAAK,CAACH,KAAK,KAAKzB,SAAS,EAAE;YAC7BsB,YAAY,CAACO,GAAG,CAACD,KAAK,CAACH,KAAK,EAAEG,KAAK,CAAC;UACtC;QACF,CAAC,CAAC;QAEF,OAAO;UAAE9B,SAAS,EAAEwB;QAAa,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CACF;EACH;EAEAQ,SAAS,CAACC,IAAY,EAAEC,EAAU,EAAQ;IACxC,IAAI,CAAC/C,QAAQ,CAAC,SAAiB;MAAA,IAAhB;QAAEP;MAAQ,CAAC;MACxB,IAAMuD,UAAU,GAAG,IAAIpC,GAAG,CAACnB,OAAO,CAAC;MACnCuD,UAAU,CAACJ,GAAG,CAACE,IAAI,EAAEC,EAAE,CAAC;MACxB,OAAO;QAAEtD,OAAO,EAAEuD;MAAW,CAAC;IAChC,CAAC,CAAC;EACJ;EAEAC,SAAS,CAACH,IAAY,EAAgD;IAAA,IAA9CI,iBAAiB,uEAAG,IAAI;IAC9C,IAAM;MAAEzD;IAAQ,CAAC,GAAG,IAAI,CAACI,KAAK;IAC9B,IAAIkD,EAAE,GAAGtD,OAAO,CAAC0D,GAAG,CAACL,IAAI,CAAC;IAC1B,IAAIC,EAAE,IAAI,IAAI,IAAIG,iBAAiB,EAAE;MACnCH,EAAE,GAAG3E,OAAO,CAACgF,QAAQ,EAAE;MACvB,IAAI,CAACP,SAAS,CAACC,IAAI,EAAEC,EAAE,CAAC;IAC1B;IACA,OAAOA,EAAE;EACX;EAEAM,cAAc,GAAS;IAAA;IACrB,6BAAI,CAAC5C,UAAU,CAAC6C,OAAO,0DAAvB,sBAAyBC,KAAK,EAAE;EAClC;EAEA/C,gBAAgB,CAACgD,KAEhB,EAAQ;IAAA;IACP,IAAM;MAAE/D;IAAQ,CAAC,GAAG,IAAI,CAACI,KAAK;IAC9B,IAAM4D,OAAO,GAAGD,KAAK,aAALA,KAAK,uCAALA,KAAK,CAAE5D,KAAK,iDAAZ,aAAcmD,EAAE;IAChC,IAAMW,QAAQ,GAAGF,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAE5D,KAAK,2EAAZ,cAAc+D,QAAQ,0DAAtB,sBAAwBC,aAAa;IACtD,IAAIH,OAAO,IAAIC,QAAQ,EAAE;MACvB;MACA,IAAMG,SAAS,GAAG,IAAIC,GAAG,CAACrE,OAAO,CAACsE,MAAM,EAAE,CAAC;MAC3C,IAAIF,SAAS,CAACG,GAAG,CAACN,QAAQ,CAAC,EAAE;QAC3B;QACA,IAAI,CAACb,SAAS,CAACY,OAAO,EAAEA,OAAO,CAAC;MAClC;IACF;EACF;EAEAxD,yBAAyB,GAAS;IAChC,IAAM;MAAEgB;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjCqB,UAAU,CAACgD,IAAI,CAAClF,YAAY,CAACmF,aAAa,CAAC;EAC7C;EAEA7D,YAAY,GAAS;IACnB,IAAI,CAAC8D,gBAAgB,EAAE;EACzB;EAEA5D,UAAU,GAAS;IACjB,IAAI,CAAC4D,gBAAgB,EAAE;EACzB;EAEAhE,gBAAgB,CAACiE,MAA0B,EAAQ;IACjD,IAAM;MAAEtC;IAAe,CAAC,GAAG,IAAI,CAAClC,KAAK;IACrC,IAAM;MAAEmC;IAAQ,CAAC,GAAGD,cAAc;IAClC,IAAI,CAACuC,UAAU,CAACD,MAAM,EAAErC,OAAO,CAAC;EAClC;EAEA3B,iBAAiB,CAACgE,MAA0B,EAAQ;IAClD,IAAM;MAAE5B;IAAM,CAAC,GAAG4B,MAAM;IACxB,IAAI5B,KAAK,KAAKzB,SAAS,EAAE;MACvB,IAAMgC,EAAE,GAAG,IAAI,CAACE,SAAS,CAACT,KAAK,EAAE,KAAK,CAAC;MACvC,IAAM;QAAEvB;MAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;MACjCqB,UAAU,CAACgD,IAAI,CAACvF,UAAU,CAAC4F,KAAK,EAAEvB,EAAE,CAAC;IACvC;EACF;EAEAzC,oBAAoB,CAACd,eAAwC,EAAQ;IACnE,IAAM;MAAEyB;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjCV,GAAG,CAACa,KAAK,CAAC,sBAAsB,EAAEP,eAAe,CAAC;IAClD,IAAI,CAACQ,QAAQ,CAAC;MACZR;IACF,CAAC,CAAC;IACFyB,UAAU,CAACgD,IAAI,CAAClF,YAAY,CAACwF,gBAAgB,EAAE/E,eAAe,CAAC;EACjE;;EAEA;AACF;AACA;AACA;EACE6E,UAAU,CAACG,MAA0B,EAAEzC,OAAmB,EAAQ;IAChE,IAAM;MAAEd;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjC,IAAM;MAAE4C;IAAM,CAAC,GAAGgC,MAAM;IACxB1F,aAAa,CAAC0D,KAAK,CAAC;IACpB,IAAMiB,OAAO,GAAG,IAAI,CAACR,SAAS,CAACT,KAAK,CAAC;IACrC,IAAMiC,WAAW,GAAG;MAClBC,KAAK,EAAE,MAAM3C,OAAO,CAAC4C,SAAS,CAACH,MAAM,CAAC;MACtCf,OAAO;MACPe;IACF,CAAC;IAEDtF,GAAG,CAACa,KAAK,CAAC,YAAY,EAAE0E,WAAW,CAAC;IAEpCxD,UAAU,CAACgD,IAAI,CAACvF,UAAU,CAACkG,IAAI,EAAEH,WAAW,CAAC;EAC/C;EAEAI,UAAU,CAACC,OAAe,EAAuC;IAAA;IAAA,IAArCvB,KAAK,uEAAG,IAAI;IAAA,IAAEwB,OAAO,uEAAG,KAAK;IACvD,8BAAI,CAACtE,UAAU,CAAC6C,OAAO,2DAAvB,uBAAyBuB,UAAU,CAACC,OAAO,EAAEvB,KAAK,EAAEwB,OAAO,CAAC;EAC9D;;EAEA;AACF;AACA;AACA;EACE7D,uBAAuB,GAAsB;IAAA,IAArB8D,KAAK,uEAAG,KAAK;IACnC,IAAM;MAAExF,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACI,KAAK;IAC/C,IAAM;MAAEoF,gCAAgC,GAAG;IAAK,CAAC,GAAGzF,eAAe;IACnE,IAAI,CAACyF,gCAAgC,IAAI,CAACD,KAAK,EAAE;MAC/C;IACF;IAEA,IAAME,eAAe,GAAG,CAAC,GAAGzF,OAAO,CAACsE,MAAM,EAAE,CAAC;IAC7C,IAAM;MAAE9C;IAAW,CAAC,GAAG,IAAI,CAACrB,KAAK;IACjCsF,eAAe,CAAC5C,OAAO,CAACmB,OAAO,IAAI;MACjCxC,UAAU,CAACgD,IAAI,CAACvF,UAAU,CAAC4F,KAAK,EAAEb,OAAO,CAAC;IAC5C,CAAC,CAAC;IAEF,IAAI,CAACzD,QAAQ,CAAC;MAAEP,OAAO,EAAE,IAAImB,GAAG;IAAG,CAAC,CAAC;EACvC;EAaAuD,gBAAgB,GAAS;IAAA;IACvB,8BAAI,CAAC1D,UAAU,CAAC6C,OAAO,2DAAvB,uBAAyBa,gBAAgB,EAAE;EAC7C;EAEAgB,MAAM,GAAiB;IACrB,IAAM;MACJC,qBAAqB;MACrBC,WAAW;MACXpE,UAAU;MACVa,cAAc;MACdwD,QAAQ;MACRC;IACF,CAAC,GAAG,IAAI,CAAC3F,KAAK;IACd,IAAM;MAAEJ,eAAe;MAAEsB,KAAK;MAAED;IAAU,CAAC,GAAG,IAAI,CAAChB,KAAK;IACxD,IAAM;MAAE2F,MAAM;MAAEzD,OAAO;MAAE0D;IAAW,CAAC,GAAG3D,cAAc;IACtD,IAAM;MAAEiB,EAAE,EAAE2C,SAAS;MAAEC,IAAI,EAAEC;IAAS,CAAC,GAAGJ,MAAM;IAEhD,oBACE,oBAAC,KAAK;MACJ,cAAc,EAAE,IAAK;MACrB,WAAW,EAAEH,WAAY;MACzB,UAAU,EAAEpE,UAAW;MACvB,QAAQ,EAAE,IAAI,CAACZ,YAAa;MAC5B,MAAM,EAAE,IAAI,CAACE,UAAW;MACxB,UAAU,EAAE,IAAI,CAAC8C,cAAe;MAChC,YAAY,EAAEvC,KAAK,IAAI,IAAI,aAAMA,KAAK,IAAKC;IAAU,GAEpDgB,OAAO,IAAI,IAAI,iBACd,oBAAC,OAAO;MACN,GAAG,EAAE,IAAI,CAACtB,UAAW;MACrB,QAAQ,EAAEjB,eAAgB;MAC1B,OAAO,EAAEuC,OAAQ;MACjB,mBAAmB,EAAE,IAAI,CAAC9B,yBAA0B;MACpD,UAAU,EAAE,IAAI,CAACE,gBAAiB;MAClC,WAAW,EAAE,IAAI,CAACC,iBAAkB;MACpC,qBAAqB,EAAEgF,qBAAsB;MAC7C,gBAAgB,EAAE,IAAI,CAAC9E,oBAAqB;MAC5C,QAAQ,EAAEsF,QAAS;MACnB,iBAAiB,eACf,uDACE,iCAAK,MAAM,CAAM,eACjB,iCAAMpH,gBAAgB,CAACqH,YAAY,CAAC1C,GAAG,CAACyC,QAAQ,CAAC,CAAO,eACxD,iCAAK,MAAM,CAAM,eACjB,8CACE,oBAAC,SAAS;QACR,UAAU,EAAEH,UAAW;QACvB,qBAAqB,EAAE,EAAE,GAAG,IAAK;QACjC,mBAAmB,EAAE,CAAC,GAAG,IAAK;QAC9B,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG;MAAK,EAChC,CACE,eACN,iCAAK,MAAM,CAAM,CAEpB;MACD,KAAK,EAAEC,SAAU;MACjB,QAAQ,EAAEJ,QAAS;MACnB,SAAS,EAAEzE,SAAU;MACrB,KAAK,EAAE0E;IAAM,EAEhB,CACK;EAEZ;AACF;AAAC,gBA3SY7F,YAAY,eAIJ,cAAc;AAAA,gBAJtBA,YAAY,WAMR,SAAS;AAuS1B,IAAMoG,eAAe,GAAG,CACtBjG,KAAgB,EAChBkG,QAAsC,MAClC;EACJX,qBAAqB,EAAExG,wBAAwB,CAC7CiB,KAAK,CACmB;EAC1BiC,cAAc,EAAE7C,0BAA0B,CAACY,KAAK,EAAEkG,QAAQ,CAACC,gBAAgB,CAAC;EAC5EV,QAAQ,EAAEzG,WAAW,CAACgB,KAAK;AAC7B,CAAC,CAAC;AAEF,IAAMoG,qBAAqB,GAAG3H,OAAO,CAACwH,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;EACjEI,UAAU,EAAE;AACd,CAAC,CAAC,CAACxG,YAAY,CAAC;AAEhB,eAAeuG,qBAAqB"}
|
|
@@ -120,12 +120,12 @@ export declare class DropdownFilterPanel extends Component<DropdownFilterPanelPr
|
|
|
120
120
|
handleSourceMouseLeave(): void;
|
|
121
121
|
render(): React.ReactElement;
|
|
122
122
|
}
|
|
123
|
-
declare const
|
|
123
|
+
declare const ConnectedDropdownFilterPanel: import("react-redux").ConnectedComponent<typeof DropdownFilterPanel, import("react-redux").Omit<React.ClassAttributes<DropdownFilterPanel> & import("@deephaven/dashboard").PanelProps & {
|
|
124
124
|
localDashboardId: string;
|
|
125
125
|
metadata?: Record<string, unknown> | undefined;
|
|
126
126
|
} & StateProps & import("react-redux").DispatchProp<import("redux").AnyAction>, "panelState" | "columns" | "dispatch" | "columnSelectionValidator" | "dashboardLinks" | "disableLinking" | "isLinkerActive" | "panelTableMap" | "settings"> & import("@deephaven/dashboard").PanelProps & {
|
|
127
127
|
localDashboardId: string;
|
|
128
128
|
metadata?: Record<string, unknown> | undefined;
|
|
129
129
|
}>;
|
|
130
|
-
export default
|
|
130
|
+
export default ConnectedDropdownFilterPanel;
|
|
131
131
|
//# sourceMappingURL=DropdownFilterPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -667,5 +667,6 @@ _defineProperty(DropdownFilterPanel, "SOURCE_COLUMN", Object.freeze({
|
|
|
667
667
|
name: 'FilterSource',
|
|
668
668
|
type: null
|
|
669
669
|
}));
|
|
670
|
-
|
|
670
|
+
var ConnectedDropdownFilterPanel = connector(DropdownFilterPanel);
|
|
671
|
+
export default ConnectedDropdownFilterPanel;
|
|
671
672
|
//# sourceMappingURL=DropdownFilterPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFilterPanel.js","names":["React","Component","connect","debounce","deepEqual","memoize","LayoutUtils","dh","DateTimeColumnFormatter","Formatter","FormatterUtils","TableUtils","Log","getActiveTool","getSettings","Pending","PromiseUtils","DropdownFilter","InputFilterEvent","getColumnsForDashboard","getColumnSelectionValidatorForDashboard","getIsolatedLinkerPanelIdForDashboard","getLinksForDashboard","getTableMapForDashboard","ToolType","WidgetPanel","log","module","DROPDOWN_FILTER_DEBOUNCE","mapStateToProps","state","ownProps","localDashboardId","panelId","getIdFromPanel","props","panelTableMap","dashboardLinks","activeTool","isolatedLinkerPanelId","isLinkerActive","LINKER","undefined","disableLinking","columns","columnSelectionValidator","settings","connector","forwardRef","DropdownFilterPanel","constructor","rawValues","formatter","type","name","isDateType","map","value","DATETIME_FORMATTER","format","getFormattedString","panel","debug","filter","link","end","links","source","length","start","error","get","table","find","columnName","columnType","handleChange","bind","handleClearAllFilters","handleDisconnect","handleReconnect","handleColumnSelected","handleSourceFilterChange","handleSourceSortChange","handleSourceSizeChange","handleSourceMouseEnter","handleSourceMouseLeave","handleValuesTableUpdate","dropdownFilterRef","createRef","panelContainer","pending","panelState","columnFormats","getColumnFormats","isValueShown","timestamp","column","valuesTable","valuesColumn","sourceSize","values","wasFlipped","skipUpdate","isDisconnected","isLoading","isLoaded","componentDidMount","updateValuesTable","sourceTable","getSourceTable","startListeningToSource","sendUpdate","componentDidUpdate","prevProps","prevState","getSource","prevSource","prevSourceTable","updateFormatterSettings","close","stopListeningToSource","componentWillUnmount","cancel","cleanup","getCoordinateForColumn","current","element","querySelector","SOURCE_BUTTON_CLASS_NAME","rect","getBoundingClientRect","width","height","x","left","y","bottom","getSettingsErrorMessage","MAX_TABLE_SIZE","getPanelErrorMessage","panelLinks","getCachedPanelLinks","getCachedSource","getCachedSourceTable","getValuesColumn","getCachedSourceColumn","addEventListener","Table","EVENT_FILTERCHANGED","EVENT_SORTCHANGED","EVENT_SIZECHANGED","EVENT_DISCONNECT","EVENT_RECONNECT","removeEventListener","Date","now","setState","prevTimestamp","isFlip","Error","applySourceFilters","applySourceSorts","detail","glEventHub","emit","COLUMN_SELECTED","SOURCE_COLUMN","clearFilter","setPanelState","setFilterState","sourcePanelId","excludePanelIds","FILTERS_CHANGED","size","add","copy","resolved","then","updateViewportListener","catch","isCanceled","sort","sorts","applySort","setViewport","filters","applyFilter","EVENT_UPDATED","rows","row","render","glContainer","settingsErrorMessage","panelErrorMessage","formattedValues","getCachedValues","showTimeZone","showTSeparator","defaultDateTimeFormatString","Object","freeze"],"sources":["../../src/panels/DropdownFilterPanel.tsx"],"sourcesContent":["import React, { Component, RefObject } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport debounce from 'lodash.debounce';\nimport deepEqual from 'deep-equal';\nimport memoize from 'memoizee';\nimport { DashboardPanelProps, LayoutUtils } from '@deephaven/dashboard';\nimport dh from '@deephaven/jsapi-shim';\nimport type { Column, Row, Table, TableTemplate } from '@deephaven/jsapi-shim';\nimport {\n DateTimeColumnFormatter,\n Formatter,\n FormatterUtils,\n FormattingRule,\n TableUtils,\n} from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { getActiveTool, getSettings, RootState } from '@deephaven/redux';\nimport { Pending, PromiseUtils } from '@deephaven/utils';\nimport DropdownFilter, {\n DropdownFilterColumn,\n} from '../controls/dropdown-filter/DropdownFilter';\nimport { InputFilterEvent } from '../events';\nimport {\n getColumnsForDashboard,\n getColumnSelectionValidatorForDashboard,\n getIsolatedLinkerPanelIdForDashboard,\n getLinksForDashboard,\n getTableMapForDashboard,\n} from '../redux';\nimport './DropdownFilterPanel.scss';\nimport ToolType from '../linker/ToolType';\nimport WidgetPanel from './WidgetPanel';\nimport type { Link, LinkPoint } from '../linker/LinkerUtils';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\nimport { PanelState as InputFilterPanelState } from './InputFilterPanel';\n\nconst log = Log.module('DropdownFilterPanel');\n\nconst DROPDOWN_FILTER_DEBOUNCE = 250;\n\ninterface PanelState {\n name?: string;\n type?: string;\n value?: string;\n isValueShown?: boolean;\n timestamp?: number;\n}\n\ntype PanelTableMap = Map<string | string[], TableTemplate>;\n\ntype StateProps = {\n columns: Column[];\n columnSelectionValidator?: ColumnSelectionValidator;\n dashboardLinks: Link[];\n disableLinking: boolean;\n isLinkerActive: boolean;\n panelTableMap: PanelTableMap;\n panelState?: PanelState;\n settings: { formatter: FormattingRule[] };\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const { localDashboardId } = ownProps;\n const panelId = LayoutUtils.getIdFromPanel({ props: ownProps });\n const panelTableMap = getTableMapForDashboard(state, localDashboardId);\n const dashboardLinks = getLinksForDashboard(state, localDashboardId);\n const activeTool = getActiveTool(state);\n const isolatedLinkerPanelId = getIsolatedLinkerPanelIdForDashboard(\n state,\n localDashboardId\n );\n const isLinkerActive =\n activeTool === ToolType.LINKER &&\n (isolatedLinkerPanelId === undefined || isolatedLinkerPanelId === panelId);\n // Disable linking if linker is in isolated mode for a different panel\n const disableLinking =\n activeTool === ToolType.LINKER &&\n isolatedLinkerPanelId !== undefined &&\n isolatedLinkerPanelId !== panelId;\n\n return {\n columns: getColumnsForDashboard(state, localDashboardId),\n columnSelectionValidator: getColumnSelectionValidatorForDashboard(\n state,\n localDashboardId\n ),\n isLinkerActive,\n disableLinking,\n settings: getSettings(state),\n panelTableMap,\n dashboardLinks,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type DropdownFilterPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\ninterface DropdownFilterPanelState {\n column?: DropdownFilterColumn;\n formatter: Formatter;\n valuesTable?: TableTemplate;\n valuesColumn?: Column;\n sourceSize: number;\n value: string;\n timestamp?: number;\n values: unknown[];\n isValueShown: boolean;\n wasFlipped: boolean;\n skipUpdate: boolean;\n\n panelState?: PanelState; // Dehydrated panel state that can load this panel\n\n isDisconnected: boolean;\n isLoading: boolean;\n isLoaded: boolean;\n error: unknown | null;\n}\n\nexport class DropdownFilterPanel extends Component<\n DropdownFilterPanelProps,\n DropdownFilterPanelState\n> {\n static displayName = 'DropdownFilterPanel';\n\n static COMPONENT = 'DropdownFilterPanel';\n\n static MAX_TABLE_SIZE = 256;\n\n // Filter dropdown needs to show and send full timestamp format with nanoseconds\n static DATETIME_FORMATTER = new DateTimeColumnFormatter({\n showTimeZone: false,\n showTSeparator: true,\n defaultDateTimeFormatString: `yyyy-MM-dd HH:mm:ss.SSSSSSSSS`,\n });\n\n static SOURCE_COLUMN = Object.freeze({\n name: 'FilterSource',\n type: null,\n });\n\n constructor(props: DropdownFilterPanelProps) {\n super(props);\n\n this.handleChange = debounce(\n this.handleChange.bind(this),\n DROPDOWN_FILTER_DEBOUNCE\n );\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n this.handleDisconnect = this.handleDisconnect.bind(this);\n this.handleReconnect = this.handleReconnect.bind(this);\n this.handleColumnSelected = this.handleColumnSelected.bind(this);\n this.handleSourceFilterChange = this.handleSourceFilterChange.bind(this);\n this.handleSourceSortChange = this.handleSourceSortChange.bind(this);\n this.handleSourceSizeChange = this.handleSourceSizeChange.bind(this);\n this.handleSourceMouseEnter = this.handleSourceMouseEnter.bind(this);\n this.handleSourceMouseLeave = this.handleSourceMouseLeave.bind(this);\n this.handleValuesTableUpdate = this.handleValuesTableUpdate.bind(this);\n\n this.dropdownFilterRef = React.createRef();\n this.panelContainer = React.createRef();\n this.pending = new Pending();\n\n const { panelState, settings } = props;\n this.columnFormats = FormatterUtils.getColumnFormats(settings);\n const { value = '', isValueShown = false, name, type, timestamp } =\n panelState ?? {};\n const column = name != null && type != null ? { name, type } : undefined;\n this.state = {\n column,\n formatter: new Formatter(this.columnFormats),\n valuesTable: undefined,\n valuesColumn: undefined,\n sourceSize: 0,\n value,\n timestamp,\n values: [],\n isValueShown,\n wasFlipped: false,\n skipUpdate: false,\n\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n\n isDisconnected: false,\n isLoading: false,\n isLoaded: false,\n error: null,\n };\n }\n\n componentDidMount(): void {\n this.updateValuesTable();\n const { dashboardLinks, panelTableMap } = this.props;\n const { column, value, timestamp } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n if (sourceTable !== null) {\n this.startListeningToSource(sourceTable);\n }\n if (column != null) {\n const { name, type } = column;\n this.sendUpdate(name, type, value, timestamp);\n }\n }\n\n componentDidUpdate(\n prevProps: DropdownFilterPanelProps,\n prevState: DropdownFilterPanelState\n ): void {\n const { dashboardLinks, panelTableMap, settings } = this.props;\n const { valuesTable } = this.state;\n const source = this.getSource(dashboardLinks);\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n\n const prevSource = this.getSource(prevProps.dashboardLinks);\n const prevSourceTable = this.getSourceTable(\n prevProps.panelTableMap,\n prevProps.dashboardLinks\n );\n\n if (settings !== prevProps.settings && settings !== undefined) {\n this.updateFormatterSettings(settings);\n }\n\n if (\n valuesTable !== prevState.valuesTable &&\n prevState.valuesTable != null\n ) {\n log.debug('Table in state modified, closing the old table.');\n prevState.valuesTable.close();\n }\n\n // Checking source change in addition to table change\n // in case a different column is selected in the same table\n if (sourceTable !== prevSourceTable || source !== prevSource) {\n this.updateValuesTable();\n }\n\n if (sourceTable !== prevSourceTable) {\n if (prevSourceTable !== null) {\n this.stopListeningToSource(prevSourceTable);\n }\n if (sourceTable !== null) {\n this.startListeningToSource(sourceTable);\n }\n }\n }\n\n componentWillUnmount(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n this.pending.cancel();\n if (sourceTable !== null) {\n this.stopListeningToSource(sourceTable);\n }\n if (this.cleanup) {\n this.cleanup();\n }\n if (valuesTable != null) {\n valuesTable.close();\n }\n }\n\n dropdownFilterRef: RefObject<DropdownFilter>;\n\n panelContainer: RefObject<HTMLDivElement>;\n\n pending: Pending;\n\n cleanup?: () => void;\n\n columnFormats?: FormattingRule[];\n\n getCachedValues = memoize(\n (\n rawValues: unknown[],\n { type, name }: DropdownFilterColumn,\n formatter: Formatter\n ) => {\n if (type !== undefined && TableUtils.isDateType(type)) {\n return rawValues.map(value =>\n DropdownFilterPanel.DATETIME_FORMATTER.format(value as number)\n );\n }\n return rawValues.map(value =>\n // Skip formatting for nulls so they don't get converted to ''\n value != null && type != null\n ? formatter.getFormattedString(value, type, name)\n : null\n );\n }\n );\n\n getCoordinateForColumn(): [number, number] | null {\n if (this.panelContainer.current == null) {\n return null;\n }\n\n const element = this.panelContainer.current.querySelector(\n `.${DropdownFilter.SOURCE_BUTTON_CLASS_NAME}`\n );\n const rect = element?.getBoundingClientRect() ?? null;\n if (rect == null || rect.width <= 0 || rect.height <= 0) {\n return null;\n }\n const x = rect.left + rect.width / 2;\n const y = rect.bottom;\n return [x, y];\n }\n\n getSettingsErrorMessage(): string | undefined {\n const { sourceSize } = this.state;\n if (sourceSize > DropdownFilterPanel.MAX_TABLE_SIZE) {\n return `Table too large, must have fewer than ${DropdownFilterPanel.MAX_TABLE_SIZE} options.`;\n }\n return undefined;\n }\n\n getPanelErrorMessage(): string | undefined {\n const { error } = this.state;\n return error != null ? `${error}` : undefined;\n }\n\n getCachedPanelLinks = memoize(\n (dashboardLinks: Link[], panel: DropdownFilterPanel) => {\n const panelId = LayoutUtils.getIdFromPanel(panel);\n log.debug('getCachedPanelLinks', dashboardLinks, panelId);\n return dashboardLinks.filter(link => link.end?.panelId === panelId);\n }\n );\n\n getCachedSource = memoize((links: Link[]) => {\n log.debug('getCachedSource', links);\n let source: LinkPoint | undefined;\n if (links.length > 0) {\n const [link] = links;\n source = link.start;\n if (links.length > 1) {\n log.error('Filter has more that one link', links);\n }\n }\n return source;\n });\n\n getCachedSourceTable = memoize(\n (\n panelTableMap: Map<string | string[], TableTemplate<Table>>,\n source: LinkPoint | undefined\n ) => {\n log.debug('getCachedSourceTable', panelTableMap, source);\n if (source == null) {\n return null;\n }\n const { panelId } = source;\n return panelTableMap.get(panelId) ?? null;\n }\n );\n\n getCachedSourceColumn = memoize(\n (table: TableTemplate, source: LinkPoint | undefined) => {\n log.debug('getCachedSourceColumn', table, source);\n if (table == null || source == null) {\n return null;\n }\n return (\n table.columns.find(\n ({ name, type }) =>\n name === source.columnName && type === source.columnType\n ) ?? null\n );\n }\n );\n\n getSource(links: Link[]): LinkPoint | undefined {\n const panelLinks = this.getCachedPanelLinks(links, this);\n return this.getCachedSource(panelLinks);\n }\n\n getSourceTable(\n panelTableMap: PanelTableMap,\n links: Link[]\n ): TableTemplate | null {\n const source = this.getSource(links);\n return this.getCachedSourceTable(panelTableMap, source);\n }\n\n getValuesColumn(valuesTable: TableTemplate, links: Link[]): Column | null {\n const source = this.getSource(links);\n return this.getCachedSourceColumn(valuesTable, source);\n }\n\n startListeningToSource(sourceTable: TableTemplate): void {\n log.debug('startListeningToSource');\n sourceTable.addEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleSourceFilterChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_SORTCHANGED,\n this.handleSourceSortChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_SIZECHANGED,\n this.handleSourceSizeChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_DISCONNECT,\n this.handleDisconnect\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_RECONNECT,\n this.handleReconnect\n );\n }\n\n stopListeningToSource(sourceTable: TableTemplate): void {\n log.debug('stopListeningToSource');\n sourceTable.removeEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleSourceFilterChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_SORTCHANGED,\n this.handleSourceSortChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_SIZECHANGED,\n this.handleSourceSizeChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_DISCONNECT,\n this.handleDisconnect\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_RECONNECT,\n this.handleReconnect\n );\n }\n\n handleChange({\n column,\n isValueShown = false,\n value,\n }: {\n column: Partial<Column> | null;\n isValueShown?: boolean | undefined;\n value?: string | undefined;\n }): void {\n const { name = undefined, type = undefined } = column ?? {};\n let sendUpdate = true;\n let timestamp: number | undefined = Date.now();\n this.setState(\n ({ panelState, timestamp: prevTimestamp, wasFlipped, skipUpdate }) => {\n // If the user had a value set, and they flip the card over and flip it back without changing any settings, ignore it\n const isFlip =\n panelState != null &&\n isValueShown !== panelState.isValueShown &&\n name === panelState.name &&\n type === panelState.type &&\n value === panelState.value;\n sendUpdate =\n (!skipUpdate && isValueShown && (!isFlip || !wasFlipped)) ?? false;\n\n if (!sendUpdate) {\n timestamp = prevTimestamp;\n }\n\n return {\n panelState: {\n isValueShown,\n name,\n type,\n value,\n timestamp: timestamp ?? undefined,\n },\n timestamp,\n wasFlipped: isFlip,\n skipUpdate: false,\n };\n },\n () => {\n if (sendUpdate) {\n this.sendUpdate(name ?? null, type, value, timestamp);\n }\n }\n );\n }\n\n handleDisconnect(): void {\n this.setState({\n error: new Error('Table disconnected'),\n isDisconnected: true,\n isLoading: false,\n });\n }\n\n handleReconnect(): void {\n this.setState({ isDisconnected: false, error: null });\n }\n\n handleSourceFilterChange(): void {\n this.applySourceFilters();\n }\n\n handleSourceSortChange(): void {\n this.applySourceSorts();\n }\n\n handleSourceSizeChange({ detail }: { detail: number }): void {\n this.setState({ sourceSize: detail });\n }\n\n handleColumnSelected(): void {\n log.debug('handleColumnSelected');\n const { glEventHub } = this.props;\n glEventHub.emit(\n InputFilterEvent.COLUMN_SELECTED,\n this,\n DropdownFilterPanel.SOURCE_COLUMN\n );\n }\n\n handleClearAllFilters(): void {\n this.dropdownFilterRef?.current?.clearFilter();\n }\n\n /**\n * Set the filter value, card side, selected column\n * @param state Filter state to set\n * @param sendUpdate Emit filters changed event if true\n */\n setPanelState(state: InputFilterPanelState, sendUpdate = false): void {\n const { dashboardLinks } = this.props;\n if (this.getSource(dashboardLinks) == null) {\n log.debug('Ignore state update for unlinked filter', state);\n return;\n }\n // Set the skipUpdate flag so the next onChange handler call doesn't emit the FILTERS_CHANGED event\n this.setState({ skipUpdate: !sendUpdate });\n\n // Changing the inputFilter state via props doesn't quite work because of the delays on manual input changes\n // Setting the ref state directly triggers the onChange handler and updates the panelState\n this.dropdownFilterRef?.current?.setFilterState(state);\n }\n\n sendUpdate(\n name: string | null,\n type: string | undefined,\n value: string | undefined,\n timestamp?: number\n ): void {\n const { dashboardLinks, glEventHub } = this.props;\n const sourcePanelId = this.getSource(dashboardLinks)?.panelId;\n const excludePanelIds = sourcePanelId === null ? [] : [sourcePanelId];\n log.debug('sendUpdate', {\n name,\n type,\n value,\n timestamp,\n excludePanelIds,\n });\n\n glEventHub.emit(InputFilterEvent.FILTERS_CHANGED, this, {\n name,\n type,\n value: value != null ? value : '=null',\n timestamp,\n excludePanelIds,\n });\n }\n\n updateValuesTable(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const source = this.getSource(dashboardLinks);\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('updateValuesTable', source, sourceTable);\n\n this.setState({\n values: [],\n valuesTable: undefined,\n error: null,\n });\n\n if (source == null) {\n log.debug('Filter unlinked.');\n this.setState({\n isLoading: false,\n isLoaded: true,\n isValueShown: false,\n sourceSize: 0,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n\n if (sourceTable == null) {\n return;\n }\n\n this.setState({ isLoaded: false, sourceSize: sourceTable.size });\n\n this.pending\n .add(sourceTable.copy(), resolved => resolved.close())\n .then(valuesTable => {\n // Loading/loaded will be set when values array is actually populated\n this.updateViewportListener(valuesTable);\n this.setState({ valuesTable });\n })\n .catch((error: unknown) => {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n log.error(error);\n this.setState({ isLoading: false, error });\n });\n }\n\n applySourceSorts(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('applySourceSorts', sourceTable?.sort);\n if (valuesTable == null || sourceTable == null) {\n log.debug('Table not initialized');\n return;\n }\n const sorts = [...sourceTable.sort];\n valuesTable.applySort(sorts);\n this.setViewport(valuesTable);\n }\n\n applySourceFilters(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('applySourceFilters', sourceTable?.filter);\n if (valuesTable == null || sourceTable == null) {\n log.debug('Table not initialized');\n return;\n }\n const filters = [...sourceTable.filter];\n valuesTable.applyFilter(filters);\n this.setViewport(valuesTable);\n }\n\n updateViewportListener(valuesTable: TableTemplate): void {\n log.debug('updateViewportListener', valuesTable?.size);\n\n if (this.cleanup) {\n this.cleanup();\n }\n\n if (valuesTable == null) {\n this.cleanup = undefined;\n return;\n }\n\n this.cleanup = valuesTable.addEventListener(\n dh.Table.EVENT_UPDATED,\n this.handleValuesTableUpdate\n );\n\n this.setViewport(valuesTable);\n }\n\n setViewport(valuesTable: TableTemplate): void {\n const { dashboardLinks } = this.props;\n const valuesColumn = this.getValuesColumn(valuesTable, dashboardLinks);\n if (!valuesColumn) {\n log.error('values column is null');\n return;\n }\n valuesTable.setViewport(0, DropdownFilterPanel.MAX_TABLE_SIZE - 1, [\n valuesColumn,\n ]);\n }\n\n updateFormatterSettings(settings: {\n formatter?: FormattingRule[] | undefined;\n }): void {\n const columnFormats = FormatterUtils.getColumnFormats(settings);\n if (!deepEqual(this.columnFormats, columnFormats)) {\n this.columnFormats = columnFormats;\n this.setState({ formatter: new Formatter(columnFormats) });\n }\n }\n\n handleValuesTableUpdate({ detail }: { detail: { rows: Row[] } }): void {\n const { rows } = detail;\n const { dashboardLinks } = this.props;\n const { valuesTable } = this.state;\n if (!valuesTable) {\n log.error('valuesTable is null');\n return;\n }\n const valuesColumn = this.getValuesColumn(valuesTable, dashboardLinks);\n if (!valuesColumn) {\n log.error('Values column not found');\n return;\n }\n const values = rows.map(row => row.get(valuesColumn));\n this.setState({ values, isLoading: false, isLoaded: true, valuesColumn });\n }\n\n handleSourceMouseEnter(): void {\n const { columnSelectionValidator } = this.props;\n if (!columnSelectionValidator) {\n return;\n }\n columnSelectionValidator(this, DropdownFilterPanel.SOURCE_COLUMN);\n }\n\n handleSourceMouseLeave(): void {\n const { columnSelectionValidator } = this.props;\n if (!columnSelectionValidator) {\n return;\n }\n columnSelectionValidator(this, undefined);\n }\n\n render(): React.ReactElement {\n const {\n columns,\n dashboardLinks,\n disableLinking,\n glContainer,\n glEventHub,\n isLinkerActive,\n } = this.props;\n const {\n column,\n formatter,\n isDisconnected,\n isValueShown,\n value,\n values,\n valuesColumn,\n isLoading,\n isLoaded,\n } = this.state;\n const source = this.getSource(dashboardLinks);\n const settingsErrorMessage = this.getSettingsErrorMessage();\n const panelErrorMessage = this.getPanelErrorMessage();\n const formattedValues =\n isLoaded && valuesColumn != null\n ? this.getCachedValues(values, valuesColumn, formatter)\n : [];\n\n return (\n <WidgetPanel\n errorMessage={panelErrorMessage}\n isLoading={isLoading}\n isLoaded={isLoaded}\n isDisconnected={isDisconnected}\n className=\"iris-dropdown-filter-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={this.handleClearAllFilters}\n widgetName=\"Dropdown Filter\"\n widgetType=\"DropdownFilter\"\n >\n <div\n ref={this.panelContainer}\n className=\"dropdown-filter-container h-100 w-100 container\"\n >\n <DropdownFilter\n ref={this.dropdownFilterRef}\n column={column}\n columns={columns}\n isValueShown={isValueShown}\n isLinkerActive={isLinkerActive}\n disableLinking={disableLinking}\n isLoaded={isLoaded}\n settingsError={settingsErrorMessage}\n source={source}\n value={value}\n values={formattedValues}\n onChange={this.handleChange}\n onColumnSelected={this.handleColumnSelected}\n onSourceMouseEnter={this.handleSourceMouseEnter}\n onSourceMouseLeave={this.handleSourceMouseLeave}\n />\n </div>\n </WidgetPanel>\n );\n }\n}\n\nexport default connector(DropdownFilterPanel);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownFilterPanel.js","names":["React","Component","connect","debounce","deepEqual","memoize","LayoutUtils","dh","DateTimeColumnFormatter","Formatter","FormatterUtils","TableUtils","Log","getActiveTool","getSettings","Pending","PromiseUtils","DropdownFilter","InputFilterEvent","getColumnsForDashboard","getColumnSelectionValidatorForDashboard","getIsolatedLinkerPanelIdForDashboard","getLinksForDashboard","getTableMapForDashboard","ToolType","WidgetPanel","log","module","DROPDOWN_FILTER_DEBOUNCE","mapStateToProps","state","ownProps","localDashboardId","panelId","getIdFromPanel","props","panelTableMap","dashboardLinks","activeTool","isolatedLinkerPanelId","isLinkerActive","LINKER","undefined","disableLinking","columns","columnSelectionValidator","settings","connector","forwardRef","DropdownFilterPanel","constructor","rawValues","formatter","type","name","isDateType","map","value","DATETIME_FORMATTER","format","getFormattedString","panel","debug","filter","link","end","links","source","length","start","error","get","table","find","columnName","columnType","handleChange","bind","handleClearAllFilters","handleDisconnect","handleReconnect","handleColumnSelected","handleSourceFilterChange","handleSourceSortChange","handleSourceSizeChange","handleSourceMouseEnter","handleSourceMouseLeave","handleValuesTableUpdate","dropdownFilterRef","createRef","panelContainer","pending","panelState","columnFormats","getColumnFormats","isValueShown","timestamp","column","valuesTable","valuesColumn","sourceSize","values","wasFlipped","skipUpdate","isDisconnected","isLoading","isLoaded","componentDidMount","updateValuesTable","sourceTable","getSourceTable","startListeningToSource","sendUpdate","componentDidUpdate","prevProps","prevState","getSource","prevSource","prevSourceTable","updateFormatterSettings","close","stopListeningToSource","componentWillUnmount","cancel","cleanup","getCoordinateForColumn","current","element","querySelector","SOURCE_BUTTON_CLASS_NAME","rect","getBoundingClientRect","width","height","x","left","y","bottom","getSettingsErrorMessage","MAX_TABLE_SIZE","getPanelErrorMessage","panelLinks","getCachedPanelLinks","getCachedSource","getCachedSourceTable","getValuesColumn","getCachedSourceColumn","addEventListener","Table","EVENT_FILTERCHANGED","EVENT_SORTCHANGED","EVENT_SIZECHANGED","EVENT_DISCONNECT","EVENT_RECONNECT","removeEventListener","Date","now","setState","prevTimestamp","isFlip","Error","applySourceFilters","applySourceSorts","detail","glEventHub","emit","COLUMN_SELECTED","SOURCE_COLUMN","clearFilter","setPanelState","setFilterState","sourcePanelId","excludePanelIds","FILTERS_CHANGED","size","add","copy","resolved","then","updateViewportListener","catch","isCanceled","sort","sorts","applySort","setViewport","filters","applyFilter","EVENT_UPDATED","rows","row","render","glContainer","settingsErrorMessage","panelErrorMessage","formattedValues","getCachedValues","showTimeZone","showTSeparator","defaultDateTimeFormatString","Object","freeze","ConnectedDropdownFilterPanel"],"sources":["../../src/panels/DropdownFilterPanel.tsx"],"sourcesContent":["import React, { Component, RefObject } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport debounce from 'lodash.debounce';\nimport deepEqual from 'deep-equal';\nimport memoize from 'memoizee';\nimport { DashboardPanelProps, LayoutUtils } from '@deephaven/dashboard';\nimport dh from '@deephaven/jsapi-shim';\nimport type { Column, Row, Table, TableTemplate } from '@deephaven/jsapi-shim';\nimport {\n DateTimeColumnFormatter,\n Formatter,\n FormatterUtils,\n FormattingRule,\n TableUtils,\n} from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { getActiveTool, getSettings, RootState } from '@deephaven/redux';\nimport { Pending, PromiseUtils } from '@deephaven/utils';\nimport DropdownFilter, {\n DropdownFilterColumn,\n} from '../controls/dropdown-filter/DropdownFilter';\nimport { InputFilterEvent } from '../events';\nimport {\n getColumnsForDashboard,\n getColumnSelectionValidatorForDashboard,\n getIsolatedLinkerPanelIdForDashboard,\n getLinksForDashboard,\n getTableMapForDashboard,\n} from '../redux';\nimport './DropdownFilterPanel.scss';\nimport ToolType from '../linker/ToolType';\nimport WidgetPanel from './WidgetPanel';\nimport type { Link, LinkPoint } from '../linker/LinkerUtils';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\nimport { PanelState as InputFilterPanelState } from './InputFilterPanel';\n\nconst log = Log.module('DropdownFilterPanel');\n\nconst DROPDOWN_FILTER_DEBOUNCE = 250;\n\ninterface PanelState {\n name?: string;\n type?: string;\n value?: string;\n isValueShown?: boolean;\n timestamp?: number;\n}\n\ntype PanelTableMap = Map<string | string[], TableTemplate>;\n\ntype StateProps = {\n columns: Column[];\n columnSelectionValidator?: ColumnSelectionValidator;\n dashboardLinks: Link[];\n disableLinking: boolean;\n isLinkerActive: boolean;\n panelTableMap: PanelTableMap;\n panelState?: PanelState;\n settings: { formatter: FormattingRule[] };\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const { localDashboardId } = ownProps;\n const panelId = LayoutUtils.getIdFromPanel({ props: ownProps });\n const panelTableMap = getTableMapForDashboard(state, localDashboardId);\n const dashboardLinks = getLinksForDashboard(state, localDashboardId);\n const activeTool = getActiveTool(state);\n const isolatedLinkerPanelId = getIsolatedLinkerPanelIdForDashboard(\n state,\n localDashboardId\n );\n const isLinkerActive =\n activeTool === ToolType.LINKER &&\n (isolatedLinkerPanelId === undefined || isolatedLinkerPanelId === panelId);\n // Disable linking if linker is in isolated mode for a different panel\n const disableLinking =\n activeTool === ToolType.LINKER &&\n isolatedLinkerPanelId !== undefined &&\n isolatedLinkerPanelId !== panelId;\n\n return {\n columns: getColumnsForDashboard(state, localDashboardId),\n columnSelectionValidator: getColumnSelectionValidatorForDashboard(\n state,\n localDashboardId\n ),\n isLinkerActive,\n disableLinking,\n settings: getSettings(state),\n panelTableMap,\n dashboardLinks,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type DropdownFilterPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\ninterface DropdownFilterPanelState {\n column?: DropdownFilterColumn;\n formatter: Formatter;\n valuesTable?: TableTemplate;\n valuesColumn?: Column;\n sourceSize: number;\n value: string;\n timestamp?: number;\n values: unknown[];\n isValueShown: boolean;\n wasFlipped: boolean;\n skipUpdate: boolean;\n\n panelState?: PanelState; // Dehydrated panel state that can load this panel\n\n isDisconnected: boolean;\n isLoading: boolean;\n isLoaded: boolean;\n error: unknown | null;\n}\n\nexport class DropdownFilterPanel extends Component<\n DropdownFilterPanelProps,\n DropdownFilterPanelState\n> {\n static displayName = 'DropdownFilterPanel';\n\n static COMPONENT = 'DropdownFilterPanel';\n\n static MAX_TABLE_SIZE = 256;\n\n // Filter dropdown needs to show and send full timestamp format with nanoseconds\n static DATETIME_FORMATTER = new DateTimeColumnFormatter({\n showTimeZone: false,\n showTSeparator: true,\n defaultDateTimeFormatString: `yyyy-MM-dd HH:mm:ss.SSSSSSSSS`,\n });\n\n static SOURCE_COLUMN = Object.freeze({\n name: 'FilterSource',\n type: null,\n });\n\n constructor(props: DropdownFilterPanelProps) {\n super(props);\n\n this.handleChange = debounce(\n this.handleChange.bind(this),\n DROPDOWN_FILTER_DEBOUNCE\n );\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n this.handleDisconnect = this.handleDisconnect.bind(this);\n this.handleReconnect = this.handleReconnect.bind(this);\n this.handleColumnSelected = this.handleColumnSelected.bind(this);\n this.handleSourceFilterChange = this.handleSourceFilterChange.bind(this);\n this.handleSourceSortChange = this.handleSourceSortChange.bind(this);\n this.handleSourceSizeChange = this.handleSourceSizeChange.bind(this);\n this.handleSourceMouseEnter = this.handleSourceMouseEnter.bind(this);\n this.handleSourceMouseLeave = this.handleSourceMouseLeave.bind(this);\n this.handleValuesTableUpdate = this.handleValuesTableUpdate.bind(this);\n\n this.dropdownFilterRef = React.createRef();\n this.panelContainer = React.createRef();\n this.pending = new Pending();\n\n const { panelState, settings } = props;\n this.columnFormats = FormatterUtils.getColumnFormats(settings);\n const { value = '', isValueShown = false, name, type, timestamp } =\n panelState ?? {};\n const column = name != null && type != null ? { name, type } : undefined;\n this.state = {\n column,\n formatter: new Formatter(this.columnFormats),\n valuesTable: undefined,\n valuesColumn: undefined,\n sourceSize: 0,\n value,\n timestamp,\n values: [],\n isValueShown,\n wasFlipped: false,\n skipUpdate: false,\n\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n\n isDisconnected: false,\n isLoading: false,\n isLoaded: false,\n error: null,\n };\n }\n\n componentDidMount(): void {\n this.updateValuesTable();\n const { dashboardLinks, panelTableMap } = this.props;\n const { column, value, timestamp } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n if (sourceTable !== null) {\n this.startListeningToSource(sourceTable);\n }\n if (column != null) {\n const { name, type } = column;\n this.sendUpdate(name, type, value, timestamp);\n }\n }\n\n componentDidUpdate(\n prevProps: DropdownFilterPanelProps,\n prevState: DropdownFilterPanelState\n ): void {\n const { dashboardLinks, panelTableMap, settings } = this.props;\n const { valuesTable } = this.state;\n const source = this.getSource(dashboardLinks);\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n\n const prevSource = this.getSource(prevProps.dashboardLinks);\n const prevSourceTable = this.getSourceTable(\n prevProps.panelTableMap,\n prevProps.dashboardLinks\n );\n\n if (settings !== prevProps.settings && settings !== undefined) {\n this.updateFormatterSettings(settings);\n }\n\n if (\n valuesTable !== prevState.valuesTable &&\n prevState.valuesTable != null\n ) {\n log.debug('Table in state modified, closing the old table.');\n prevState.valuesTable.close();\n }\n\n // Checking source change in addition to table change\n // in case a different column is selected in the same table\n if (sourceTable !== prevSourceTable || source !== prevSource) {\n this.updateValuesTable();\n }\n\n if (sourceTable !== prevSourceTable) {\n if (prevSourceTable !== null) {\n this.stopListeningToSource(prevSourceTable);\n }\n if (sourceTable !== null) {\n this.startListeningToSource(sourceTable);\n }\n }\n }\n\n componentWillUnmount(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n this.pending.cancel();\n if (sourceTable !== null) {\n this.stopListeningToSource(sourceTable);\n }\n if (this.cleanup) {\n this.cleanup();\n }\n if (valuesTable != null) {\n valuesTable.close();\n }\n }\n\n dropdownFilterRef: RefObject<DropdownFilter>;\n\n panelContainer: RefObject<HTMLDivElement>;\n\n pending: Pending;\n\n cleanup?: () => void;\n\n columnFormats?: FormattingRule[];\n\n getCachedValues = memoize(\n (\n rawValues: unknown[],\n { type, name }: DropdownFilterColumn,\n formatter: Formatter\n ) => {\n if (type !== undefined && TableUtils.isDateType(type)) {\n return rawValues.map(value =>\n DropdownFilterPanel.DATETIME_FORMATTER.format(value as number)\n );\n }\n return rawValues.map(value =>\n // Skip formatting for nulls so they don't get converted to ''\n value != null && type != null\n ? formatter.getFormattedString(value, type, name)\n : null\n );\n }\n );\n\n getCoordinateForColumn(): [number, number] | null {\n if (this.panelContainer.current == null) {\n return null;\n }\n\n const element = this.panelContainer.current.querySelector(\n `.${DropdownFilter.SOURCE_BUTTON_CLASS_NAME}`\n );\n const rect = element?.getBoundingClientRect() ?? null;\n if (rect == null || rect.width <= 0 || rect.height <= 0) {\n return null;\n }\n const x = rect.left + rect.width / 2;\n const y = rect.bottom;\n return [x, y];\n }\n\n getSettingsErrorMessage(): string | undefined {\n const { sourceSize } = this.state;\n if (sourceSize > DropdownFilterPanel.MAX_TABLE_SIZE) {\n return `Table too large, must have fewer than ${DropdownFilterPanel.MAX_TABLE_SIZE} options.`;\n }\n return undefined;\n }\n\n getPanelErrorMessage(): string | undefined {\n const { error } = this.state;\n return error != null ? `${error}` : undefined;\n }\n\n getCachedPanelLinks = memoize(\n (dashboardLinks: Link[], panel: DropdownFilterPanel) => {\n const panelId = LayoutUtils.getIdFromPanel(panel);\n log.debug('getCachedPanelLinks', dashboardLinks, panelId);\n return dashboardLinks.filter(link => link.end?.panelId === panelId);\n }\n );\n\n getCachedSource = memoize((links: Link[]) => {\n log.debug('getCachedSource', links);\n let source: LinkPoint | undefined;\n if (links.length > 0) {\n const [link] = links;\n source = link.start;\n if (links.length > 1) {\n log.error('Filter has more that one link', links);\n }\n }\n return source;\n });\n\n getCachedSourceTable = memoize(\n (\n panelTableMap: Map<string | string[], TableTemplate<Table>>,\n source: LinkPoint | undefined\n ) => {\n log.debug('getCachedSourceTable', panelTableMap, source);\n if (source == null) {\n return null;\n }\n const { panelId } = source;\n return panelTableMap.get(panelId) ?? null;\n }\n );\n\n getCachedSourceColumn = memoize(\n (table: TableTemplate, source: LinkPoint | undefined) => {\n log.debug('getCachedSourceColumn', table, source);\n if (table == null || source == null) {\n return null;\n }\n return (\n table.columns.find(\n ({ name, type }) =>\n name === source.columnName && type === source.columnType\n ) ?? null\n );\n }\n );\n\n getSource(links: Link[]): LinkPoint | undefined {\n const panelLinks = this.getCachedPanelLinks(links, this);\n return this.getCachedSource(panelLinks);\n }\n\n getSourceTable(\n panelTableMap: PanelTableMap,\n links: Link[]\n ): TableTemplate | null {\n const source = this.getSource(links);\n return this.getCachedSourceTable(panelTableMap, source);\n }\n\n getValuesColumn(valuesTable: TableTemplate, links: Link[]): Column | null {\n const source = this.getSource(links);\n return this.getCachedSourceColumn(valuesTable, source);\n }\n\n startListeningToSource(sourceTable: TableTemplate): void {\n log.debug('startListeningToSource');\n sourceTable.addEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleSourceFilterChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_SORTCHANGED,\n this.handleSourceSortChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_SIZECHANGED,\n this.handleSourceSizeChange\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_DISCONNECT,\n this.handleDisconnect\n );\n sourceTable.addEventListener(\n dh.Table.EVENT_RECONNECT,\n this.handleReconnect\n );\n }\n\n stopListeningToSource(sourceTable: TableTemplate): void {\n log.debug('stopListeningToSource');\n sourceTable.removeEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleSourceFilterChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_SORTCHANGED,\n this.handleSourceSortChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_SIZECHANGED,\n this.handleSourceSizeChange\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_DISCONNECT,\n this.handleDisconnect\n );\n sourceTable.removeEventListener(\n dh.Table.EVENT_RECONNECT,\n this.handleReconnect\n );\n }\n\n handleChange({\n column,\n isValueShown = false,\n value,\n }: {\n column: Partial<Column> | null;\n isValueShown?: boolean | undefined;\n value?: string | undefined;\n }): void {\n const { name = undefined, type = undefined } = column ?? {};\n let sendUpdate = true;\n let timestamp: number | undefined = Date.now();\n this.setState(\n ({ panelState, timestamp: prevTimestamp, wasFlipped, skipUpdate }) => {\n // If the user had a value set, and they flip the card over and flip it back without changing any settings, ignore it\n const isFlip =\n panelState != null &&\n isValueShown !== panelState.isValueShown &&\n name === panelState.name &&\n type === panelState.type &&\n value === panelState.value;\n sendUpdate =\n (!skipUpdate && isValueShown && (!isFlip || !wasFlipped)) ?? false;\n\n if (!sendUpdate) {\n timestamp = prevTimestamp;\n }\n\n return {\n panelState: {\n isValueShown,\n name,\n type,\n value,\n timestamp: timestamp ?? undefined,\n },\n timestamp,\n wasFlipped: isFlip,\n skipUpdate: false,\n };\n },\n () => {\n if (sendUpdate) {\n this.sendUpdate(name ?? null, type, value, timestamp);\n }\n }\n );\n }\n\n handleDisconnect(): void {\n this.setState({\n error: new Error('Table disconnected'),\n isDisconnected: true,\n isLoading: false,\n });\n }\n\n handleReconnect(): void {\n this.setState({ isDisconnected: false, error: null });\n }\n\n handleSourceFilterChange(): void {\n this.applySourceFilters();\n }\n\n handleSourceSortChange(): void {\n this.applySourceSorts();\n }\n\n handleSourceSizeChange({ detail }: { detail: number }): void {\n this.setState({ sourceSize: detail });\n }\n\n handleColumnSelected(): void {\n log.debug('handleColumnSelected');\n const { glEventHub } = this.props;\n glEventHub.emit(\n InputFilterEvent.COLUMN_SELECTED,\n this,\n DropdownFilterPanel.SOURCE_COLUMN\n );\n }\n\n handleClearAllFilters(): void {\n this.dropdownFilterRef?.current?.clearFilter();\n }\n\n /**\n * Set the filter value, card side, selected column\n * @param state Filter state to set\n * @param sendUpdate Emit filters changed event if true\n */\n setPanelState(state: InputFilterPanelState, sendUpdate = false): void {\n const { dashboardLinks } = this.props;\n if (this.getSource(dashboardLinks) == null) {\n log.debug('Ignore state update for unlinked filter', state);\n return;\n }\n // Set the skipUpdate flag so the next onChange handler call doesn't emit the FILTERS_CHANGED event\n this.setState({ skipUpdate: !sendUpdate });\n\n // Changing the inputFilter state via props doesn't quite work because of the delays on manual input changes\n // Setting the ref state directly triggers the onChange handler and updates the panelState\n this.dropdownFilterRef?.current?.setFilterState(state);\n }\n\n sendUpdate(\n name: string | null,\n type: string | undefined,\n value: string | undefined,\n timestamp?: number\n ): void {\n const { dashboardLinks, glEventHub } = this.props;\n const sourcePanelId = this.getSource(dashboardLinks)?.panelId;\n const excludePanelIds = sourcePanelId === null ? [] : [sourcePanelId];\n log.debug('sendUpdate', {\n name,\n type,\n value,\n timestamp,\n excludePanelIds,\n });\n\n glEventHub.emit(InputFilterEvent.FILTERS_CHANGED, this, {\n name,\n type,\n value: value != null ? value : '=null',\n timestamp,\n excludePanelIds,\n });\n }\n\n updateValuesTable(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const source = this.getSource(dashboardLinks);\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('updateValuesTable', source, sourceTable);\n\n this.setState({\n values: [],\n valuesTable: undefined,\n error: null,\n });\n\n if (source == null) {\n log.debug('Filter unlinked.');\n this.setState({\n isLoading: false,\n isLoaded: true,\n isValueShown: false,\n sourceSize: 0,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n\n if (sourceTable == null) {\n return;\n }\n\n this.setState({ isLoaded: false, sourceSize: sourceTable.size });\n\n this.pending\n .add(sourceTable.copy(), resolved => resolved.close())\n .then(valuesTable => {\n // Loading/loaded will be set when values array is actually populated\n this.updateViewportListener(valuesTable);\n this.setState({ valuesTable });\n })\n .catch((error: unknown) => {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n log.error(error);\n this.setState({ isLoading: false, error });\n });\n }\n\n applySourceSorts(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('applySourceSorts', sourceTable?.sort);\n if (valuesTable == null || sourceTable == null) {\n log.debug('Table not initialized');\n return;\n }\n const sorts = [...sourceTable.sort];\n valuesTable.applySort(sorts);\n this.setViewport(valuesTable);\n }\n\n applySourceFilters(): void {\n const { dashboardLinks, panelTableMap } = this.props;\n const { valuesTable } = this.state;\n const sourceTable = this.getSourceTable(panelTableMap, dashboardLinks);\n log.debug('applySourceFilters', sourceTable?.filter);\n if (valuesTable == null || sourceTable == null) {\n log.debug('Table not initialized');\n return;\n }\n const filters = [...sourceTable.filter];\n valuesTable.applyFilter(filters);\n this.setViewport(valuesTable);\n }\n\n updateViewportListener(valuesTable: TableTemplate): void {\n log.debug('updateViewportListener', valuesTable?.size);\n\n if (this.cleanup) {\n this.cleanup();\n }\n\n if (valuesTable == null) {\n this.cleanup = undefined;\n return;\n }\n\n this.cleanup = valuesTable.addEventListener(\n dh.Table.EVENT_UPDATED,\n this.handleValuesTableUpdate\n );\n\n this.setViewport(valuesTable);\n }\n\n setViewport(valuesTable: TableTemplate): void {\n const { dashboardLinks } = this.props;\n const valuesColumn = this.getValuesColumn(valuesTable, dashboardLinks);\n if (!valuesColumn) {\n log.error('values column is null');\n return;\n }\n valuesTable.setViewport(0, DropdownFilterPanel.MAX_TABLE_SIZE - 1, [\n valuesColumn,\n ]);\n }\n\n updateFormatterSettings(settings: {\n formatter?: FormattingRule[] | undefined;\n }): void {\n const columnFormats = FormatterUtils.getColumnFormats(settings);\n if (!deepEqual(this.columnFormats, columnFormats)) {\n this.columnFormats = columnFormats;\n this.setState({ formatter: new Formatter(columnFormats) });\n }\n }\n\n handleValuesTableUpdate({ detail }: { detail: { rows: Row[] } }): void {\n const { rows } = detail;\n const { dashboardLinks } = this.props;\n const { valuesTable } = this.state;\n if (!valuesTable) {\n log.error('valuesTable is null');\n return;\n }\n const valuesColumn = this.getValuesColumn(valuesTable, dashboardLinks);\n if (!valuesColumn) {\n log.error('Values column not found');\n return;\n }\n const values = rows.map(row => row.get(valuesColumn));\n this.setState({ values, isLoading: false, isLoaded: true, valuesColumn });\n }\n\n handleSourceMouseEnter(): void {\n const { columnSelectionValidator } = this.props;\n if (!columnSelectionValidator) {\n return;\n }\n columnSelectionValidator(this, DropdownFilterPanel.SOURCE_COLUMN);\n }\n\n handleSourceMouseLeave(): void {\n const { columnSelectionValidator } = this.props;\n if (!columnSelectionValidator) {\n return;\n }\n columnSelectionValidator(this, undefined);\n }\n\n render(): React.ReactElement {\n const {\n columns,\n dashboardLinks,\n disableLinking,\n glContainer,\n glEventHub,\n isLinkerActive,\n } = this.props;\n const {\n column,\n formatter,\n isDisconnected,\n isValueShown,\n value,\n values,\n valuesColumn,\n isLoading,\n isLoaded,\n } = this.state;\n const source = this.getSource(dashboardLinks);\n const settingsErrorMessage = this.getSettingsErrorMessage();\n const panelErrorMessage = this.getPanelErrorMessage();\n const formattedValues =\n isLoaded && valuesColumn != null\n ? this.getCachedValues(values, valuesColumn, formatter)\n : [];\n\n return (\n <WidgetPanel\n errorMessage={panelErrorMessage}\n isLoading={isLoading}\n isLoaded={isLoaded}\n isDisconnected={isDisconnected}\n className=\"iris-dropdown-filter-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={this.handleClearAllFilters}\n widgetName=\"Dropdown Filter\"\n widgetType=\"DropdownFilter\"\n >\n <div\n ref={this.panelContainer}\n className=\"dropdown-filter-container h-100 w-100 container\"\n >\n <DropdownFilter\n ref={this.dropdownFilterRef}\n column={column}\n columns={columns}\n isValueShown={isValueShown}\n isLinkerActive={isLinkerActive}\n disableLinking={disableLinking}\n isLoaded={isLoaded}\n settingsError={settingsErrorMessage}\n source={source}\n value={value}\n values={formattedValues}\n onChange={this.handleChange}\n onColumnSelected={this.handleColumnSelected}\n onSourceMouseEnter={this.handleSourceMouseEnter}\n onSourceMouseLeave={this.handleSourceMouseLeave}\n />\n </div>\n </WidgetPanel>\n );\n }\n}\n\nconst ConnectedDropdownFilterPanel = connector(DropdownFilterPanel);\n\nexport default ConnectedDropdownFilterPanel;\n"],"mappings":"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"}
|
|
@@ -49,12 +49,12 @@ export declare class FileExplorerPanel extends React.Component<FileExplorerPanel
|
|
|
49
49
|
isHidden(): boolean;
|
|
50
50
|
render(): ReactNode;
|
|
51
51
|
}
|
|
52
|
-
declare const
|
|
52
|
+
declare const ConnectedFileExplorerPanel: import("react-redux").ConnectedComponent<typeof FileExplorerPanel, import("react-redux").Omit<React.ClassAttributes<FileExplorerPanel> & import("@deephaven/dashboard").PanelProps & {
|
|
53
53
|
localDashboardId: string;
|
|
54
54
|
metadata?: Record<string, unknown> | undefined;
|
|
55
55
|
} & StateProps & import("react-redux").DispatchProp<import("redux").AnyAction>, "language" | "dispatch" | "session" | "fileStorage"> & import("@deephaven/dashboard").PanelProps & {
|
|
56
56
|
localDashboardId: string;
|
|
57
57
|
metadata?: Record<string, unknown> | undefined;
|
|
58
58
|
}>;
|
|
59
|
-
export default
|
|
59
|
+
export default ConnectedFileExplorerPanel;
|
|
60
60
|
//# sourceMappingURL=FileExplorerPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FileExplorerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAqB,EAEnB,WAAW,EACX,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAW,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,mBAAmB,CAAC;AAkBpC,QAAA,MAAM,SAAS,4JAA6D,CAAC;AAE7E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAC3C,UAAU,GACV,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,SAAS,CACpD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,SAAS,SAAuB;IAEvC,MAAM,CAAC,KAAK,SAAmB;IAE/B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAItC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO;gBAU7C,KAAK,EAAE,sBAAsB;IA6BzC,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAgBxB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI1C,2BAA2B,IAAI,IAAI;IAOnC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO/C,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI;IAU5C,qBAAqB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI;IAY7D,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI;IAwB1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpD,mBAAmB,CACjB,OAAO,EAAE,UAAU,EACnB,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjC,IAAI;IAOP,mBAAmB,IAAI,IAAI;IAO3B,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,OAAO;IAMnB,MAAM,IAAI,SAAS;CAuCpB
|
|
1
|
+
{"version":3,"file":"FileExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FileExplorerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAqB,EAEnB,WAAW,EACX,eAAe,EAGhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAW,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,mBAAmB,CAAC;AAkBpC,QAAA,MAAM,SAAS,4JAA6D,CAAC;AAE7E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAC3C,UAAU,GACV,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,SAAS,CACpD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,SAAS,SAAuB;IAEvC,MAAM,CAAC,KAAK,SAAmB;IAE/B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAItC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO;gBAU7C,KAAK,EAAE,sBAAsB;IA6BzC,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAgBxB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI1C,2BAA2B,IAAI,IAAI;IAOnC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO/C,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI;IAU5C,qBAAqB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI;IAY7D,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI;IAwB1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpD,mBAAmB,CACjB,OAAO,EAAE,UAAU,EACnB,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjC,IAAI;IAOP,mBAAmB,IAAI,IAAI;IAO3B,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,OAAO;IAMnB,MAAM,IAAI,SAAS;CAuCpB;AAED,QAAA,MAAM,0BAA0B;;;;;;EAA+B,CAAC;AAEhE,eAAe,0BAA0B,CAAC"}
|
|
@@ -247,5 +247,6 @@ export class FileExplorerPanel extends React.Component {
|
|
|
247
247
|
}
|
|
248
248
|
_defineProperty(FileExplorerPanel, "COMPONENT", 'FileExplorerPanel');
|
|
249
249
|
_defineProperty(FileExplorerPanel, "TITLE", 'File Explorer');
|
|
250
|
-
|
|
250
|
+
var ConnectedFileExplorerPanel = connector(FileExplorerPanel);
|
|
251
|
+
export default ConnectedFileExplorerPanel;
|
|
251
252
|
//# sourceMappingURL=FileExplorerPanel.js.map
|