@deephaven/dashboard-core-plugins 0.5.2-matplotlib.2 → 0.6.1-fixed-deps.2

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 (176) hide show
  1. package/dist/ChartPlugin.js +25 -22
  2. package/dist/ChartPlugin.js.map +1 -1
  3. package/dist/ConsolePlugin.d.ts.map +1 -1
  4. package/dist/ConsolePlugin.js +130 -134
  5. package/dist/ConsolePlugin.js.map +1 -1
  6. package/dist/FilterPlugin.d.ts.map +1 -1
  7. package/dist/FilterPlugin.js +114 -116
  8. package/dist/FilterPlugin.js.map +1 -1
  9. package/dist/GridPlugin.js +29 -26
  10. package/dist/GridPlugin.js.map +1 -1
  11. package/dist/LinkerPlugin.js +7 -5
  12. package/dist/LinkerPlugin.js.map +1 -1
  13. package/dist/MarkdownPlugin.js +44 -45
  14. package/dist/MarkdownPlugin.js.map +1 -1
  15. package/dist/PandasPlugin.d.ts +5 -2
  16. package/dist/PandasPlugin.d.ts.map +1 -1
  17. package/dist/PandasPlugin.js +12 -12
  18. package/dist/PandasPlugin.js.map +1 -1
  19. package/dist/controls/ControlType.d.ts +1 -0
  20. package/dist/controls/ControlType.d.ts.map +1 -1
  21. package/dist/controls/ControlType.js +3 -5
  22. package/dist/controls/ControlType.js.map +1 -1
  23. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +6 -0
  24. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  25. package/dist/controls/dropdown-filter/DropdownFilter.js +356 -394
  26. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  27. package/dist/controls/input-filter/InputFilter.d.ts +6 -0
  28. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  29. package/dist/controls/input-filter/InputFilter.js +256 -270
  30. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  31. package/dist/controls/markdown/MarkdownContainer.js +18 -56
  32. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  33. package/dist/controls/markdown/MarkdownEditor.js +36 -75
  34. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  35. package/dist/controls/markdown/MarkdownStartPage.js +93 -133
  36. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  37. package/dist/controls/markdown/MarkdownUtils.js +17 -32
  38. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  39. package/dist/events/ChartEvent.js +1 -5
  40. package/dist/events/ChartEvent.js.map +1 -1
  41. package/dist/events/ConsoleEvent.js +1 -5
  42. package/dist/events/ConsoleEvent.js.map +1 -1
  43. package/dist/events/ControlEvent.js +1 -5
  44. package/dist/events/ControlEvent.js.map +1 -1
  45. package/dist/events/InputFilterEvent.d.ts +2 -0
  46. package/dist/events/InputFilterEvent.d.ts.map +1 -1
  47. package/dist/events/InputFilterEvent.js +3 -5
  48. package/dist/events/InputFilterEvent.js.map +1 -1
  49. package/dist/events/IrisGridEvent.js +1 -5
  50. package/dist/events/IrisGridEvent.js.map +1 -1
  51. package/dist/events/NotebookEvent.js +1 -5
  52. package/dist/events/NotebookEvent.js.map +1 -1
  53. package/dist/events/PQEvent.js +1 -5
  54. package/dist/events/PQEvent.js.map +1 -1
  55. package/dist/events/PandasEvent.js +1 -5
  56. package/dist/events/PandasEvent.js.map +1 -1
  57. package/dist/events/TabEvent.js +1 -5
  58. package/dist/events/TabEvent.js.map +1 -1
  59. package/dist/events/index.d.ts +0 -1
  60. package/dist/events/index.js +9 -10
  61. package/dist/events/index.js.map +1 -1
  62. package/dist/index.d.ts +0 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +10 -11
  65. package/dist/index.js.map +1 -1
  66. package/dist/linker/Linker.d.ts +1 -1
  67. package/dist/linker/Linker.js +594 -606
  68. package/dist/linker/Linker.js.map +1 -1
  69. package/dist/linker/LinkerLink.js +92 -126
  70. package/dist/linker/LinkerLink.js.map +1 -1
  71. package/dist/linker/LinkerOverlayContent.js +162 -220
  72. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  73. package/dist/linker/LinkerUtils.js +105 -114
  74. package/dist/linker/LinkerUtils.js.map +1 -1
  75. package/dist/panels/ChartColumnSelectorOverlay.js +19 -25
  76. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  77. package/dist/panels/ChartFilterOverlay.js +18 -24
  78. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  79. package/dist/panels/ChartPanel.d.ts +3 -0
  80. package/dist/panels/ChartPanel.d.ts.map +1 -1
  81. package/dist/panels/ChartPanel.js +839 -873
  82. package/dist/panels/ChartPanel.js.map +1 -1
  83. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  84. package/dist/panels/CommandHistoryPanel.js +160 -186
  85. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  86. package/dist/panels/ConsolePanel.d.ts +1 -1
  87. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  88. package/dist/panels/ConsolePanel.js +327 -374
  89. package/dist/panels/ConsolePanel.js.map +1 -1
  90. package/dist/panels/DropdownFilterPanel.d.ts +6 -0
  91. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  92. package/dist/panels/DropdownFilterPanel.js +537 -566
  93. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  94. package/dist/panels/FileExplorerPanel.d.ts +6 -1
  95. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  96. package/dist/panels/FileExplorerPanel.js +208 -210
  97. package/dist/panels/FileExplorerPanel.js.map +1 -1
  98. package/dist/panels/FilterSetManager.css +111 -0
  99. package/dist/panels/FilterSetManager.css.map +1 -0
  100. package/dist/panels/FilterSetManager.d.ts +66 -0
  101. package/dist/panels/FilterSetManager.d.ts.map +1 -0
  102. package/dist/panels/FilterSetManager.js +732 -0
  103. package/dist/panels/FilterSetManager.js.map +1 -0
  104. package/dist/panels/FilterSetManagerPanel.css +33 -0
  105. package/dist/panels/FilterSetManagerPanel.css.map +1 -0
  106. package/dist/panels/FilterSetManagerPanel.d.ts +69 -0
  107. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -0
  108. package/dist/panels/FilterSetManagerPanel.js +383 -0
  109. package/dist/panels/FilterSetManagerPanel.js.map +1 -0
  110. package/dist/panels/InputFilterPanel.d.ts +7 -0
  111. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  112. package/dist/panels/InputFilterPanel.js +198 -206
  113. package/dist/panels/InputFilterPanel.js.map +1 -1
  114. package/dist/panels/IrisGridPanel.d.ts +11 -3
  115. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  116. package/dist/panels/IrisGridPanel.js +779 -771
  117. package/dist/panels/IrisGridPanel.js.map +1 -1
  118. package/dist/panels/LogPanel.js +80 -116
  119. package/dist/panels/LogPanel.js.map +1 -1
  120. package/dist/panels/MarkdownPanel.js +165 -199
  121. package/dist/panels/MarkdownPanel.js.map +1 -1
  122. package/dist/panels/NotebookPanel.d.ts +3 -1
  123. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  124. package/dist/panels/NotebookPanel.js +870 -862
  125. package/dist/panels/NotebookPanel.js.map +1 -1
  126. package/dist/panels/PandasPanel.js +56 -90
  127. package/dist/panels/PandasPanel.js.map +1 -1
  128. package/dist/panels/Panel.js +282 -313
  129. package/dist/panels/Panel.js.map +1 -1
  130. package/dist/panels/PanelContextMenu.js +107 -158
  131. package/dist/panels/PanelContextMenu.js.map +1 -1
  132. package/dist/panels/RenameDialog.js +144 -172
  133. package/dist/panels/RenameDialog.js.map +1 -1
  134. package/dist/panels/Shortcuts.js +1 -1
  135. package/dist/panels/Shortcuts.js.map +1 -1
  136. package/dist/panels/WidgetPanel.js +133 -163
  137. package/dist/panels/WidgetPanel.js.map +1 -1
  138. package/dist/panels/WidgetPanelTooltip.js +7 -5
  139. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  140. package/dist/panels/index.d.ts +1 -1
  141. package/dist/panels/index.js +16 -16
  142. package/dist/panels/index.js.map +1 -1
  143. package/dist/prop-types/CommonPropTypes.js +4 -8
  144. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  145. package/dist/prop-types/UIPropTypes.js +6 -6
  146. package/dist/prop-types/UIPropTypes.js.map +1 -1
  147. package/dist/prop-types/index.js +2 -2
  148. package/dist/prop-types/index.js.map +1 -1
  149. package/dist/redux/actions.d.ts +1 -0
  150. package/dist/redux/actions.d.ts.map +1 -1
  151. package/dist/redux/actions.js +33 -54
  152. package/dist/redux/actions.js.map +1 -1
  153. package/dist/redux/index.js +6 -21
  154. package/dist/redux/index.js.map +1 -1
  155. package/dist/redux/reducers/index.js +2 -2
  156. package/dist/redux/reducers/index.js.map +1 -1
  157. package/dist/redux/reducers/sessionWrapper.js +1 -1
  158. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  159. package/dist/redux/selectors.d.ts +1 -0
  160. package/dist/redux/selectors.d.ts.map +1 -1
  161. package/dist/redux/selectors.js +22 -18
  162. package/dist/redux/selectors.js.map +1 -1
  163. package/dist/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +27 -54
  165. package/dist/MatPlotLibPlugin.d.ts +0 -5
  166. package/dist/MatPlotLibPlugin.d.ts.map +0 -1
  167. package/dist/MatPlotLibPlugin.js +0 -45
  168. package/dist/MatPlotLibPlugin.js.map +0 -1
  169. package/dist/events/MatPlotLibEvent.d.ts +0 -5
  170. package/dist/events/MatPlotLibEvent.d.ts.map +0 -1
  171. package/dist/events/MatPlotLibEvent.js +0 -12
  172. package/dist/events/MatPlotLibEvent.js.map +0 -1
  173. package/dist/panels/MatPlotLibPanel.d.ts +0 -22
  174. package/dist/panels/MatPlotLibPanel.d.ts.map +0 -1
  175. package/dist/panels/MatPlotLibPanel.js +0 -123
  176. package/dist/panels/MatPlotLibPanel.js.map +0 -1
