@deephaven/dashboard-core-plugins 0.22.3-embed-pandas.11 → 0.23.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChartBuilderPlugin.d.ts +2 -2
- package/dist/ChartBuilderPlugin.d.ts.map +1 -1
- package/dist/ChartBuilderPlugin.js +6 -8
- package/dist/ChartBuilderPlugin.js.map +1 -1
- package/dist/ChartPlugin.d.ts +2 -2
- package/dist/ChartPlugin.d.ts.map +1 -1
- package/dist/ChartPlugin.js +4 -8
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/ConsolePlugin.d.ts +2 -2
- package/dist/ConsolePlugin.d.ts.map +1 -1
- package/dist/ConsolePlugin.js +16 -62
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/FilterPlugin.d.ts +4 -4
- package/dist/FilterPlugin.d.ts.map +1 -1
- package/dist/FilterPlugin.js +6 -13
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridPlugin.d.ts +2 -2
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js +4 -8
- package/dist/GridPlugin.js.map +1 -1
- package/dist/LinkerPlugin.d.ts +2 -2
- package/dist/LinkerPlugin.d.ts.map +1 -1
- package/dist/LinkerPlugin.js +2 -2
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/MarkdownPlugin.d.ts +3 -3
- package/dist/MarkdownPlugin.d.ts.map +1 -1
- package/dist/MarkdownPlugin.js +4 -8
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts +2 -2
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js +4 -8
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/controls/ControlType.js +0 -6
- package/dist/controls/ControlType.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts +2 -2
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js +7 -51
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.d.ts +2 -2
- package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
- package/dist/controls/input-filter/InputFilter.js +1 -31
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/controls/markdown/MarkdownContainer.js +0 -3
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.d.ts +0 -2
- package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.js +13 -20
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/controls/markdown/MarkdownStartPage.js +0 -11
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/controls/markdown/MarkdownUtils.js +0 -7
- package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
- package/dist/events/ChartEvent.js +0 -5
- package/dist/events/ChartEvent.js.map +1 -1
- package/dist/events/ConsoleEvent.js +0 -7
- package/dist/events/ConsoleEvent.js.map +1 -1
- package/dist/events/InputFilterEvent.js +0 -10
- package/dist/events/InputFilterEvent.js.map +1 -1
- package/dist/events/IrisGridEvent.js +0 -8
- package/dist/events/IrisGridEvent.js.map +1 -1
- package/dist/events/MarkdownEvent.d.ts +1 -1
- package/dist/events/MarkdownEvent.js.map +1 -1
- package/dist/events/NotebookEvent.js +0 -10
- package/dist/events/NotebookEvent.js.map +1 -1
- package/dist/events/PQEvent.js +0 -5
- package/dist/events/PQEvent.js.map +1 -1
- package/dist/events/PandasEvent.js +0 -4
- package/dist/events/PandasEvent.js.map +1 -1
- package/dist/events/TabEvent.js +0 -8
- 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.d.ts +1 -1
- package/dist/linker/ColumnSelectionValidator.d.ts.map +1 -1
- package/dist/linker/Linker.d.ts +5 -2
- package/dist/linker/Linker.d.ts.map +1 -1
- package/dist/linker/Linker.js +70 -119
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerLink.css +90 -25
- package/dist/linker/LinkerLink.css.map +1 -1
- package/dist/linker/LinkerLink.d.ts +21 -3
- package/dist/linker/LinkerLink.d.ts.map +1 -1
- package/dist/linker/LinkerLink.js +214 -23
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/linker/LinkerOverlayContent.css +0 -4
- package/dist/linker/LinkerOverlayContent.css.map +1 -1
- package/dist/linker/LinkerOverlayContent.d.ts +14 -3
- package/dist/linker/LinkerOverlayContent.d.ts.map +1 -1
- package/dist/linker/LinkerOverlayContent.js +78 -33
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/linker/LinkerUtils.d.ts +17 -10
- package/dist/linker/LinkerUtils.d.ts.map +1 -1
- package/dist/linker/LinkerUtils.js +9 -25
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/linker/ToolType.d.ts +2 -2
- package/dist/linker/ToolType.js.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.d.ts +5 -5
- package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.js +4 -7
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/panels/ChartFilterOverlay.d.ts +5 -5
- package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
- package/dist/panels/ChartFilterOverlay.js +2 -7
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +8 -8
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +11 -150
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +1 -26
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +1 -1
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +12 -57
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +9 -9
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +21 -127
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +4 -4
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js +4 -33
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.d.ts +1 -1
- package/dist/panels/FilterSetManager.d.ts.map +1 -1
- package/dist/panels/FilterSetManager.js +13 -86
- package/dist/panels/FilterSetManager.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.js +10 -64
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.d.ts.map +1 -1
- package/dist/panels/InputFilterPanel.js +8 -38
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +13 -13
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +24 -133
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/IrisGridPanelTooltip.d.ts +7 -7
- package/dist/panels/IrisGridPanelTooltip.d.ts.map +1 -1
- package/dist/panels/IrisGridPanelTooltip.js +2 -5
- package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
- package/dist/panels/LogPanel.js +4 -22
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownNotebook.js +3 -30
- package/dist/panels/MarkdownNotebook.js.map +1 -1
- package/dist/panels/MarkdownPanel.js +2 -30
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/MockFileStorage.js +1 -14
- package/dist/panels/MockFileStorage.js.map +1 -1
- package/dist/panels/MockFileStorageTable.js +11 -30
- package/dist/panels/MockFileStorageTable.js.map +1 -1
- package/dist/panels/NotebookPanel.js +24 -182
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.js +1 -20
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/Panel.d.ts +1 -1
- package/dist/panels/Panel.d.ts.map +1 -1
- package/dist/panels/Panel.js +2 -38
- package/dist/panels/Panel.js.map +1 -1
- package/dist/panels/PanelContextMenu.js +7 -29
- package/dist/panels/PanelContextMenu.js.map +1 -1
- package/dist/panels/RenameDialog.js +2 -17
- package/dist/panels/RenameDialog.js.map +1 -1
- package/dist/panels/WidgetPanel.d.ts.map +1 -1
- package/dist/panels/WidgetPanel.js +5 -22
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/WidgetPanelTooltip.d.ts +7 -7
- package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
- package/dist/panels/WidgetPanelTooltip.js +7 -17
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/panels/index.js.map +1 -1
- package/dist/prop-types/CommonPropTypes.js +0 -3
- package/dist/prop-types/CommonPropTypes.js.map +1 -1
- package/dist/prop-types/UIPropTypes.d.ts +2 -2
- 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 +8 -9
- package/dist/redux/actions.js.map +1 -1
- package/dist/redux/index.js.map +1 -1
- package/dist/redux/reducers/connection.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 +10 -15
- package/dist/redux/selectors.js.map +1 -1
- package/package.json +21 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenameDialog.js","names":["React","PureComponent","classNames","Button","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 { Button, 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 this.renameInputRef?.current?.focus();\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 kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleRenameCancel}\n >\n Cancel\n </Button>\n <Button kind=\"primary\" type=\"submit\">\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":"
|
|
1
|
+
{"version":3,"file":"RenameDialog.js","names":["React","PureComponent","classNames","Button","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 { Button, 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 this.renameInputRef?.current?.focus();\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 kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleRenameCancel}\n >\n Cancel\n </Button>\n <Button kind=\"primary\" type=\"submit\">\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,"file":"WidgetPanel.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanel.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"WidgetPanel.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanel.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxE,OAAO,oBAAoB,CAAC;AAE5B,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;IAEzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,UAAU,gBAAgB;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC1B;AACD;;GAEG;AACH,cAAM,WAAY,SAAQ,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzE,MAAM,CAAC,YAAY;;;;;;;;;;;;;uBAcJ,IAAI;sBACL,IAAI;sBACJ,IAAI;iCACO,IAAI;wBACb,IAAI;8BACE,IAAI;6BACL,IAAI;sBACX,IAAI;yBACD,IAAI;0BACH,IAAI;4BACF,IAAI;MACtB;gBAEU,KAAK,EAAE,gBAAgB;IAgBnC,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,MAAM,GAAG,SAAS;IA4BrC,yBAAyB,mBAEL,OAAO,eACV,SAAS,cACV,MAAM,cACN,MAAM,eACL,MAAM,gCAYrB;IAEF,mBAAmB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAU7C,mBAAmB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK7C,MAAM,IAAI,YAAY;CAwFvB;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
2
|
import React, { PureComponent } from 'react';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
4
|
import memoize from 'memoize-one';
|
|
6
|
-
import { ContextActions
|
|
5
|
+
import { ContextActions } from '@deephaven/components';
|
|
6
|
+
import { copyToClipboard } from '@deephaven/utils';
|
|
7
7
|
import Panel from "./Panel.js";
|
|
8
8
|
import WidgetPanelTooltip from "./WidgetPanelTooltip.js";
|
|
9
9
|
import "./WidgetPanel.css";
|
|
10
|
-
|
|
11
10
|
/**
|
|
12
11
|
* Widget panel component that has a loading spinner and displays an error message when set
|
|
13
12
|
*/
|
|
14
13
|
class WidgetPanel extends PureComponent {
|
|
15
14
|
constructor(props) {
|
|
16
15
|
super(props);
|
|
17
|
-
|
|
18
16
|
_defineProperty(this, "getCachedRenderTabTooltip", memoize((showTabTooltip, glContainer, widgetType, widgetName, description) => showTabTooltip ? () => /*#__PURE__*/React.createElement(WidgetPanelTooltip, {
|
|
19
17
|
glContainer: glContainer,
|
|
20
18
|
widgetType: widgetType,
|
|
21
19
|
widgetName: widgetName,
|
|
22
20
|
description: description
|
|
23
21
|
}) : null));
|
|
24
|
-
|
|
25
22
|
this.handleSessionClosed = this.handleSessionClosed.bind(this);
|
|
26
23
|
this.handleSessionOpened = this.handleSessionOpened.bind(this);
|
|
27
24
|
this.handleCopyName = this.handleCopyName.bind(this);
|
|
@@ -33,14 +30,12 @@ class WidgetPanel extends PureComponent {
|
|
|
33
30
|
isPanelInactive: false
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
handleCopyName() {
|
|
38
34
|
var {
|
|
39
35
|
widgetName
|
|
40
36
|
} = this.props;
|
|
41
|
-
|
|
37
|
+
copyToClipboard(widgetName);
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
getErrorMessage() {
|
|
45
40
|
var {
|
|
46
41
|
errorMessage
|
|
@@ -51,19 +46,15 @@ class WidgetPanel extends PureComponent {
|
|
|
51
46
|
isWidgetDisconnected,
|
|
52
47
|
isWaitingForReconnect
|
|
53
48
|
} = this.state;
|
|
54
|
-
|
|
55
49
|
if (errorMessage) {
|
|
56
50
|
return "".concat(errorMessage);
|
|
57
51
|
}
|
|
58
|
-
|
|
59
52
|
if (isClientDisconnected && isPanelDisconnected && isWaitingForReconnect) {
|
|
60
53
|
return 'Disconnected from server.\nCheck your internet connection.';
|
|
61
54
|
}
|
|
62
|
-
|
|
63
55
|
if (isClientDisconnected && isPanelDisconnected) {
|
|
64
56
|
return 'Disconnected from server.';
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
if (isPanelDisconnected) {
|
|
68
59
|
var {
|
|
69
60
|
widgetName,
|
|
@@ -71,36 +62,31 @@ class WidgetPanel extends PureComponent {
|
|
|
71
62
|
} = this.props;
|
|
72
63
|
return "Variable \"".concat(widgetName, "\" not set.\n").concat(widgetType, " does not exist yet.");
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
if (isWidgetDisconnected) {
|
|
76
66
|
var {
|
|
77
67
|
widgetName: _widgetName
|
|
78
68
|
} = this.props;
|
|
79
69
|
return "".concat(_widgetName, " is unavailable.");
|
|
80
70
|
}
|
|
81
|
-
|
|
82
71
|
return undefined;
|
|
83
72
|
}
|
|
84
|
-
|
|
85
73
|
handleSessionClosed() {
|
|
86
74
|
var {
|
|
87
75
|
onSessionClose
|
|
88
|
-
} = this.props;
|
|
89
|
-
|
|
76
|
+
} = this.props;
|
|
77
|
+
// The session has closed and we won't be able to reconnect, as this widget isn't persisted
|
|
90
78
|
this.setState({
|
|
91
79
|
isPanelDisconnected: true,
|
|
92
80
|
isWaitingForReconnect: false
|
|
93
81
|
});
|
|
94
82
|
onSessionClose(...arguments);
|
|
95
83
|
}
|
|
96
|
-
|
|
97
84
|
handleSessionOpened() {
|
|
98
85
|
var {
|
|
99
86
|
onSessionOpen
|
|
100
87
|
} = this.props;
|
|
101
88
|
onSessionOpen(...arguments);
|
|
102
89
|
}
|
|
103
|
-
|
|
104
90
|
render() {
|
|
105
91
|
var {
|
|
106
92
|
children,
|
|
@@ -171,9 +157,7 @@ class WidgetPanel extends PureComponent {
|
|
|
171
157
|
className: "fill-parent-absolute"
|
|
172
158
|
}));
|
|
173
159
|
}
|
|
174
|
-
|
|
175
160
|
}
|
|
176
|
-
|
|
177
161
|
_defineProperty(WidgetPanel, "defaultProps", {
|
|
178
162
|
className: '',
|
|
179
163
|
errorMessage: null,
|
|
@@ -199,6 +183,5 @@ _defineProperty(WidgetPanel, "defaultProps", {
|
|
|
199
183
|
onTabFocus: () => undefined,
|
|
200
184
|
onTabClicked: () => undefined
|
|
201
185
|
});
|
|
202
|
-
|
|
203
186
|
export default WidgetPanel;
|
|
204
187
|
//# sourceMappingURL=WidgetPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
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 type { 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
|
+
{"version":3,"file":"WidgetPanel.js","names":["React","PureComponent","classNames","memoize","ContextActions","copyToClipboard","Panel","WidgetPanelTooltip","WidgetPanel","constructor","props","showTabTooltip","glContainer","widgetType","widgetName","description","handleSessionClosed","bind","handleSessionOpened","handleCopyName","state","isClientDisconnected","isPanelDisconnected","isWidgetDisconnected","isWaitingForReconnect","isPanelInactive","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 type { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { ContextActions } from '@deephaven/components';\nimport { copyToClipboard } from '@deephaven/utils';\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 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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"}
|
|
@@ -10,10 +10,10 @@ interface WidgetPanelTooltipProps {
|
|
|
10
10
|
description: string;
|
|
11
11
|
children: ReactNode;
|
|
12
12
|
}
|
|
13
|
-
declare
|
|
14
|
-
|
|
15
|
-
propTypes: {
|
|
16
|
-
glContainer: PropTypes.Validator<PropTypes.InferProps<{
|
|
13
|
+
declare function WidgetPanelTooltip(props: WidgetPanelTooltipProps): ReactElement;
|
|
14
|
+
declare namespace WidgetPanelTooltip {
|
|
15
|
+
var propTypes: {
|
|
16
|
+
glContainer: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
17
17
|
on: PropTypes.Requireable<(...args: any[]) => any>;
|
|
18
18
|
off: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
19
|
isHidden: PropTypes.Requireable<boolean>;
|
|
@@ -27,18 +27,18 @@ declare const WidgetPanelTooltip: {
|
|
|
27
27
|
title: PropTypes.Requireable<string>;
|
|
28
28
|
setTitle: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
29
|
close: PropTypes.Requireable<(...args: any[]) => any>;
|
|
30
|
-
}
|
|
30
|
+
}>>>;
|
|
31
31
|
widgetType: PropTypes.Requireable<string>;
|
|
32
32
|
widgetName: PropTypes.Requireable<string>;
|
|
33
33
|
description: PropTypes.Requireable<string>;
|
|
34
34
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
35
35
|
};
|
|
36
|
-
defaultProps: {
|
|
36
|
+
var defaultProps: {
|
|
37
37
|
widgetType: string;
|
|
38
38
|
widgetName: string;
|
|
39
39
|
description: null;
|
|
40
40
|
children: null;
|
|
41
41
|
};
|
|
42
|
-
}
|
|
42
|
+
}
|
|
43
43
|
export default WidgetPanelTooltip;
|
|
44
44
|
//# sourceMappingURL=WidgetPanelTooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetPanelTooltip.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanelTooltip.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"WidgetPanelTooltip.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanelTooltip.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,UAAU,uBAAuB;IAC/B,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AACD,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAiCxE;kBAjCQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkD3B,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import {
|
|
4
|
-
import { vsCopy, vsPassFilled } from '@deephaven/icons';
|
|
3
|
+
import { CopyButton } from '@deephaven/components';
|
|
5
4
|
import { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';
|
|
6
|
-
import Log from '@deephaven/log';
|
|
7
5
|
import "./WidgetPanelTooltip.css";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var WidgetPanelTooltip = props => {
|
|
6
|
+
function WidgetPanelTooltip(props) {
|
|
11
7
|
var {
|
|
12
8
|
widgetType,
|
|
13
9
|
widgetName,
|
|
@@ -16,7 +12,6 @@ var WidgetPanelTooltip = props => {
|
|
|
16
12
|
children
|
|
17
13
|
} = props;
|
|
18
14
|
var panelTitle = LayoutUtils.getTitleFromContainer(glContainer);
|
|
19
|
-
var [copied, setCopied] = useState(false);
|
|
20
15
|
return /*#__PURE__*/React.createElement("div", {
|
|
21
16
|
className: "tab-tooltip-container"
|
|
22
17
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -25,14 +20,10 @@ var WidgetPanelTooltip = props => {
|
|
|
25
20
|
className: "tab-tooltip-title"
|
|
26
21
|
}, /*#__PURE__*/React.createElement("b", null, widgetType, " Name ")), /*#__PURE__*/React.createElement("span", {
|
|
27
22
|
className: "tab-tooltip-name"
|
|
28
|
-
}, widgetName), /*#__PURE__*/React.createElement(
|
|
29
|
-
kind: "ghost",
|
|
23
|
+
}, widgetName), /*#__PURE__*/React.createElement(CopyButton, {
|
|
30
24
|
className: "tab-tooltip-copy",
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
ContextActionUtils.copyToClipboard(widgetName).then(() => setCopied(true)).catch(e => log.error('Unable to column name', e));
|
|
34
|
-
},
|
|
35
|
-
tooltip: copied ? 'Copied text' : 'Copy name'
|
|
25
|
+
tooltip: "Copy name",
|
|
26
|
+
copy: widgetName
|
|
36
27
|
})), widgetName !== panelTitle && /*#__PURE__*/React.createElement("div", {
|
|
37
28
|
className: "row"
|
|
38
29
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -44,8 +35,7 @@ var WidgetPanelTooltip = props => {
|
|
|
44
35
|
}, /*#__PURE__*/React.createElement("span", {
|
|
45
36
|
className: "tab-tooltip-description"
|
|
46
37
|
}, description)), children);
|
|
47
|
-
}
|
|
48
|
-
|
|
38
|
+
}
|
|
49
39
|
WidgetPanelTooltip.propTypes = {
|
|
50
40
|
glContainer: GLPropTypes.Container.isRequired,
|
|
51
41
|
widgetType: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetPanelTooltip.js","names":["React","
|
|
1
|
+
{"version":3,"file":"WidgetPanelTooltip.js","names":["React","PropTypes","CopyButton","GLPropTypes","LayoutUtils","WidgetPanelTooltip","props","widgetType","widgetName","glContainer","description","children","panelTitle","getTitleFromContainer","propTypes","Container","isRequired","string","node","defaultProps"],"sources":["../../src/panels/WidgetPanelTooltip.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport { CopyButton } from '@deephaven/components';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport './WidgetPanelTooltip.scss';\nimport { ReactElement } from 'react-markdown';\nimport type { Container } from '@deephaven/golden-layout';\n\ninterface WidgetPanelTooltipProps {\n glContainer: Container;\n widgetType: string;\n widgetName: string;\n description: string;\n children: ReactNode;\n}\nfunction WidgetPanelTooltip(props: WidgetPanelTooltipProps): ReactElement {\n const { widgetType, widgetName, glContainer, description, children } = props;\n const panelTitle = LayoutUtils.getTitleFromContainer(glContainer);\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 <CopyButton\n className=\"tab-tooltip-copy\"\n tooltip=\"Copy name\"\n copy={widgetName}\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,KAAK,MAAqB,OAAO;AACxC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,WAAW,EAAEC,WAAW,QAAQ,sBAAsB;AAAC;AAYhE,SAASC,kBAAkB,CAACC,KAA8B,EAAgB;EACxE,IAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC,WAAW;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGL,KAAK;EAC5E,IAAMM,UAAU,GAAGR,WAAW,CAACS,qBAAqB,CAACJ,WAAW,CAAC;EAEjE,oBACE;IAAK,SAAS,EAAC;EAAuB,gBACpC;IAAK,SAAS,EAAC;EAAmC,gBAChD;IAAM,SAAS,EAAC;EAAmB,gBACjC,+BAAIF,UAAU,WAAW,CACpB,eACP;IAAM,SAAS,EAAC;EAAkB,GAAEC,UAAU,CAAQ,eACtD,oBAAC,UAAU;IACT,SAAS,EAAC,kBAAkB;IAC5B,OAAO,EAAC,WAAW;IACnB,IAAI,EAAEA;EAAW,EACjB,CACE,EACLA,UAAU,KAAKI,UAAU,iBACxB;IAAK,SAAS,EAAC;EAAK,gBAClB;IAAM,SAAS,EAAC;EAAmB,gBACjC,8CAAmB,CACd,eACP;IAAM,SAAS,EAAC;EAAkB,GAAEA,UAAU,CAAQ,CAEzD,EACAF,WAAW,iBACV;IAAK,SAAS,EAAC;EAAK,gBAClB;IAAM,SAAS,EAAC;EAAyB,GAAEA,WAAW,CAAQ,CAEjE,EACAC,QAAQ,CACL;AAEV;AAEAN,kBAAkB,CAACS,SAAS,GAAG;EAC7BL,WAAW,EAAEN,WAAW,CAACY,SAAS,CAACC,UAAU;EAC7CT,UAAU,EAAEN,SAAS,CAACgB,MAAM;EAC5BT,UAAU,EAAEP,SAAS,CAACgB,MAAM;EAC5BP,WAAW,EAAET,SAAS,CAACgB,MAAM;EAC7BN,QAAQ,EAAEV,SAAS,CAACiB;AACtB,CAAC;AAEDb,kBAAkB,CAACc,YAAY,GAAG;EAChCZ,UAAU,EAAE,EAAE;EACdC,UAAU,EAAE,EAAE;EACdE,WAAW,EAAE,IAAI;EACjBC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeN,kBAAkB"}
|
package/dist/panels/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,UAAU;AAAA;AAAA,SAErBD,OAAO,IAAIE,mBAAmB;AAAA,SAC9BF,OAAO,IAAIG,YAAY;AAAA,SACvBH,OAAO,IAAII,mBAAmB;AAAA,SAC9BJ,OAAO,IAAIK,iBAAiB;AAAA,SAC5BL,OAAO,IAAIM,gBAAgB;AAAA,SAE3BN,OAAO,IAAIO,qBAAqB;AAAA,SAChCP,OAAO,IAAIQ,gBAAgB;AAAA,SAC3BR,OAAO,IAAIS,aAAa;AAAA;AAAA,SAExBT,OAAO,IAAIU,QAAQ;AAAA,SACnBV,OAAO,IAAIW,aAAa;AAAA,SACxBX,OAAO,IAAIY,aAAa;AAAA,SACxBZ,OAAO,IAAIa,WAAW;AAAA;AAAA,SAEtBb,OAAO,IAAIc,KAAK;AAAA,SAChBd,OAAO,IAAIe,WAAW;AAAA,SACtBf,OAAO,IAAIgB,kBAAkB"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
|
|
3
2
|
var nullableBoolean = (props, propName) => props[propName] === null ? null : PropTypes.bool;
|
|
4
|
-
|
|
5
3
|
var nullableString = (props, propName) => props[propName] === null ? null : PropTypes.string;
|
|
6
|
-
|
|
7
4
|
var CommonPropTypes = Object.freeze({
|
|
8
5
|
nullableBoolean,
|
|
9
6
|
nullableString
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,SAAS,MAAM,YAAY;AAElC,IAAMC,eAAe,GAAG,CAACC,KAA8B,EAAEC,QAAgB,KACvED,KAAK,CAACC,QAAQ,CAAC,KAAK,IAAI,GAAG,IAAI,GAAGH,SAAS,CAACI,IAAI;AAElD,IAAMC,cAAc,GAAG,CAACH,KAA8B,EAAEC,QAAgB,KACtED,KAAK,CAACC,QAAQ,CAAC,KAAK,IAAI,GAAG,IAAI,GAAGH,SAAS,CAACM,MAAM;AAEpD,IAAMC,eAAe,GAAGC,MAAM,CAACC,MAAM,CAAC;EAAER,eAAe;EAAEI;AAAe,CAAC,CAAC;AAE1E,eAAeE,eAAe"}
|
|
@@ -38,7 +38,7 @@ declare const UIPropTypes: Readonly<{
|
|
|
38
38
|
name: PropTypes.Validator<string>;
|
|
39
39
|
operateAs: PropTypes.Validator<string>;
|
|
40
40
|
groups: PropTypes.Validator<(string | null | undefined)[]>;
|
|
41
|
-
permissions: PropTypes.Validator<PropTypes.InferProps<{
|
|
41
|
+
permissions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
42
42
|
isSuperUser: PropTypes.Validator<boolean>;
|
|
43
43
|
isQueryViewOnly: PropTypes.Validator<boolean>;
|
|
44
44
|
isNonInteractive: PropTypes.Validator<boolean>;
|
|
@@ -48,7 +48,7 @@ declare const UIPropTypes: Readonly<{
|
|
|
48
48
|
canCreateQueryMonitor: PropTypes.Validator<boolean>;
|
|
49
49
|
canCopy: PropTypes.Validator<boolean>;
|
|
50
50
|
canDownloadCsv: PropTypes.Validator<boolean>;
|
|
51
|
-
}
|
|
51
|
+
}>>>;
|
|
52
52
|
}>>;
|
|
53
53
|
}>;
|
|
54
54
|
export default UIPropTypes;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,SAAS,MAAM,YAAY;AAElC,IAAMC,KAAK,GAAGD,SAAS,CAACE,KAAK,CAAC;EAC5BC,KAAK,EAAEH,SAAS,CAACE,KAAK,CAAC;IACrBE,UAAU,EAAEJ,SAAS,CAACE,KAAK,CAAC,CAAC,CAAC;EAChC,CAAC;AACH,CAAC,CAAC;AAEF,IAAMG,SAAS,GAAGL,SAAS,CAACE,KAAK,CAAC;EAChCI,OAAO,EAAEN,SAAS,CAACO,MAAM,CAACC,UAAU;EACpCC,UAAU,EAAET,SAAS,CAACO,MAAM,CAACC,UAAU;EACvCE,UAAU,EAAEV,SAAS,CAACO,MAAM,CAACC;AAC/B,CAAC,CAAC;AAEF,IAAMG,gBAAgB,GAAGX,SAAS,CAACE,KAAK,CAAC;EACvCI,OAAO,EAAEN,SAAS,CAACO,MAAM,CAACC,UAAU;EACpCC,UAAU,EAAET,SAAS,CAACO,MAAM,CAACC;AAC/B,CAAC,CAAC;AAEF,IAAMI,IAAI,GAAGZ,SAAS,CAACE,KAAK,CAAC;EAC3BW,KAAK,EAAEF,gBAAgB;EACvBG,GAAG,EAAEH,gBAAgB;EACrBI,EAAE,EAAEf,SAAS,CAACO,MAAM;EACpBS,UAAU,EAAEhB,SAAS,CAACiB;AACxB,CAAC,CAAC;AAEF,IAAMC,KAAK,GAAGlB,SAAS,CAACmB,OAAO,CAACP,IAAI,CAAC;AAErC,IAAMQ,IAAI,GAAGpB,SAAS,CAACE,KAAK,CAAC;EAC3BmB,IAAI,EAAErB,SAAS,CAACO,MAAM,CAACC,UAAU;EACjCc,SAAS,EAAEtB,SAAS,CAACO,MAAM,CAACC,UAAU;EACtCe,MAAM,EAAEvB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACO,MAAM,CAAC,CAACC,UAAU;EACtDgB,WAAW,EAAExB,SAAS,CAACE,KAAK,CAAC;IAC3BuB,WAAW,EAAEzB,SAAS,CAACiB,IAAI,CAACT,UAAU;IACtCkB,eAAe,EAAE1B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAC1CmB,gBAAgB,EAAE3B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAC3CoB,YAAY,EAAE5B,SAAS,CAACiB,IAAI,CAACT,UAAU;IACvCqB,kBAAkB,EAAE7B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAC7CsB,mBAAmB,EAAE9B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAC9CuB,qBAAqB,EAAE/B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAChDwB,OAAO,EAAEhC,SAAS,CAACiB,IAAI,CAACT,UAAU;IAClCyB,cAAc,EAAEjC,SAAS,CAACiB,IAAI,CAACT;EACjC,CAAC,CAAC,CAACA;AACL,CAAC,CAAC;AAEF,IAAM0B,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;EAChC/B,SAAS;EACTO,IAAI;EACJM,KAAK;EACLjB,KAAK;EACLmB;AACF,CAAC,CAAC;AAEF,eAAec,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,WAAW;AAAA,SACtBD,OAAO,IAAIE,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes.js","names":["SET_SESSION_WRAPPER","SET_CONNECTION"],"sources":["../../src/redux/actionTypes.ts"],"sourcesContent":["export const SET_SESSION_WRAPPER = 'SET_SESSION_WRAPPER';\n\nexport const SET_CONNECTION = 'SET_CONNECTION';\n"],"mappings":"AAAA,OAAO,IAAMA,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"actionTypes.js","names":["SET_SESSION_WRAPPER","SET_CONNECTION"],"sources":["../../src/redux/actionTypes.ts"],"sourcesContent":["export const SET_SESSION_WRAPPER = 'SET_SESSION_WRAPPER';\n\nexport const SET_CONNECTION = 'SET_CONNECTION';\n"],"mappings":"AAAA,OAAO,IAAMA,mBAAmB,GAAG,qBAAqB;AAExD,OAAO,IAAMC,cAAc,GAAG,gBAAgB"}
|
package/dist/redux/actions.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import deepEqual from 'deep-equal';
|
|
2
2
|
import { updateDashboardData } from '@deephaven/dashboard';
|
|
3
3
|
import { getLinksForDashboard } from "./selectors.js";
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* Set the connection for the dashboard specified
|
|
7
6
|
* @param id The ID of the dashboard to set the connection for
|
|
@@ -10,79 +9,79 @@ import { getLinksForDashboard } from "./selectors.js";
|
|
|
10
9
|
export var setDashboardConnection = (id, connection) => dispatch => dispatch(updateDashboardData(id, {
|
|
11
10
|
connection
|
|
12
11
|
}));
|
|
12
|
+
|
|
13
13
|
/**
|
|
14
14
|
* Set the session wrapper for the dashboard specified
|
|
15
15
|
* @param id The ID of the dashboard to set the session for
|
|
16
16
|
* @param sessionWrapper The session wrapper object to set for the dashboard
|
|
17
17
|
*/
|
|
18
|
-
|
|
19
18
|
export var setDashboardSessionWrapper = (id, sessionWrapper) => dispatch => dispatch(updateDashboardData(id, {
|
|
20
19
|
sessionWrapper
|
|
21
20
|
}));
|
|
21
|
+
|
|
22
22
|
/**
|
|
23
23
|
* Set the links for a given dashboard
|
|
24
24
|
* @param id The ID of the dashboard to set the links for
|
|
25
25
|
* @param links The links to set
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
27
|
export var setDashboardLinks = (id, links) => dispatch => dispatch(updateDashboardData(id, {
|
|
29
28
|
links
|
|
30
29
|
}));
|
|
30
|
+
|
|
31
31
|
/**
|
|
32
32
|
* Add links to the existing links in a dashboard. Filters out any duplicate links.
|
|
33
33
|
* @param id The ID of the dashboard to add links to
|
|
34
34
|
* @param newLinks The new links to add
|
|
35
35
|
*/
|
|
36
|
-
|
|
37
36
|
export var addDashboardLinks = (id, newLinks) => (dispatch, getState) => {
|
|
38
37
|
var links = getLinksForDashboard(getState(), id);
|
|
39
38
|
var filtered = newLinks.filter(newLink => links.findIndex(link => deepEqual(link.start, newLink.start) && deepEqual(link.end, newLink.end)) < 0);
|
|
40
39
|
return dispatch(setDashboardLinks(id, links.concat(filtered)));
|
|
41
40
|
};
|
|
41
|
+
|
|
42
42
|
/**
|
|
43
43
|
* Delete links from a dashboard
|
|
44
44
|
* @param id The ID of the dashboard to delete links from
|
|
45
45
|
* @param linkIds The link IDs to delete
|
|
46
46
|
*/
|
|
47
|
-
|
|
48
47
|
export var deleteDashboardLinks = (id, linkIds) => (dispatch, getState) => {
|
|
49
48
|
var links = getLinksForDashboard(getState(), id);
|
|
50
49
|
var newLinks = links.filter(link => !linkIds.includes(link.id));
|
|
51
50
|
return dispatch(setDashboardLinks(id, newLinks));
|
|
52
51
|
};
|
|
52
|
+
|
|
53
53
|
/**
|
|
54
54
|
* Set the isolated linker panel ID for a dashboard
|
|
55
55
|
* @param id The ID of the dashboard to set the isolated linker panel ID in
|
|
56
56
|
* @param isolatedLinkerPanelId The isolated panel ID, or undefined to unset
|
|
57
57
|
*/
|
|
58
|
-
|
|
59
58
|
export var setDashboardIsolatedLinkerPanelId = (id, isolatedLinkerPanelId) => dispatch => dispatch(updateDashboardData(id, {
|
|
60
59
|
isolatedLinkerPanelId
|
|
61
60
|
}));
|
|
61
|
+
|
|
62
62
|
/**
|
|
63
63
|
* Set the column selection validator for a dashboard
|
|
64
64
|
* @param id The ID of the dashboard to set the column selection validator on
|
|
65
65
|
* @param columnSelectionValidator The column selection validator to set
|
|
66
66
|
*/
|
|
67
|
-
|
|
68
67
|
export var setDashboardColumnSelectionValidator = (id, columnSelectionValidator) => dispatch => dispatch(updateDashboardData(id, {
|
|
69
68
|
columnSelectionValidator
|
|
70
69
|
}));
|
|
70
|
+
|
|
71
71
|
/**
|
|
72
72
|
* Set the console settings for a dashboard
|
|
73
73
|
* @param id The ID of the dashboard to set the console settings on
|
|
74
74
|
* @param consoleSettings The console settings to set for the dashboard
|
|
75
75
|
*/
|
|
76
|
-
|
|
77
76
|
export var setDashboardConsoleSettings = (id, consoleSettings) => dispatch => dispatch(updateDashboardData(id, {
|
|
78
77
|
consoleSettings
|
|
79
78
|
}));
|
|
79
|
+
|
|
80
80
|
/**
|
|
81
81
|
* Set the filter sets for a specific dashboard
|
|
82
82
|
* @param id The ID of the dashboard to set the filter sets for
|
|
83
83
|
* @param filterSets The filter sets to set
|
|
84
84
|
*/
|
|
85
|
-
|
|
86
85
|
export var setDashboardFilterSets = (id, filterSets) => dispatch => dispatch(updateDashboardData(id, {
|
|
87
86
|
filterSets
|
|
88
87
|
}));
|