@deephaven/dashboard-core-plugins 0.15.6-beta.0 → 0.15.6-vite.19
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.js.map +1 -1
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridPlugin.js.map +1 -1
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/controls/ControlType.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
- package/dist/events/ChartEvent.js.map +1 -1
- package/dist/events/ConsoleEvent.js.map +1 -1
- package/dist/events/InputFilterEvent.js.map +1 -1
- package/dist/events/IrisGridEvent.js.map +1 -1
- package/dist/events/MarkdownEvent.js.map +1 -1
- package/dist/events/NotebookEvent.js.map +1 -1
- package/dist/events/PQEvent.js.map +1 -1
- package/dist/events/PandasEvent.js.map +1 -1
- package/dist/events/TabEvent.js.map +1 -1
- package/dist/events/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/linker/ColumnSelectionValidator.js.map +1 -1
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/linker/ToolType.js.map +1 -1
- package/dist/linker/index.js.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/panels/ChartFilterOverlay.d.ts +4 -2
- package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +17 -8
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownNotebook.js.map +1 -1
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +1 -3
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +3 -5
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.js +1 -1
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/Panel.js.map +1 -1
- package/dist/panels/PanelContextMenu.js.map +1 -1
- package/dist/panels/RenameDialog.js.map +1 -1
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/panels/index.js.map +1 -1
- package/dist/prop-types/CommonPropTypes.js.map +1 -1
- package/dist/prop-types/UIPropTypes.js.map +1 -1
- package/dist/prop-types/index.js.map +1 -1
- package/dist/redux/actionTypes.js.map +1 -1
- package/dist/redux/actions.js.map +1 -1
- package/dist/redux/index.js.map +1 -1
- package/dist/redux/reducers/index.js.map +1 -1
- package/dist/redux/reducers/sessionWrapper.js.map +1 -1
- package/dist/redux/selectors.js.map +1 -1
- package/package.json +18 -19
package/dist/panels/Panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/panels/Panel.tsx"],"names":["React","PureComponent","ReactDOM","classNames","memoize","ContextActions","LoadingOverlay","Tooltip","LayoutUtils","PanelEvent","assertNotNull","Log","ConsoleEvent","InputFilterEvent","TabEvent","PanelContextMenu","RenameDialog","log","module","Panel","constructor","props","actions","isClonable","isRenamable","additionalActions","push","getCloneAction","getRenameAction","handleClearAllFilters","bind","handleCopyPanel","handleFocus","handleBlur","handleHide","handleResize","handleSessionClosed","handleSessionOpened","handleBeforeShow","handleShow","handleTabBlur","handleTabFocus","handleRenameCancel","handleRenameSubmit","handleShowRenameDialog","handleTabClicked","handleTab","glContainer","state","title","getTitleFromContainer","showRenameDialog","componentDidMount","componentPanel","glEventHub","on","SESSION_CLOSED","SESSION_OPENED","focus","blur","CLEAR_ALL_FILTERS","emit","MOUNT","componentWillUnmount","off","UNMOUNT","tab","setState","getTitleFromTab","forceUpdate","onTab","onTabClicked","onClearAllFilters","event","FOCUS","onFocus","onBlur","onHide","onResize","session","onSessionClose","params","onSessionOpen","onBeforeShow","onShow","onTabBlur","onTabFocus","newTitle","root","getRootFromContainer","config","getComponentConfigFromContainer","renameComponent","error","cloneConfig","cloneComponent","CLONED","order","group","groups","high","action","medium","render","children","className","renderTabTooltip","errorMessage","isLoaded","isLoading","glTab","createPortal","getAdditionActions","placement","element","undefined"],"mappings":"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","sourcesContent":["import React, {\n Component,\n FocusEvent,\n FocusEventHandler,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport {\n ContextAction,\n ContextActions,\n LoadingOverlay,\n Tooltip,\n} from '@deephaven/components';\nimport { LayoutUtils, PanelEvent } from '@deephaven/dashboard';\nimport {\n Container,\n EventEmitter,\n ReactComponentConfig,\n Tab,\n} from '@deephaven/golden-layout';\nimport { assertNotNull } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { ConsoleEvent, InputFilterEvent, TabEvent } from '../events';\nimport PanelContextMenu from './PanelContextMenu';\nimport RenameDialog from './RenameDialog';\n\nconst log = Log.module('Panel');\n\ninterface PanelProps {\n componentPanel: Component;\n children: ReactNode;\n glContainer: Container;\n glEventHub: EventEmitter;\n className: string;\n onFocus: FocusEventHandler<HTMLDivElement>;\n onBlur: FocusEventHandler<HTMLDivElement>;\n onTab: (tab: Tab) => void;\n onTabClicked: (...args: unknown[]) => void;\n onClearAllFilters: (...args: unknown[]) => void;\n onHide: (...args: unknown[]) => void;\n onResize: (...args: unknown[]) => void;\n onSessionClose: (session: IdeSession) => void;\n onSessionOpen: (\n session: IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ) => void;\n onBeforeShow: (...args: unknown[]) => void;\n onShow: (...args: unknown[]) => void;\n onTabBlur: (...args: unknown[]) => void;\n onTabFocus: (...args: unknown[]) => void;\n renderTabTooltip: () => ReactNode;\n additionalActions: ContextAction[];\n errorMessage: string;\n isLoading: boolean;\n isLoaded: boolean;\n isClonable: boolean;\n isRenamable: boolean;\n}\n\ninterface PanelState {\n title?: string | null;\n showRenameDialog: boolean;\n}\n/**\n * Generic panel component that emits mount/unmount/focus events.\n * Also wires up some triggers for common events:\n * Focus, Resize, Show, Session open/close, client disconnect/reconnect.\n */\nclass Panel extends PureComponent<PanelProps, PanelState> {\n static defaultProps = {\n className: '',\n onTab: (): void => undefined,\n onTabClicked: (): void => undefined,\n onClearAllFilters: (): void => undefined,\n onFocus: (): void => undefined,\n onBlur: (): void => undefined,\n onHide: (): void => undefined,\n onResize: (): void => undefined,\n onSessionClose: (): void => undefined,\n onSessionOpen: (): void => undefined,\n onBeforeShow: (): void => undefined,\n onShow: (): void => undefined,\n onTabBlur: (): void => undefined,\n onTabFocus: (): void => undefined,\n renderTabTooltip: null,\n additionalActions: [],\n errorMessage: null,\n isLoading: false,\n isLoaded: true,\n isClonable: false,\n isRenamable: false,\n };\n\n constructor(props: PanelProps) {\n super(props);\n\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n this.handleCopyPanel = this.handleCopyPanel.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleHide = this.handleHide.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleBeforeShow = this.handleBeforeShow.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleTabBlur = this.handleTabBlur.bind(this);\n this.handleTabFocus = this.handleTabFocus.bind(this);\n this.handleRenameCancel = this.handleRenameCancel.bind(this);\n this.handleRenameSubmit = this.handleRenameSubmit.bind(this);\n this.handleShowRenameDialog = this.handleShowRenameDialog.bind(this);\n this.handleTabClicked = this.handleTabClicked.bind(this);\n this.handleTab = this.handleTab.bind(this);\n\n const { glContainer } = this.props;\n this.state = {\n title: LayoutUtils.getTitleFromContainer(glContainer),\n showRenameDialog: false,\n };\n }\n\n componentDidMount(): void {\n const { componentPanel, glContainer, glEventHub } = this.props;\n\n glContainer.on('resize', this.handleResize);\n glContainer.on('show', this.handleBeforeShow);\n glContainer.on('shown', this.handleShow);\n glContainer.on('hide', this.handleHide);\n glContainer.on('tab', this.handleTab);\n glContainer.on('tabClicked', this.handleTabClicked);\n glEventHub.on(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.on(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.on(TabEvent.focus, this.handleTabFocus);\n glEventHub.on(TabEvent.blur, this.handleTabBlur);\n glEventHub.on(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n\n glEventHub.emit(PanelEvent.MOUNT, componentPanel);\n }\n\n componentWillUnmount(): void {\n const { componentPanel, glContainer, glEventHub } = this.props;\n\n glContainer.off('resize', this.handleResize);\n glContainer.off('show', this.handleBeforeShow);\n glContainer.off('shown', this.handleShow);\n glContainer.off('hide', this.handleHide);\n glContainer.off('tab', this.handleTab);\n glContainer.off('tabClicked', this.handleTabClicked);\n glEventHub.off(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.off(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.off(TabEvent.focus, this.handleTabFocus);\n glEventHub.off(TabEvent.blur, this.handleTabBlur);\n glEventHub.off(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n\n glEventHub.emit(PanelEvent.UNMOUNT, componentPanel);\n }\n\n handleTab(tab: Tab): void {\n if (tab) {\n this.setState({\n title: LayoutUtils.getTitleFromTab(tab),\n });\n }\n // render after move can happen before tab event, glTab could be null\n // when tab event is emitted, force a render update\n this.forceUpdate();\n\n const { onTab } = this.props;\n onTab(tab);\n }\n\n handleTabClicked(...args: unknown[]): void {\n const { onTabClicked } = this.props;\n onTabClicked(...args);\n }\n\n handleClearAllFilters(...args: unknown[]): void {\n const { onClearAllFilters } = this.props;\n onClearAllFilters(...args);\n }\n\n handleFocus(event: FocusEvent<HTMLDivElement>): void {\n const { componentPanel, glEventHub } = this.props;\n glEventHub.emit(PanelEvent.FOCUS, componentPanel);\n\n const { onFocus } = this.props;\n onFocus(event);\n }\n\n handleBlur(event: FocusEvent<HTMLDivElement>): void {\n const { onBlur } = this.props;\n onBlur(event);\n }\n\n handleHide(...args: unknown[]): void {\n const { onHide } = this.props;\n onHide(...args);\n }\n\n handleResize(...args: unknown[]): void {\n const { onResize } = this.props;\n onResize(...args);\n }\n\n handleSessionClosed(session: IdeSession): void {\n const { onSessionClose } = this.props;\n onSessionClose(session);\n }\n\n handleSessionOpened(\n session: IdeSession,\n params: { language: string; sessionId: string }\n ): void {\n const { onSessionOpen } = this.props;\n onSessionOpen(session, params);\n }\n\n handleBeforeShow(...args: unknown[]): void {\n const { onBeforeShow } = this.props;\n onBeforeShow(...args);\n }\n\n handleShow(...args: unknown[]): void {\n const { onShow } = this.props;\n onShow(...args);\n }\n\n handleTabBlur(...args: unknown[]): void {\n const { onTabBlur } = this.props;\n onTabBlur(...args);\n }\n\n handleTabFocus(...args: unknown[]): void {\n const { onTabFocus } = this.props;\n onTabFocus(...args);\n }\n\n handleRenameCancel(): void {\n this.setState({ showRenameDialog: false });\n }\n\n handleShowRenameDialog(): void {\n this.setState({ showRenameDialog: true });\n }\n\n handleRenameSubmit(newTitle: string): void {\n const { glContainer } = this.props;\n this.setState({ showRenameDialog: false, title: newTitle });\n const root = LayoutUtils.getRootFromContainer(glContainer);\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n assertNotNull(config);\n LayoutUtils.renameComponent(root, config, newTitle);\n }\n\n handleCopyPanel(): void {\n const { glContainer, glEventHub } = this.props;\n const root = LayoutUtils.getRootFromContainer(glContainer);\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n if (config == null) {\n log.error('Could not get component config from container', glContainer);\n return;\n }\n const cloneConfig = LayoutUtils.cloneComponent(\n root,\n config as ReactComponentConfig\n );\n if (cloneConfig !== null) {\n glEventHub.emit(PanelEvent.CLONED, this, cloneConfig);\n }\n }\n\n getCloneAction(): ContextAction {\n return {\n title: 'Copy Panel',\n order: 10,\n group: ContextActions.groups.high,\n action: this.handleCopyPanel,\n };\n }\n\n getRenameAction(): ContextAction {\n return {\n title: 'Rename',\n order: 10,\n group: ContextActions.groups.medium,\n action: this.handleShowRenameDialog,\n };\n }\n\n getAdditionActions = memoize((actions, isClonable, isRenamable) => {\n const additionalActions = [];\n if (isClonable) {\n additionalActions.push(this.getCloneAction());\n }\n if (isRenamable) {\n additionalActions.push(this.getRenameAction());\n }\n return [...additionalActions, ...actions];\n });\n\n render(): ReactElement {\n const {\n children,\n className,\n renderTabTooltip,\n glContainer,\n additionalActions,\n errorMessage,\n isLoaded,\n isLoading,\n isClonable,\n isRenamable,\n } = this.props;\n const { tab: glTab } = glContainer;\n const { showRenameDialog, title } = this.state;\n\n return (\n <div\n className={classNames('h-100 w-100 iris-panel', className)}\n onFocusCapture={this.handleFocus}\n onBlurCapture={this.handleBlur}\n >\n {children}\n <LoadingOverlay\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n />\n {glTab &&\n ReactDOM.createPortal(\n <>\n <PanelContextMenu\n glContainer={glContainer}\n additionalActions={this.getAdditionActions(\n additionalActions,\n isClonable,\n isRenamable\n )}\n />\n {isRenamable && (\n <RenameDialog\n isShown={showRenameDialog}\n value={title}\n itemType=\"Panel\"\n onCancel={this.handleRenameCancel}\n onSubmit={this.handleRenameSubmit}\n />\n )}\n {renderTabTooltip && (\n <Tooltip\n interactive\n options={{\n placement: 'bottom',\n }}\n popperClassName=\"panel-tab-popper\"\n >\n {renderTabTooltip()}\n </Tooltip>\n )}\n </>,\n glTab.element[0] // tab.element is jquery element, we want a dom element\n )}\n </div>\n );\n }\n}\n\nexport default Panel;\n"],"file":"Panel.js"}
|
|
1
|
+
{"version":3,"file":"Panel.js","names":["React","PureComponent","ReactDOM","classNames","memoize","ContextActions","LoadingOverlay","Tooltip","LayoutUtils","PanelEvent","assertNotNull","Log","ConsoleEvent","InputFilterEvent","TabEvent","PanelContextMenu","RenameDialog","log","module","Panel","constructor","props","actions","isClonable","isRenamable","additionalActions","push","getCloneAction","getRenameAction","handleClearAllFilters","bind","handleCopyPanel","handleFocus","handleBlur","handleHide","handleResize","handleSessionClosed","handleSessionOpened","handleBeforeShow","handleShow","handleTabBlur","handleTabFocus","handleRenameCancel","handleRenameSubmit","handleShowRenameDialog","handleTabClicked","handleTab","glContainer","state","title","getTitleFromContainer","showRenameDialog","componentDidMount","componentPanel","glEventHub","on","SESSION_CLOSED","SESSION_OPENED","focus","blur","CLEAR_ALL_FILTERS","emit","MOUNT","componentWillUnmount","off","UNMOUNT","tab","setState","getTitleFromTab","forceUpdate","onTab","onTabClicked","onClearAllFilters","event","FOCUS","onFocus","onBlur","onHide","onResize","session","onSessionClose","params","onSessionOpen","onBeforeShow","onShow","onTabBlur","onTabFocus","newTitle","root","getRootFromContainer","config","getComponentConfigFromContainer","renameComponent","error","cloneConfig","cloneComponent","CLONED","order","group","groups","high","action","medium","render","children","className","renderTabTooltip","errorMessage","isLoaded","isLoading","glTab","createPortal","getAdditionActions","placement","element","undefined"],"sources":["../../src/panels/Panel.tsx"],"sourcesContent":["import React, {\n Component,\n FocusEvent,\n FocusEventHandler,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport {\n ContextAction,\n ContextActions,\n LoadingOverlay,\n Tooltip,\n} from '@deephaven/components';\nimport { LayoutUtils, PanelEvent } from '@deephaven/dashboard';\nimport {\n Container,\n EventEmitter,\n ReactComponentConfig,\n Tab,\n} from '@deephaven/golden-layout';\nimport { assertNotNull } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { ConsoleEvent, InputFilterEvent, TabEvent } from '../events';\nimport PanelContextMenu from './PanelContextMenu';\nimport RenameDialog from './RenameDialog';\n\nconst log = Log.module('Panel');\n\ninterface PanelProps {\n componentPanel: Component;\n children: ReactNode;\n glContainer: Container;\n glEventHub: EventEmitter;\n className: string;\n onFocus: FocusEventHandler<HTMLDivElement>;\n onBlur: FocusEventHandler<HTMLDivElement>;\n onTab: (tab: Tab) => void;\n onTabClicked: (...args: unknown[]) => void;\n onClearAllFilters: (...args: unknown[]) => void;\n onHide: (...args: unknown[]) => void;\n onResize: (...args: unknown[]) => void;\n onSessionClose: (session: IdeSession) => void;\n onSessionOpen: (\n session: IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ) => void;\n onBeforeShow: (...args: unknown[]) => void;\n onShow: (...args: unknown[]) => void;\n onTabBlur: (...args: unknown[]) => void;\n onTabFocus: (...args: unknown[]) => void;\n renderTabTooltip: () => ReactNode;\n additionalActions: ContextAction[];\n errorMessage: string;\n isLoading: boolean;\n isLoaded: boolean;\n isClonable: boolean;\n isRenamable: boolean;\n}\n\ninterface PanelState {\n title?: string | null;\n showRenameDialog: boolean;\n}\n/**\n * Generic panel component that emits mount/unmount/focus events.\n * Also wires up some triggers for common events:\n * Focus, Resize, Show, Session open/close, client disconnect/reconnect.\n */\nclass Panel extends PureComponent<PanelProps, PanelState> {\n static defaultProps = {\n className: '',\n onTab: (): void => undefined,\n onTabClicked: (): void => undefined,\n onClearAllFilters: (): void => undefined,\n onFocus: (): void => undefined,\n onBlur: (): void => undefined,\n onHide: (): void => undefined,\n onResize: (): void => undefined,\n onSessionClose: (): void => undefined,\n onSessionOpen: (): void => undefined,\n onBeforeShow: (): void => undefined,\n onShow: (): void => undefined,\n onTabBlur: (): void => undefined,\n onTabFocus: (): void => undefined,\n renderTabTooltip: null,\n additionalActions: [],\n errorMessage: null,\n isLoading: false,\n isLoaded: true,\n isClonable: false,\n isRenamable: false,\n };\n\n constructor(props: PanelProps) {\n super(props);\n\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n this.handleCopyPanel = this.handleCopyPanel.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleHide = this.handleHide.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleBeforeShow = this.handleBeforeShow.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleTabBlur = this.handleTabBlur.bind(this);\n this.handleTabFocus = this.handleTabFocus.bind(this);\n this.handleRenameCancel = this.handleRenameCancel.bind(this);\n this.handleRenameSubmit = this.handleRenameSubmit.bind(this);\n this.handleShowRenameDialog = this.handleShowRenameDialog.bind(this);\n this.handleTabClicked = this.handleTabClicked.bind(this);\n this.handleTab = this.handleTab.bind(this);\n\n const { glContainer } = this.props;\n this.state = {\n title: LayoutUtils.getTitleFromContainer(glContainer),\n showRenameDialog: false,\n };\n }\n\n componentDidMount(): void {\n const { componentPanel, glContainer, glEventHub } = this.props;\n\n glContainer.on('resize', this.handleResize);\n glContainer.on('show', this.handleBeforeShow);\n glContainer.on('shown', this.handleShow);\n glContainer.on('hide', this.handleHide);\n glContainer.on('tab', this.handleTab);\n glContainer.on('tabClicked', this.handleTabClicked);\n glEventHub.on(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.on(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.on(TabEvent.focus, this.handleTabFocus);\n glEventHub.on(TabEvent.blur, this.handleTabBlur);\n glEventHub.on(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n\n glEventHub.emit(PanelEvent.MOUNT, componentPanel);\n }\n\n componentWillUnmount(): void {\n const { componentPanel, glContainer, glEventHub } = this.props;\n\n glContainer.off('resize', this.handleResize);\n glContainer.off('show', this.handleBeforeShow);\n glContainer.off('shown', this.handleShow);\n glContainer.off('hide', this.handleHide);\n glContainer.off('tab', this.handleTab);\n glContainer.off('tabClicked', this.handleTabClicked);\n glEventHub.off(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.off(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.off(TabEvent.focus, this.handleTabFocus);\n glEventHub.off(TabEvent.blur, this.handleTabBlur);\n glEventHub.off(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n\n glEventHub.emit(PanelEvent.UNMOUNT, componentPanel);\n }\n\n handleTab(tab: Tab): void {\n if (tab) {\n this.setState({\n title: LayoutUtils.getTitleFromTab(tab),\n });\n }\n // render after move can happen before tab event, glTab could be null\n // when tab event is emitted, force a render update\n this.forceUpdate();\n\n const { onTab } = this.props;\n onTab(tab);\n }\n\n handleTabClicked(...args: unknown[]): void {\n const { onTabClicked } = this.props;\n onTabClicked(...args);\n }\n\n handleClearAllFilters(...args: unknown[]): void {\n const { onClearAllFilters } = this.props;\n onClearAllFilters(...args);\n }\n\n handleFocus(event: FocusEvent<HTMLDivElement>): void {\n const { componentPanel, glEventHub } = this.props;\n glEventHub.emit(PanelEvent.FOCUS, componentPanel);\n\n const { onFocus } = this.props;\n onFocus(event);\n }\n\n handleBlur(event: FocusEvent<HTMLDivElement>): void {\n const { onBlur } = this.props;\n onBlur(event);\n }\n\n handleHide(...args: unknown[]): void {\n const { onHide } = this.props;\n onHide(...args);\n }\n\n handleResize(...args: unknown[]): void {\n const { onResize } = this.props;\n onResize(...args);\n }\n\n handleSessionClosed(session: IdeSession): void {\n const { onSessionClose } = this.props;\n onSessionClose(session);\n }\n\n handleSessionOpened(\n session: IdeSession,\n params: { language: string; sessionId: string }\n ): void {\n const { onSessionOpen } = this.props;\n onSessionOpen(session, params);\n }\n\n handleBeforeShow(...args: unknown[]): void {\n const { onBeforeShow } = this.props;\n onBeforeShow(...args);\n }\n\n handleShow(...args: unknown[]): void {\n const { onShow } = this.props;\n onShow(...args);\n }\n\n handleTabBlur(...args: unknown[]): void {\n const { onTabBlur } = this.props;\n onTabBlur(...args);\n }\n\n handleTabFocus(...args: unknown[]): void {\n const { onTabFocus } = this.props;\n onTabFocus(...args);\n }\n\n handleRenameCancel(): void {\n this.setState({ showRenameDialog: false });\n }\n\n handleShowRenameDialog(): void {\n this.setState({ showRenameDialog: true });\n }\n\n handleRenameSubmit(newTitle: string): void {\n const { glContainer } = this.props;\n this.setState({ showRenameDialog: false, title: newTitle });\n const root = LayoutUtils.getRootFromContainer(glContainer);\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n assertNotNull(config);\n LayoutUtils.renameComponent(root, config, newTitle);\n }\n\n handleCopyPanel(): void {\n const { glContainer, glEventHub } = this.props;\n const root = LayoutUtils.getRootFromContainer(glContainer);\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n if (config == null) {\n log.error('Could not get component config from container', glContainer);\n return;\n }\n const cloneConfig = LayoutUtils.cloneComponent(\n root,\n config as ReactComponentConfig\n );\n if (cloneConfig !== null) {\n glEventHub.emit(PanelEvent.CLONED, this, cloneConfig);\n }\n }\n\n getCloneAction(): ContextAction {\n return {\n title: 'Copy Panel',\n order: 10,\n group: ContextActions.groups.high,\n action: this.handleCopyPanel,\n };\n }\n\n getRenameAction(): ContextAction {\n return {\n title: 'Rename',\n order: 10,\n group: ContextActions.groups.medium,\n action: this.handleShowRenameDialog,\n };\n }\n\n getAdditionActions = memoize((actions, isClonable, isRenamable) => {\n const additionalActions = [];\n if (isClonable) {\n additionalActions.push(this.getCloneAction());\n }\n if (isRenamable) {\n additionalActions.push(this.getRenameAction());\n }\n return [...additionalActions, ...actions];\n });\n\n render(): ReactElement {\n const {\n children,\n className,\n renderTabTooltip,\n glContainer,\n additionalActions,\n errorMessage,\n isLoaded,\n isLoading,\n isClonable,\n isRenamable,\n } = this.props;\n const { tab: glTab } = glContainer;\n const { showRenameDialog, title } = this.state;\n\n return (\n <div\n className={classNames('h-100 w-100 iris-panel', className)}\n onFocusCapture={this.handleFocus}\n onBlurCapture={this.handleBlur}\n >\n {children}\n <LoadingOverlay\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n />\n {glTab &&\n ReactDOM.createPortal(\n <>\n <PanelContextMenu\n glContainer={glContainer}\n additionalActions={this.getAdditionActions(\n additionalActions,\n isClonable,\n isRenamable\n )}\n />\n {isRenamable && (\n <RenameDialog\n isShown={showRenameDialog}\n value={title}\n itemType=\"Panel\"\n onCancel={this.handleRenameCancel}\n onSubmit={this.handleRenameSubmit}\n />\n )}\n {renderTabTooltip && (\n <Tooltip\n interactive\n options={{\n placement: 'bottom',\n }}\n popperClassName=\"panel-tab-popper\"\n >\n {renderTabTooltip()}\n </Tooltip>\n )}\n </>,\n glTab.element[0] // tab.element is jquery element, we want a dom element\n )}\n </div>\n );\n }\n}\n\nexport default Panel;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"PanelContextMenu.js","names":["React","PureComponent","ContextActions","PanelContextMenu","constructor","props","handleCloseTab","bind","handleCloseTabsRight","handleCloseTabsAll","getAllTabs","glContainer","tab","header","tabs","close","forEach","contentItem","container","i","length","config","id","canCloseTabsRight","disabled","isClosable","canCloseAny","render","additionalActions","contextActions","push","title","order","group","groups","low","action"],"sources":["../../src/panels/PanelContextMenu.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement } from 'react';\nimport { ContextAction, ContextActions } from '@deephaven/components';\nimport { Container, Tab } from '@deephaven/golden-layout';\n\ninterface PanelContextMenuProps {\n additionalActions: ContextAction[];\n glContainer: Container;\n}\n\ninterface HasContainer {\n container: {\n close: () => void;\n };\n}\nclass PanelContextMenu extends PureComponent<\n PanelContextMenuProps,\n Record<string, never>\n> {\n static defaultProps = {\n additionalActions: [],\n };\n\n constructor(props: PanelContextMenuProps) {\n super(props);\n\n this.handleCloseTab = this.handleCloseTab.bind(this);\n this.handleCloseTabsRight = this.handleCloseTabsRight.bind(this);\n this.handleCloseTabsAll = this.handleCloseTabsAll.bind(this);\n }\n\n getAllTabs(): Tab[] {\n // return a clone of the tabs array, or returns empty array if null\n const { glContainer } = this.props;\n return [...(glContainer?.tab?.header?.tabs ?? [])];\n }\n\n handleCloseTab(): void {\n const { glContainer } = this.props;\n glContainer.close();\n }\n\n handleCloseTabsAll(): void {\n const tabs = this.getAllTabs();\n\n // No need to check if isClosable, golden-layout returns\n // false when attempting to close tabs that you can't\n tabs.forEach(tab =>\n ((tab?.contentItem as unknown) as HasContainer).container?.close()\n );\n }\n\n handleCloseTabsRight(): void {\n const { glContainer } = this.props;\n const tabs = this.getAllTabs();\n\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n if (\n tabs[i].contentItem?.config?.id ===\n glContainer.tab?.contentItem?.config?.id\n ) {\n break; // end when we get back to current id\n }\n\n // eslint-disable-next-line no-unused-expressions\n ((tabs[i]?.contentItem as unknown) as HasContainer).container?.close();\n }\n }\n\n canCloseTabsRight(): boolean {\n const { glContainer } = this.props;\n const tabs = this.getAllTabs();\n\n let disabled = true;\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n if (\n tabs[i].contentItem?.config?.id ===\n glContainer.tab?.contentItem?.config?.id\n ) {\n break; // end when we get back to current id\n }\n if (tabs[i]?.contentItem?.config?.isClosable) {\n disabled = false;\n break; // end if we find a closeable tab\n }\n }\n return disabled;\n }\n\n canCloseAny(): boolean {\n const tabs = this.getAllTabs();\n\n let disabled = true;\n for (let i = tabs.length - 1; i > 0; i -= 1) {\n if (tabs[i]?.contentItem?.config?.isClosable) {\n disabled = false;\n break;\n }\n }\n return disabled;\n }\n\n render(): ReactElement {\n const { additionalActions, glContainer } = this.props;\n\n const contextActions: (ContextAction | (() => ContextAction))[] = [\n ...additionalActions,\n ];\n\n contextActions.push({\n title: 'Close',\n order: 10,\n group: ContextActions.groups.low,\n action: this.handleCloseTab,\n disabled: !glContainer.tab?.contentItem?.config?.isClosable,\n });\n\n // pushed as function so the disable check happens on run\n contextActions.push(() => ({\n title: 'Close Tabs to Right',\n order: 20,\n group: ContextActions.groups.low,\n action: this.handleCloseTabsRight,\n disabled: this.canCloseTabsRight(),\n }));\n\n contextActions.push(() => ({\n title: 'Close All',\n order: 30,\n group: ContextActions.groups.low,\n action: this.handleCloseTabsAll,\n disabled: this.canCloseAny(),\n }));\n\n return <ContextActions actions={contextActions} />;\n }\n}\n\nexport default PanelContextMenu;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"RenameDialog.js","names":["React","PureComponent","classNames","Popper","RenameDialog","constructor","props","handleRenameDialogOpened","bind","handleRenameInputChange","handleRenameCancel","handleRenameSubmit","renameInputRef","createRef","value","state","valueWasValidated","componentDidUpdate","prevProps","isShown","prevIsShown","resetState","setState","current","focus","event","target","onCancel","stopPropagation","preventDefault","newTitle","trim","undefined","onSubmit","renderRenameDialog","isShared","isOwner","itemType","render","placement","modifiers","preventOverflow","boundariesElement"],"sources":["../../src/panels/RenameDialog.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n FormEvent,\n PureComponent,\n ReactElement,\n RefObject,\n} from 'react';\nimport classNames from 'classnames';\nimport { Popper } from '@deephaven/components';\n\ninterface RenameDialogProps {\n isShared: boolean;\n isOwner: boolean;\n isShown: boolean;\n itemType: string;\n onSubmit: (title: string) => void;\n onCancel: () => void;\n value?: string | null;\n}\n\ninterface RenameDialogState {\n value?: string | null;\n valueWasValidated: boolean;\n}\n\nexport default class RenameDialog extends PureComponent<\n RenameDialogProps,\n RenameDialogState\n> {\n static defaultProps = {\n isShared: false,\n isOwner: true,\n itemType: 'Item',\n value: '',\n };\n\n constructor(props: RenameDialogProps) {\n super(props);\n\n this.handleRenameDialogOpened = this.handleRenameDialogOpened.bind(this);\n this.handleRenameInputChange = this.handleRenameInputChange.bind(this);\n this.handleRenameCancel = this.handleRenameCancel.bind(this);\n this.handleRenameSubmit = this.handleRenameSubmit.bind(this);\n\n this.renameInputRef = React.createRef();\n\n const { value } = props;\n\n this.state = {\n value,\n valueWasValidated: false,\n };\n }\n\n componentDidUpdate(prevProps: RenameDialogProps): void {\n const { isShown: prevIsShown } = prevProps;\n const { isShown } = this.props;\n // Reset the state on dialog shown and not on the `value` prop change\n // so the input keeps the internal value while the dialog is open.\n // Useful in case the `value` prop update is triggered externally\n // i.e. by someone else renaming the same shared dashboard\n if (isShown && !prevIsShown) {\n this.resetState();\n }\n }\n\n renameInputRef: RefObject<HTMLInputElement>;\n\n resetState(): void {\n const { value } = this.props;\n this.setState({ value, valueWasValidated: false });\n }\n\n handleRenameDialogOpened(): void {\n if (this.renameInputRef) {\n this.renameInputRef.current?.focus();\n }\n }\n\n handleRenameInputChange(event: ChangeEvent<HTMLInputElement>): void {\n this.setState({ value: event.target.value });\n }\n\n handleRenameCancel(): void {\n const { onCancel } = this.props;\n onCancel();\n }\n\n handleRenameSubmit(event: FormEvent<HTMLFormElement>): void {\n event.stopPropagation();\n event.preventDefault();\n const { value } = this.state;\n const newTitle = value?.trim();\n if (newTitle !== undefined && newTitle !== '') {\n const { onSubmit } = this.props;\n onSubmit(newTitle);\n } else {\n this.setState({ value: newTitle, valueWasValidated: true });\n }\n }\n\n renderRenameDialog(): ReactElement {\n const { isShared, isOwner, itemType } = this.props;\n const { value, valueWasValidated } = this.state;\n\n return (\n <form\n className={classNames('p-3', { 'was-validated': valueWasValidated })}\n onSubmit={this.handleRenameSubmit}\n noValidate\n role=\"presentation\"\n onMouseDown={event => {\n // block events in the NewTabScreen ItemList\n event.stopPropagation();\n }}\n onMouseUp={event => {\n event.stopPropagation();\n }}\n >\n <div className=\"form-group\">\n <label htmlFor={`rename-dialog-${itemType}-input`}>\n Rename {itemType}\n </label>\n <input\n type=\"text\"\n className=\"form-control\"\n id={`rename-dialog-${itemType}-input`}\n value={value ?? undefined}\n ref={this.renameInputRef}\n onChange={this.handleRenameInputChange}\n required\n />\n <div className=\"invalid-feedback\">\n {itemType} name cannot be empty\n </div>\n {(isShared || !isOwner) && (\n <div className=\"pt-2\">\n Renaming this {itemType} will rename for all users.\n </div>\n )}\n </div>\n\n <div className=\"text-right\">\n <button\n type=\"button\"\n className=\"btn btn-outline-primary mr-2\"\n onClick={this.handleRenameCancel}\n >\n Cancel\n </button>\n <button type=\"submit\" className=\"btn btn-primary\">\n Rename\n </button>\n </div>\n </form>\n );\n }\n\n render(): ReactElement {\n const { isShown, onCancel } = this.props;\n return (\n <Popper\n isShown={isShown}\n onEntered={this.handleRenameDialogOpened}\n onExited={onCancel}\n options={{\n placement: 'bottom',\n modifiers: { preventOverflow: { boundariesElement: 'viewport' } },\n }}\n interactive\n closeOnBlur\n >\n {this.renderRenameDialog()}\n </Popper>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/panels/WidgetPanel.tsx"],"names":["React","PureComponent","classNames","memoize","ContextActions","ContextActionUtils","Panel","WidgetPanelTooltip","WidgetPanel","constructor","props","showTabTooltip","glContainer","widgetType","widgetName","description","handleSessionClosed","bind","handleSessionOpened","handleCopyName","state","isClientDisconnected","isPanelDisconnected","isWidgetDisconnected","isWaitingForReconnect","isPanelInactive","copyToClipboard","getErrorMessage","errorMessage","undefined","onSessionClose","setState","onSessionOpen","render","children","className","componentPanel","isLoaded","isLoading","glEventHub","isDisconnected","isClonable","isRenamable","renderTabTooltip","onClearAllFilters","onHide","onFocus","onBlur","onResize","onShow","onTabBlur","onTabFocus","onTabClicked","doRenderTabTooltip","getCachedRenderTabTooltip","additionalActions","title","group","groups","medium","order","action","disconnected","inactive"],"mappings":"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","sourcesContent":["import React, {\n Component,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { ContextActions, ContextActionUtils } from '@deephaven/components';\nimport Panel from './Panel';\nimport WidgetPanelTooltip from './WidgetPanelTooltip';\nimport './WidgetPanel.scss';\n\ninterface WidgetPanelProps {\n children: ReactNode;\n componentPanel: Component;\n\n glContainer: Container;\n glEventHub: EventEmitter;\n\n className: string;\n errorMessage: string;\n isClonable: boolean;\n isDisconnected: boolean;\n isLoading: boolean;\n isLoaded: boolean;\n isRenamable: boolean;\n showTabTooltip: boolean;\n widgetName: string;\n widgetType: string;\n renderTabTooltip: () => ReactNode;\n description: string;\n\n onFocus: () => void;\n onBlur: () => void;\n onHide: () => void;\n onClearAllFilters: () => void;\n onResize: () => void;\n onSessionClose: (...args: unknown[]) => void;\n onSessionOpen: (...args: unknown[]) => void;\n onShow: () => void;\n onTabBlur: () => void;\n onTabFocus: () => void;\n onTabClicked: () => void;\n}\n\ninterface WidgetPanelState {\n isClientDisconnected: boolean;\n isPanelDisconnected: boolean;\n isWidgetDisconnected: boolean;\n isWaitingForReconnect: boolean;\n isPanelInactive: boolean;\n}\n/**\n * Widget panel component that has a loading spinner and displays an error message when set\n */\nclass WidgetPanel extends PureComponent<WidgetPanelProps, WidgetPanelState> {\n static defaultProps = {\n className: '',\n errorMessage: null,\n isClonable: true,\n isDisconnected: false,\n isLoading: false,\n isLoaded: true,\n isRenamable: true,\n showTabTooltip: true,\n widgetName: 'Widget',\n widgetType: 'Widget',\n renderTabTooltip: null,\n description: '',\n\n onFocus: (): void => undefined,\n onBlur: (): void => undefined,\n onHide: (): void => undefined,\n onClearAllFilters: (): void => undefined,\n onResize: (): void => undefined,\n onSessionClose: (): void => undefined,\n onSessionOpen: (): void => undefined,\n onShow: (): void => undefined,\n onTabBlur: (): void => undefined,\n onTabFocus: (): void => undefined,\n onTabClicked: (): void => undefined,\n };\n\n constructor(props: WidgetPanelProps) {\n super(props);\n\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleCopyName = this.handleCopyName.bind(this);\n\n this.state = {\n isClientDisconnected: false,\n isPanelDisconnected: false,\n isWidgetDisconnected: false,\n isWaitingForReconnect: false,\n isPanelInactive: false,\n };\n }\n\n handleCopyName(): void {\n const { widgetName } = this.props;\n ContextActionUtils.copyToClipboard(widgetName);\n }\n\n getErrorMessage(): string | undefined {\n const { errorMessage } = this.props;\n const {\n isClientDisconnected,\n isPanelDisconnected,\n isWidgetDisconnected,\n isWaitingForReconnect,\n } = this.state;\n if (errorMessage) {\n return `${errorMessage}`;\n }\n if (isClientDisconnected && isPanelDisconnected && isWaitingForReconnect) {\n return 'Disconnected from server.\\nCheck your internet connection.';\n }\n if (isClientDisconnected && isPanelDisconnected) {\n return 'Disconnected from server.';\n }\n if (isPanelDisconnected) {\n const { widgetName, widgetType } = this.props;\n return `Variable \"${widgetName}\" not set.\\n${widgetType} does not exist yet.`;\n }\n if (isWidgetDisconnected) {\n const { widgetName } = this.props;\n return `${widgetName} is unavailable.`;\n }\n return undefined;\n }\n\n getCachedRenderTabTooltip = memoize(\n (\n showTabTooltip: boolean,\n glContainer: Container,\n widgetType: string,\n widgetName: string,\n description: string\n ) =>\n showTabTooltip\n ? () => (\n <WidgetPanelTooltip\n glContainer={glContainer}\n widgetType={widgetType}\n widgetName={widgetName}\n description={description}\n />\n )\n : null\n );\n\n handleSessionClosed(...args: unknown[]): void {\n const { onSessionClose } = this.props;\n // The session has closed and we won't be able to reconnect, as this widget isn't persisted\n this.setState({\n isPanelDisconnected: true,\n isWaitingForReconnect: false,\n });\n onSessionClose(...args);\n }\n\n handleSessionOpened(...args: unknown[]): void {\n const { onSessionOpen } = this.props;\n onSessionOpen(...args);\n }\n\n render(): ReactElement {\n const {\n children,\n className,\n componentPanel,\n isLoaded,\n isLoading,\n glContainer,\n glEventHub,\n isDisconnected,\n isClonable,\n isRenamable,\n showTabTooltip,\n renderTabTooltip,\n widgetType,\n widgetName,\n description,\n\n onClearAllFilters,\n onHide,\n onFocus,\n onBlur,\n onResize,\n onShow,\n onTabBlur,\n onTabFocus,\n onTabClicked,\n } = this.props;\n\n const {\n isPanelDisconnected,\n isWidgetDisconnected,\n isPanelInactive,\n } = this.state;\n const errorMessage = this.getErrorMessage();\n const doRenderTabTooltip =\n renderTabTooltip ??\n this.getCachedRenderTabTooltip(\n showTabTooltip,\n glContainer,\n widgetType,\n widgetName,\n description\n );\n\n const additionalActions = [\n {\n title: `Copy ${widgetType} Name`,\n group: ContextActions.groups.medium,\n order: 20,\n action: this.handleCopyName,\n },\n ];\n\n return (\n <Panel\n className={classNames(className, {\n disconnected:\n isPanelDisconnected || isWidgetDisconnected || isDisconnected,\n inactive: isPanelInactive,\n })}\n componentPanel={componentPanel}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={onClearAllFilters}\n onHide={onHide}\n onFocus={onFocus}\n onBlur={onBlur}\n onResize={onResize}\n onShow={onShow}\n onSessionClose={this.handleSessionClosed}\n onSessionOpen={this.handleSessionOpened}\n onTabBlur={onTabBlur}\n onTabFocus={onTabFocus}\n onTabClicked={onTabClicked}\n renderTabTooltip={doRenderTabTooltip}\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n isClonable={isClonable}\n isRenamable={isRenamable}\n additionalActions={additionalActions}\n >\n {children}\n {isPanelInactive && <div className=\"fill-parent-absolute\" />}\n </Panel>\n );\n }\n}\n\nexport default WidgetPanel;\n"],"file":"WidgetPanel.js"}
|
|
1
|
+
{"version":3,"file":"WidgetPanel.js","names":["React","PureComponent","classNames","memoize","ContextActions","ContextActionUtils","Panel","WidgetPanelTooltip","WidgetPanel","constructor","props","showTabTooltip","glContainer","widgetType","widgetName","description","handleSessionClosed","bind","handleSessionOpened","handleCopyName","state","isClientDisconnected","isPanelDisconnected","isWidgetDisconnected","isWaitingForReconnect","isPanelInactive","copyToClipboard","getErrorMessage","errorMessage","undefined","onSessionClose","setState","onSessionOpen","render","children","className","componentPanel","isLoaded","isLoading","glEventHub","isDisconnected","isClonable","isRenamable","renderTabTooltip","onClearAllFilters","onHide","onFocus","onBlur","onResize","onShow","onTabBlur","onTabFocus","onTabClicked","doRenderTabTooltip","getCachedRenderTabTooltip","additionalActions","title","group","groups","medium","order","action","disconnected","inactive"],"sources":["../../src/panels/WidgetPanel.tsx"],"sourcesContent":["import React, {\n Component,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { ContextActions, ContextActionUtils } from '@deephaven/components';\nimport Panel from './Panel';\nimport WidgetPanelTooltip from './WidgetPanelTooltip';\nimport './WidgetPanel.scss';\n\ninterface WidgetPanelProps {\n children: ReactNode;\n componentPanel: Component;\n\n glContainer: Container;\n glEventHub: EventEmitter;\n\n className: string;\n errorMessage: string;\n isClonable: boolean;\n isDisconnected: boolean;\n isLoading: boolean;\n isLoaded: boolean;\n isRenamable: boolean;\n showTabTooltip: boolean;\n widgetName: string;\n widgetType: string;\n renderTabTooltip: () => ReactNode;\n description: string;\n\n onFocus: () => void;\n onBlur: () => void;\n onHide: () => void;\n onClearAllFilters: () => void;\n onResize: () => void;\n onSessionClose: (...args: unknown[]) => void;\n onSessionOpen: (...args: unknown[]) => void;\n onShow: () => void;\n onTabBlur: () => void;\n onTabFocus: () => void;\n onTabClicked: () => void;\n}\n\ninterface WidgetPanelState {\n isClientDisconnected: boolean;\n isPanelDisconnected: boolean;\n isWidgetDisconnected: boolean;\n isWaitingForReconnect: boolean;\n isPanelInactive: boolean;\n}\n/**\n * Widget panel component that has a loading spinner and displays an error message when set\n */\nclass WidgetPanel extends PureComponent<WidgetPanelProps, WidgetPanelState> {\n static defaultProps = {\n className: '',\n errorMessage: null,\n isClonable: true,\n isDisconnected: false,\n isLoading: false,\n isLoaded: true,\n isRenamable: true,\n showTabTooltip: true,\n widgetName: 'Widget',\n widgetType: 'Widget',\n renderTabTooltip: null,\n description: '',\n\n onFocus: (): void => undefined,\n onBlur: (): void => undefined,\n onHide: (): void => undefined,\n onClearAllFilters: (): void => undefined,\n onResize: (): void => undefined,\n onSessionClose: (): void => undefined,\n onSessionOpen: (): void => undefined,\n onShow: (): void => undefined,\n onTabBlur: (): void => undefined,\n onTabFocus: (): void => undefined,\n onTabClicked: (): void => undefined,\n };\n\n constructor(props: WidgetPanelProps) {\n super(props);\n\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleCopyName = this.handleCopyName.bind(this);\n\n this.state = {\n isClientDisconnected: false,\n isPanelDisconnected: false,\n isWidgetDisconnected: false,\n isWaitingForReconnect: false,\n isPanelInactive: false,\n };\n }\n\n handleCopyName(): void {\n const { widgetName } = this.props;\n ContextActionUtils.copyToClipboard(widgetName);\n }\n\n getErrorMessage(): string | undefined {\n const { errorMessage } = this.props;\n const {\n isClientDisconnected,\n isPanelDisconnected,\n isWidgetDisconnected,\n isWaitingForReconnect,\n } = this.state;\n if (errorMessage) {\n return `${errorMessage}`;\n }\n if (isClientDisconnected && isPanelDisconnected && isWaitingForReconnect) {\n return 'Disconnected from server.\\nCheck your internet connection.';\n }\n if (isClientDisconnected && isPanelDisconnected) {\n return 'Disconnected from server.';\n }\n if (isPanelDisconnected) {\n const { widgetName, widgetType } = this.props;\n return `Variable \"${widgetName}\" not set.\\n${widgetType} does not exist yet.`;\n }\n if (isWidgetDisconnected) {\n const { widgetName } = this.props;\n return `${widgetName} is unavailable.`;\n }\n return undefined;\n }\n\n getCachedRenderTabTooltip = memoize(\n (\n showTabTooltip: boolean,\n glContainer: Container,\n widgetType: string,\n widgetName: string,\n description: string\n ) =>\n showTabTooltip\n ? () => (\n <WidgetPanelTooltip\n glContainer={glContainer}\n widgetType={widgetType}\n widgetName={widgetName}\n description={description}\n />\n )\n : null\n );\n\n handleSessionClosed(...args: unknown[]): void {\n const { onSessionClose } = this.props;\n // The session has closed and we won't be able to reconnect, as this widget isn't persisted\n this.setState({\n isPanelDisconnected: true,\n isWaitingForReconnect: false,\n });\n onSessionClose(...args);\n }\n\n handleSessionOpened(...args: unknown[]): void {\n const { onSessionOpen } = this.props;\n onSessionOpen(...args);\n }\n\n render(): ReactElement {\n const {\n children,\n className,\n componentPanel,\n isLoaded,\n isLoading,\n glContainer,\n glEventHub,\n isDisconnected,\n isClonable,\n isRenamable,\n showTabTooltip,\n renderTabTooltip,\n widgetType,\n widgetName,\n description,\n\n onClearAllFilters,\n onHide,\n onFocus,\n onBlur,\n onResize,\n onShow,\n onTabBlur,\n onTabFocus,\n onTabClicked,\n } = this.props;\n\n const {\n isPanelDisconnected,\n isWidgetDisconnected,\n isPanelInactive,\n } = this.state;\n const errorMessage = this.getErrorMessage();\n const doRenderTabTooltip =\n renderTabTooltip ??\n this.getCachedRenderTabTooltip(\n showTabTooltip,\n glContainer,\n widgetType,\n widgetName,\n description\n );\n\n const additionalActions = [\n {\n title: `Copy ${widgetType} Name`,\n group: ContextActions.groups.medium,\n order: 20,\n action: this.handleCopyName,\n },\n ];\n\n return (\n <Panel\n className={classNames(className, {\n disconnected:\n isPanelDisconnected || isWidgetDisconnected || isDisconnected,\n inactive: isPanelInactive,\n })}\n componentPanel={componentPanel}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={onClearAllFilters}\n onHide={onHide}\n onFocus={onFocus}\n onBlur={onBlur}\n onResize={onResize}\n onShow={onShow}\n onSessionClose={this.handleSessionClosed}\n onSessionOpen={this.handleSessionOpened}\n onTabBlur={onTabBlur}\n onTabFocus={onTabFocus}\n onTabClicked={onTabClicked}\n renderTabTooltip={doRenderTabTooltip}\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n isClonable={isClonable}\n isRenamable={isRenamable}\n additionalActions={additionalActions}\n >\n {children}\n {isPanelInactive && <div className=\"fill-parent-absolute\" />}\n </Panel>\n );\n }\n}\n\nexport default WidgetPanel;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"WidgetPanelTooltip.js","names":["React","useState","PropTypes","Button","ContextActionUtils","vsCopy","vsPassFilled","GLPropTypes","LayoutUtils","Log","log","module","WidgetPanelTooltip","props","widgetType","widgetName","glContainer","description","children","panelTitle","getTitleFromContainer","copied","setCopied","copyToClipboard","then","catch","e","error","propTypes","Container","isRequired","string","node","defaultProps"],"sources":["../../src/panels/WidgetPanelTooltip.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport { vsCopy, vsPassFilled } from '@deephaven/icons';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport './WidgetPanelTooltip.scss';\nimport { ReactElement } from 'react-markdown';\nimport GoldenLayout from '@deephaven/golden-layout';\n\nconst log = Log.module('WidgetPanelTooltip');\n\ninterface WidgetPanelTooltipProps {\n glContainer: GoldenLayout.Container;\n widgetType: string;\n widgetName: string;\n description: string;\n children: ReactNode;\n}\nconst WidgetPanelTooltip = (props: WidgetPanelTooltipProps): ReactElement => {\n const { widgetType, widgetName, glContainer, description, children } = props;\n const panelTitle = LayoutUtils.getTitleFromContainer(glContainer);\n const [copied, setCopied] = useState(false);\n\n return (\n <div className=\"tab-tooltip-container\">\n <div className=\"row flex-nowrap align-items-start\">\n <span className=\"tab-tooltip-title\">\n <b>{widgetType} Name </b>\n </span>\n <span className=\"tab-tooltip-name\">{widgetName}</span>\n\n <Button\n kind=\"ghost\"\n className=\"tab-tooltip-copy\"\n icon={copied ? vsPassFilled : vsCopy}\n onClick={() => {\n ContextActionUtils.copyToClipboard(widgetName)\n .then(() => setCopied(true))\n .catch(e => log.error('Unable to column name', e));\n }}\n tooltip={copied ? 'Copied text' : 'Copy name'}\n />\n </div>\n {widgetName !== panelTitle && (\n <div className=\"row\">\n <span className=\"tab-tooltip-title\">\n <b>Display Name</b>\n </span>\n <span className=\"tab-tooltip-name\">{panelTitle}</span>\n </div>\n )}\n {description && (\n <div className=\"row\">\n <span className=\"tab-tooltip-description\">{description}</span>\n </div>\n )}\n {children}\n </div>\n );\n};\n\nWidgetPanelTooltip.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n widgetType: PropTypes.string,\n widgetName: PropTypes.string,\n description: PropTypes.string,\n children: PropTypes.node,\n};\n\nWidgetPanelTooltip.defaultProps = {\n widgetType: '',\n widgetName: '',\n description: null,\n children: null,\n};\n\nexport default WidgetPanelTooltip;\n"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,QAA3B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,MAAT,EAAiBC,kBAAjB,QAA2C,uBAA3C;AACA,SAASC,MAAT,EAAiBC,YAAjB,QAAqC,kBAArC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,sBAAzC;AACA,OAAOC,GAAP,MAAgB,gBAAhB;;AAKA,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAJ,CAAW,oBAAX,CAAZ;;AASA,IAAMC,kBAAkB,GAAIC,KAAD,IAAkD;EAC3E,IAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC,WAA1B;IAAuCC,WAAvC;IAAoDC;EAApD,IAAiEL,KAAvE;EACA,IAAMM,UAAU,GAAGX,WAAW,CAACY,qBAAZ,CAAkCJ,WAAlC,CAAnB;EACA,IAAM,CAACK,MAAD,EAASC,SAAT,IAAsBrB,QAAQ,CAAC,KAAD,CAApC;EAEA,oBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,+BAAIa,UAAJ,WADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCC,UAApC,CAJF,eAME,oBAAC,MAAD;IACE,IAAI,EAAC,OADP;IAEE,SAAS,EAAC,kBAFZ;IAGE,IAAI,EAAEM,MAAM,GAAGf,YAAH,GAAkBD,MAHhC;IAIE,OAAO,EAAE,MAAM;MACbD,kBAAkB,CAACmB,eAAnB,CAAmCR,UAAnC,EACGS,IADH,CACQ,MAAMF,SAAS,CAAC,IAAD,CADvB,EAEGG,KAFH,CAESC,CAAC,IAAIhB,GAAG,CAACiB,KAAJ,CAAU,uBAAV,EAAmCD,CAAnC,CAFd;IAGD,CARH;IASE,OAAO,EAAEL,MAAM,GAAG,aAAH,GAAmB;EATpC,EANF,CADF,EAmBGN,UAAU,KAAKI,UAAf,iBACC;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,8CADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCA,UAApC,CAJF,CApBJ,EA2BGF,WAAW,iBACV;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,GAA2CA,WAA3C,CADF,CA5BJ,EAgCGC,QAhCH,CADF;AAoCD,CAzCD;;AA2CAN,kBAAkB,CAACgB,SAAnB,GAA+B;EAC7BZ,WAAW,EAAET,WAAW,CAACsB,SAAZ,CAAsBC,UADN;EAE7BhB,UAAU,EAAEZ,SAAS,CAAC6B,MAFO;EAG7BhB,UAAU,EAAEb,SAAS,CAAC6B,MAHO;EAI7Bd,WAAW,EAAEf,SAAS,CAAC6B,MAJM;EAK7Bb,QAAQ,EAAEhB,SAAS,CAAC8B;AALS,CAA/B;AAQApB,kBAAkB,CAACqB,YAAnB,GAAkC;EAChCnB,UAAU,EAAE,EADoB;EAEhCC,UAAU,EAAE,EAFoB;EAGhCE,WAAW,EAAE,IAHmB;EAIhCC,QAAQ,EAAE;AAJsB,CAAlC;AAOA,eAAeN,kBAAf"}
|
package/dist/panels/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","ChartPanel","CommandHistoryPanel","ConsolePanel","DropdownFilterPanel","FileExplorerPanel","FilterSetManager","FilterSetManagerPanel","InputFilterPanel","IrisGridPanel","LogPanel","MarkdownPanel","NotebookPanel","PandasPanel","Panel","WidgetPanel","WidgetPanelTooltip"],"sources":["../../src/panels/index.ts"],"sourcesContent":["export { default as ChartPanel } from './ChartPanel';\nexport * from './ChartPanel';\nexport { default as CommandHistoryPanel } from './CommandHistoryPanel';\nexport { default as ConsolePanel } from './ConsolePanel';\nexport { default as DropdownFilterPanel } from './DropdownFilterPanel';\nexport { default as FileExplorerPanel } from './FileExplorerPanel';\nexport { default as FilterSetManager } from './FilterSetManager';\nexport type { FilterSet } from './FilterSetManager';\nexport { default as FilterSetManagerPanel } from './FilterSetManagerPanel';\nexport { default as InputFilterPanel } from './InputFilterPanel';\nexport { default as IrisGridPanel } from './IrisGridPanel';\nexport * from './IrisGridPanel';\nexport { default as LogPanel } from './LogPanel';\nexport { default as MarkdownPanel } from './MarkdownPanel';\nexport { default as NotebookPanel } from './NotebookPanel';\nexport { default as PandasPanel } from './PandasPanel';\nexport * from './PandasPanel';\nexport { default as Panel } from './Panel';\nexport { default as WidgetPanel } from './WidgetPanel';\nexport { default as WidgetPanelTooltip } from './WidgetPanelTooltip';\n"],"mappings":"SAASA,OAAO,IAAIC,U;;SAEXD,OAAO,IAAIE,mB;SACXF,OAAO,IAAIG,Y;SACXH,OAAO,IAAII,mB;SACXJ,OAAO,IAAIK,iB;SACXL,OAAO,IAAIM,gB;SAEXN,OAAO,IAAIO,qB;SACXP,OAAO,IAAIQ,gB;SACXR,OAAO,IAAIS,a;;SAEXT,OAAO,IAAIU,Q;SACXV,OAAO,IAAIW,a;SACXX,OAAO,IAAIY,a;SACXZ,OAAO,IAAIa,W;;SAEXb,OAAO,IAAIc,K;SACXd,OAAO,IAAIe,W;SACXf,OAAO,IAAIgB,kB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CommonPropTypes.js","names":["PropTypes","nullableBoolean","props","propName","bool","nullableString","string","CommonPropTypes","Object","freeze"],"sources":["../../src/prop-types/CommonPropTypes.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst nullableBoolean = (props: Record<string, unknown>, propName: string) =>\n props[propName] === null ? null : PropTypes.bool;\n\nconst nullableString = (props: Record<string, unknown>, propName: string) =>\n props[propName] === null ? null : PropTypes.string;\n\nconst CommonPropTypes = Object.freeze({ nullableBoolean, nullableString });\n\nexport default CommonPropTypes;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;;AAEA,IAAMC,eAAe,GAAG,CAACC,KAAD,EAAiCC,QAAjC,KACtBD,KAAK,CAACC,QAAD,CAAL,KAAoB,IAApB,GAA2B,IAA3B,GAAkCH,SAAS,CAACI,IAD9C;;AAGA,IAAMC,cAAc,GAAG,CAACH,KAAD,EAAiCC,QAAjC,KACrBD,KAAK,CAACC,QAAD,CAAL,KAAoB,IAApB,GAA2B,IAA3B,GAAkCH,SAAS,CAACM,MAD9C;;AAGA,IAAMC,eAAe,GAAGC,MAAM,CAACC,MAAP,CAAc;EAAER,eAAF;EAAmBI;AAAnB,CAAd,CAAxB;AAEA,eAAeE,eAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"UIPropTypes.js","names":["PropTypes","Panel","shape","state","panelState","LinkPoint","panelId","string","isRequired","columnName","columnType","LinkPointUntyped","Link","start","end","id","isReversed","bool","Links","arrayOf","User","name","operateAs","groups","permissions","isSuperUser","isQueryViewOnly","isNonInteractive","canUsePanels","canCreateDashboard","canCreateCodeStudio","canCreateQueryMonitor","canCopy","canDownloadCsv","UIPropTypes","Object","freeze"],"sources":["../../src/prop-types/UIPropTypes.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst Panel = PropTypes.shape({\n state: PropTypes.shape({\n panelState: PropTypes.shape({}),\n }),\n});\n\nconst LinkPoint = PropTypes.shape({\n panelId: PropTypes.string.isRequired,\n columnName: PropTypes.string.isRequired,\n columnType: PropTypes.string.isRequired,\n});\n\nconst LinkPointUntyped = PropTypes.shape({\n panelId: PropTypes.string.isRequired,\n columnName: PropTypes.string.isRequired,\n});\n\nconst Link = PropTypes.shape({\n start: LinkPointUntyped,\n end: LinkPointUntyped,\n id: PropTypes.string,\n isReversed: PropTypes.bool,\n});\n\nconst Links = PropTypes.arrayOf(Link);\n\nconst User = PropTypes.shape({\n name: PropTypes.string.isRequired,\n operateAs: PropTypes.string.isRequired,\n groups: PropTypes.arrayOf(PropTypes.string).isRequired,\n permissions: PropTypes.shape({\n isSuperUser: PropTypes.bool.isRequired,\n isQueryViewOnly: PropTypes.bool.isRequired,\n isNonInteractive: PropTypes.bool.isRequired,\n canUsePanels: PropTypes.bool.isRequired,\n canCreateDashboard: PropTypes.bool.isRequired,\n canCreateCodeStudio: PropTypes.bool.isRequired,\n canCreateQueryMonitor: PropTypes.bool.isRequired,\n canCopy: PropTypes.bool.isRequired,\n canDownloadCsv: PropTypes.bool.isRequired,\n }).isRequired,\n});\n\nconst UIPropTypes = Object.freeze({\n LinkPoint,\n Link,\n Links,\n Panel,\n User,\n});\n\nexport default UIPropTypes;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,IAAMC,KAAK,GAAGD,SAAS,CAACE,KAAV,CAAgB;EAC5BC,KAAK,EAAEH,SAAS,CAACE,KAAV,CAAgB;IACrBE,UAAU,EAAEJ,SAAS,CAACE,KAAV,CAAgB,EAAhB;EADS,CAAhB;AADqB,CAAhB,CAAd;AAMA,IAAMG,SAAS,GAAGL,SAAS,CAACE,KAAV,CAAgB;EAChCI,OAAO,EAAEN,SAAS,CAACO,MAAV,CAAiBC,UADM;EAEhCC,UAAU,EAAET,SAAS,CAACO,MAAV,CAAiBC,UAFG;EAGhCE,UAAU,EAAEV,SAAS,CAACO,MAAV,CAAiBC;AAHG,CAAhB,CAAlB;AAMA,IAAMG,gBAAgB,GAAGX,SAAS,CAACE,KAAV,CAAgB;EACvCI,OAAO,EAAEN,SAAS,CAACO,MAAV,CAAiBC,UADa;EAEvCC,UAAU,EAAET,SAAS,CAACO,MAAV,CAAiBC;AAFU,CAAhB,CAAzB;AAKA,IAAMI,IAAI,GAAGZ,SAAS,CAACE,KAAV,CAAgB;EAC3BW,KAAK,EAAEF,gBADoB;EAE3BG,GAAG,EAAEH,gBAFsB;EAG3BI,EAAE,EAAEf,SAAS,CAACO,MAHa;EAI3BS,UAAU,EAAEhB,SAAS,CAACiB;AAJK,CAAhB,CAAb;AAOA,IAAMC,KAAK,GAAGlB,SAAS,CAACmB,OAAV,CAAkBP,IAAlB,CAAd;AAEA,IAAMQ,IAAI,GAAGpB,SAAS,CAACE,KAAV,CAAgB;EAC3BmB,IAAI,EAAErB,SAAS,CAACO,MAAV,CAAiBC,UADI;EAE3Bc,SAAS,EAAEtB,SAAS,CAACO,MAAV,CAAiBC,UAFD;EAG3Be,MAAM,EAAEvB,SAAS,CAACmB,OAAV,CAAkBnB,SAAS,CAACO,MAA5B,EAAoCC,UAHjB;EAI3BgB,WAAW,EAAExB,SAAS,CAACE,KAAV,CAAgB;IAC3BuB,WAAW,EAAEzB,SAAS,CAACiB,IAAV,CAAeT,UADD;IAE3BkB,eAAe,EAAE1B,SAAS,CAACiB,IAAV,CAAeT,UAFL;IAG3BmB,gBAAgB,EAAE3B,SAAS,CAACiB,IAAV,CAAeT,UAHN;IAI3BoB,YAAY,EAAE5B,SAAS,CAACiB,IAAV,CAAeT,UAJF;IAK3BqB,kBAAkB,EAAE7B,SAAS,CAACiB,IAAV,CAAeT,UALR;IAM3BsB,mBAAmB,EAAE9B,SAAS,CAACiB,IAAV,CAAeT,UANT;IAO3BuB,qBAAqB,EAAE/B,SAAS,CAACiB,IAAV,CAAeT,UAPX;IAQ3BwB,OAAO,EAAEhC,SAAS,CAACiB,IAAV,CAAeT,UARG;IAS3ByB,cAAc,EAAEjC,SAAS,CAACiB,IAAV,CAAeT;EATJ,CAAhB,EAUVA;AAdwB,CAAhB,CAAb;AAiBA,IAAM0B,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc;EAChC/B,SADgC;EAEhCO,IAFgC;EAGhCM,KAHgC;EAIhCjB,KAJgC;EAKhCmB;AALgC,CAAd,CAApB;AAQA,eAAec,WAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","UIPropTypes","CommonPropTypes"],"sources":["../../src/prop-types/index.ts"],"sourcesContent":["export { default as UIPropTypes } from './UIPropTypes';\nexport { default as CommonPropTypes } from './CommonPropTypes';\n"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,e"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"actionTypes.js","names":["SET_SESSION_WRAPPER"],"sources":["../../src/redux/actionTypes.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const SET_SESSION_WRAPPER = 'SET_SESSION_WRAPPER';\n"],"mappings":"AAAA;AACA,OAAO,IAAMA,mBAAmB,GAAG,qBAA5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"actions.js","names":["deepEqual","updateDashboardData","getLinksForDashboard","setDashboardSessionWrapper","id","sessionWrapper","dispatch","setDashboardLinks","links","addDashboardLinks","newLinks","getState","filtered","filter","newLink","findIndex","link","start","end","concat","deleteDashboardLinks","linkIds","includes","setDashboardIsolatedLinkerPanelId","isolatedLinkerPanelId","setDashboardColumnSelectionValidator","columnSelectionValidator","setDashboardConsoleSettings","consoleSettings","setDashboardFilterSets","filterSets"],"sources":["../../src/redux/actions.ts"],"sourcesContent":["import deepEqual from 'deep-equal';\nimport { updateDashboardData } from '@deephaven/dashboard';\nimport { ThunkAction } from 'redux-thunk';\nimport { RootState } from '@deephaven/redux';\nimport { Action } from 'redux';\nimport { IdeConnection, IdeSession } from '@deephaven/jsapi-shim';\nimport { getLinksForDashboard } from './selectors';\nimport { FilterSet } from '../panels';\nimport { Link } from '../linker/LinkerUtils';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\n\nexport interface SessionWrapper {\n session: IdeSession;\n connection: IdeConnection;\n config: {\n type: string;\n id: string;\n };\n}\n/**\n * Set the session wrapper for the dashboard specified\n * @param id The ID of the dashboard to set the session for\n * @param sessionWrapper The session wrapper object to set for the dashboard\n */\nexport const setDashboardSessionWrapper = (\n id: string,\n sessionWrapper: SessionWrapper\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { sessionWrapper }));\n\n/**\n * Set the links for a given dashboard\n * @param id The ID of the dashboard to set the links for\n * @param links The links to set\n */\nexport const setDashboardLinks = (\n id: string,\n links: Link[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { links }));\n\n/**\n * Add links to the existing links in a dashboard. Filters out any duplicate links.\n * @param id The ID of the dashboard to add links to\n * @param newLinks The new links to add\n */\nexport const addDashboardLinks = (\n id: string,\n newLinks: Link[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => (\n dispatch,\n getState\n) => {\n const links = getLinksForDashboard(getState(), id);\n const filtered = newLinks.filter(\n newLink =>\n links.findIndex(\n link =>\n deepEqual(link.start, newLink.start) &&\n deepEqual(link.end, newLink.end)\n ) < 0\n );\n return dispatch(setDashboardLinks(id, links.concat(filtered)));\n};\n\n/**\n * Delete links from a dashboard\n * @param id The ID of the dashboard to delete links from\n * @param linkIds The link IDs to delete\n */\nexport const deleteDashboardLinks = (\n id: string,\n linkIds: string[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => (\n dispatch,\n getState\n) => {\n const links = getLinksForDashboard(getState(), id);\n const newLinks = links.filter(link => !linkIds.includes(link.id));\n return dispatch(setDashboardLinks(id, newLinks));\n};\n\n/**\n * Set the isolated linker panel ID for a dashboard\n * @param id The ID of the dashboard to set the isolated linker panel ID in\n * @param isolatedLinkerPanelId The isolated panel ID, or undefined to unset\n */\nexport const setDashboardIsolatedLinkerPanelId = (\n id: string,\n isolatedLinkerPanelId: string | string[] | undefined\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { isolatedLinkerPanelId }));\n\n/**\n * Set the column selection validator for a dashboard\n * @param id The ID of the dashboard to set the column selection validator on\n * @param columnSelectionValidator The column selection validator to set\n */\nexport const setDashboardColumnSelectionValidator = (\n id: string,\n columnSelectionValidator: ColumnSelectionValidator | undefined\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { columnSelectionValidator }));\n\n/**\n * Set the console settings for a dashboard\n * @param id The ID of the dashboard to set the console settings on\n * @param consoleSettings The console settings to set for the dashboard\n */\nexport const setDashboardConsoleSettings = (\n id: string,\n consoleSettings: Record<string, unknown>\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { consoleSettings }));\n\n/**\n * Set the filter sets for a specific dashboard\n * @param id The ID of the dashboard to set the filter sets for\n * @param filterSets The filter sets to set\n */\nexport const setDashboardFilterSets = (\n id: string,\n filterSets: FilterSet[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { filterSets }));\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,SAASC,mBAAT,QAAoC,sBAApC;SAKSC,oB;;AAaT;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,0BAA0B,GAAG,CACxCC,EADwC,EAExCC,cAFwC,KAGwBC,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAEC;AAAF,CAAL,CAApB,CAJH;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAME,iBAAiB,GAAG,CAC/BH,EAD+B,EAE/BI,KAF+B,KAGiCF,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAEI;AAAF,CAAL,CAApB,CAJH;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,iBAAiB,GAAG,CAC/BL,EAD+B,EAE/BM,QAF+B,KAGiC,CAChEJ,QADgE,EAEhEK,QAFgE,KAG7D;EACH,IAAMH,KAAK,GAAGN,oBAAoB,CAACS,QAAQ,EAAT,EAAaP,EAAb,CAAlC;EACA,IAAMQ,QAAQ,GAAGF,QAAQ,CAACG,MAAT,CACfC,OAAO,IACLN,KAAK,CAACO,SAAN,CACEC,IAAI,IACFhB,SAAS,CAACgB,IAAI,CAACC,KAAN,EAAaH,OAAO,CAACG,KAArB,CAAT,IACAjB,SAAS,CAACgB,IAAI,CAACE,GAAN,EAAWJ,OAAO,CAACI,GAAnB,CAHb,IAII,CANS,CAAjB;EAQA,OAAOZ,QAAQ,CAACC,iBAAiB,CAACH,EAAD,EAAKI,KAAK,CAACW,MAAN,CAAaP,QAAb,CAAL,CAAlB,CAAf;AACD,CAjBM;AAmBP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMQ,oBAAoB,GAAG,CAClChB,EADkC,EAElCiB,OAFkC,KAG8B,CAChEf,QADgE,EAEhEK,QAFgE,KAG7D;EACH,IAAMH,KAAK,GAAGN,oBAAoB,CAACS,QAAQ,EAAT,EAAaP,EAAb,CAAlC;EACA,IAAMM,QAAQ,GAAGF,KAAK,CAACK,MAAN,CAAaG,IAAI,IAAI,CAACK,OAAO,CAACC,QAAR,CAAiBN,IAAI,CAACZ,EAAtB,CAAtB,CAAjB;EACA,OAAOE,QAAQ,CAACC,iBAAiB,CAACH,EAAD,EAAKM,QAAL,CAAlB,CAAf;AACD,CAVM;AAYP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMa,iCAAiC,GAAG,CAC/CnB,EAD+C,EAE/CoB,qBAF+C,KAGiBlB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAEoB;AAAF,CAAL,CAApB,CAJH;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,oCAAoC,GAAG,CAClDrB,EADkD,EAElDsB,wBAFkD,KAGcpB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAEsB;AAAF,CAAL,CAApB,CAJH;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,2BAA2B,GAAG,CACzCvB,EADyC,EAEzCwB,eAFyC,KAGuBtB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAEwB;AAAF,CAAL,CAApB,CAJH;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpCzB,EADoC,EAEpC0B,UAFoC,KAG4BxB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAD,EAAK;EAAE0B;AAAF,CAAL,CAApB,CAJH"}
|
package/dist/redux/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["reducerRegistry","reducers","Object","entries","map","name","reducer","register"],"sources":["../../src/redux/index.ts"],"sourcesContent":["import { reducerRegistry } from '@deephaven/redux';\nimport reducers from './reducers';\n\nObject.entries(reducers).map(([name, reducer]) =>\n reducerRegistry.register(name, reducer)\n);\n\nexport * from './actions';\nexport * from './actionTypes';\nexport * from './selectors';\n"],"mappings":"AAAA,SAASA,eAAT,QAAgC,kBAAhC;OACOC,Q;AAEPC,MAAM,CAACC,OAAP,CAAeF,QAAf,EAAyBG,GAAzB,CAA6B;EAAA,IAAC,CAACC,IAAD,EAAOC,OAAP,CAAD;EAAA,OAC3BN,eAAe,CAACO,QAAhB,CAAyBF,IAAzB,EAA+BC,OAA/B,CAD2B;AAAA,CAA7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["sessionWrapper"],"sources":["../../../src/redux/reducers/index.ts"],"sourcesContent":["import sessionWrapper from './sessionWrapper';\n\nexport default { sessionWrapper };\n"],"mappings":"OAAOA,c;AAEP,eAAe;EAAEA;AAAF,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sessionWrapper.js","names":["replaceReducer","SET_SESSION_WRAPPER"],"sources":["../../../src/redux/reducers/sessionWrapper.ts"],"sourcesContent":["/**\n * Set the active session being used to communicate with the server.\n */\nimport { replaceReducer } from '@deephaven/redux';\nimport { SET_SESSION_WRAPPER } from '../actionTypes';\n\nexport default replaceReducer(SET_SESSION_WRAPPER, null);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,kBAA/B;SACSC,mB;AAET,eAAeD,cAAc,CAACC,mBAAD,EAAsB,IAAtB,CAA7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"selectors.js","names":["getDashboardData","EMPTY_MAP","Map","EMPTY_ARRAY","Object","freeze","getColumnsForDashboard","store","dashboardId","columns","getFilterSetsForDashboard","filterSets","getInputFiltersForDashboard","filters","getTableMapForDashboard","tableMap","getIsolatedLinkerPanelIdForDashboard","isolatedLinkerPanelId","getLinksForDashboard","links","getColumnSelectionValidatorForDashboard","columnSelectionValidator","getDashboardConsoleSettings","consoleSettings","getDashboardSessionWrapper","sessionWrapper"],"sources":["../../src/redux/selectors.ts"],"sourcesContent":["import { getDashboardData } from '@deephaven/dashboard';\nimport { Column, Table } from '@deephaven/jsapi-shim';\nimport { RootState } from '@deephaven/redux';\nimport { FilterChangeEvent } from '../FilterPlugin';\nimport { Link } from '../linker/LinkerUtils';\nimport { FilterSet } from '../panels';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\nimport { SessionWrapper } from './actions';\n\nconst EMPTY_MAP = new Map();\n\nconst EMPTY_ARRAY = Object.freeze([]);\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns All column objects found in all panels in this dashboard\n */\nexport const getColumnsForDashboard = (\n store: RootState,\n dashboardId: string\n): Column[] =>\n (getDashboardData(store, dashboardId).columns ?? EMPTY_ARRAY) as Column[];\n\n/**\n * Get the known filter sets for the dashboard.\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns The filter sets set on this dashboard\n */\nexport const getFilterSetsForDashboard = (\n store: RootState,\n dashboardId: string\n): FilterSet[] =>\n (getDashboardData(store, dashboardId).filterSets ??\n EMPTY_ARRAY) as FilterSet[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns The filters set on this dashboard\n */\nexport const getInputFiltersForDashboard = (\n store: RootState,\n dashboardId: string\n): FilterChangeEvent[] =>\n (getDashboardData(store, dashboardId).filters ??\n EMPTY_ARRAY) as FilterChangeEvent[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns Map from panel ID to the table used in that panel\n */\nexport const getTableMapForDashboard = (\n store: RootState,\n dashboardId: string\n): Map<string, Table> =>\n (getDashboardData(store, dashboardId).tableMap ?? EMPTY_MAP) as Map<\n string,\n Table\n >;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the data for\n * @returns The panel ID that is isolated, undefined if none is isolated\n */\nexport const getIsolatedLinkerPanelIdForDashboard = (\n store: RootState,\n dashboardId: string\n): string | undefined =>\n getDashboardData(store, dashboardId).isolatedLinkerPanelId as\n | string\n | undefined;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the data from\n * @returns The links for the dashboard\n */\nexport const getLinksForDashboard = (\n store: RootState,\n dashboardId: string\n): Link[] =>\n (getDashboardData(store, dashboardId).links ?? EMPTY_ARRAY) as Link[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the column selection validators for\n * @returns Column selection validator active on a dashboard\n */\nexport const getColumnSelectionValidatorForDashboard = (\n store: RootState,\n dashboardId: string\n): ColumnSelectionValidator | undefined =>\n getDashboardData(store, dashboardId).columnSelectionValidator as\n | ColumnSelectionValidator\n | undefined;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the console settings for\n * @returns Console settings for this dashboard\n */\nexport const getDashboardConsoleSettings = (\n store: RootState,\n dashboardId: string\n): Record<string, unknown> =>\n getDashboardData(store, dashboardId).consoleSettings as Record<\n string,\n unknown\n >;\n\n/**\n *\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the SessionWrapper for\n * @returns The session wrapper for the dashboard\n */\nexport const getDashboardSessionWrapper = (\n store: RootState,\n dashboardId: string\n): SessionWrapper =>\n getDashboardData(store, dashboardId).sessionWrapper as SessionWrapper;\n"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,sBAAjC;AASA,IAAMC,SAAS,GAAG,IAAIC,GAAJ,EAAlB;AAEA,IAAMC,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,CAApB;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpCC,KADoC,EAEpCC,WAFoC;EAAA;;EAAA,gCAInCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCC,OAJF,yEAIaN,WAJb;AAAA,CAA/B;AAMP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMO,yBAAyB,GAAG,CACvCH,KADuC,EAEvCC,WAFuC;EAAA;;EAAA,gCAItCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCG,UAJC,yEAKrCR,WALqC;AAAA,CAAlC;AAOP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMS,2BAA2B,GAAG,CACzCL,KADyC,EAEzCC,WAFyC;EAAA;;EAAA,iCAIxCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCK,OAJG,2EAKvCV,WALuC;AAAA,CAApC;AAOP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMW,uBAAuB,GAAG,CACrCP,KADqC,EAErCC,WAFqC;EAAA;;EAAA,gCAIpCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCO,QAJD,yEAIad,SAJb;AAAA,CAAhC;AASP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMe,oCAAoC,GAAG,CAClDT,KADkD,EAElDC,WAFkD,KAIlDR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCS,qBAJhC;AAQP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,oBAAoB,GAAG,CAClCX,KADkC,EAElCC,WAFkC;EAAA;;EAAA,gCAIjCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCW,KAJJ,yEAIahB,WAJb;AAAA,CAA7B;AAMP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMiB,uCAAuC,GAAG,CACrDb,KADqD,EAErDC,WAFqD,KAIrDR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCa,wBAJhC;AAQP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,2BAA2B,GAAG,CACzCf,KADyC,EAEzCC,WAFyC,KAIzCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCe,eAJhC;AASP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,0BAA0B,GAAG,CACxCjB,KADwC,EAExCC,WAFwC,KAIxCR,gBAAgB,CAACO,KAAD,EAAQC,WAAR,CAAhB,CAAqCiB,cAJhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/dashboard-core-plugins",
|
|
3
|
-
"version": "0.15.6-
|
|
3
|
+
"version": "0.15.6-vite.19+fdb234b",
|
|
4
4
|
"description": "Deephaven Dashboard Core Plugins",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,20 +30,20 @@
|
|
|
30
30
|
"start": "cross-env NODE_ENV=development npm run watch"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@deephaven/chart": "^0.15.6-
|
|
34
|
-
"@deephaven/components": "^0.15.6-
|
|
35
|
-
"@deephaven/console": "^0.15.6-
|
|
36
|
-
"@deephaven/dashboard": "^0.15.6-
|
|
37
|
-
"@deephaven/file-explorer": "^0.15.6-
|
|
38
|
-
"@deephaven/golden-layout": "^0.15.6-
|
|
39
|
-
"@deephaven/grid": "^0.15.6-
|
|
40
|
-
"@deephaven/icons": "^0.15.6-
|
|
41
|
-
"@deephaven/iris-grid": "^0.15.6-
|
|
42
|
-
"@deephaven/jsapi-shim": "^0.15.6-
|
|
43
|
-
"@deephaven/jsapi-utils": "^0.15.6-
|
|
44
|
-
"@deephaven/log": "^0.15.6-
|
|
45
|
-
"@deephaven/redux": "^0.15.6-
|
|
46
|
-
"@deephaven/utils": "^0.15.6-
|
|
33
|
+
"@deephaven/chart": "^0.15.6-vite.19+fdb234b",
|
|
34
|
+
"@deephaven/components": "^0.15.6-vite.19+fdb234b",
|
|
35
|
+
"@deephaven/console": "^0.15.6-vite.19+fdb234b",
|
|
36
|
+
"@deephaven/dashboard": "^0.15.6-vite.19+fdb234b",
|
|
37
|
+
"@deephaven/file-explorer": "^0.15.6-vite.19+fdb234b",
|
|
38
|
+
"@deephaven/golden-layout": "^0.15.6-vite.19+fdb234b",
|
|
39
|
+
"@deephaven/grid": "^0.15.6-vite.19+fdb234b",
|
|
40
|
+
"@deephaven/icons": "^0.15.6-vite.19+fdb234b",
|
|
41
|
+
"@deephaven/iris-grid": "^0.15.6-vite.19+fdb234b",
|
|
42
|
+
"@deephaven/jsapi-shim": "^0.15.6-vite.19+fdb234b",
|
|
43
|
+
"@deephaven/jsapi-utils": "^0.15.6-vite.19+fdb234b",
|
|
44
|
+
"@deephaven/log": "^0.15.6-vite.19+fdb234b",
|
|
45
|
+
"@deephaven/redux": "^0.15.6-vite.19+fdb234b",
|
|
46
|
+
"@deephaven/utils": "^0.15.6-vite.19+fdb234b",
|
|
47
47
|
"@fortawesome/react-fontawesome": "^0.1.18",
|
|
48
48
|
"classnames": "^2.3.1",
|
|
49
49
|
"deep-equal": "^2.0.5",
|
|
@@ -54,7 +54,6 @@
|
|
|
54
54
|
"prop-types": "^15.7.2",
|
|
55
55
|
"react-markdown": "^6.0.2",
|
|
56
56
|
"react-transition-group": "^4.4.2",
|
|
57
|
-
"reactstrap": "^8.10.0",
|
|
58
57
|
"redux": "^4.2.0",
|
|
59
58
|
"redux-thunk": "^2.4.1",
|
|
60
59
|
"remark-gfm": "1.0.0",
|
|
@@ -66,8 +65,8 @@
|
|
|
66
65
|
"react-redux": "^7.2.4"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
69
|
-
"@deephaven/mocks": "^0.15.6-
|
|
70
|
-
"@deephaven/tsconfig": "^0.15.6-
|
|
68
|
+
"@deephaven/mocks": "^0.15.6-vite.19+fdb234b",
|
|
69
|
+
"@deephaven/tsconfig": "^0.15.6-vite.19+fdb234b"
|
|
71
70
|
},
|
|
72
71
|
"files": [
|
|
73
72
|
"dist"
|
|
@@ -75,5 +74,5 @@
|
|
|
75
74
|
"publishConfig": {
|
|
76
75
|
"access": "public"
|
|
77
76
|
},
|
|
78
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "fdb234b997a7487ba41ba33ac0328253e222b0e1"
|
|
79
78
|
}
|