@@ -1,14 +1,15 @@
1
1
  import React, { useCallback, useEffect } from 'react';
2
2
  import { DashboardUtils, LayoutUtils, useListener } from '@deephaven/dashboard';
3
3
  import shortid from 'shortid';
4
- import { ChartPanel } from './panels';
5
- import { ChartEvent } from './events';
6
- export var ChartPlugin = function ChartPlugin(_ref) {
7
- var id = _ref.id,
8
- layout = _ref.layout,
9
- registerComponent = _ref.registerComponent,
10
- _ref$hydrate = _ref.hydrate,
11
- hydrate = _ref$hydrate === void 0 ? DashboardUtils.hydrate : _ref$hydrate;
4
+ import { ChartPanel } from "./panels/index.js";
5
+ import { ChartEvent } from "./events/index.js";
6
+ export var ChartPlugin = (_ref) => {
7
+ var {
8
+ id,
9
+ layout,
10
+ registerComponent,
11
+ hydrate = DashboardUtils.hydrate
12
+ } = _ref;
12
13
  var handleOpen = useCallback(function (title, makeModel) {
13
14
  var metadata = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
14
15
  var panelId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : shortid.generate();
@@ -19,33 +20,35 @@ export var ChartPlugin = function ChartPlugin(_ref) {
19
20
  props: {
20
21
  localDashboardId: id,
21
22
  id: panelId,
22
- metadata: metadata,
23
- makeModel: makeModel
23
+ metadata,
24
+ makeModel
24
25
  },
25
- title: title,
26
+ title,
26
27
  id: panelId
27
28
  };
28
- var root = layout.root;
29
+ var {
30
+ root
31
+ } = layout;
29
32
  LayoutUtils.openComponent({
30
- root: root,
31
- config: config,
32
- dragEvent: dragEvent
33
+ root,
34
+ config,
35
+ dragEvent
33
36
  });
34
37
  }, [id, layout]);
35
- var handleClose = useCallback(function (panelId) {
38
+ var handleClose = useCallback(panelId => {
36
39
  var config = {
37
40
  component: ChartPanel.COMPONENT,
38
41
  id: panelId
39
42
  };
40
- var root = layout.root;
43
+ var {
44
+ root
45
+ } = layout;
41
46
  LayoutUtils.closeComponent(root, config);
42
47
  }, [layout]);
43
- useEffect(function () {
48
+ useEffect(() => {
44
49
  var cleanups = [registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate)];
45
- return function () {
46
- cleanups.forEach(function (cleanup) {
47
- return cleanup();
48
- });
50
+ return () => {
51
+ cleanups.forEach(cleanup => cleanup());
49
52
  };
50
53
  }, [hydrate, registerComponent]);
51
54
  useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","DashboardUtils","LayoutUtils","useListener","shortid","ChartPanel","ChartEvent","ChartPlugin","id","layout","registerComponent","hydrate","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","props","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA0CC,WAA1C,EAAuDC,SAAvD,QAAwE,OAAxE;AAEA,SAEEC,cAFF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAOA,OAAOC,OAAP,MAAoB,SAApB;AACA,SAASC,UAAT,QAA2B,UAA3B;AACA,SAASC,UAAT,QAA2B,UAA3B;AAMA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAKmB;AAAA,MAJ5CC,EAI4C,QAJ5CA,EAI4C;AAAA,MAH5CC,MAG4C,QAH5CA,MAG4C;AAAA,MAF5CC,iBAE4C,QAF5CA,iBAE4C;AAAA,0BAD5CC,OAC4C;AAAA,MAD5CA,OAC4C,6BADlCV,cAAc,CAACU,OACmB;AAC5C,MAAMC,UAAU,GAAGb,WAAW,CAC5B,UACEc,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOZ,OAAO,CAACa,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAFT;AAGbC,MAAAA,KAAK,EAAE;AACLC,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEQ,OAFC;AAGLD,QAAAA,QAAQ,EAARA,QAHK;AAILD,QAAAA,SAAS,EAATA;AAJK,OAHM;AASbD,MAAAA,KAAK,EAALA,KATa;AAUbL,MAAAA,EAAE,EAAEQ;AAVS,KAAf;AAaA,QAAQS,IAAR,GAAiBhB,MAAjB,CAAQgB,IAAR;AACAvB,IAAAA,WAAW,CAACwB,aAAZ,CAA0B;AAAED,MAAAA,IAAI,EAAJA,IAAF;AAAQN,MAAAA,MAAM,EAANA,MAAR;AAAgBD,MAAAA,SAAS,EAATA;AAAhB,KAA1B;AACD,GAvB2B,EAwB5B,CAACV,EAAD,EAAKC,MAAL,CAxB4B,CAA9B;AA2BA,MAAMkB,WAAW,GAAG5B,WAAW,CAC7B,UAACiB,OAAD,EAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAAxB;AAAmCd,MAAAA,EAAE,EAAEQ;AAAvC,KAAf;AACA,QAAQS,IAAR,GAAiBhB,MAAjB,CAAQgB,IAAR;AACAvB,IAAAA,WAAW,CAAC0B,cAAZ,CAA2BH,IAA3B,EAAiCN,MAAjC;AACD,GAL4B,EAM7B,CAACV,MAAD,CAN6B,CAA/B;AASAT,EAAAA,SAAS,CAAC,YAAM;AACd,QAAM6B,QAAQ,GAAG,CACfnB,iBAAiB,CACfL,UAAU,CAACiB,SADI,EAEdjB,UAFc,EAGfM,OAHe,CADF,CAAjB;AAOA,WAAO,YAAM;AACXkB,MAAAA,QAAQ,CAACC,OAAT,CAAiB,UAAAC,OAAO;AAAA,eAAIA,OAAO,EAAX;AAAA,OAAxB;AACD,KAFD;AAGD,GAXQ,EAWN,CAACpB,OAAD,EAAUD,iBAAV,CAXM,CAAT;AAaAP,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC2B,IAA7B,EAAmCrB,UAAnC,CAAX;AACAT,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC4B,KAA7B,EAAoCP,WAApC,CAAX;AAEA,sBAAO,yCAAP;AACD,CA3DM;AA6DP,eAAepB,WAAf","sourcesContent":["import React, { ComponentType, DragEvent, useCallback, useEffect } from 'react';\nimport { ChartModel } from '@deephaven/chart';\nimport {\n DashboardPluginComponentProps,\n DashboardUtils,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport shortid from 'shortid';\nimport { ChartPanel } from './panels';\nimport { ChartEvent } from './events';\n\nexport type ChartPluginComponentProps = DashboardPluginComponentProps & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const ChartPlugin = ({\n id,\n layout,\n registerComponent,\n hydrate = DashboardUtils.hydrate,\n}: ChartPluginComponentProps): JSX.Element => {\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => ChartModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: ChartPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(\n ChartPanel.COMPONENT,\n (ChartPanel as unknown) as ComponentType,\n hydrate\n ),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);\n useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
1
+ {"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","DashboardUtils","LayoutUtils","useListener","shortid","ChartPanel","ChartEvent","ChartPlugin","id","layout","registerComponent","hydrate","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","props","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA0CC,WAA1C,EAAuDC,SAAvD,QAAwE,OAAxE;AAEA,SAEEC,cAFF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;SACAC,U;AAMT,OAAO,IAAMC,WAAW,GAAG,UAKmB;AAAA,MALlB;AAC1BC,IAAAA,EAD0B;AAE1BC,IAAAA,MAF0B;AAG1BC,IAAAA,iBAH0B;AAI1BC,IAAAA,OAAO,GAAGV,cAAc,CAACU;AAJC,GAKkB;AAC5C,MAAMC,UAAU,GAAGb,WAAW,CAC5B,UACEc,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOZ,OAAO,CAACa,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAFT;AAGbC,MAAAA,KAAK,EAAE;AACLC,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEQ,OAFC;AAGLD,QAAAA,QAHK;AAILD,QAAAA;AAJK,OAHM;AASbD,MAAAA,KATa;AAUbL,MAAAA,EAAE,EAAEQ;AAVS,KAAf;AAaA,QAAM;AAAES,MAAAA;AAAF,QAAWhB,MAAjB;AACAP,IAAAA,WAAW,CAACwB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQN,MAAAA,MAAR;AAAgBD,MAAAA;AAAhB,KAA1B;AACD,GAvB2B,EAwB5B,CAACV,EAAD,EAAKC,MAAL,CAxB4B,CAA9B;AA2BA,MAAMkB,WAAW,GAAG5B,WAAW,CAC5BiB,OAAD,IAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAAxB;AAAmCd,MAAAA,EAAE,EAAEQ;AAAvC,KAAf;AACA,QAAM;AAAES,MAAAA;AAAF,QAAWhB,MAAjB;AACAP,IAAAA,WAAW,CAAC0B,cAAZ,CAA2BH,IAA3B,EAAiCN,MAAjC;AACD,GAL4B,EAM7B,CAACV,MAAD,CAN6B,CAA/B;AASAT,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM6B,QAAQ,GAAG,CACfnB,iBAAiB,CACfL,UAAU,CAACiB,SADI,EAEdjB,UAFc,EAGfM,OAHe,CADF,CAAjB;AAOA,WAAO,MAAM;AACXkB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAXQ,EAWN,CAACpB,OAAD,EAAUD,iBAAV,CAXM,CAAT;AAaAP,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC2B,IAA7B,EAAmCrB,UAAnC,CAAX;AACAT,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC4B,KAA7B,EAAoCP,WAApC,CAAX;AAEA,sBAAO,yCAAP;AACD,CA3DM;AA6DP,eAAepB,WAAf","sourcesContent":["import React, { ComponentType, DragEvent, useCallback, useEffect } from 'react';\nimport { ChartModel } from '@deephaven/chart';\nimport {\n DashboardPluginComponentProps,\n DashboardUtils,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport shortid from 'shortid';\nimport { ChartPanel } from './panels';\nimport { ChartEvent } from './events';\n\nexport type ChartPluginComponentProps = DashboardPluginComponentProps & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const ChartPlugin = ({\n id,\n layout,\n registerComponent,\n hydrate = DashboardUtils.hydrate,\n}: ChartPluginComponentProps): JSX.Element => {\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => ChartModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: ChartPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(\n ChartPanel.COMPONENT,\n (ChartPanel as unknown) as ComponentType,\n hydrate\n ),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);\n useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AAkC9B,eAAO,MAAM,aAAa,qDAKvB,6BAA6B,KAAG,WAmblC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AAmC9B,eAAO,MAAM,aAAa,qDAKvB,6BAA6B,KAAG,WA2blC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,49 +1,31 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
-
3
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
-
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
-
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8
-
9
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
-
11
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
-
13
1
  import { LayoutUtils, useListener } from '@deephaven/dashboard';
14
2
  import { FileUtils } from '@deephaven/file-explorer';
15
3
  import Log from '@deephaven/log';
16
4
  import React, { useCallback, useEffect, useRef, useState } from 'react';
17
5
  import { useDispatch } from 'react-redux';
18
6
  import shortid from 'shortid';
19
- import { ConsoleEvent, NotebookEvent } from './events';
20
- import { ConsolePanel, CommandHistoryPanel, FileExplorerPanel, LogPanel, NotebookPanel } from './panels';
21
- import { setDashboardConsoleSettings } from './redux';
7
+ import { ConsoleEvent, NotebookEvent } from "./events/index.js";
8
+ import { ConsolePanel, CommandHistoryPanel, FileExplorerPanel, LogPanel, NotebookPanel } from "./panels/index.js";
9
+ import { setDashboardConsoleSettings } from "./redux/index.js";
22
10
  var log = Log.module('ConsolePlugin');
23
11
 
24
12
  function isNotebookPanel(panel) {
25
13
  return panel.notebook !== undefined;
26
14
  }
27
15
 
28
- export var ConsolePlugin = function ConsolePlugin(_ref) {
29
- var id = _ref.id,
30
- layout = _ref.layout,
31
- panelManager = _ref.panelManager,
32
- registerComponent = _ref.registerComponent;
16
+ export var ConsolePlugin = (_ref) => {
17
+ var {
18
+ id,
19
+ layout,
20
+ panelManager,
21
+ registerComponent
22
+ } = _ref;
33
23
  var notebookIndex = useRef(0); // Map from file ID to panel ID
34
24
 
35
- var _useState = useState(new Map()),
36
- _useState2 = _slicedToArray(_useState, 1),
37
- openFileMap = _useState2[0];
38
-
39
- var _useState3 = useState(new Map()),
40
- _useState4 = _slicedToArray(_useState3, 1),
41
- previewFileMap = _useState4[0];
42
-
25
+ var [openFileMap] = useState(new Map());
26
+ var [previewFileMap] = useState(new Map());
43
27
  var dispatch = useDispatch();
44
- var getConsolePanel = useCallback(function () {
45
- return panelManager.getLastUsedPanelOfType(ConsolePanel.WrappedComponent);
46
- }, [panelManager]);
28
+ var getConsolePanel = useCallback(() => panelManager.getLastUsedPanelOfType(ConsolePanel.WrappedComponent), [panelManager]);
47
29
  var handleSendCommand = useCallback(function (command) {
48
30
  var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
49
31
  var execute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
@@ -63,11 +45,13 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
63
45
  consolePanel.addCommand(command, focus, execute);
64
46
  }
65
47
  }, [getConsolePanel]);
66
- var handleSettingsChanged = useCallback(function (consoleSettings) {
48
+ var handleSettingsChanged = useCallback(consoleSettings => {
67
49
  dispatch(setDashboardConsoleSettings(id, consoleSettings));
68
50
  }, [dispatch, id]);
69
- var getNotebookFileName = useCallback(function (_ref2) {
70
- var language = _ref2.language;
51
+ var getNotebookFileName = useCallback((_ref2) => {
52
+ var {
53
+ language
54
+ } = _ref2;
71
55
  var extension = language === 'python' ? 'py' : language;
72
56
  var title = null;
73
57
 
@@ -83,7 +67,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
83
67
  }, []);
84
68
  var getPanelIdForFileMetadata = useCallback(function (fileMetadata) {
85
69
  var createIfNecessary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
86
- var fileId = fileMetadata.id;
70
+ var {
71
+ id: fileId
72
+ } = fileMetadata;
87
73
 
88
74
  if (fileId && openFileMap.has(fileId)) {
89
75
  return openFileMap.get(fileId);
@@ -99,18 +85,18 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
99
85
 
100
86
  return null;
101
87
  }, [openFileMap, previewFileMap]);
102
- var renamePanel = useCallback(function (panelId, newTitle) {
88
+ var renamePanel = useCallback((panelId, newTitle) => {
103
89
  LayoutUtils.renameComponent(layout.root, {
104
90
  id: panelId
105
91
  }, newTitle);
106
92
  }, [layout.root]);
107
- var renameFilePanel = useCallback(function (oldName, newName) {
93
+ var renameFilePanel = useCallback((oldName, newName) => {
108
94
  log.debug('Rename file panel', oldName, newName);
109
95
  var panelId;
110
96
 
111
97
  if (openFileMap.has(oldName)) {
112
98
  panelId = openFileMap.get(oldName);
113
- openFileMap["delete"](oldName);
99
+ openFileMap.delete(oldName);
114
100
 
115
101
  if (panelId != null) {
116
102
  openFileMap.set(newName, panelId);
@@ -119,7 +105,7 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
119
105
 
120
106
  if (previewFileMap.has(oldName)) {
121
107
  panelId = previewFileMap.get(oldName);
122
- previewFileMap["delete"](oldName);
108
+ previewFileMap.delete(oldName);
123
109
 
124
110
  if (panelId != null) {
125
111
  previewFileMap.set(newName, panelId);
@@ -133,7 +119,12 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
133
119
 
134
120
  renamePanel(panelId, FileUtils.getBaseName(newName));
135
121
  }, [openFileMap, previewFileMap, renamePanel]);
136
- var activateFilePanel = useCallback(function (fileMetadata) {
122
+ /**
123
+ * Show the panel for the given file metadata.
124
+ * If the panel is not already open, then it just logs an error and does nothing.
125
+ */
126
+
127
+ var showFilePanel = useCallback(fileMetadata => {
137
128
  var panelId = getPanelIdForFileMetadata(fileMetadata, false);
138
129
 
139
130
  if (panelId == null) {
@@ -145,7 +136,7 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
145
136
  id: panelId
146
137
  });
147
138
  }, [getPanelIdForFileMetadata, layout.root]);
148
- var registerFilePanel = useCallback(function (panelId, fileMetadata, isPreview) {
139
+ var registerFilePanel = useCallback((panelId, fileMetadata, isPreview) => {
149
140
  log.debug('registerFilePanel', panelId, fileMetadata, isPreview);
150
141
 
151
142
  if (!fileMetadata || !fileMetadata.id) {
@@ -153,7 +144,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
153
144
  return;
154
145
  }
155
146
 
156
- var fileId = fileMetadata.id;
147
+ var {
148
+ id: fileId
149
+ } = fileMetadata;
157
150
 
158
151
  if (isPreview) {
159
152
  previewFileMap.set(fileId, panelId);
@@ -165,7 +158,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
165
158
 
166
159
  if (panelId === existingPanelId) {
167
160
  log.debug("Update tab title for file ".concat(fileId));
168
- var itemName = fileMetadata.itemName;
161
+ var {
162
+ itemName
163
+ } = fileMetadata;
169
164
  renameFilePanel(fileId, FileUtils.getBaseName(itemName));
170
165
  } else {
171
166
  log.error("File ".concat(fileId, " already associated with a different tab ").concat(existingPanelId));
@@ -177,10 +172,10 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
177
172
  openFileMap.set(fileId, panelId); // De-register preview tab
178
173
 
179
174
  if (previewFileMap.has(fileId)) {
180
- previewFileMap["delete"](fileId);
175
+ previewFileMap.delete(fileId);
181
176
  }
182
177
  }, [openFileMap, previewFileMap, renameFilePanel]);
183
- var unregisterFilePanel = useCallback(function (fileMetadata, isPreview) {
178
+ var unregisterFilePanel = useCallback((fileMetadata, isPreview) => {
184
179
  // Note: unregister event is triggered AFTER new register when switching from preview to edit mode
185
180
  // due to the LayoutUtils implementation (new tab added before deleting the old one)
186
181
  // This doesn't cause any issues because previews and editable files are stored in different maps,
@@ -193,18 +188,22 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
193
188
  return;
194
189
  }
195
190
 
196
- var fileId = fileMetadata.id;
191
+ var {
192
+ id: fileId
193
+ } = fileMetadata;
197
194
 
198
195
  if (isPreview) {
199
- previewFileMap["delete"](fileId);
196
+ previewFileMap.delete(fileId);
200
197
  return;
201
198
  }
202
199
 
203
- openFileMap["delete"](fileId);
200
+ openFileMap.delete(fileId);
204
201
  }, [openFileMap, previewFileMap]);
205
- var closeFilePanel = useCallback(function (fileMetadata) {
202
+ var closeFilePanel = useCallback(fileMetadata => {
206
203
  log.debug('closeFilePanel', fileMetadata);
207
- var fileId = fileMetadata.id;
204
+ var {
205
+ id: fileId
206
+ } = fileMetadata;
208
207
  var panelId = null;
209
208
  var isPreview = false;
210
209
 
@@ -223,53 +222,70 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
223
222
  id: panelId
224
223
  });
225
224
  }, [layout.root, openFileMap, previewFileMap, unregisterFilePanel]);
226
- var getNotebookTitle = useCallback(function (fileMetadata) {
227
- var itemName = fileMetadata.itemName;
225
+ var getNotebookTitle = useCallback(fileMetadata => {
226
+ var {
227
+ itemName
228
+ } = fileMetadata;
228
229
  return FileUtils.getBaseName(itemName);
229
230
  }, []);
230
- var fileIsOpen = useCallback(function (fileMetadata) {
231
- var fileId = fileMetadata.id;
231
+ var fileIsOpen = useCallback(fileMetadata => {
232
+ var {
233
+ id: fileId
234
+ } = fileMetadata;
232
235
  log.debug('fileIsOpen', fileMetadata, fileId, openFileMap);
233
236
  return fileId && openFileMap.has(fileId);
234
237
  }, [openFileMap]);
235
- var fileIsOpenAsPreview = useCallback(function (fileMetadata) {
236
- var fileId = fileMetadata.id;
238
+ var fileIsOpenAsPreview = useCallback(fileMetadata => {
239
+ var {
240
+ id: fileId
241
+ } = fileMetadata;
237
242
  log.debug('fileIsOpenAsPreview', fileMetadata, fileId, previewFileMap);
238
243
  return fileId && previewFileMap.has(fileId);
239
244
  }, [previewFileMap]);
240
- var fileIsActive = useCallback(function (fileMetadata) {
241
- var panelId = getPanelIdForFileMetadata(fileMetadata, false);
242
- return panelId != null && LayoutUtils.isActiveTab(layout.root, {
243
- id: panelId
244
- });
245
- }, [getPanelIdForFileMetadata, layout.root]);
246
- var makeConfig = useCallback(function (_ref3) {
247
- var panelId = _ref3.id,
248
- settings = _ref3.settings,
249
- fileMetadata = _ref3.fileMetadata,
250
- session = _ref3.session,
251
- sessionLanguage = _ref3.sessionLanguage,
252
- _ref3$isPreview = _ref3.isPreview,
253
- isPreview = _ref3$isPreview === void 0 ? false : _ref3$isPreview;
245
+ /**
246
+ * Attempts to focus the panel with the provided panelId
247
+ */
248
+
249
+ var focusPanelById = useCallback(panelId => {
250
+ if (!panelId) {
251
+ return;
252
+ }
253
+
254
+ var panel = panelManager.getOpenedPanelById(panelId);
255
+
256
+ if (panel && isNotebookPanel(panel)) {
257
+ panel.focus();
258
+ }
259
+ }, [panelManager]);
260
+ var makeConfig = useCallback((_ref3) => {
261
+ var {
262
+ id: panelId,
263
+ settings,
264
+ fileMetadata,
265
+ session,
266
+ sessionLanguage,
267
+ isPreview = false
268
+ } = _ref3;
254
269
  var panelState = {
255
- settings: settings,
256
- fileMetadata: fileMetadata
270
+ settings,
271
+ fileMetadata
257
272
  };
258
273
  var title = getNotebookTitle(fileMetadata);
259
274
  return {
260
275
  type: 'react-component',
261
276
  component: NotebookPanel.COMPONENT,
277
+ isFocusOnShow: false,
262
278
  props: {
263
279
  localDashboardId: id,
264
280
  metadata: {
265
281
  id: panelId
266
282
  },
267
- session: session,
268
- sessionLanguage: sessionLanguage,
269
- panelState: panelState,
270
- isPreview: isPreview
283
+ session,
284
+ sessionLanguage,
285
+ panelState,
286
+ isPreview
271
287
  },
272
- title: title,
288
+ title,
273
289
  id: panelId
274
290
  };
275
291
  }, [getNotebookTitle, id]);
@@ -280,66 +296,50 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
280
296
  };
281
297
  var panelId = getPanelIdForFileMetadata(fileMetadata);
282
298
 
283
- if (fileIsOpen(fileMetadata)) {
284
- log.debug('File is already open, focus tab');
285
- LayoutUtils.activateTab(layout.root, {
286
- id: panelId
287
- });
299
+ if (fileIsOpen(fileMetadata) && panelId) {
300
+ log.debug('File is already open, focus panel');
301
+ showFilePanel(fileMetadata);
302
+ focusPanelById(panelId);
288
303
  return;
289
304
  }
290
305
 
291
306
  var stack = LayoutUtils.getStackForComponentTypes(layout.root, [NotebookPanel.COMPONENT]);
292
307
  var config = makeConfig({
293
308
  id: panelId,
294
- settings: settings,
295
- fileMetadata: fileMetadata,
296
- session: session,
297
- sessionLanguage: sessionLanguage
309
+ settings,
310
+ fileMetadata,
311
+ session,
312
+ sessionLanguage
298
313
  });
299
314
  log.debug('createNotebook', config, openFileMap);
300
315
  LayoutUtils.openComponentInStack(stack, config);
301
- }, [fileIsOpen, getNotebookFileName, getPanelIdForFileMetadata, layout.root, makeConfig, openFileMap]);
316
+ }, [fileIsOpen, focusPanelById, getNotebookFileName, getPanelIdForFileMetadata, layout.root, makeConfig, openFileMap, showFilePanel]);
302
317
  var selectNotebook = useCallback(function (session, sessionLanguage, settings, fileMetadata) {
303
- log.debug('selectNotebook', fileMetadata);
304
- var previewTabId = null;
305
- var isPreview = true;
318
+ var shouldFocus = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
319
+ log.debug('selectNotebook', fileMetadata, shouldFocus);
306
320
  var isFileOpen = fileIsOpen(fileMetadata);
307
- var isFileOpenAsPreview = fileIsOpenAsPreview(fileMetadata);
321
+ var isFileOpenAsPreview = fileIsOpenAsPreview(fileMetadata); // If the file is already open, just show and focus it if necessary
308
322
 
309
- if (!isFileOpen && !isFileOpenAsPreview) {
310
- log.debug('selectNotebook, file not open');
323
+ if (isFileOpen) {
324
+ showFilePanel(fileMetadata);
311
325
 
312
- if (previewFileMap.size > 0) {
313
- log.debug('selectNotebook, file not open, previewFileMap not empty'); // Existing preview tab id to reuse
326
+ if (shouldFocus) {
327
+ var _panelId = getPanelIdForFileMetadata(fileMetadata);
314
328
 
315
- var _Array$from = Array.from(previewFileMap.values());
316
-
317
- var _Array$from2 = _slicedToArray(_Array$from, 1);
318
-
319
- previewTabId = _Array$from2[0];
329
+ focusPanelById(_panelId);
320
330
  }
321
- } else {
322
- // File already open in background
323
- if (!fileIsActive(fileMetadata)) {
324
- activateFilePanel(fileMetadata);
325
- return;
326
- } // File already open in foreground, not in preview mode
327
-
328
331
 
329
- if (!isFileOpenAsPreview) {
330
- activateFilePanel(fileMetadata);
331
- return;
332
- } // File already open in foreground in preview mode
333
-
334
-
335
- var _Array$from3 = Array.from(previewFileMap.values());
332
+ return;
333
+ } // If the file is already open as a preview and we're not focusing it, just show it
334
+ // If we're focusing it, that means we need to replace the panel anyway with a non-preview panel, so just fall into the logic below
336
335
 
337
- var _Array$from4 = _slicedToArray(_Array$from3, 1);
338
336
 
339
- previewTabId = _Array$from4[0];
340
- isPreview = false;
337
+ if (isFileOpenAsPreview && !shouldFocus) {
338
+ showFilePanel(fileMetadata);
339
+ return;
341
340
  }
342
341
 
342
+ var [previewTabId] = Array.from(previewFileMap.values());
343
343
  var panelId = null;
344
344
  var stack = null;
345
345
 
@@ -358,21 +358,19 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
358
358
 
359
359
  var config = makeConfig({
360
360
  id: panelId,
361
- settings: settings,
362
- fileMetadata: fileMetadata,
363
- session: session,
364
- sessionLanguage: sessionLanguage,
365
- isPreview: isPreview
361
+ settings,
362
+ fileMetadata,
363
+ session,
364
+ sessionLanguage,
365
+ isPreview: !shouldFocus
366
366
  });
367
- LayoutUtils.openComponentInStack(stack, config); // openComponentInStack attempts to maintain the focus
368
- // Focus open tab if it's editable
367
+ LayoutUtils.openComponentInStack(stack, config);
369
368
 
370
- if (!isPreview) {
371
- LayoutUtils.activateTab(layout.root, {
372
- id: panelId
373
- });
369
+ if (shouldFocus) {
370
+ // Focus the tab we just opened if we're supposed to
371
+ focusPanelById(panelId);
374
372
  }
375
- }, [activateFilePanel, fileIsActive, fileIsOpen, fileIsOpenAsPreview, getPanelIdForFileMetadata, layout.root, makeConfig, previewFileMap]);
373
+ }, [showFilePanel, fileIsOpen, fileIsOpenAsPreview, focusPanelById, getPanelIdForFileMetadata, layout.root, makeConfig, previewFileMap]);
376
374
  /** Attempts to send the text to a notebook matching the passed in settings */
377
375
 
378
376
  var sendToNotebook = useCallback(function (session, sessionLanguage) {
@@ -388,12 +386,10 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
388
386
  createNotebook(session, sessionLanguage, settings);
389
387
  }
390
388
  }, [createNotebook, panelManager]);
391
- useEffect(function () {
389
+ useEffect(() => {
392
390
  var cleanups = [registerComponent(ConsolePanel.COMPONENT, ConsolePanel), registerComponent(CommandHistoryPanel.COMPONENT, CommandHistoryPanel), registerComponent(FileExplorerPanel.COMPONENT, FileExplorerPanel), registerComponent(LogPanel.COMPONENT, LogPanel), registerComponent(NotebookPanel.COMPONENT, NotebookPanel)];
393
- return function () {
394
- cleanups.forEach(function (cleanup) {
395
- return cleanup();
396
- });
391
+ return () => {
392
+ cleanups.forEach(cleanup => cleanup());
397
393
  };
398
394
  }, [registerComponent]);
399
395
  useListener(layout.eventHub, ConsoleEvent.SEND_COMMAND, handleSendCommand);