@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.
Files changed (185) hide show
  1. package/dist/ChartBuilderPlugin.d.ts +2 -2
  2. package/dist/ChartBuilderPlugin.d.ts.map +1 -1
  3. package/dist/ChartBuilderPlugin.js +6 -8
  4. package/dist/ChartBuilderPlugin.js.map +1 -1
  5. package/dist/ChartPlugin.d.ts +2 -2
  6. package/dist/ChartPlugin.d.ts.map +1 -1
  7. package/dist/ChartPlugin.js +4 -8
  8. package/dist/ChartPlugin.js.map +1 -1
  9. package/dist/ConsolePlugin.d.ts +2 -2
  10. package/dist/ConsolePlugin.d.ts.map +1 -1
  11. package/dist/ConsolePlugin.js +16 -62
  12. package/dist/ConsolePlugin.js.map +1 -1
  13. package/dist/FilterPlugin.d.ts +4 -4
  14. package/dist/FilterPlugin.d.ts.map +1 -1
  15. package/dist/FilterPlugin.js +6 -13
  16. package/dist/FilterPlugin.js.map +1 -1
  17. package/dist/GridPlugin.d.ts +2 -2
  18. package/dist/GridPlugin.d.ts.map +1 -1
  19. package/dist/GridPlugin.js +4 -8
  20. package/dist/GridPlugin.js.map +1 -1
  21. package/dist/LinkerPlugin.d.ts +2 -2
  22. package/dist/LinkerPlugin.d.ts.map +1 -1
  23. package/dist/LinkerPlugin.js +2 -2
  24. package/dist/LinkerPlugin.js.map +1 -1
  25. package/dist/MarkdownPlugin.d.ts +3 -3
  26. package/dist/MarkdownPlugin.d.ts.map +1 -1
  27. package/dist/MarkdownPlugin.js +4 -8
  28. package/dist/MarkdownPlugin.js.map +1 -1
  29. package/dist/PandasPlugin.d.ts +2 -2
  30. package/dist/PandasPlugin.d.ts.map +1 -1
  31. package/dist/PandasPlugin.js +4 -8
  32. package/dist/PandasPlugin.js.map +1 -1
  33. package/dist/controls/ControlType.js +0 -6
  34. package/dist/controls/ControlType.js.map +1 -1
  35. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +2 -2
  36. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  37. package/dist/controls/dropdown-filter/DropdownFilter.js +7 -51
  38. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  39. package/dist/controls/input-filter/InputFilter.d.ts +2 -2
  40. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  41. package/dist/controls/input-filter/InputFilter.js +1 -31
  42. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  43. package/dist/controls/markdown/MarkdownContainer.js +0 -3
  44. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  45. package/dist/controls/markdown/MarkdownEditor.d.ts +0 -2
  46. package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
  47. package/dist/controls/markdown/MarkdownEditor.js +13 -20
  48. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  49. package/dist/controls/markdown/MarkdownStartPage.js +0 -11
  50. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  51. package/dist/controls/markdown/MarkdownUtils.js +0 -7
  52. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  53. package/dist/events/ChartEvent.js +0 -5
  54. package/dist/events/ChartEvent.js.map +1 -1
  55. package/dist/events/ConsoleEvent.js +0 -7
  56. package/dist/events/ConsoleEvent.js.map +1 -1
  57. package/dist/events/InputFilterEvent.js +0 -10
  58. package/dist/events/InputFilterEvent.js.map +1 -1
  59. package/dist/events/IrisGridEvent.js +0 -8
  60. package/dist/events/IrisGridEvent.js.map +1 -1
  61. package/dist/events/MarkdownEvent.d.ts +1 -1
  62. package/dist/events/MarkdownEvent.js.map +1 -1
  63. package/dist/events/NotebookEvent.js +0 -10
  64. package/dist/events/NotebookEvent.js.map +1 -1
  65. package/dist/events/PQEvent.js +0 -5
  66. package/dist/events/PQEvent.js.map +1 -1
  67. package/dist/events/PandasEvent.js +0 -4
  68. package/dist/events/PandasEvent.js.map +1 -1
  69. package/dist/events/TabEvent.js +0 -8
  70. package/dist/events/TabEvent.js.map +1 -1
  71. package/dist/events/index.js.map +1 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/linker/ColumnSelectionValidator.d.ts +1 -1
  74. package/dist/linker/ColumnSelectionValidator.d.ts.map +1 -1
  75. package/dist/linker/Linker.d.ts +5 -2
  76. package/dist/linker/Linker.d.ts.map +1 -1
  77. package/dist/linker/Linker.js +70 -119
  78. package/dist/linker/Linker.js.map +1 -1
  79. package/dist/linker/LinkerLink.css +90 -25
  80. package/dist/linker/LinkerLink.css.map +1 -1
  81. package/dist/linker/LinkerLink.d.ts +21 -3
  82. package/dist/linker/LinkerLink.d.ts.map +1 -1
  83. package/dist/linker/LinkerLink.js +214 -23
  84. package/dist/linker/LinkerLink.js.map +1 -1
  85. package/dist/linker/LinkerOverlayContent.css +0 -4
  86. package/dist/linker/LinkerOverlayContent.css.map +1 -1
  87. package/dist/linker/LinkerOverlayContent.d.ts +14 -3
  88. package/dist/linker/LinkerOverlayContent.d.ts.map +1 -1
  89. package/dist/linker/LinkerOverlayContent.js +78 -33
  90. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  91. package/dist/linker/LinkerUtils.d.ts +17 -10
  92. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  93. package/dist/linker/LinkerUtils.js +9 -25
  94. package/dist/linker/LinkerUtils.js.map +1 -1
  95. package/dist/linker/ToolType.d.ts +2 -2
  96. package/dist/linker/ToolType.js.map +1 -1
  97. package/dist/panels/ChartColumnSelectorOverlay.d.ts +5 -5
  98. package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
  99. package/dist/panels/ChartColumnSelectorOverlay.js +4 -7
  100. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  101. package/dist/panels/ChartFilterOverlay.d.ts +5 -5
  102. package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
  103. package/dist/panels/ChartFilterOverlay.js +2 -7
  104. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  105. package/dist/panels/ChartPanel.d.ts +8 -8
  106. package/dist/panels/ChartPanel.d.ts.map +1 -1
  107. package/dist/panels/ChartPanel.js +11 -150
  108. package/dist/panels/ChartPanel.js.map +1 -1
  109. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  110. package/dist/panels/CommandHistoryPanel.js +1 -26
  111. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  112. package/dist/panels/ConsolePanel.d.ts +1 -1
  113. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  114. package/dist/panels/ConsolePanel.js +12 -57
  115. package/dist/panels/ConsolePanel.js.map +1 -1
  116. package/dist/panels/DropdownFilterPanel.d.ts +9 -9
  117. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  118. package/dist/panels/DropdownFilterPanel.js +21 -127
  119. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  120. package/dist/panels/FileExplorerPanel.d.ts +4 -4
  121. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  122. package/dist/panels/FileExplorerPanel.js +4 -33
  123. package/dist/panels/FileExplorerPanel.js.map +1 -1
  124. package/dist/panels/FilterSetManager.d.ts +1 -1
  125. package/dist/panels/FilterSetManager.d.ts.map +1 -1
  126. package/dist/panels/FilterSetManager.js +13 -86
  127. package/dist/panels/FilterSetManager.js.map +1 -1
  128. package/dist/panels/FilterSetManagerPanel.js +10 -64
  129. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  130. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  131. package/dist/panels/InputFilterPanel.js +8 -38
  132. package/dist/panels/InputFilterPanel.js.map +1 -1
  133. package/dist/panels/IrisGridPanel.d.ts +13 -13
  134. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  135. package/dist/panels/IrisGridPanel.js +24 -133
  136. package/dist/panels/IrisGridPanel.js.map +1 -1
  137. package/dist/panels/IrisGridPanelTooltip.d.ts +7 -7
  138. package/dist/panels/IrisGridPanelTooltip.d.ts.map +1 -1
  139. package/dist/panels/IrisGridPanelTooltip.js +2 -5
  140. package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
  141. package/dist/panels/LogPanel.js +4 -22
  142. package/dist/panels/LogPanel.js.map +1 -1
  143. package/dist/panels/MarkdownNotebook.js +3 -30
  144. package/dist/panels/MarkdownNotebook.js.map +1 -1
  145. package/dist/panels/MarkdownPanel.js +2 -30
  146. package/dist/panels/MarkdownPanel.js.map +1 -1
  147. package/dist/panels/MockFileStorage.js +1 -14
  148. package/dist/panels/MockFileStorage.js.map +1 -1
  149. package/dist/panels/MockFileStorageTable.js +11 -30
  150. package/dist/panels/MockFileStorageTable.js.map +1 -1
  151. package/dist/panels/NotebookPanel.js +24 -182
  152. package/dist/panels/NotebookPanel.js.map +1 -1
  153. package/dist/panels/PandasPanel.js +1 -20
  154. package/dist/panels/PandasPanel.js.map +1 -1
  155. package/dist/panels/Panel.d.ts +1 -1
  156. package/dist/panels/Panel.d.ts.map +1 -1
  157. package/dist/panels/Panel.js +2 -38
  158. package/dist/panels/Panel.js.map +1 -1
  159. package/dist/panels/PanelContextMenu.js +7 -29
  160. package/dist/panels/PanelContextMenu.js.map +1 -1
  161. package/dist/panels/RenameDialog.js +2 -17
  162. package/dist/panels/RenameDialog.js.map +1 -1
  163. package/dist/panels/WidgetPanel.d.ts.map +1 -1
  164. package/dist/panels/WidgetPanel.js +5 -22
  165. package/dist/panels/WidgetPanel.js.map +1 -1
  166. package/dist/panels/WidgetPanelTooltip.d.ts +7 -7
  167. package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
  168. package/dist/panels/WidgetPanelTooltip.js +7 -17
  169. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  170. package/dist/panels/index.js.map +1 -1
  171. package/dist/prop-types/CommonPropTypes.js +0 -3
  172. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  173. package/dist/prop-types/UIPropTypes.d.ts +2 -2
  174. package/dist/prop-types/UIPropTypes.js.map +1 -1
  175. package/dist/prop-types/index.js.map +1 -1
  176. package/dist/redux/actionTypes.js.map +1 -1
  177. package/dist/redux/actions.js +8 -9
  178. package/dist/redux/actions.js.map +1 -1
  179. package/dist/redux/index.js.map +1 -1
  180. package/dist/redux/reducers/connection.js.map +1 -1
  181. package/dist/redux/reducers/index.js.map +1 -1
  182. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  183. package/dist/redux/selectors.js +10 -15
  184. package/dist/redux/selectors.js.map +1 -1
  185. 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":";;AAAA,OAAOA,KAAP,IAGEC,aAHF,QAMO,OANP;AAOA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,uBAA/B;AAiBA,eAAe,MAAMC,YAAN,SAA2BJ,aAA3B,CAGb;EAQAK,WAAW,CAACC,KAAD,EAA2B;IACpC,MAAMA,KAAN;;IADoC;;IAGpC,KAAKC,wBAAL,GAAgC,KAAKA,wBAAL,CAA8BC,IAA9B,CAAmC,IAAnC,CAAhC;IACA,KAAKC,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BD,IAA7B,CAAkC,IAAlC,CAA/B;IACA,KAAKE,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBF,IAAxB,CAA6B,IAA7B,CAA1B;IACA,KAAKG,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBH,IAAxB,CAA6B,IAA7B,CAA1B;IAEA,KAAKI,cAAL,gBAAsBb,KAAK,CAACc,SAAN,EAAtB;IAEA,IAAM;MAAEC;IAAF,IAAYR,KAAlB;IAEA,KAAKS,KAAL,GAAa;MACXD,KADW;MAEXE,iBAAiB,EAAE;IAFR,CAAb;EAID;;EAEDC,kBAAkB,CAACC,SAAD,EAAqC;IACrD,IAAM;MAAEC,OAAO,EAAEC;IAAX,IAA2BF,SAAjC;IACA,IAAM;MAAEC;IAAF,IAAc,KAAKb,KAAzB,CAFqD,CAGrD;IACA;IACA;IACA;;IACA,IAAIa,OAAO,IAAI,CAACC,WAAhB,EAA6B;MAC3B,KAAKC,UAAL;IACD;EACF;;EAIDA,UAAU,GAAS;IACjB,IAAM;MAAEP;IAAF,IAAY,KAAKR,KAAvB;IACA,KAAKgB,QAAL,CAAc;MAAER,KAAF;MAASE,iBAAiB,EAAE;IAA5B,CAAd;EACD;;EAEDT,wBAAwB,GAAS;IAAA;;IAC/B,6BAAKK,cAAL,uGAAqBW,OAArB,gFAA8BC,KAA9B;EACD;;EAEDf,uBAAuB,CAACgB,KAAD,EAA6C;IAClE,KAAKH,QAAL,CAAc;MAAER,KAAK,EAAEW,KAAK,CAACC,MAAN,CAAaZ;IAAtB,CAAd;EACD;;EAEDJ,kBAAkB,GAAS;IACzB,IAAM;MAAEiB;IAAF,IAAe,KAAKrB,KAA1B;IACAqB,QAAQ;EACT;;EAEDhB,kBAAkB,CAACc,KAAD,EAA0C;IAC1DA,KAAK,CAACG,eAAN;IACAH,KAAK,CAACI,cAAN;IACA,IAAM;MAAEf;IAAF,IAAY,KAAKC,KAAvB;IACA,IAAMe,QAAQ,GAAGhB,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEiB,IAAP,EAAjB;;IACA,IAAID,QAAQ,KAAKE,SAAb,IAA0BF,QAAQ,KAAK,EAA3C,EAA+C;MAC7C,IAAM;QAAEG;MAAF,IAAe,KAAK3B,KAA1B;MACA2B,QAAQ,CAACH,QAAD,CAAR;IACD,CAHD,MAGO;MACL,KAAKR,QAAL,CAAc;QAAER,KAAK,EAAEgB,QAAT;QAAmBd,iBAAiB,EAAE;MAAtC,CAAd;IACD;EACF;;EAEDkB,kBAAkB,GAAiB;IACjC,IAAM;MAAEC,QAAF;MAAYC,OAAZ;MAAqBC;IAArB,IAAkC,KAAK/B,KAA7C;IACA,IAAM;MAAEQ,KAAF;MAASE;IAAT,IAA+B,KAAKD,KAA1C;IAEA,oBACE;MACE,SAAS,EAAEd,UAAU,CAAC,KAAD,EAAQ;QAAE,iBAAiBe;MAAnB,CAAR,CADvB;MAEE,QAAQ,EAAE,KAAKL,kBAFjB;MAGE,UAAU,MAHZ;MAIE,IAAI,EAAC,cAJP;MAKE,WAAW,EAAEc,KAAK,IAAI;QACpB;QACAA,KAAK,CAACG,eAAN;MACD,CARH;MASE,SAAS,EAAEH,KAAK,IAAI;QAClBA,KAAK,CAACG,eAAN;MACD;IAXH,gBAaE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAO,OAAO,0BAAmBS,QAAnB;IAAd,cACUA,QADV,CADF,eAIE;MACE,IAAI,EAAC,MADP;MAEE,SAAS,EAAC,cAFZ;MAGE,EAAE,0BAAmBA,QAAnB,WAHJ;MAIE,KAAK,EAAEvB,KAAF,aAAEA,KAAF,cAAEA,KAAF,GAAWkB,SAJlB;MAKE,GAAG,EAAE,KAAKpB,cALZ;MAME,QAAQ,EAAE,KAAKH,uBANjB;MAOE,QAAQ;IAPV,EAJF,eAaE;MAAK,SAAS,EAAC;IAAf,GACG4B,QADH,0BAbF,EAgBG,CAACF,QAAQ,IAAI,CAACC,OAAd,kBACC;MAAK,SAAS,EAAC;IAAf,qBACiBC,QADjB,gCAjBJ,CAbF,eAoCE;MAAK,SAAS,EAAC;IAAf,gBACE,oBAAC,MAAD;MACE,IAAI,EAAC,WADP;MAEE,SAAS,EAAC,MAFZ;MAGE,OAAO,EAAE,KAAK3B;IAHhB,YADF,eAQE,oBAAC,MAAD;MAAQ,IAAI,EAAC,SAAb;MAAuB,IAAI,EAAC;IAA5B,YARF,CApCF,CADF;EAmDD;;EAED4B,MAAM,GAAiB;IACrB,IAAM;MAAEnB,OAAF;MAAWQ;IAAX,IAAwB,KAAKrB,KAAnC;IACA,oBACE,oBAAC,MAAD;MACE,OAAO,EAAEa,OADX;MAEE,SAAS,EAAE,KAAKZ,wBAFlB;MAGE,QAAQ,EAAEoB,QAHZ;MAIE,OAAO,EAAE;QACPY,SAAS,EAAE,QADJ;QAEPC,SAAS,EAAE;UAAEC,eAAe,EAAE;YAAEC,iBAAiB,EAAE;UAArB;QAAnB;MAFJ,CAJX;MAQE,WAAW,MARb;MASE,WAAW;IATb,GAWG,KAAKR,kBAAL,EAXH,CADF;EAeD;;AAjJD;;gBAHmB9B,Y,kBAIG;EACpB+B,QAAQ,EAAE,KADU;EAEpBC,OAAO,EAAE,IAFW;EAGpBC,QAAQ,EAAE,MAHU;EAIpBvB,KAAK,EAAE;AAJa,C"}
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;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"}
@@ -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, ContextActionUtils } from '@deephaven/components';
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
- ContextActionUtils.copyToClipboard(widgetName);
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; // The session has closed and we won't be able to reconnect, as this widget isn't persisted
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 const WidgetPanelTooltip: {
14
- (props: WidgetPanelTooltipProps): ReactElement;
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,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,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAiCxE;kBAjCQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkD3B,eAAe,kBAAkB,CAAC"}
@@ -1,13 +1,9 @@
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
-
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(Button, {
29
- kind: "ghost",
23
+ }, widgetName), /*#__PURE__*/React.createElement(CopyButton, {
30
24
  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'
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","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}\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"}
@@ -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,U;;SAEXD,OAAO,IAAIE,mB;SACXF,OAAO,IAAIG,Y;SACXH,OAAO,IAAII,mB;SACXJ,OAAO,IAAIK,iB;SACXL,OAAO,IAAIM,gB;SAEXN,OAAO,IAAIO,qB;SACXP,OAAO,IAAIQ,gB;SACXR,OAAO,IAAIS,a;;SAEXT,OAAO,IAAIU,Q;SACXV,OAAO,IAAIW,a;SACXX,OAAO,IAAIY,a;SACXZ,OAAO,IAAIa,W;;SAEXb,OAAO,IAAIc,K;SACXd,OAAO,IAAIe,W;SACXf,OAAO,IAAIgB,kB"}
1
+ {"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,SAAP,MAAsB,YAAtB;;AAEA,IAAMC,eAAe,GAAG,CAACC,KAAD,EAAiCC,QAAjC,KACtBD,KAAK,CAACC,QAAD,CAAL,KAAoB,IAApB,GAA2B,IAA3B,GAAkCH,SAAS,CAACI,IAD9C;;AAGA,IAAMC,cAAc,GAAG,CAACH,KAAD,EAAiCC,QAAjC,KACrBD,KAAK,CAACC,QAAD,CAAL,KAAoB,IAApB,GAA2B,IAA3B,GAAkCH,SAAS,CAACM,MAD9C;;AAGA,IAAMC,eAAe,GAAGC,MAAM,CAACC,MAAP,CAAc;EAAER,eAAF;EAAmBI;AAAnB,CAAd,CAAxB;AAEA,eAAeE,eAAf"}
1
+ {"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,SAAP,MAAsB,YAAtB;AAEA,IAAMC,KAAK,GAAGD,SAAS,CAACE,KAAV,CAAgB;EAC5BC,KAAK,EAAEH,SAAS,CAACE,KAAV,CAAgB;IACrBE,UAAU,EAAEJ,SAAS,CAACE,KAAV,CAAgB,EAAhB;EADS,CAAhB;AADqB,CAAhB,CAAd;AAMA,IAAMG,SAAS,GAAGL,SAAS,CAACE,KAAV,CAAgB;EAChCI,OAAO,EAAEN,SAAS,CAACO,MAAV,CAAiBC,UADM;EAEhCC,UAAU,EAAET,SAAS,CAACO,MAAV,CAAiBC,UAFG;EAGhCE,UAAU,EAAEV,SAAS,CAACO,MAAV,CAAiBC;AAHG,CAAhB,CAAlB;AAMA,IAAMG,gBAAgB,GAAGX,SAAS,CAACE,KAAV,CAAgB;EACvCI,OAAO,EAAEN,SAAS,CAACO,MAAV,CAAiBC,UADa;EAEvCC,UAAU,EAAET,SAAS,CAACO,MAAV,CAAiBC;AAFU,CAAhB,CAAzB;AAKA,IAAMI,IAAI,GAAGZ,SAAS,CAACE,KAAV,CAAgB;EAC3BW,KAAK,EAAEF,gBADoB;EAE3BG,GAAG,EAAEH,gBAFsB;EAG3BI,EAAE,EAAEf,SAAS,CAACO,MAHa;EAI3BS,UAAU,EAAEhB,SAAS,CAACiB;AAJK,CAAhB,CAAb;AAOA,IAAMC,KAAK,GAAGlB,SAAS,CAACmB,OAAV,CAAkBP,IAAlB,CAAd;AAEA,IAAMQ,IAAI,GAAGpB,SAAS,CAACE,KAAV,CAAgB;EAC3BmB,IAAI,EAAErB,SAAS,CAACO,MAAV,CAAiBC,UADI;EAE3Bc,SAAS,EAAEtB,SAAS,CAACO,MAAV,CAAiBC,UAFD;EAG3Be,MAAM,EAAEvB,SAAS,CAACmB,OAAV,CAAkBnB,SAAS,CAACO,MAA5B,EAAoCC,UAHjB;EAI3BgB,WAAW,EAAExB,SAAS,CAACE,KAAV,CAAgB;IAC3BuB,WAAW,EAAEzB,SAAS,CAACiB,IAAV,CAAeT,UADD;IAE3BkB,eAAe,EAAE1B,SAAS,CAACiB,IAAV,CAAeT,UAFL;IAG3BmB,gBAAgB,EAAE3B,SAAS,CAACiB,IAAV,CAAeT,UAHN;IAI3BoB,YAAY,EAAE5B,SAAS,CAACiB,IAAV,CAAeT,UAJF;IAK3BqB,kBAAkB,EAAE7B,SAAS,CAACiB,IAAV,CAAeT,UALR;IAM3BsB,mBAAmB,EAAE9B,SAAS,CAACiB,IAAV,CAAeT,UANT;IAO3BuB,qBAAqB,EAAE/B,SAAS,CAACiB,IAAV,CAAeT,UAPX;IAQ3BwB,OAAO,EAAEhC,SAAS,CAACiB,IAAV,CAAeT,UARG;IAS3ByB,cAAc,EAAEjC,SAAS,CAACiB,IAAV,CAAeT;EATJ,CAAhB,EAUVA;AAdwB,CAAhB,CAAb;AAiBA,IAAM0B,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc;EAChC/B,SADgC;EAEhCO,IAFgC;EAGhCM,KAHgC;EAIhCjB,KAJgC;EAKhCmB;AALgC,CAAd,CAApB;AAQA,eAAec,WAAf"}
1
+ {"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,W;SACXD,OAAO,IAAIE,e"}
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,qBAA5B;AAEP,OAAO,IAAMC,cAAc,GAAG,gBAAvB"}
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"}
@@ -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
  }));