@deephaven/dashboard-core-plugins 0.93.1-beta.0 → 0.93.1-beta.3
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/panels/Panel.d.ts +5 -44
- package/dist/panels/Panel.d.ts.map +1 -1
- package/dist/panels/Panel.js +3 -2
- package/dist/panels/Panel.js.map +1 -1
- package/dist/panels/WidgetPanel.d.ts +3 -27
- package/dist/panels/WidgetPanel.d.ts.map +1 -1
- package/dist/panels/WidgetPanel.js +14 -22
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/package.json +24 -23
package/dist/panels/Panel.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FocusEventHandler, ReactNode } from 'react';
|
|
2
2
|
import { ContextAction } from '@deephaven/components';
|
|
3
3
|
import { PanelComponent } from '@deephaven/dashboard';
|
|
4
4
|
import type { Container, EventEmitter, Tab } from '@deephaven/golden-layout';
|
|
5
5
|
import type { dh } from '@deephaven/jsapi-types';
|
|
6
6
|
import './Panel.scss';
|
|
7
|
-
|
|
7
|
+
export type CorePanelProps = {
|
|
8
8
|
/**
|
|
9
9
|
* Reference to the component panel.
|
|
10
10
|
* Will wait until it is set before emitting mount/unmount events.
|
|
@@ -38,46 +38,7 @@ interface PanelProps {
|
|
|
38
38
|
isLoaded?: boolean;
|
|
39
39
|
isClonable?: boolean;
|
|
40
40
|
isRenamable?: boolean;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
showRenameDialog: boolean;
|
|
45
|
-
isWithinPanel: boolean;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Generic panel component that emits mount/unmount/focus events.
|
|
49
|
-
* Also wires up some triggers for common events:
|
|
50
|
-
* Focus, Resize, Show, Session open/close, client disconnect/reconnect.
|
|
51
|
-
*/
|
|
52
|
-
declare class Panel extends PureComponent<PanelProps, PanelState> {
|
|
53
|
-
constructor(props: PanelProps);
|
|
54
|
-
componentDidMount(): void;
|
|
55
|
-
componentWillUnmount(): void;
|
|
56
|
-
ref: React.RefObject<HTMLDivElement>;
|
|
57
|
-
handleTab(tab: Tab): void;
|
|
58
|
-
handleTabClicked(e: MouseEvent): void;
|
|
59
|
-
handleClearAllFilters(...args: unknown[]): void;
|
|
60
|
-
handleFocus(event: FocusEvent<HTMLDivElement>): void;
|
|
61
|
-
handleBlur(event: FocusEvent<HTMLDivElement>): void;
|
|
62
|
-
handleHide(...args: unknown[]): void;
|
|
63
|
-
handleResize(...args: unknown[]): void;
|
|
64
|
-
handleSessionClosed(session: dh.IdeSession): void;
|
|
65
|
-
handleSessionOpened(session: dh.IdeSession, params: {
|
|
66
|
-
language: string;
|
|
67
|
-
sessionId: string;
|
|
68
|
-
}): void;
|
|
69
|
-
handleBeforeShow(...args: unknown[]): void;
|
|
70
|
-
handleShow(...args: unknown[]): void;
|
|
71
|
-
handleTabBlur(...args: unknown[]): void;
|
|
72
|
-
handleTabFocus(...args: unknown[]): void;
|
|
73
|
-
handleRenameCancel(): void;
|
|
74
|
-
handleShowRenameDialog(): void;
|
|
75
|
-
handleRenameSubmit(newTitle: string): void;
|
|
76
|
-
handleCopyPanel(): void;
|
|
77
|
-
getCloneAction(): ContextAction;
|
|
78
|
-
getRenameAction(): ContextAction;
|
|
79
|
-
getAdditionalActions: (actions: readonly ContextAction[], isClonable: boolean, isRenamable: boolean) => ContextAction[];
|
|
80
|
-
render(): ReactElement;
|
|
81
|
-
}
|
|
82
|
-
export default Panel;
|
|
41
|
+
};
|
|
42
|
+
declare const XPanel: import("@deephaven/components").XComponentType<CorePanelProps>;
|
|
43
|
+
export default XPanel;
|
|
83
44
|
//# sourceMappingURL=Panel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/panels/Panel.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/panels/Panel.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,iBAAiB,EAGjB,SAAS,EACV,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAe,cAAc,EAAc,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAEZ,GAAG,EACJ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,cAAc,CAAC;AAItB,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;IAClD,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,EAAE,CAAC,UAAU,EACtB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAC7D,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,SAAS,CAAC;IACnC,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA0TF,QAAA,MAAM,MAAM,gEAA0B,CAAC;AAEvC,eAAe,MAAM,CAAC"}
|
package/dist/panels/Panel.js
CHANGED
|
@@ -5,7 +5,7 @@ import React, { PureComponent } from 'react';
|
|
|
5
5
|
import ReactDOM from 'react-dom';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
7
|
import memoize from 'memoize-one';
|
|
8
|
-
import { ContextActions, LoadingOverlay, Tooltip } from '@deephaven/components';
|
|
8
|
+
import { ContextActions, createXComponent, LoadingOverlay, Tooltip } from '@deephaven/components';
|
|
9
9
|
import { LayoutUtils, PanelEvent } from '@deephaven/dashboard';
|
|
10
10
|
import { assertNotNull, EMPTY_ARRAY } from '@deephaven/utils';
|
|
11
11
|
import Log from '@deephaven/log';
|
|
@@ -328,5 +328,6 @@ class Panel extends PureComponent {
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
-
|
|
331
|
+
var XPanel = createXComponent(Panel);
|
|
332
|
+
export default XPanel;
|
|
332
333
|
//# sourceMappingURL=Panel.js.map
|
package/dist/panels/Panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","names":["React","PureComponent","ReactDOM","classNames","memoize","ContextActions","LoadingOverlay","Tooltip","LayoutUtils","PanelEvent","assertNotNull","EMPTY_ARRAY","Log","ConsoleEvent","InputFilterEvent","TabEvent","PanelContextMenu","RenameDialog","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","Panel","constructor","props","_defineProperty","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","ref","createRef","glContainer","state","title","getTitleFromContainer","showRenameDialog","isWithinPanel","componentDidMount","_this$ref$current","_this$ref$current$par","componentPanel","glEventHub","on","SESSION_CLOSED","SESSION_OPENED","focus","blur","CLEAR_ALL_FILTERS","emit","MOUNT","setState","current","parentElement","closest","componentWillUnmount","off","UNMOUNT","tab","getTitleFromTab","forceUpdate","onTab","e","onTabClicked","onClearAllFilters","_len","arguments","length","args","Array","_key","event","FOCUS","onFocus","onBlur","onHide","_len2","_key2","onResize","_len3","_key3","session","onSessionClose","params","onSessionOpen","onBeforeShow","_len4","_key4","onShow","_len5","_key5","onTabBlur","_len6","_key6","onTabFocus","_len7","_key7","newTitle","root","getRootFromContainer","config","getComponentConfigFromContainer","renameComponent","error","cloneConfig","cloneComponent","CLONED","order","group","groups","high","action","medium","render","children","className","renderTabTooltip","errorMessage","isLoaded","isLoading","glTab","onFocusCapture","onBlurCapture","createPortal","getAdditionalActions","isShown","value","itemType","onCancel","onSubmit","interactive","options","placement","popperClassName","element"],"sources":["../../src/panels/Panel.tsx"],"sourcesContent":["import React, {\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, PanelComponent, PanelEvent } from '@deephaven/dashboard';\nimport type {\n Container,\n EventEmitter,\n ReactComponentConfig,\n Tab,\n} from '@deephaven/golden-layout';\nimport { assertNotNull, EMPTY_ARRAY } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { ConsoleEvent, InputFilterEvent, TabEvent } from '../events';\nimport PanelContextMenu from './PanelContextMenu';\nimport RenameDialog from './RenameDialog';\nimport './Panel.scss';\n\nconst log = Log.module('Panel');\n\ninterface PanelProps {\n /**\n * Reference to the component panel.\n * Will wait until it is set before emitting mount/unmount events.\n *\n */\n componentPanel?: PanelComponent;\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?: (e: MouseEvent) => void;\n onClearAllFilters?: (...args: unknown[]) => void;\n onHide?: (...args: unknown[]) => void;\n onResize?: (...args: unknown[]) => void;\n onSessionClose?: (session: dh.IdeSession) => void;\n onSessionOpen?: (\n session: dh.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 isWithinPanel: 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 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 this.ref = React.createRef<HTMLDivElement>();\n\n const { glContainer } = this.props;\n this.state = {\n title: LayoutUtils.getTitleFromContainer(glContainer),\n showRenameDialog: false,\n isWithinPanel: true,\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 ?? this);\n\n this.setState({\n isWithinPanel:\n this.ref.current?.parentElement?.closest('.dh-panel') != null,\n });\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 ?? this);\n }\n\n ref: React.RefObject<HTMLDivElement>;\n\n handleTab(tab: Tab): void {\n if (tab != null) {\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(e: MouseEvent): void {\n const { onTabClicked } = this.props;\n onTabClicked?.(e);\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 ?? this);\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: dh.IdeSession): void {\n const { onSessionClose } = this.props;\n onSessionClose?.(session);\n }\n\n handleSessionOpened(\n session: dh.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 getAdditionalActions = memoize(\n (\n actions: readonly ContextAction[],\n isClonable: boolean,\n isRenamable: boolean\n ) => {\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\n render(): ReactElement {\n const {\n children,\n className,\n renderTabTooltip,\n glContainer,\n glEventHub,\n additionalActions = EMPTY_ARRAY,\n errorMessage,\n isLoaded = true,\n isLoading = false,\n isClonable = false,\n isRenamable = false,\n } = this.props;\n\n const { tab: glTab } = glContainer;\n const { showRenameDialog, title, isWithinPanel } = this.state;\n\n return (\n <div\n className={classNames('h-100 w-100 dh-panel', className)}\n onFocusCapture={this.handleFocus}\n onBlurCapture={this.handleBlur}\n ref={this.ref}\n >\n {children}\n <LoadingOverlay\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n />\n {!isWithinPanel &&\n glTab != null &&\n ReactDOM.createPortal(\n <>\n <PanelContextMenu\n glContainer={glContainer}\n glEventHub={glEventHub}\n additionalActions={this.getAdditionalActions(\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 != null && (\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
|
+
{"version":3,"file":"Panel.js","names":["React","PureComponent","ReactDOM","classNames","memoize","ContextActions","createXComponent","LoadingOverlay","Tooltip","LayoutUtils","PanelEvent","assertNotNull","EMPTY_ARRAY","Log","ConsoleEvent","InputFilterEvent","TabEvent","PanelContextMenu","RenameDialog","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","Panel","constructor","props","_defineProperty","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","ref","createRef","glContainer","state","title","getTitleFromContainer","showRenameDialog","isWithinPanel","componentDidMount","_this$ref$current","_this$ref$current$par","componentPanel","glEventHub","on","SESSION_CLOSED","SESSION_OPENED","focus","blur","CLEAR_ALL_FILTERS","emit","MOUNT","setState","current","parentElement","closest","componentWillUnmount","off","UNMOUNT","tab","getTitleFromTab","forceUpdate","onTab","e","onTabClicked","onClearAllFilters","_len","arguments","length","args","Array","_key","event","FOCUS","onFocus","onBlur","onHide","_len2","_key2","onResize","_len3","_key3","session","onSessionClose","params","onSessionOpen","onBeforeShow","_len4","_key4","onShow","_len5","_key5","onTabBlur","_len6","_key6","onTabFocus","_len7","_key7","newTitle","root","getRootFromContainer","config","getComponentConfigFromContainer","renameComponent","error","cloneConfig","cloneComponent","CLONED","order","group","groups","high","action","medium","render","children","className","renderTabTooltip","errorMessage","isLoaded","isLoading","glTab","onFocusCapture","onBlurCapture","createPortal","getAdditionalActions","isShown","value","itemType","onCancel","onSubmit","interactive","options","placement","popperClassName","element","XPanel"],"sources":["../../src/panels/Panel.tsx"],"sourcesContent":["import React, {\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 createXComponent,\n LoadingOverlay,\n Tooltip,\n} from '@deephaven/components';\nimport { LayoutUtils, PanelComponent, PanelEvent } from '@deephaven/dashboard';\nimport type {\n Container,\n EventEmitter,\n ReactComponentConfig,\n Tab,\n} from '@deephaven/golden-layout';\nimport { assertNotNull, EMPTY_ARRAY } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { ConsoleEvent, InputFilterEvent, TabEvent } from '../events';\nimport PanelContextMenu from './PanelContextMenu';\nimport RenameDialog from './RenameDialog';\nimport './Panel.scss';\n\nconst log = Log.module('Panel');\n\nexport type CorePanelProps = {\n /**\n * Reference to the component panel.\n * Will wait until it is set before emitting mount/unmount events.\n *\n */\n componentPanel?: PanelComponent;\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?: (e: MouseEvent) => void;\n onClearAllFilters?: (...args: unknown[]) => void;\n onHide?: (...args: unknown[]) => void;\n onResize?: (...args: unknown[]) => void;\n onSessionClose?: (session: dh.IdeSession) => void;\n onSessionOpen?: (\n session: dh.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 isWithinPanel: 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<CorePanelProps, PanelState> {\n constructor(props: CorePanelProps) {\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 this.ref = React.createRef<HTMLDivElement>();\n\n const { glContainer } = this.props;\n this.state = {\n title: LayoutUtils.getTitleFromContainer(glContainer),\n showRenameDialog: false,\n isWithinPanel: true,\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 ?? this);\n\n this.setState({\n isWithinPanel:\n this.ref.current?.parentElement?.closest('.dh-panel') != null,\n });\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 ?? this);\n }\n\n ref: React.RefObject<HTMLDivElement>;\n\n handleTab(tab: Tab): void {\n if (tab != null) {\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(e: MouseEvent): void {\n const { onTabClicked } = this.props;\n onTabClicked?.(e);\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 ?? this);\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: dh.IdeSession): void {\n const { onSessionClose } = this.props;\n onSessionClose?.(session);\n }\n\n handleSessionOpened(\n session: dh.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 getAdditionalActions = memoize(\n (\n actions: readonly ContextAction[],\n isClonable: boolean,\n isRenamable: boolean\n ) => {\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\n render(): ReactElement {\n const {\n children,\n className,\n renderTabTooltip,\n glContainer,\n glEventHub,\n additionalActions = EMPTY_ARRAY,\n errorMessage,\n isLoaded = true,\n isLoading = false,\n isClonable = false,\n isRenamable = false,\n } = this.props;\n\n const { tab: glTab } = glContainer;\n const { showRenameDialog, title, isWithinPanel } = this.state;\n\n return (\n <div\n className={classNames('h-100 w-100 dh-panel', className)}\n onFocusCapture={this.handleFocus}\n onBlurCapture={this.handleBlur}\n ref={this.ref}\n >\n {children}\n <LoadingOverlay\n errorMessage={errorMessage}\n isLoaded={isLoaded}\n isLoading={isLoading}\n />\n {!isWithinPanel &&\n glTab != null &&\n ReactDOM.createPortal(\n <>\n <PanelContextMenu\n glContainer={glContainer}\n glEventHub={glEventHub}\n additionalActions={this.getAdditionalActions(\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 != null && (\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\nconst XPanel = createXComponent(Panel);\n\nexport default XPanel;\n"],"mappings":"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"}
|
|
@@ -1,34 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PanelComponent } from '@deephaven/dashboard';
|
|
3
|
-
import type { Container, EventEmitter } from '@deephaven/golden-layout';
|
|
1
|
+
import { CorePanelProps } from './Panel';
|
|
4
2
|
import './WidgetPanel.scss';
|
|
5
3
|
import { WidgetPanelDescriptor } from './WidgetPanelTypes';
|
|
6
|
-
export type WidgetPanelProps = {
|
|
7
|
-
children: ReactNode;
|
|
4
|
+
export type WidgetPanelProps = CorePanelProps & {
|
|
8
5
|
descriptor: WidgetPanelDescriptor;
|
|
9
|
-
componentPanel?: PanelComponent;
|
|
10
|
-
glContainer: Container;
|
|
11
|
-
glEventHub: EventEmitter;
|
|
12
|
-
className?: string;
|
|
13
|
-
errorMessage?: string;
|
|
14
|
-
isClonable?: boolean;
|
|
15
|
-
isDisconnected?: boolean;
|
|
16
|
-
isLoading?: boolean;
|
|
17
|
-
isLoaded?: boolean;
|
|
18
|
-
isRenamable?: boolean;
|
|
19
6
|
showTabTooltip?: boolean;
|
|
20
|
-
|
|
21
|
-
onFocus?: () => void;
|
|
22
|
-
onBlur?: () => void;
|
|
23
|
-
onHide?: () => void;
|
|
24
|
-
onClearAllFilters?: () => void;
|
|
25
|
-
onResize?: () => void;
|
|
26
|
-
onSessionClose?: (...args: unknown[]) => void;
|
|
27
|
-
onSessionOpen?: (...args: unknown[]) => void;
|
|
28
|
-
onShow?: () => void;
|
|
29
|
-
onTabBlur?: () => void;
|
|
30
|
-
onTabFocus?: () => void;
|
|
31
|
-
onTabClicked?: () => void;
|
|
7
|
+
isDisconnected?: boolean;
|
|
32
8
|
};
|
|
33
9
|
declare const XWidgetPanel: import("@deephaven/components").XComponentType<WidgetPanelProps>;
|
|
34
10
|
export default XWidgetPanel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetPanel.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WidgetPanel.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanel.tsx"],"names":[],"mappings":"AAUA,OAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,UAAU,EAAE,qBAAqB,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAoLF,QAAA,MAAM,YAAY,kEAAkD,CAAC;AAErE,eAAe,YAAY,CAAC"}
|
|
@@ -5,7 +5,7 @@ import React, { PureComponent } from 'react';
|
|
|
5
5
|
import classNames from 'classnames';
|
|
6
6
|
import memoize from 'memoize-one';
|
|
7
7
|
import { ContextActions, createXComponent } from '@deephaven/components';
|
|
8
|
-
import { copyToClipboard } from '@deephaven/utils';
|
|
8
|
+
import { copyToClipboard, EMPTY_ARRAY } from '@deephaven/utils';
|
|
9
9
|
import Panel from "./Panel.js";
|
|
10
10
|
import WidgetPanelTooltip from "./WidgetPanelTooltip.js";
|
|
11
11
|
import "./WidgetPanel.css";
|
|
@@ -16,21 +16,23 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
16
16
|
*/
|
|
17
17
|
class WidgetPanel extends PureComponent {
|
|
18
18
|
constructor(props) {
|
|
19
|
+
var _this;
|
|
19
20
|
super(props);
|
|
21
|
+
_this = this;
|
|
20
22
|
_defineProperty(this, "getCachedRenderTabTooltip", memoize((showTabTooltip, descriptor) => showTabTooltip ? () => /*#__PURE__*/_jsx(WidgetPanelTooltip, {
|
|
21
23
|
descriptor: descriptor
|
|
22
24
|
}) : undefined));
|
|
23
|
-
_defineProperty(this, "getCachedActions", memoize(descriptor
|
|
25
|
+
_defineProperty(this, "getCachedActions", memoize(function (descriptor) {
|
|
24
26
|
var _descriptor$displayTy;
|
|
25
|
-
|
|
27
|
+
var propsAdditionalActions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : EMPTY_ARRAY;
|
|
28
|
+
return [...propsAdditionalActions, {
|
|
26
29
|
title: "Copy ".concat((_descriptor$displayTy = descriptor.displayType) !== null && _descriptor$displayTy !== void 0 ? _descriptor$displayTy : descriptor.type, " Name"),
|
|
27
30
|
group: ContextActions.groups.medium,
|
|
28
31
|
order: 20,
|
|
29
|
-
action:
|
|
32
|
+
action: _this.handleCopyName
|
|
30
33
|
}];
|
|
31
34
|
}));
|
|
32
35
|
this.handleSessionClosed = this.handleSessionClosed.bind(this);
|
|
33
|
-
this.handleSessionOpened = this.handleSessionOpened.bind(this);
|
|
34
36
|
this.handleCopyName = this.handleCopyName.bind(this);
|
|
35
37
|
this.state = {
|
|
36
38
|
isClientDisconnected: false,
|
|
@@ -78,7 +80,7 @@ class WidgetPanel extends PureComponent {
|
|
|
78
80
|
}
|
|
79
81
|
return undefined;
|
|
80
82
|
}
|
|
81
|
-
handleSessionClosed() {
|
|
83
|
+
handleSessionClosed(session) {
|
|
82
84
|
var {
|
|
83
85
|
onSessionClose
|
|
84
86
|
} = this.props;
|
|
@@ -87,19 +89,7 @@ class WidgetPanel extends PureComponent {
|
|
|
87
89
|
isPanelDisconnected: true,
|
|
88
90
|
isWaitingForReconnect: false
|
|
89
91
|
});
|
|
90
|
-
|
|
91
|
-
args[_key] = arguments[_key];
|
|
92
|
-
}
|
|
93
|
-
onSessionClose === null || onSessionClose === void 0 ? void 0 : onSessionClose(...args);
|
|
94
|
-
}
|
|
95
|
-
handleSessionOpened() {
|
|
96
|
-
var {
|
|
97
|
-
onSessionOpen
|
|
98
|
-
} = this.props;
|
|
99
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
100
|
-
args[_key2] = arguments[_key2];
|
|
101
|
-
}
|
|
102
|
-
onSessionOpen === null || onSessionOpen === void 0 ? void 0 : onSessionOpen(...args);
|
|
92
|
+
onSessionClose === null || onSessionClose === void 0 ? void 0 : onSessionClose(session);
|
|
103
93
|
}
|
|
104
94
|
render() {
|
|
105
95
|
var {
|
|
@@ -121,10 +111,12 @@ class WidgetPanel extends PureComponent {
|
|
|
121
111
|
onFocus,
|
|
122
112
|
onBlur,
|
|
123
113
|
onResize,
|
|
114
|
+
onSessionOpen,
|
|
124
115
|
onShow,
|
|
125
116
|
onTabBlur,
|
|
126
117
|
onTabFocus,
|
|
127
|
-
onTabClicked
|
|
118
|
+
onTabClicked,
|
|
119
|
+
additionalActions: propsAdditionalActions
|
|
128
120
|
} = this.props;
|
|
129
121
|
var {
|
|
130
122
|
isPanelDisconnected,
|
|
@@ -133,7 +125,7 @@ class WidgetPanel extends PureComponent {
|
|
|
133
125
|
} = this.state;
|
|
134
126
|
var errorMessage = this.getErrorMessage();
|
|
135
127
|
var doRenderTabTooltip = renderTabTooltip !== null && renderTabTooltip !== void 0 ? renderTabTooltip : this.getCachedRenderTabTooltip(showTabTooltip, descriptor);
|
|
136
|
-
var additionalActions = this.getCachedActions(descriptor);
|
|
128
|
+
var additionalActions = this.getCachedActions(descriptor, propsAdditionalActions);
|
|
137
129
|
return /*#__PURE__*/_jsxs(Panel, {
|
|
138
130
|
className: classNames(className, {
|
|
139
131
|
disconnected: isPanelDisconnected || isWidgetDisconnected || isDisconnected,
|
|
@@ -149,7 +141,7 @@ class WidgetPanel extends PureComponent {
|
|
|
149
141
|
onResize: onResize,
|
|
150
142
|
onShow: onShow,
|
|
151
143
|
onSessionClose: this.handleSessionClosed,
|
|
152
|
-
onSessionOpen:
|
|
144
|
+
onSessionOpen: onSessionOpen,
|
|
153
145
|
onTabBlur: onTabBlur,
|
|
154
146
|
onTabFocus: onTabFocus,
|
|
155
147
|
onTabClicked: onTabClicked,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetPanel.js","names":["React","PureComponent","classNames","memoize","ContextActions","createXComponent","copyToClipboard","Panel","WidgetPanelTooltip","jsx","_jsx","jsxs","_jsxs","WidgetPanel","constructor","props","_defineProperty","showTabTooltip","descriptor","undefined","_descriptor$displayTy","title","concat","displayType","type","group","groups","medium","order","action","handleCopyName","handleSessionClosed","bind","handleSessionOpened","state","isClientDisconnected","isPanelDisconnected","isWidgetDisconnected","isWaitingForReconnect","isPanelInactive","name","getErrorMessage","errorMessage","onSessionClose","setState","_len","arguments","length","args","Array","_key","onSessionOpen","_len2","_key2","render","children","className","componentPanel","isLoaded","isLoading","glContainer","glEventHub","isDisconnected","isClonable","isRenamable","renderTabTooltip","onClearAllFilters","onHide","onFocus","onBlur","onResize","onShow","onTabBlur","onTabFocus","onTabClicked","doRenderTabTooltip","getCachedRenderTabTooltip","additionalActions","getCachedActions","disconnected","inactive","XWidgetPanel"],"sources":["../../src/panels/WidgetPanel.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement, ReactNode } from 'react';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport { ContextActions, createXComponent } from '@deephaven/components';\nimport { PanelComponent } from '@deephaven/dashboard';\nimport type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { copyToClipboard } from '@deephaven/utils';\nimport Panel from './Panel';\nimport WidgetPanelTooltip from './WidgetPanelTooltip';\nimport './WidgetPanel.scss';\nimport { WidgetPanelDescriptor } from './WidgetPanelTypes';\n\nexport type WidgetPanelProps = {\n children: ReactNode;\n\n descriptor: WidgetPanelDescriptor;\n componentPanel?: PanelComponent;\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\n renderTabTooltip?: () => ReactNode;\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 isClonable: true,\n isDisconnected: false,\n isLoading: false,\n isLoaded: true,\n isRenamable: true,\n showTabTooltip: true,\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 { descriptor } = this.props;\n copyToClipboard(descriptor.name);\n }\n\n getErrorMessage(): string | undefined {\n const { descriptor, errorMessage } = this.props;\n const {\n isClientDisconnected,\n isPanelDisconnected,\n isWidgetDisconnected,\n isWaitingForReconnect,\n } = this.state;\n if (errorMessage != null && 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 { name, type } = descriptor;\n return `Variable \"${name}\" not set.\\n${type} does not exist yet.`;\n }\n if (isWidgetDisconnected) {\n return `${descriptor.name} is unavailable.`;\n }\n return undefined;\n }\n\n getCachedRenderTabTooltip = memoize(\n (showTabTooltip: boolean, descriptor: WidgetPanelDescriptor) =>\n showTabTooltip\n ? () => <WidgetPanelTooltip descriptor={descriptor} />\n : undefined\n );\n\n getCachedActions = memoize((descriptor: WidgetPanelDescriptor) => [\n {\n title: `Copy ${descriptor.displayType ?? descriptor.type} Name`,\n group: ContextActions.groups.medium,\n order: 20,\n action: this.handleCopyName,\n },\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 descriptor,\n isLoaded,\n isLoading,\n glContainer,\n glEventHub,\n isDisconnected,\n isClonable,\n isRenamable,\n showTabTooltip = false,\n renderTabTooltip,\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 { isPanelDisconnected, isWidgetDisconnected, isPanelInactive } =\n this.state;\n const errorMessage = this.getErrorMessage();\n const doRenderTabTooltip =\n renderTabTooltip ??\n this.getCachedRenderTabTooltip(showTabTooltip, descriptor);\n\n const additionalActions = this.getCachedActions(descriptor);\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\nconst XWidgetPanel = createXComponent(WidgetPanel);\n\nexport default XWidgetPanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WidgetPanel.js","names":["React","PureComponent","classNames","memoize","ContextActions","createXComponent","copyToClipboard","EMPTY_ARRAY","Panel","WidgetPanelTooltip","jsx","_jsx","jsxs","_jsxs","WidgetPanel","constructor","props","_this","this","_defineProperty","showTabTooltip","descriptor","undefined","_descriptor$displayTy","propsAdditionalActions","arguments","length","title","concat","displayType","type","group","groups","medium","order","action","handleCopyName","handleSessionClosed","bind","state","isClientDisconnected","isPanelDisconnected","isWidgetDisconnected","isWaitingForReconnect","isPanelInactive","name","getErrorMessage","errorMessage","session","onSessionClose","setState","render","children","className","componentPanel","isLoaded","isLoading","glContainer","glEventHub","isDisconnected","isClonable","isRenamable","renderTabTooltip","onClearAllFilters","onHide","onFocus","onBlur","onResize","onSessionOpen","onShow","onTabBlur","onTabFocus","onTabClicked","additionalActions","doRenderTabTooltip","getCachedRenderTabTooltip","getCachedActions","disconnected","inactive","XWidgetPanel"],"sources":["../../src/panels/WidgetPanel.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport {\n ContextAction,\n ContextActions,\n createXComponent,\n} from '@deephaven/components';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { copyToClipboard, EMPTY_ARRAY } from '@deephaven/utils';\nimport Panel, { CorePanelProps } from './Panel';\nimport WidgetPanelTooltip from './WidgetPanelTooltip';\nimport './WidgetPanel.scss';\nimport { WidgetPanelDescriptor } from './WidgetPanelTypes';\n\nexport type WidgetPanelProps = CorePanelProps & {\n descriptor: WidgetPanelDescriptor;\n showTabTooltip?: boolean;\n isDisconnected?: boolean;\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 isClonable: true,\n isDisconnected: false,\n isLoading: false,\n isLoaded: true,\n isRenamable: true,\n showTabTooltip: true,\n };\n\n constructor(props: WidgetPanelProps) {\n super(props);\n\n this.handleSessionClosed = this.handleSessionClosed.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 { descriptor } = this.props;\n copyToClipboard(descriptor.name);\n }\n\n getErrorMessage(): string | undefined {\n const { descriptor, errorMessage } = this.props;\n const {\n isClientDisconnected,\n isPanelDisconnected,\n isWidgetDisconnected,\n isWaitingForReconnect,\n } = this.state;\n if (errorMessage != null && 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 { name, type } = descriptor;\n return `Variable \"${name}\" not set.\\n${type} does not exist yet.`;\n }\n if (isWidgetDisconnected) {\n return `${descriptor.name} is unavailable.`;\n }\n return undefined;\n }\n\n getCachedRenderTabTooltip = memoize(\n (showTabTooltip: boolean, descriptor: WidgetPanelDescriptor) =>\n showTabTooltip\n ? () => <WidgetPanelTooltip descriptor={descriptor} />\n : undefined\n );\n\n getCachedActions = memoize(\n (\n descriptor: WidgetPanelDescriptor,\n propsAdditionalActions: readonly ContextAction[] = EMPTY_ARRAY\n ) => [\n ...propsAdditionalActions,\n {\n title: `Copy ${descriptor.displayType ?? descriptor.type} Name`,\n group: ContextActions.groups.medium,\n order: 20,\n action: this.handleCopyName,\n },\n ]\n );\n\n handleSessionClosed(session: dh.IdeSession): 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?.(session);\n }\n\n render(): ReactElement {\n const {\n children,\n className,\n componentPanel,\n descriptor,\n isLoaded,\n isLoading,\n glContainer,\n glEventHub,\n isDisconnected,\n isClonable,\n isRenamable,\n showTabTooltip = false,\n renderTabTooltip,\n\n onClearAllFilters,\n onHide,\n onFocus,\n onBlur,\n onResize,\n onSessionOpen,\n onShow,\n onTabBlur,\n onTabFocus,\n onTabClicked,\n\n additionalActions: propsAdditionalActions,\n } = this.props;\n\n const { isPanelDisconnected, isWidgetDisconnected, isPanelInactive } =\n this.state;\n const errorMessage = this.getErrorMessage();\n const doRenderTabTooltip =\n renderTabTooltip ??\n this.getCachedRenderTabTooltip(showTabTooltip, descriptor);\n\n const additionalActions = this.getCachedActions(\n descriptor,\n propsAdditionalActions\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={onSessionOpen}\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\nconst XWidgetPanel = createXComponent<WidgetPanelProps>(WidgetPanel);\n\nexport default XWidgetPanel;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/dashboard-core-plugins",
|
|
3
|
-
"version": "0.93.1-beta.
|
|
3
|
+
"version": "0.93.1-beta.3+da523cce",
|
|
4
4
|
"description": "Deephaven Dashboard Core Plugins",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,26 +22,26 @@
|
|
|
22
22
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@deephaven/chart": "^0.93.1-beta.
|
|
26
|
-
"@deephaven/components": "^0.93.1-beta.
|
|
27
|
-
"@deephaven/console": "^0.93.1-beta.
|
|
28
|
-
"@deephaven/dashboard": "^0.93.1-beta.
|
|
29
|
-
"@deephaven/file-explorer": "^0.93.1-beta.
|
|
30
|
-
"@deephaven/filters": "^0.93.1-beta.
|
|
31
|
-
"@deephaven/golden-layout": "^0.93.1-beta.
|
|
32
|
-
"@deephaven/grid": "^0.93.1-beta.
|
|
33
|
-
"@deephaven/icons": "^0.93.1-beta.
|
|
34
|
-
"@deephaven/iris-grid": "^0.93.1-beta.
|
|
35
|
-
"@deephaven/jsapi-bootstrap": "^0.93.1-beta.
|
|
36
|
-
"@deephaven/jsapi-components": "^0.93.1-beta.
|
|
25
|
+
"@deephaven/chart": "^0.93.1-beta.3+da523cce",
|
|
26
|
+
"@deephaven/components": "^0.93.1-beta.3+da523cce",
|
|
27
|
+
"@deephaven/console": "^0.93.1-beta.3+da523cce",
|
|
28
|
+
"@deephaven/dashboard": "^0.93.1-beta.3+da523cce",
|
|
29
|
+
"@deephaven/file-explorer": "^0.93.1-beta.3+da523cce",
|
|
30
|
+
"@deephaven/filters": "^0.93.1-beta.3+da523cce",
|
|
31
|
+
"@deephaven/golden-layout": "^0.93.1-beta.3+da523cce",
|
|
32
|
+
"@deephaven/grid": "^0.93.1-beta.3+da523cce",
|
|
33
|
+
"@deephaven/icons": "^0.93.1-beta.3+da523cce",
|
|
34
|
+
"@deephaven/iris-grid": "^0.93.1-beta.3+da523cce",
|
|
35
|
+
"@deephaven/jsapi-bootstrap": "^0.93.1-beta.3+da523cce",
|
|
36
|
+
"@deephaven/jsapi-components": "^0.93.1-beta.3+da523cce",
|
|
37
37
|
"@deephaven/jsapi-types": "^1.0.0-dev0.34.0",
|
|
38
|
-
"@deephaven/jsapi-utils": "^0.93.1-beta.
|
|
39
|
-
"@deephaven/log": "^0.93.1-beta.
|
|
40
|
-
"@deephaven/plugin": "^0.93.1-beta.
|
|
41
|
-
"@deephaven/react-hooks": "^0.93.1-beta.
|
|
42
|
-
"@deephaven/redux": "^0.93.1-beta.
|
|
43
|
-
"@deephaven/storage": "^0.93.1-beta.
|
|
44
|
-
"@deephaven/utils": "^0.93.1-beta.
|
|
38
|
+
"@deephaven/jsapi-utils": "^0.93.1-beta.3+da523cce",
|
|
39
|
+
"@deephaven/log": "^0.93.1-beta.3+da523cce",
|
|
40
|
+
"@deephaven/plugin": "^0.93.1-beta.3+da523cce",
|
|
41
|
+
"@deephaven/react-hooks": "^0.93.1-beta.3+da523cce",
|
|
42
|
+
"@deephaven/redux": "^0.93.1-beta.3+da523cce",
|
|
43
|
+
"@deephaven/storage": "^0.93.1-beta.3+da523cce",
|
|
44
|
+
"@deephaven/utils": "^0.93.1-beta.3+da523cce",
|
|
45
45
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
46
46
|
"classnames": "^2.3.1",
|
|
47
47
|
"fast-deep-equal": "^3.1.3",
|
|
@@ -65,8 +65,9 @@
|
|
|
65
65
|
"react-redux": "^7.2.4"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@deephaven/jsapi-shim": "^0.93.1-beta.
|
|
69
|
-
"@deephaven/mocks": "^0.93.1-beta.
|
|
68
|
+
"@deephaven/jsapi-shim": "^0.93.1-beta.3+da523cce",
|
|
69
|
+
"@deephaven/mocks": "^0.93.1-beta.3+da523cce",
|
|
70
|
+
"@deephaven/test-utils": "^0.93.1-beta.3+da523cce"
|
|
70
71
|
},
|
|
71
72
|
"files": [
|
|
72
73
|
"dist",
|
|
@@ -78,5 +79,5 @@
|
|
|
78
79
|
"publishConfig": {
|
|
79
80
|
"access": "public"
|
|
80
81
|
},
|
|
81
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "da523cce83e0a0a38e9162a37511306828f9f8bf"
|
|
82
83
|
}
|