@deephaven/dashboard-core-plugins 0.22.3-beta.8 → 0.22.3-deep-bot-test.14

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.
@@ -204,10 +204,10 @@ export declare class IrisGridPanel extends PureComponent<IrisGridPanelProps, Iri
204
204
  updateGrid(): void;
205
205
  render(): ReactElement;
206
206
  }
207
- declare const _default: import("react-redux").ConnectedComponent<typeof IrisGridPanel, import("react-redux").Omit<Pick<React.ClassAttributes<IrisGridPanel> & IrisGridPanelProps, "glContainer" | "children" | "metadata" | "glEventHub" | "user" | "panelState" | "columnSelectionValidator" | "settings" | "inputFilters" | "links" | "workspace" | "makeModel" | "getDownloadWorker" | "loadPlugin" | "theme" | keyof React.ClassAttributes<IrisGridPanel>> & Partial<Pick<React.ClassAttributes<IrisGridPanel> & IrisGridPanelProps, "onStateChange" | "onPanelStateUpdate">> & Partial<Pick<{
207
+ declare const _default: import("react-redux").ConnectedComponent<typeof IrisGridPanel, import("react-redux").Omit<Pick<React.ClassAttributes<IrisGridPanel> & IrisGridPanelProps, "glContainer" | "children" | "metadata" | "glEventHub" | "panelState" | "columnSelectionValidator" | "settings" | "inputFilters" | "links" | "user" | "workspace" | "makeModel" | "getDownloadWorker" | "loadPlugin" | "theme" | keyof React.ClassAttributes<IrisGridPanel>> & Partial<Pick<React.ClassAttributes<IrisGridPanel> & IrisGridPanelProps, "onStateChange" | "onPanelStateUpdate">> & Partial<Pick<{
208
208
  onStateChange: () => void;
209
209
  onPanelStateUpdate: () => void;
210
- }, never>>, "user" | "columnSelectionValidator" | "settings" | "inputFilters" | "links" | "workspace"> & {
210
+ }, never>>, "columnSelectionValidator" | "settings" | "inputFilters" | "links" | "user" | "workspace"> & {
211
211
  localDashboardId?: string | undefined;
212
212
  }>;
213
213
  export default _default;
@@ -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;AAIxE,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
+ {"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"}
@@ -3,7 +3,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { PureComponent } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import memoize from 'memoize-one';
6
- import { ContextActions, ContextActionUtils } from '@deephaven/components';
6
+ import { ContextActions } from '@deephaven/components';
7
+ import { copyToClipboard } from '@deephaven/utils';
7
8
  import Panel from "./Panel.js";
8
9
  import WidgetPanelTooltip from "./WidgetPanelTooltip.js";
9
10
  import "./WidgetPanel.css";
@@ -38,7 +39,7 @@ class WidgetPanel extends PureComponent {
38
39
  var {
39
40
  widgetName
40
41
  } = this.props;
41
- ContextActionUtils.copyToClipboard(widgetName);
42
+ copyToClipboard(widgetName);
42
43
  }
43
44
 
44
45
  getErrorMessage() {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetPanelTooltip.d.ts","sourceRoot":"","sources":["../../src/panels/WidgetPanelTooltip.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,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,QAAA,MAAM,kBAAkB;YAAW,uBAAuB,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxE,CAAC;AAiBF,eAAe,kBAAkB,CAAC"}
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,QAAA,MAAM,kBAAkB;YAAW,uBAAuB,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCxE,CAAC;AAiBF,eAAe,kBAAkB,CAAC"}
@@ -1,11 +1,8 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { Button, ContextActionUtils } from '@deephaven/components';
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
- var log = Log.module('WidgetPanelTooltip');
9
6
 
10
7
  var WidgetPanelTooltip = props => {
11
8
  var {
@@ -16,7 +13,6 @@ var WidgetPanelTooltip = props => {
16
13
  children
17
14
  } = props;
18
15
  var panelTitle = LayoutUtils.getTitleFromContainer(glContainer);
19
- var [copied, setCopied] = useState(false);
20
16
  return /*#__PURE__*/React.createElement("div", {
21
17
  className: "tab-tooltip-container"
22
18
  }, /*#__PURE__*/React.createElement("div", {
@@ -25,14 +21,10 @@ var WidgetPanelTooltip = props => {
25
21
  className: "tab-tooltip-title"
26
22
  }, /*#__PURE__*/React.createElement("b", null, widgetType, " Name ")), /*#__PURE__*/React.createElement("span", {
27
23
  className: "tab-tooltip-name"
28
- }, widgetName), /*#__PURE__*/React.createElement(Button, {
29
- kind: "ghost",
24
+ }, widgetName), /*#__PURE__*/React.createElement(CopyButton, {
30
25
  className: "tab-tooltip-copy",
31
- icon: copied ? vsPassFilled : vsCopy,
32
- onClick: () => {
33
- ContextActionUtils.copyToClipboard(widgetName).then(() => setCopied(true)).catch(e => log.error('Unable to column name', e));
34
- },
35
- tooltip: copied ? 'Copied text' : 'Copy name'
26
+ tooltip: "Copy name",
27
+ copy: widgetName
36
28
  })), widgetName !== panelTitle && /*#__PURE__*/React.createElement("div", {
37
29
  className: "row"
38
30
  }, /*#__PURE__*/React.createElement("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetPanelTooltip.js","names":["React","useState","PropTypes","Button","ContextActionUtils","vsCopy","vsPassFilled","GLPropTypes","LayoutUtils","Log","log","module","WidgetPanelTooltip","props","widgetType","widgetName","glContainer","description","children","panelTitle","getTitleFromContainer","copied","setCopied","copyToClipboard","then","catch","e","error","propTypes","Container","isRequired","string","node","defaultProps"],"sources":["../../src/panels/WidgetPanelTooltip.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport { vsCopy, vsPassFilled } from '@deephaven/icons';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport './WidgetPanelTooltip.scss';\nimport { ReactElement } from 'react-markdown';\nimport type { Container } from '@deephaven/golden-layout';\n\nconst log = Log.module('WidgetPanelTooltip');\n\ninterface WidgetPanelTooltipProps {\n glContainer: Container;\n widgetType: string;\n widgetName: string;\n description: string;\n children: ReactNode;\n}\nconst WidgetPanelTooltip = (props: WidgetPanelTooltipProps): ReactElement => {\n const { widgetType, widgetName, glContainer, description, children } = props;\n const panelTitle = LayoutUtils.getTitleFromContainer(glContainer);\n const [copied, setCopied] = useState(false);\n\n return (\n <div className=\"tab-tooltip-container\">\n <div className=\"row flex-nowrap align-items-start\">\n <span className=\"tab-tooltip-title\">\n <b>{widgetType} Name </b>\n </span>\n <span className=\"tab-tooltip-name\">{widgetName}</span>\n\n <Button\n kind=\"ghost\"\n className=\"tab-tooltip-copy\"\n icon={copied ? vsPassFilled : vsCopy}\n onClick={() => {\n ContextActionUtils.copyToClipboard(widgetName)\n .then(() => setCopied(true))\n .catch(e => log.error('Unable to column name', e));\n }}\n tooltip={copied ? 'Copied text' : 'Copy name'}\n />\n </div>\n {widgetName !== panelTitle && (\n <div className=\"row\">\n <span className=\"tab-tooltip-title\">\n <b>Display Name</b>\n </span>\n <span className=\"tab-tooltip-name\">{panelTitle}</span>\n </div>\n )}\n {description && (\n <div className=\"row\">\n <span className=\"tab-tooltip-description\">{description}</span>\n </div>\n )}\n {children}\n </div>\n );\n};\n\nWidgetPanelTooltip.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n widgetType: PropTypes.string,\n widgetName: PropTypes.string,\n description: PropTypes.string,\n children: PropTypes.node,\n};\n\nWidgetPanelTooltip.defaultProps = {\n widgetType: '',\n widgetName: '',\n description: null,\n children: null,\n};\n\nexport default WidgetPanelTooltip;\n"],"mappings":"AAAA,OAAOA,KAAP,IAA2BC,QAA3B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,MAAT,EAAiBC,kBAAjB,QAA2C,uBAA3C;AACA,SAASC,MAAT,EAAiBC,YAAjB,QAAqC,kBAArC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,sBAAzC;AACA,OAAOC,GAAP,MAAgB,gBAAhB;;AAKA,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAJ,CAAW,oBAAX,CAAZ;;AASA,IAAMC,kBAAkB,GAAIC,KAAD,IAAkD;EAC3E,IAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC,WAA1B;IAAuCC,WAAvC;IAAoDC;EAApD,IAAiEL,KAAvE;EACA,IAAMM,UAAU,GAAGX,WAAW,CAACY,qBAAZ,CAAkCJ,WAAlC,CAAnB;EACA,IAAM,CAACK,MAAD,EAASC,SAAT,IAAsBrB,QAAQ,CAAC,KAAD,CAApC;EAEA,oBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,+BAAIa,UAAJ,WADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCC,UAApC,CAJF,eAME,oBAAC,MAAD;IACE,IAAI,EAAC,OADP;IAEE,SAAS,EAAC,kBAFZ;IAGE,IAAI,EAAEM,MAAM,GAAGf,YAAH,GAAkBD,MAHhC;IAIE,OAAO,EAAE,MAAM;MACbD,kBAAkB,CAACmB,eAAnB,CAAmCR,UAAnC,EACGS,IADH,CACQ,MAAMF,SAAS,CAAC,IAAD,CADvB,EAEGG,KAFH,CAESC,CAAC,IAAIhB,GAAG,CAACiB,KAAJ,CAAU,uBAAV,EAAmCD,CAAnC,CAFd;IAGD,CARH;IASE,OAAO,EAAEL,MAAM,GAAG,aAAH,GAAmB;EATpC,EANF,CADF,EAmBGN,UAAU,KAAKI,UAAf,iBACC;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,8CADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCA,UAApC,CAJF,CApBJ,EA2BGF,WAAW,iBACV;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,GAA2CA,WAA3C,CADF,CA5BJ,EAgCGC,QAhCH,CADF;AAoCD,CAzCD;;AA2CAN,kBAAkB,CAACgB,SAAnB,GAA+B;EAC7BZ,WAAW,EAAET,WAAW,CAACsB,SAAZ,CAAsBC,UADN;EAE7BhB,UAAU,EAAEZ,SAAS,CAAC6B,MAFO;EAG7BhB,UAAU,EAAEb,SAAS,CAAC6B,MAHO;EAI7Bd,WAAW,EAAEf,SAAS,CAAC6B,MAJM;EAK7Bb,QAAQ,EAAEhB,SAAS,CAAC8B;AALS,CAA/B;AAQApB,kBAAkB,CAACqB,YAAnB,GAAkC;EAChCnB,UAAU,EAAE,EADoB;EAEhCC,UAAU,EAAE,EAFoB;EAGhCE,WAAW,EAAE,IAHmB;EAIhCC,QAAQ,EAAE;AAJsB,CAAlC;AAOA,eAAeN,kBAAf"}
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}\nconst 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,KAAP,MAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,uBAA3B;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,sBAAzC;;;AAYA,IAAMC,kBAAkB,GAAIC,KAAD,IAAkD;EAC3E,IAAM;IAAEC,UAAF;IAAcC,UAAd;IAA0BC,WAA1B;IAAuCC,WAAvC;IAAoDC;EAApD,IAAiEL,KAAvE;EACA,IAAMM,UAAU,GAAGR,WAAW,CAACS,qBAAZ,CAAkCJ,WAAlC,CAAnB;EAEA,oBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,+BAAIF,UAAJ,WADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCC,UAApC,CAJF,eAKE,oBAAC,UAAD;IACE,SAAS,EAAC,kBADZ;IAEE,OAAO,EAAC,WAFV;IAGE,IAAI,EAAEA;EAHR,EALF,CADF,EAYGA,UAAU,KAAKI,UAAf,iBACC;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE,8CADF,CADF,eAIE;IAAM,SAAS,EAAC;EAAhB,GAAoCA,UAApC,CAJF,CAbJ,EAoBGF,WAAW,iBACV;IAAK,SAAS,EAAC;EAAf,gBACE;IAAM,SAAS,EAAC;EAAhB,GAA2CA,WAA3C,CADF,CArBJ,EAyBGC,QAzBH,CADF;AA6BD,CAjCD;;AAmCAN,kBAAkB,CAACS,SAAnB,GAA+B;EAC7BL,WAAW,EAAEN,WAAW,CAACY,SAAZ,CAAsBC,UADN;EAE7BT,UAAU,EAAEN,SAAS,CAACgB,MAFO;EAG7BT,UAAU,EAAEP,SAAS,CAACgB,MAHO;EAI7BP,WAAW,EAAET,SAAS,CAACgB,MAJM;EAK7BN,QAAQ,EAAEV,SAAS,CAACiB;AALS,CAA/B;AAQAb,kBAAkB,CAACc,YAAnB,GAAkC;EAChCZ,UAAU,EAAE,EADoB;EAEhCC,UAAU,EAAE,EAFoB;EAGhCE,WAAW,EAAE,IAHmB;EAIhCC,QAAQ,EAAE;AAJsB,CAAlC;AAOA,eAAeN,kBAAf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/dashboard-core-plugins",
3
- "version": "0.22.3-beta.8+dc864c6",
3
+ "version": "0.22.3-deep-bot-test.14+c0d1d46",
4
4
  "description": "Deephaven Dashboard Core Plugins",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -22,21 +22,22 @@
22
22
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
23
23
  },
24
24
  "dependencies": {
25
- "@deephaven/chart": "^0.22.3-beta.8+dc864c6",
26
- "@deephaven/components": "^0.22.3-beta.8+dc864c6",
27
- "@deephaven/console": "^0.22.3-beta.8+dc864c6",
28
- "@deephaven/dashboard": "^0.22.3-beta.8+dc864c6",
29
- "@deephaven/file-explorer": "^0.22.3-beta.8+dc864c6",
30
- "@deephaven/golden-layout": "^0.22.3-beta.8+dc864c6",
31
- "@deephaven/grid": "^0.22.3-beta.8+dc864c6",
32
- "@deephaven/icons": "^0.22.3-beta.8+dc864c6",
33
- "@deephaven/iris-grid": "^0.22.3-beta.8+dc864c6",
34
- "@deephaven/jsapi-shim": "^0.22.3-beta.8+dc864c6",
35
- "@deephaven/jsapi-utils": "^0.22.3-beta.8+dc864c6",
36
- "@deephaven/log": "^0.22.3-beta.8+dc864c6",
37
- "@deephaven/redux": "^0.22.3-beta.8+dc864c6",
38
- "@deephaven/storage": "^0.22.3-beta.8+dc864c6",
39
- "@deephaven/utils": "^0.22.3-beta.8+dc864c6",
25
+ "@deephaven/chart": "^0.22.3-deep-bot-test.14+c0d1d46",
26
+ "@deephaven/components": "^0.22.3-deep-bot-test.14+c0d1d46",
27
+ "@deephaven/console": "^0.22.3-deep-bot-test.14+c0d1d46",
28
+ "@deephaven/dashboard": "^0.22.3-deep-bot-test.14+c0d1d46",
29
+ "@deephaven/file-explorer": "^0.22.3-deep-bot-test.14+c0d1d46",
30
+ "@deephaven/golden-layout": "^0.22.3-deep-bot-test.14+c0d1d46",
31
+ "@deephaven/grid": "^0.22.3-deep-bot-test.14+c0d1d46",
32
+ "@deephaven/icons": "^0.22.3-deep-bot-test.14+c0d1d46",
33
+ "@deephaven/iris-grid": "^0.22.3-deep-bot-test.14+c0d1d46",
34
+ "@deephaven/jsapi-shim": "^0.22.3-deep-bot-test.14+c0d1d46",
35
+ "@deephaven/jsapi-utils": "^0.22.3-deep-bot-test.14+c0d1d46",
36
+ "@deephaven/log": "^0.22.3-deep-bot-test.14+c0d1d46",
37
+ "@deephaven/react-hooks": "^0.22.3-deep-bot-test.14+c0d1d46",
38
+ "@deephaven/redux": "^0.22.3-deep-bot-test.14+c0d1d46",
39
+ "@deephaven/storage": "^0.22.3-deep-bot-test.14+c0d1d46",
40
+ "@deephaven/utils": "^0.22.3-deep-bot-test.14+c0d1d46",
40
41
  "@fortawesome/react-fontawesome": "^0.1.18",
41
42
  "classnames": "^2.3.1",
42
43
  "deep-equal": "^2.0.5",
@@ -58,8 +59,8 @@
58
59
  "react-redux": "^7.2.4"
59
60
  },
60
61
  "devDependencies": {
61
- "@deephaven/mocks": "^0.22.3-beta.8+dc864c6",
62
- "@deephaven/tsconfig": "^0.22.3-beta.8+dc864c6"
62
+ "@deephaven/mocks": "^0.22.3-deep-bot-test.14+c0d1d46",
63
+ "@deephaven/tsconfig": "^0.22.3-deep-bot-test.14+c0d1d46"
63
64
  },
64
65
  "files": [
65
66
  "dist"
@@ -67,5 +68,5 @@
67
68
  "publishConfig": {
68
69
  "access": "public"
69
70
  },
70
- "gitHead": "dc864c6abef6bb9b4807add5838d5c7437f31e88"
71
+ "gitHead": "c0d1d4666f35b21fc8601a6f59a348710f03ca13"
71
72
  }