@deephaven/dashboard-core-plugins 0.59.1-beta.0 → 0.59.1-beta.12
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/GridPluginConfig.d.ts.map +1 -1
- package/dist/GridPluginConfig.js +1 -1
- package/dist/GridPluginConfig.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +4 -1
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +11 -8
- package/dist/panels/ChartPanel.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 +13 -0
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +1 -1
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +4 -6
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +13 -14
- 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.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +8 -6
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +7 -5
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/redux/selectors.d.ts +2 -2
- package/dist/redux/selectors.d.ts.map +1 -1
- package/dist/redux/selectors.js +5 -1
- package/dist/redux/selectors.js.map +1 -1
- package/package.json +24 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","Console","ConsoleConstants","HeapUsage","ObjectIcon","LayoutManagerContext","LayoutUtils","PanelEvent","Log","getCommandHistoryStorage","getPlugins","getTimeZone","assertNotNull","getIconForPlugin","pluginSupportsType","ConsoleEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","_defineProperty","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","supportsType","iconForType","consoleRef","createRef","initialPanelState","_objectSpread","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","_this$objectSubscript","flush","off","objectSubscriptionCleanup","call","sessionWrapper","session","updates","_ref","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","_ref2","newItemIds","getItemId","createIfNecessary","arguments","length","get","generate","handleTabFocus","_this$consoleRef$curr","current","focus","panel","_panel$props","_panel$props2","_panel$props2$metadat","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","forceOpen","root","context","oldPanelId","getStackForRoot","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","_this$consoleRef$curr2","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","_this$consoleRef$curr3","type","plugins","some","plugin","find","p","render","commandHistoryStorage","glContainer","timeZone","unzip","config","connection","details","dh","workerName","processInfoId","sessionId","language","className","componentPanel","onResize","onShow","onTabFocus","errorMessage","concat","children","ref","settings","focusCommandHistory","openObject","closeObject","onSettingsChange","statusBarChildren","LANGUAGE_MAP","defaultUpdateInterval","hoverUpdateInterval","monitorDuration","scope","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 ObjectIcon,\n} from '@deephaven/console';\nimport {\n DashboardPanelProps,\n LayoutManagerContext,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport type { IdeSession, VariableDefinition } from '@deephaven/jsapi-types';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getPlugins,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport { assertNotNull } from '@deephaven/utils';\nimport {\n getIconForPlugin,\n pluginSupportsType,\n type PluginModuleMap,\n} from '@deephaven/plugin';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\nimport './ConsolePanel.scss';\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 extends DashboardPanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n\n panelState?: PanelState;\n\n sessionWrapper: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n plugins: PluginModuleMap;\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 static contextType = LayoutManagerContext;\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 this.supportsType = this.supportsType.bind(this);\n this.iconForType = this.iconForType.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, forceOpen = true): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n const { root } = this.context;\n const oldPanelId =\n object.title != null ? this.getItemId(object.title, false) : null;\n if (\n forceOpen ||\n (oldPanelId != null &&\n LayoutUtils.getStackForRoot(\n root,\n { id: oldPanelId },\n false,\n false,\n false\n ) != null)\n ) {\n this.openWidget(object, session);\n }\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n if (id != null) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\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 supportsType(type: string): boolean {\n const { plugins } = this.props;\n return [...plugins.values()].some(plugin =>\n pluginSupportsType(plugin, type)\n );\n }\n\n iconForType(type: string): JSX.Element {\n const { plugins } = this.props;\n const plugin = [...plugins.values()].find(p => pluginSupportsType(p, type));\n if (plugin != null) {\n return getIconForPlugin(plugin);\n }\n // TODO: #1573 Remove this default and always return getIconForPlugin\n return <ObjectIcon type={type} />;\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, details = {}, dh } = sessionWrapper;\n const { workerName, processInfoId } = details;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n className=\"iris-panel-console\"\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 dh={dh}\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>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n {workerName != null && (\n <>\n <div>•</div>\n {workerName}\n </>\n )}\n {processInfoId != null && (\n <>\n <div>•</div>\n {processInfoId}\n <div>•</div>\n </>\n )}\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n supportsType={this.supportsType}\n iconForType={this.iconForType}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n ConsolePanelProps,\n 'commandHistoryStorage' | 'sessionWrapper' | 'timeZone' | 'plugins'\n> => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n plugins: getPlugins(state),\n});\n\nconst ConnectedConsolePanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(ConsolePanel);\n\nexport default ConnectedConsolePanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsolePanel.js","names":["React","PureComponent","shortid","debounce","connect","LoadingOverlay","Console","ConsoleConstants","HeapUsage","ObjectIcon","LayoutManagerContext","LayoutUtils","PanelEvent","Log","getCommandHistoryStorage","getPlugins","getTimeZone","assertNotNull","getIconForPlugin","pluginSupportsType","ConsoleEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","_defineProperty","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","supportsType","iconForType","consoleRef","createRef","initialPanelState","_objectSpread","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","_this$objectSubscript","flush","off","objectSubscriptionCleanup","call","sessionWrapper","session","updates","_ref","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","_ref2","newItemIds","getItemId","createIfNecessary","arguments","length","get","generate","handleTabFocus","_this$consoleRef$curr","current","focus","panel","_panel$props","_panel$props2","_panel$props2$metadat","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","forceOpen","root","context","oldPanelId","getStackForRoot","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","_this$consoleRef$curr2","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","_this$consoleRef$curr3","type","plugins","some","plugin","find","p","render","commandHistoryStorage","glContainer","timeZone","unzip","isLoading","errorMessage","config","connection","details","dh","workerName","processInfoId","sessionId","language","className","componentPanel","onResize","onShow","onTabFocus","concat","children","ref","settings","focusCommandHistory","openObject","closeObject","onSettingsChange","statusBarChildren","LANGUAGE_MAP","defaultUpdateInterval","hoverUpdateInterval","monitorDuration","scope","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 { LoadingOverlay } from '@deephaven/components';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n HeapUsage,\n ObjectIcon,\n} from '@deephaven/console';\nimport {\n DashboardPanelProps,\n LayoutManagerContext,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport type { IdeSession, VariableDefinition } from '@deephaven/jsapi-types';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getPlugins,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport { assertNotNull } from '@deephaven/utils';\nimport {\n getIconForPlugin,\n pluginSupportsType,\n type PluginModuleMap,\n} from '@deephaven/plugin';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\nimport './ConsolePanel.scss';\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 extends DashboardPanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n\n panelState?: PanelState;\n\n sessionWrapper?: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n plugins: PluginModuleMap;\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 static contextType = LayoutManagerContext;\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 this.supportsType = this.supportsType.bind(this);\n this.iconForType = this.iconForType.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 if (sessionWrapper == null) {\n return;\n }\n\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, forceOpen = true): void {\n const { sessionWrapper } = this.props;\n if (sessionWrapper == null) {\n return;\n }\n const { session } = sessionWrapper;\n const { root } = this.context;\n const oldPanelId =\n object.title != null ? this.getItemId(object.title, false) : null;\n if (\n forceOpen ||\n (oldPanelId != null &&\n LayoutUtils.getStackForRoot(\n root,\n { id: oldPanelId },\n false,\n false,\n false\n ) != null)\n ) {\n this.openWidget(object, session);\n }\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title !== undefined) {\n const id = this.getItemId(title, false);\n if (id != null) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\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 supportsType(type: string): boolean {\n const { plugins } = this.props;\n return [...plugins.values()].some(plugin =>\n pluginSupportsType(plugin, type)\n );\n }\n\n iconForType(type: string): JSX.Element {\n const { plugins } = this.props;\n const plugin = [...plugins.values()].find(p => pluginSupportsType(p, type));\n if (plugin != null) {\n return getIconForPlugin(plugin);\n }\n // TODO: #1573 Remove this default and always return getIconForPlugin\n return <ObjectIcon type={type} />;\n }\n\n render(): ReactElement | null {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n\n if (sessionWrapper == null) {\n return (\n <LoadingOverlay isLoading={false} errorMessage=\"Console is disabled.\" />\n );\n }\n\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session, connection, details = {}, dh } = sessionWrapper;\n const { workerName, processInfoId } = details;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n className=\"iris-panel-console\"\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 dh={dh}\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>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n {workerName != null && (\n <>\n <div>•</div>\n {workerName}\n </>\n )}\n {processInfoId != null && (\n <>\n <div>•</div>\n {processInfoId}\n <div>•</div>\n </>\n )}\n <HeapUsage\n connection={connection}\n defaultUpdateInterval={10 * 1000}\n hoverUpdateInterval={3 * 1000}\n monitorDuration={10 * 60 * 1000}\n />\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n supportsType={this.supportsType}\n iconForType={this.iconForType}\n />\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n ConsolePanelProps,\n 'commandHistoryStorage' | 'sessionWrapper' | 'timeZone' | 'plugins'\n> => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n plugins: getPlugins(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,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAEEC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,EACTC,UAAU,QACL,oBAAoB;AAC3B,SAEEC,oBAAoB,EACpBC,WAAW,EACXC,UAAU,QACL,sBAAsB;AAG7B,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SACEC,wBAAwB,EACxBC,UAAU,EACVC,WAAW,QAEN,kBAAkB;AACzB,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SACEC,gBAAgB,EAChBC,kBAAkB,QAEb,mBAAmB;AAAC,SAElBC,YAAY;AAAA,OACdC,KAAK;AAAA,SACHC,0BAA0B;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAGnC,IAAMC,GAAG,GAAGhB,GAAG,CAACiB,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;AAoCF,OAAO,MAAMC,YAAY,SAASpC,aAAa,CAG7C;EAOAqC,WAAWA,CAACC,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,yBAkPErC,QAAQ,CAAC,MAAY;MACpC,IAAM;QAAEgC,eAAe;QAAEC;MAAQ,CAAC,GAAG,IAAI,CAACK,KAAK;MAC/C,IAAMC,UAAU,GAAG;QACjBP,eAAe;QACfC,OAAO,EAAE,CAAC,GAAGA,OAAO;MACtB,CAAC;MACDP,GAAG,CAACc,KAAK,CAAC,oBAAoB,EAAED,UAAU,CAAC;MAC3C;MACA,IAAI,CAACE,QAAQ,CAAC;QAAEF;MAAW,CAAC,CAAC;IAC/B,CAAC,EAAEX,2BAA2B,CAAC;IAzP7B,IAAI,CAACc,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;IACxD,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,WAAW,GAAG,IAAI,CAACA,WAAW,CAACR,IAAI,CAAC,IAAI,CAAC;IAE9C,IAAI,CAACS,UAAU,gBAAGvD,KAAK,CAACwD,SAAS,CAAC,CAAC;IAEnC,IAAM;MAAEd,UAAU,EAAEe;IAAkB,CAAC,GAAGlB,KAAK;IAC/C,IAAMG,WAAU,GAAAgB,aAAA,CAAAA,aAAA,KACX1B,mBAAmB,GAClByB,iBAAiB,IAAI,CAAC,CAAC,CAC5B;IACD,IAAM;MAAEtB,eAAe,EAAfA,gBAAe;MAAEC,OAAO,EAAPA;IAAQ,CAAC,GAAGM,WAAU;IAE/C,IAAI,CAACD,KAAK,GAAG;MACXN,eAAe,EAAfA,gBAAe;MACfC,OAAO,EAAE,IAAIuB,GAAG,CAACvB,QAAO,CAAC;MAEzBwB,SAAS,EAAE,IAAID,GAAG,CAAC,CAAC;MACpBE,KAAK,EAAEC,SAAS;MAChB;MACApB,UAAU,EAAVA,WAAU,CAAE;IACd,CAAC;EACH;;EAEAqB,iBAAiBA,CAAA,EAAS;IACxB,IAAM;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjC;IACA;IACA,IAAI,CAAC0B,uBAAuB,CAAC,CAAC;IAC9BD,UAAU,CAACE,EAAE,CAACtD,UAAU,CAACuD,KAAK,EAAE,IAAI,CAACf,gBAAgB,CAAC;IACtD,IAAI,CAACgB,uBAAuB,CAAC,CAAC;EAChC;EAEAC,kBAAkBA,CAChBC,SAA4B,EAC5BC,SAA4B,EACtB;IACN,IAAM;MAAEpC,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACK,KAAK;IAC/C,IACE8B,SAAS,CAACpC,eAAe,KAAKA,eAAe,IAC7CoC,SAAS,CAACnC,OAAO,KAAKA,OAAO,EAC7B;MACA,IAAI,CAACoC,cAAc,CAAC,CAAC;IACvB;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAAA,IAAAC,qBAAA;IAC3B,IAAM;MAAEV;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjC,IAAI,CAACiC,cAAc,CAACG,KAAK,CAAC,CAAC;IAC3BX,UAAU,CAACY,GAAG,CAAChE,UAAU,CAACuD,KAAK,EAAE,IAAI,CAACf,gBAAgB,CAAC;IACvD,CAAAsB,qBAAA,OAAI,CAACG,yBAAyB,cAAAH,qBAAA,uBAA9BA,qBAAA,CAAAI,IAAA,KAAiC,CAAC;EACpC;EAMAV,uBAAuBA,CAAA,EAAS;IAC9B,IAAM;MAAEW;IAAe,CAAC,GAAG,IAAI,CAACxC,KAAK;IACrC,IAAIwC,cAAc,IAAI,IAAI,EAAE;MAC1B;IACF;IAEA,IAAM;MAAEC;IAAQ,CAAC,GAAGD,cAAc;IAElC,IAAI,CAACF,yBAAyB,GAAGG,OAAO,CAACZ,uBAAuB,CAC9Da,OAAO,IAAI;MACTpD,GAAG,CAACc,KAAK,CAAC,aAAa,EAAEsC,OAAO,CAAC;MACjC,IAAI,CAACrC,QAAQ,CAACsC,IAAA,IAAmB;QAAA,IAAlB;UAAEtB;QAAU,CAAC,GAAAsB,IAAA;QAC1B,IAAM;UAAEC,OAAO;UAAEC,OAAO;UAAEC;QAAQ,CAAC,GAAGJ,OAAO;;QAE7C;QACA,IAAMK,eAAe,GAAG,CAAC,GAAGH,OAAO,EAAE,GAAGE,OAAO,CAAC;QAChD,IAAME,YAAY,GAAG,IAAI5B,GAAG,CAACC,SAAS,CAAC;QACvC0B,eAAe,CAACE,OAAO,CAACC,QAAQ,IAAI;UAClC,IAAM;YAAEC;UAAM,CAAC,GAAGD,QAAQ;UAC1B,IAAIC,KAAK,KAAK5B,SAAS,EAAE;YACvByB,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,KAAK5B,SAAS,EAAE;YAC7ByB,YAAY,CAACO,GAAG,CAACD,KAAK,CAACH,KAAK,EAAEG,KAAK,CAAC;UACtC;QACF,CAAC,CAAC;QAEF,OAAO;UAAEjC,SAAS,EAAE2B;QAAa,CAAC;MACpC,CAAC,CAAC;IACJ,CACF,CAAC;EACH;EAEAQ,SAASA,CAACC,IAAY,EAAEC,EAAU,EAAQ;IACxC,IAAI,CAACrD,QAAQ,CAACsD,KAAA,IAAiB;MAAA,IAAhB;QAAE9D;MAAQ,CAAC,GAAA8D,KAAA;MACxB,IAAMC,UAAU,GAAG,IAAIxC,GAAG,CAACvB,OAAO,CAAC;MACnC+D,UAAU,CAACL,GAAG,CAACE,IAAI,EAAEC,EAAE,CAAC;MACxB,OAAO;QAAE7D,OAAO,EAAE+D;MAAW,CAAC;IAChC,CAAC,CAAC;EACJ;EAEAC,SAASA,CAACJ,IAAY,EAAgD;IAAA,IAA9CK,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAxC,SAAA,GAAAwC,SAAA,MAAG,IAAI;IAC9C,IAAM;MAAElE;IAAQ,CAAC,GAAG,IAAI,CAACK,KAAK;IAC9B,IAAIwD,EAAE,GAAG7D,OAAO,CAACoE,GAAG,CAACR,IAAI,CAAC;IAC1B,IAAIC,EAAE,IAAI,IAAI,IAAII,iBAAiB,EAAE;MACnCJ,EAAE,GAAG/F,OAAO,CAACuG,QAAQ,CAAC,CAAC;MACvB,IAAI,CAACV,SAAS,CAACC,IAAI,EAAEC,EAAE,CAAC;IAC1B;IACA,OAAOA,EAAE;EACX;EAEAS,cAAcA,CAAA,EAAS;IAAA,IAAAC,qBAAA;IACrB,CAAAA,qBAAA,OAAI,CAACpD,UAAU,CAACqD,OAAO,cAAAD,qBAAA,uBAAvBA,qBAAA,CAAyBE,KAAK,CAAC,CAAC;EAClC;EAEAzD,gBAAgBA,CAAC0D,KAEhB,EAAQ;IAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,qBAAA;IACP,IAAM;MAAE7E;IAAQ,CAAC,GAAG,IAAI,CAACK,KAAK;IAC9B,IAAMyE,OAAO,GAAGJ,KAAK,aAALA,KAAK,wBAAAC,YAAA,GAALD,KAAK,CAAEvE,KAAK,cAAAwE,YAAA,uBAAZA,YAAA,CAAcd,EAAE;IAChC,IAAMkB,QAAQ,GAAGL,KAAK,aAALA,KAAK,wBAAAE,aAAA,GAALF,KAAK,CAAEvE,KAAK,cAAAyE,aAAA,wBAAAC,qBAAA,GAAZD,aAAA,CAAcI,QAAQ,cAAAH,qBAAA,uBAAtBA,qBAAA,CAAwBI,aAAa;IACtD,IAAIH,OAAO,IAAIC,QAAQ,EAAE;MACvB;MACA,IAAMG,SAAS,GAAG,IAAIC,GAAG,CAACnF,OAAO,CAACoF,MAAM,CAAC,CAAC,CAAC;MAC3C,IAAIF,SAAS,CAACG,GAAG,CAACN,QAAQ,CAAC,EAAE;QAC3B;QACA,IAAI,CAACpB,SAAS,CAACmB,OAAO,EAAEA,OAAO,CAAC;MAClC;IACF;EACF;EAEArE,yBAAyBA,CAAA,EAAS;IAChC,IAAM;MAAEmB;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjCyB,UAAU,CAAC0D,IAAI,CAACtG,YAAY,CAACuG,aAAa,CAAC;EAC7C;EAEA1E,YAAYA,CAAA,EAAS;IACnB,IAAI,CAAC2E,gBAAgB,CAAC,CAAC;EACzB;EAEAzE,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACyE,gBAAgB,CAAC,CAAC;EACzB;EAEA7E,gBAAgBA,CAAC8E,MAA0B,EAA0B;IAAA,IAAxBC,SAAS,GAAAxB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAxC,SAAA,GAAAwC,SAAA,MAAG,IAAI;IAC3D,IAAM;MAAEvB;IAAe,CAAC,GAAG,IAAI,CAACxC,KAAK;IACrC,IAAIwC,cAAc,IAAI,IAAI,EAAE;MAC1B;IACF;IACA,IAAM;MAAEC;IAAQ,CAAC,GAAGD,cAAc;IAClC,IAAM;MAAEgD;IAAK,CAAC,GAAG,IAAI,CAACC,OAAO;IAC7B,IAAMC,UAAU,GACdJ,MAAM,CAACnC,KAAK,IAAI,IAAI,GAAG,IAAI,CAACU,SAAS,CAACyB,MAAM,CAACnC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI;IACnE,IACEoC,SAAS,IACRG,UAAU,IAAI,IAAI,IACjBtH,WAAW,CAACuH,eAAe,CACzBH,IAAI,EACJ;MAAE9B,EAAE,EAAEgC;IAAW,CAAC,EAClB,KAAK,EACL,KAAK,EACL,KACF,CAAC,IAAI,IAAK,EACZ;MACA,IAAI,CAACE,UAAU,CAACN,MAAM,EAAE7C,OAAO,CAAC;IAClC;EACF;EAEAhC,iBAAiBA,CAAC6E,MAA0B,EAAQ;IAClD,IAAM;MAAEnC;IAAM,CAAC,GAAGmC,MAAM;IACxB,IAAInC,KAAK,KAAK5B,SAAS,EAAE;MACvB,IAAMmC,EAAE,GAAG,IAAI,CAACG,SAAS,CAACV,KAAK,EAAE,KAAK,CAAC;MACvC,IAAIO,EAAE,IAAI,IAAI,EAAE;QACd,IAAM;UAAEjC;QAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;QACjCyB,UAAU,CAAC0D,IAAI,CAAC9G,UAAU,CAACwH,KAAK,EAAEnC,EAAE,CAAC;MACvC;IACF;EACF;EAEA/C,oBAAoBA,CAACf,eAAwC,EAAQ;IACnE,IAAM;MAAE6B;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjCV,GAAG,CAACc,KAAK,CAAC,sBAAsB,EAAER,eAAe,CAAC;IAClD,IAAI,CAACS,QAAQ,CAAC;MACZT;IACF,CAAC,CAAC;IACF6B,UAAU,CAAC0D,IAAI,CAACtG,YAAY,CAACiH,gBAAgB,EAAElG,eAAe,CAAC;EACjE;;EAEA;AACF;AACA;AACA;EACEgG,UAAUA,CAACG,MAA0B,EAAEtD,OAAmB,EAAQ;IAChE,IAAM;MAAEhB;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjC,IAAM;MAAEmD;IAAM,CAAC,GAAG4C,MAAM;IACxBrH,aAAa,CAACyE,KAAK,CAAC;IACpB,IAAMwB,OAAO,GAAG,IAAI,CAACd,SAAS,CAACV,KAAK,CAAC;IACrC,IAAM6C,WAAW,GAAG;MAClBC,KAAK,EAAEA,CAAA,KAAMxD,OAAO,CAACyD,SAAS,CAACH,MAAM,CAAC;MACtCpB,OAAO;MACPoB;IACF,CAAC;IAEDzG,GAAG,CAACc,KAAK,CAAC,YAAY,EAAE4F,WAAW,CAAC;IAEpCvE,UAAU,CAAC0D,IAAI,CAAC9G,UAAU,CAAC8H,IAAI,EAAEH,WAAW,CAAC;EAC/C;EAEAI,UAAUA,CAACC,OAAe,EAAuC;IAAA,IAAAC,sBAAA;IAAA,IAArChC,KAAK,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAxC,SAAA,GAAAwC,SAAA,MAAG,IAAI;IAAA,IAAEwC,OAAO,GAAAxC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAxC,SAAA,GAAAwC,SAAA,MAAG,KAAK;IACvD,CAAAuC,sBAAA,OAAI,CAACtF,UAAU,CAACqD,OAAO,cAAAiC,sBAAA,uBAAvBA,sBAAA,CAAyBF,UAAU,CAACC,OAAO,EAAE/B,KAAK,EAAEiC,OAAO,CAAC;EAC9D;;EAEA;AACF;AACA;AACA;EACE7E,uBAAuBA,CAAA,EAAsB;IAAA,IAArB8E,KAAK,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAxC,SAAA,GAAAwC,SAAA,MAAG,KAAK;IACnC,IAAM;MAAEnE,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACK,KAAK;IAC/C,IAAM;MAAEuG,gCAAgC,GAAG;IAAK,CAAC,GAAG7G,eAAe;IACnE,IAAI,CAAC6G,gCAAgC,IAAI,CAACD,KAAK,EAAE;MAC/C;IACF;IAEA,IAAME,eAAe,GAAG,CAAC,GAAG7G,OAAO,CAACoF,MAAM,CAAC,CAAC,CAAC;IAC7C,IAAM;MAAExD;IAAW,CAAC,GAAG,IAAI,CAACzB,KAAK;IACjC0G,eAAe,CAACzD,OAAO,CAAC0B,OAAO,IAAI;MACjClD,UAAU,CAAC0D,IAAI,CAAC9G,UAAU,CAACwH,KAAK,EAAElB,OAAO,CAAC;IAC5C,CAAC,CAAC;IAEF,IAAI,CAACtE,QAAQ,CAAC;MAAER,OAAO,EAAE,IAAIuB,GAAG,CAAC;IAAE,CAAC,CAAC;EACvC;EAaAiE,gBAAgBA,CAAA,EAAS;IAAA,IAAAsB,sBAAA;IACvB,CAAAA,sBAAA,OAAI,CAAC3F,UAAU,CAACqD,OAAO,cAAAsC,sBAAA,uBAAvBA,sBAAA,CAAyBtB,gBAAgB,CAAC,CAAC;EAC7C;EAEAvE,YAAYA,CAAC8F,IAAY,EAAW;IAClC,IAAM;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAAC7G,KAAK;IAC9B,OAAO,CAAC,GAAG6G,OAAO,CAAC5B,MAAM,CAAC,CAAC,CAAC,CAAC6B,IAAI,CAACC,MAAM,IACtCnI,kBAAkB,CAACmI,MAAM,EAAEH,IAAI,CACjC,CAAC;EACH;EAEA7F,WAAWA,CAAC6F,IAAY,EAAe;IACrC,IAAM;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAAC7G,KAAK;IAC9B,IAAM+G,MAAM,GAAG,CAAC,GAAGF,OAAO,CAAC5B,MAAM,CAAC,CAAC,CAAC,CAAC+B,IAAI,CAACC,CAAC,IAAIrI,kBAAkB,CAACqI,CAAC,EAAEL,IAAI,CAAC,CAAC;IAC3E,IAAIG,MAAM,IAAI,IAAI,EAAE;MAClB,OAAOpI,gBAAgB,CAACoI,MAAM,CAAC;IACjC;IACA;IACA,oBAAO9H,IAAA,CAACf,UAAU;MAAC0I,IAAI,EAAEA;IAAK,CAAE,CAAC;EACnC;EAEAM,MAAMA,CAAA,EAAwB;IAC5B,IAAM;MACJC,qBAAqB;MACrBC,WAAW;MACX3F,UAAU;MACVe,cAAc;MACd6E,QAAQ;MACRC;IACF,CAAC,GAAG,IAAI,CAACtH,KAAK;IAEd,IAAIwC,cAAc,IAAI,IAAI,EAAE;MAC1B,oBACEvD,IAAA,CAACnB,cAAc;QAACyJ,SAAS,EAAE,KAAM;QAACC,YAAY,EAAC;MAAsB,CAAE,CAAC;IAE5E;IAEA,IAAM;MAAE5H,eAAe;MAAE0B,KAAK;MAAED;IAAU,CAAC,GAAG,IAAI,CAACnB,KAAK;IACxD,IAAM;MAAEuH,MAAM;MAAEhF,OAAO;MAAEiF,UAAU;MAAEC,OAAO,GAAG,CAAC,CAAC;MAAEC;IAAG,CAAC,GAAGpF,cAAc;IACxE,IAAM;MAAEqF,UAAU;MAAEC;IAAc,CAAC,GAAGH,OAAO;IAC7C,IAAM;MAAEjE,EAAE,EAAEqE,SAAS;MAAEnB,IAAI,EAAEoB;IAAS,CAAC,GAAGP,MAAM;IAEhD,oBACExI,IAAA,CAACH,KAAK;MACJmJ,SAAS,EAAC,oBAAoB;MAC9BC,cAAc,EAAE,IAAK;MACrBd,WAAW,EAAEA,WAAY;MACzB3F,UAAU,EAAEA,UAAW;MACvB0G,QAAQ,EAAE,IAAI,CAACzH,YAAa;MAC5B0H,MAAM,EAAE,IAAI,CAACxH,UAAW;MACxByH,UAAU,EAAE,IAAI,CAAClE,cAAe;MAChCqD,YAAY,EAAElG,KAAK,IAAI,IAAI,MAAAgH,MAAA,CAAMhH,KAAK,IAAKC,SAAU;MAAAgH,QAAA,EAEpD9F,OAAO,IAAI,IAAI,iBACdxD,IAAA,CAAClB,OAAO;QACN6J,EAAE,EAAEA,EAAG;QACPY,GAAG,EAAE,IAAI,CAACxH,UAAW;QACrByH,QAAQ,EAAE7I,eAAgB;QAC1B6C,OAAO,EAAEA,OAAQ;QACjBiG,mBAAmB,EAAE,IAAI,CAACpI,yBAA0B;QACpDqI,UAAU,EAAE,IAAI,CAACnI,gBAAiB;QAClCoI,WAAW,EAAE,IAAI,CAACnI,iBAAkB;QACpC0G,qBAAqB,EAAEA,qBAAsB;QAC7C0B,gBAAgB,EAAE,IAAI,CAAClI,oBAAqB;QAC5CqH,QAAQ,EAAEA,QAAS;QACnBc,iBAAiB,eACfzJ,KAAA,CAAAF,SAAA;UAAAoJ,QAAA,gBACEtJ,IAAA;YAAAsJ,QAAA,EAAMvK,gBAAgB,CAAC+K,YAAY,CAAC9E,GAAG,CAAC+D,QAAQ;UAAC,CAAM,CAAC,EACvDH,UAAU,IAAI,IAAI,iBACjBxI,KAAA,CAAAF,SAAA;YAAAoJ,QAAA,gBACEtJ,IAAA;cAAAsJ,QAAA,EAAK;YAAC,CAAK,CAAC,EACXV,UAAU;UAAA,CACX,CACH,EACAC,aAAa,IAAI,IAAI,iBACpBzI,KAAA,CAAAF,SAAA;YAAAoJ,QAAA,gBACEtJ,IAAA;cAAAsJ,QAAA,EAAK;YAAC,CAAK,CAAC,EACXT,aAAa,eACd7I,IAAA;cAAAsJ,QAAA,EAAK;YAAC,CAAK,CAAC;UAAA,CACZ,CACH,eACDtJ,IAAA,CAAChB,SAAS;YACRyJ,UAAU,EAAEA,UAAW;YACvBsB,qBAAqB,EAAE,EAAE,GAAG,IAAK;YACjCC,mBAAmB,EAAE,CAAC,GAAG,IAAK;YAC9BC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG;UAAK,CACjC,CAAC;QAAA,CACF,CACH;QACDC,KAAK,EAAEpB,SAAU;QACjBV,QAAQ,EAAEA,QAAS;QACnBhG,SAAS,EAAEA,SAAU;QACrBiG,KAAK,EAAEA,KAAM;QACbxG,YAAY,EAAE,IAAI,CAACA,YAAa;QAChCC,WAAW,EAAE,IAAI,CAACA;MAAY,CAC/B;IACF,CACI,CAAC;EAEZ;AACF;AAACd,eAAA,CA5WYH,YAAY,eAIJ,cAAc;AAAAG,eAAA,CAJtBH,YAAY,WAMR,SAAS;AAAAG,eAAA,CANbH,YAAY,iBAQF3B,oBAAoB;AAsW3C,IAAMiL,eAAe,GAAGA,CACtBlJ,KAAgB,EAChBmJ,QAAsC,MAIlC;EACJlC,qBAAqB,EAAE5I,wBAAwB,CAC7C2B,KACF,CAA0B;EAC1BsC,cAAc,EAAEzD,0BAA0B,CAACmB,KAAK,EAAEmJ,QAAQ,CAACC,gBAAgB,CAAC;EAC5EjC,QAAQ,EAAE5I,WAAW,CAACyB,KAAK,CAAC;EAC5B2G,OAAO,EAAErI,UAAU,CAAC0B,KAAK;AAC3B,CAAC,CAAC;AAEF,IAAMqJ,qBAAqB,GAAG1L,OAAO,CAACuL,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;EACjEI,UAAU,EAAE;AACd,CAAC,CAAC,CAAC1J,YAAY,CAAC;AAEhB,eAAeyJ,qBAAqB"}
|
|
@@ -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,EAIhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAW,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;
|
|
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,EAIhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAW,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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;IA4BzC,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAgBxB,qBAAqB,IAAI,IAAI;IAI7B,2BAA2B,IAAI,IAAI;IAOnC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzC,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1D,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;CA0CpB;AAED,QAAA,MAAM,0BAA0B;;;;;;;;EAA+B,CAAC;AAEhE,eAAe,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n FileStorage,\n FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { ReactNode } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport type { IdeSession } from '@deephaven/jsapi-types';\nimport Panel from './Panel';\nimport { NotebookEvent } from '../events';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language: string;\n session?: IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.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.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened(\n session: IdeSession,\n { language }: { language: string }\n ): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n FileStorage,\n FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { ReactNode } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport type { IdeSession } from '@deephaven/jsapi-types';\nimport Panel from './Panel';\nimport { NotebookEvent } from '../events';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language?: string;\n session?: IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.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.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened(\n session: IdeSession,\n { language }: { language: string }\n ): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
2
|
import React, { PureComponent, ReactElement, ReactNode, RefObject } from 'react';
|
|
3
3
|
import { DashboardPanelProps, PanelComponent } from '@deephaven/dashboard';
|
|
4
|
-
import { IrisGrid, IrisGridModel, ColumnName, PendingDataMap, InputFilter, IrisGridThemeType, ReadonlyAdvancedFilterMap, AggregationSettings, AdvancedSettingsType, UIRollupConfig, UIRow, ReadonlyQuickFilterMap, FilterMap, QuickFilter, AdvancedFilter, SidebarFormattingRule, IrisGridState, ChartBuilderSettings, DehydratedIrisGridState, DehydratedIrisGridPanelState, ColumnHeaderGroup, IrisGridContextMenuData } from '@deephaven/iris-grid';
|
|
4
|
+
import { IrisGrid, IrisGridModel, ColumnName, PendingDataMap, InputFilter, IrisGridThemeType, ReadonlyAdvancedFilterMap, AggregationSettings, AdvancedSettingsType, UIRollupConfig, UIRow, ReadonlyQuickFilterMap, FilterMap, QuickFilter, AdvancedFilter, SidebarFormattingRule, IrisGridState, ChartBuilderSettings, DehydratedIrisGridState, DehydratedIrisGridPanelState, ColumnHeaderGroup, IrisGridContextMenuData, PartitionConfig } from '@deephaven/iris-grid';
|
|
5
5
|
import { FormattingRule, ReverseType } from '@deephaven/jsapi-utils';
|
|
6
6
|
import { CustomizableWorkspace, User, WorkspaceSettings } from '@deephaven/redux';
|
|
7
7
|
import { CancelablePromise } from '@deephaven/utils';
|
|
@@ -30,9 +30,7 @@ export interface PanelState {
|
|
|
30
30
|
type LoadedPanelState = PanelState & {
|
|
31
31
|
irisGridPanelState: PanelState['irisGridPanelState'] & {
|
|
32
32
|
partitions?: (string | null)[];
|
|
33
|
-
partitionColumns?: ColumnName[];
|
|
34
33
|
partition?: string | null;
|
|
35
|
-
partitionColumn?: ColumnName | null;
|
|
36
34
|
};
|
|
37
35
|
};
|
|
38
36
|
export interface OwnProps extends DashboardPanelProps {
|
|
@@ -81,7 +79,7 @@ interface IrisGridPanelState {
|
|
|
81
79
|
movedRows: readonly MoveOperation[];
|
|
82
80
|
isSelectingPartition: boolean;
|
|
83
81
|
partitions: (string | null)[];
|
|
84
|
-
|
|
82
|
+
partitionConfig?: PartitionConfig;
|
|
85
83
|
rollupConfig?: UIRollupConfig;
|
|
86
84
|
showSearchBar: boolean;
|
|
87
85
|
searchValue: string;
|
|
@@ -121,8 +119,8 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
|
|
|
121
119
|
getGridInputFilters: (columns: readonly Column[], inputFilters: readonly InputFilter[]) => InputFilter[];
|
|
122
120
|
getAlwaysFetchColumns: (dashboardLinks: readonly Link[], pluginFetchColumns: readonly string[]) => string[];
|
|
123
121
|
getPluginContent: (Plugin: TablePluginComponent | undefined, model: IrisGridModel | undefined, user: User, workspace: CustomizableWorkspace, pluginState: unknown) => JSX.Element | null;
|
|
124
|
-
getDehydratedIrisGridPanelState: (model: IrisGridModel, isSelectingPartition: boolean, partitions: (string | null)[],
|
|
125
|
-
getDehydratedIrisGridState: (model: IrisGridModel, sorts: readonly Sort[], advancedFilters: ReadonlyAdvancedFilterMap, customColumnFormatMap: Map<ColumnName, FormattingRule>, isFilterBarShown: boolean, quickFilters: ReadonlyQuickFilterMap, customColumns: readonly ColumnName[], reverseType: ReverseType, rollupConfig: UIRollupConfig | undefined, showSearchBar: boolean, searchValue: string, selectDistinctColumns: readonly ColumnName[], selectedSearchColumns: readonly ColumnName[], invertSearchColumns: boolean, userColumnWidths: ModelSizeMap, userRowHeights: ModelSizeMap, aggregationSettings: AggregationSettings, pendingDataMap: PendingDataMap<UIRow>, frozenColumns: readonly ColumnName[], conditionalFormats: readonly SidebarFormattingRule[], columnHeaderGroups: readonly ColumnHeaderGroup[]) => DehydratedIrisGridState;
|
|
122
|
+
getDehydratedIrisGridPanelState: (model: IrisGridModel, isSelectingPartition: boolean, partitions: (string | null)[], advancedSettings: Map<AdvancedSettingsType, boolean>) => DehydratedIrisGridPanelState;
|
|
123
|
+
getDehydratedIrisGridState: (model: IrisGridModel, sorts: readonly Sort[], advancedFilters: ReadonlyAdvancedFilterMap, customColumnFormatMap: Map<ColumnName, FormattingRule>, isFilterBarShown: boolean, quickFilters: ReadonlyQuickFilterMap, customColumns: readonly ColumnName[], reverseType: ReverseType, rollupConfig: UIRollupConfig | undefined, showSearchBar: boolean, searchValue: string, selectDistinctColumns: readonly ColumnName[], selectedSearchColumns: readonly ColumnName[], invertSearchColumns: boolean, userColumnWidths: ModelSizeMap, userRowHeights: ModelSizeMap, aggregationSettings: AggregationSettings, pendingDataMap: PendingDataMap<UIRow>, frozenColumns: readonly ColumnName[], conditionalFormats: readonly SidebarFormattingRule[], columnHeaderGroups: readonly ColumnHeaderGroup[], partitionConfig: PartitionConfig | undefined) => DehydratedIrisGridState;
|
|
126
124
|
getDehydratedGridState: (model: IrisGridModel, movedColumns: readonly MoveOperation[], movedRows: readonly MoveOperation[], isStuckToBottom: boolean, isStuckToRight: boolean) => {
|
|
127
125
|
isStuckToBottom: boolean;
|
|
128
126
|
isStuckToRight: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridPanel.d.ts","sourceRoot":"","sources":["../../src/panels/IrisGridPanel.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,mBAAmB,EAGnB,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,QAAQ,EACR,aAAa,EAGb,UAAU,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"IrisGridPanel.d.ts","sourceRoot":"","sources":["../../src/panels/IrisGridPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -111,13 +111,12 @@ export class IrisGridPanel extends PureComponent {
|
|
|
111
111
|
}, deprecatedProps))
|
|
112
112
|
});
|
|
113
113
|
}));
|
|
114
|
-
_defineProperty(this, "getDehydratedIrisGridPanelState", memoize((model, isSelectingPartition, partitions,
|
|
114
|
+
_defineProperty(this, "getDehydratedIrisGridPanelState", memoize((model, isSelectingPartition, partitions, advancedSettings) => IrisGridUtils.dehydrateIrisGridPanelState(model, {
|
|
115
115
|
isSelectingPartition,
|
|
116
116
|
partitions,
|
|
117
|
-
partitionColumns,
|
|
118
117
|
advancedSettings
|
|
119
118
|
})));
|
|
120
|
-
_defineProperty(this, "getDehydratedIrisGridState", memoize((model, sorts, advancedFilters, customColumnFormatMap, isFilterBarShown, quickFilters, customColumns, reverseType, rollupConfig, showSearchBar, searchValue, selectDistinctColumns, selectedSearchColumns, invertSearchColumns, userColumnWidths, userRowHeights, aggregationSettings, pendingDataMap, frozenColumns, conditionalFormats, columnHeaderGroups) => {
|
|
119
|
+
_defineProperty(this, "getDehydratedIrisGridState", memoize((model, sorts, advancedFilters, customColumnFormatMap, isFilterBarShown, quickFilters, customColumns, reverseType, rollupConfig, showSearchBar, searchValue, selectDistinctColumns, selectedSearchColumns, invertSearchColumns, userColumnWidths, userRowHeights, aggregationSettings, pendingDataMap, frozenColumns, conditionalFormats, columnHeaderGroups, partitionConfig) => {
|
|
121
120
|
assertNotNull(this.irisGridUtils);
|
|
122
121
|
return this.irisGridUtils.dehydrateIrisGridState(model, {
|
|
123
122
|
advancedFilters,
|
|
@@ -141,7 +140,8 @@ export class IrisGridPanel extends PureComponent {
|
|
|
141
140
|
pendingDataMap,
|
|
142
141
|
frozenColumns,
|
|
143
142
|
conditionalFormats,
|
|
144
|
-
columnHeaderGroups
|
|
143
|
+
columnHeaderGroups,
|
|
144
|
+
partitionConfig
|
|
145
145
|
});
|
|
146
146
|
}));
|
|
147
147
|
_defineProperty(this, "getDehydratedGridState", memoize((model, movedColumns, movedRows, isStuckToBottom, isStuckToRight) => IrisGridUtils.dehydrateGridState(model, {
|
|
@@ -171,7 +171,6 @@ export class IrisGridPanel extends PureComponent {
|
|
|
171
171
|
panelState: oldPanelState,
|
|
172
172
|
isSelectingPartition,
|
|
173
173
|
partitions,
|
|
174
|
-
partitionColumns,
|
|
175
174
|
advancedSettings
|
|
176
175
|
} = this.state;
|
|
177
176
|
var {
|
|
@@ -193,7 +192,8 @@ export class IrisGridPanel extends PureComponent {
|
|
|
193
192
|
pendingDataMap,
|
|
194
193
|
frozenColumns,
|
|
195
194
|
conditionalFormats,
|
|
196
|
-
columnHeaderGroups
|
|
195
|
+
columnHeaderGroups,
|
|
196
|
+
partitionConfig
|
|
197
197
|
} = irisGridState;
|
|
198
198
|
assertNotNull(model);
|
|
199
199
|
assertNotNull(metrics);
|
|
@@ -208,7 +208,7 @@ export class IrisGridPanel extends PureComponent {
|
|
|
208
208
|
movedColumns,
|
|
209
209
|
movedRows
|
|
210
210
|
} = gridState;
|
|
211
|
-
var panelState = this.getCachedPanelState(this.getDehydratedIrisGridPanelState(model, isSelectingPartition, partitions,
|
|
211
|
+
var panelState = this.getCachedPanelState(this.getDehydratedIrisGridPanelState(model, isSelectingPartition, partitions, advancedSettings), this.getDehydratedIrisGridState(model, sorts, advancedFilters, customColumnFormatMap, isFilterBarShown, quickFilters, customColumns, reverseType, rollupConfig, showSearchBar, searchValue, selectDistinctColumns, selectedSearchColumns, invertSearchColumns, userColumnWidths, userRowHeights, aggregationSettings, pendingDataMap, frozenColumns, conditionalFormats, columnHeaderGroups, partitionConfig), this.getDehydratedGridState(model, movedColumns, movedRows, isStuckToBottom, isStuckToRight), pluginState);
|
|
212
212
|
if (panelState !== oldPanelState) {
|
|
213
213
|
log.debug('Saving panel state', this, panelState);
|
|
214
214
|
this.setState({
|
|
@@ -270,7 +270,6 @@ export class IrisGridPanel extends PureComponent {
|
|
|
270
270
|
movedRows: [],
|
|
271
271
|
isSelectingPartition: false,
|
|
272
272
|
partitions: [],
|
|
273
|
-
partitionColumns: [],
|
|
274
273
|
rollupConfig: undefined,
|
|
275
274
|
showSearchBar: false,
|
|
276
275
|
searchValue: '',
|
|
@@ -781,7 +780,6 @@ export class IrisGridPanel extends PureComponent {
|
|
|
781
780
|
var {
|
|
782
781
|
isSelectingPartition,
|
|
783
782
|
partitions,
|
|
784
|
-
partitionColumns,
|
|
785
783
|
advancedSettings
|
|
786
784
|
} = IrisGridUtils.hydrateIrisGridPanelState(model, irisGridPanelState);
|
|
787
785
|
assertNotNull(this.irisGridUtils);
|
|
@@ -805,7 +803,8 @@ export class IrisGridPanel extends PureComponent {
|
|
|
805
803
|
pendingDataMap,
|
|
806
804
|
frozenColumns,
|
|
807
805
|
conditionalFormats,
|
|
808
|
-
columnHeaderGroups
|
|
806
|
+
columnHeaderGroups,
|
|
807
|
+
partitionConfig
|
|
809
808
|
} = this.irisGridUtils.hydrateIrisGridState(model, _objectSpread(_objectSpread({}, _irisGridState2), irisGridStateOverrides));
|
|
810
809
|
var {
|
|
811
810
|
isStuckToBottom,
|
|
@@ -824,7 +823,6 @@ export class IrisGridPanel extends PureComponent {
|
|
|
824
823
|
movedColumns,
|
|
825
824
|
movedRows,
|
|
826
825
|
partitions,
|
|
827
|
-
partitionColumns,
|
|
828
826
|
quickFilters,
|
|
829
827
|
reverseType,
|
|
830
828
|
rollupConfig,
|
|
@@ -841,7 +839,8 @@ export class IrisGridPanel extends PureComponent {
|
|
|
841
839
|
frozenColumns,
|
|
842
840
|
isStuckToBottom,
|
|
843
841
|
isStuckToRight,
|
|
844
|
-
columnHeaderGroups
|
|
842
|
+
columnHeaderGroups,
|
|
843
|
+
partitionConfig
|
|
845
844
|
});
|
|
846
845
|
} catch (error) {
|
|
847
846
|
log.error('loadPanelState failed to load panelState', panelState, error);
|
|
@@ -892,7 +891,7 @@ export class IrisGridPanel extends PureComponent {
|
|
|
892
891
|
movedColumns,
|
|
893
892
|
movedRows,
|
|
894
893
|
partitions,
|
|
895
|
-
|
|
894
|
+
partitionConfig,
|
|
896
895
|
quickFilters,
|
|
897
896
|
reverseType,
|
|
898
897
|
rollupConfig,
|
|
@@ -967,7 +966,7 @@ export class IrisGridPanel extends PureComponent {
|
|
|
967
966
|
movedColumns: movedColumns,
|
|
968
967
|
movedRows: movedRows,
|
|
969
968
|
partitions: partitions,
|
|
970
|
-
|
|
969
|
+
partitionConfig: partitionConfig,
|
|
971
970
|
quickFilters: quickFilters,
|
|
972
971
|
reverseType: reverseType,
|
|
973
972
|
rollupConfig: rollupConfig,
|