@deephaven/dashboard-core-plugins 0.5.2-matplotlib.3 → 0.6.1-demo.8

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 (354) hide show
  1. package/dist/{src/ChartPlugin.d.ts → ChartPlugin.d.ts} +0 -0
  2. package/dist/ChartPlugin.d.ts.map +1 -0
  3. package/dist/ChartPlugin.js +25 -22
  4. package/dist/ChartPlugin.js.map +1 -1
  5. package/dist/{src/ConsolePlugin.d.ts → ConsolePlugin.d.ts} +0 -0
  6. package/dist/ConsolePlugin.d.ts.map +1 -0
  7. package/dist/ConsolePlugin.js +141 -139
  8. package/dist/ConsolePlugin.js.map +1 -1
  9. package/dist/{src/FilterPlugin.d.ts → FilterPlugin.d.ts} +0 -0
  10. package/dist/FilterPlugin.d.ts.map +1 -0
  11. package/dist/FilterPlugin.js +114 -116
  12. package/dist/FilterPlugin.js.map +1 -1
  13. package/dist/{src/GridPlugin.d.ts → GridPlugin.d.ts} +0 -0
  14. package/dist/GridPlugin.d.ts.map +1 -0
  15. package/dist/GridPlugin.js +29 -26
  16. package/dist/GridPlugin.js.map +1 -1
  17. package/dist/{src/LinkerPlugin.d.ts → LinkerPlugin.d.ts} +0 -0
  18. package/dist/LinkerPlugin.d.ts.map +1 -0
  19. package/dist/LinkerPlugin.js +7 -5
  20. package/dist/LinkerPlugin.js.map +1 -1
  21. package/dist/{src/MarkdownPlugin.d.ts → MarkdownPlugin.d.ts} +0 -0
  22. package/dist/MarkdownPlugin.d.ts.map +1 -0
  23. package/dist/MarkdownPlugin.js +44 -45
  24. package/dist/MarkdownPlugin.js.map +1 -1
  25. package/dist/PandasPlugin.d.ts +8 -0
  26. package/dist/PandasPlugin.d.ts.map +1 -0
  27. package/dist/PandasPlugin.js +12 -12
  28. package/dist/PandasPlugin.js.map +1 -1
  29. package/dist/{src/controls → controls}/ControlType.d.ts +2 -0
  30. package/dist/controls/ControlType.d.ts.map +1 -0
  31. package/dist/controls/ControlType.js +5 -5
  32. package/dist/controls/ControlType.js.map +1 -1
  33. package/dist/{src/controls → controls}/dropdown-filter/DropdownFilter.d.ts +6 -0
  34. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -0
  35. package/dist/controls/dropdown-filter/DropdownFilter.js +356 -394
  36. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  37. package/dist/{src/controls → controls}/input-filter/InputFilter.d.ts +6 -0
  38. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -0
  39. package/dist/controls/input-filter/InputFilter.js +256 -270
  40. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  41. package/dist/{src/controls → controls}/markdown/MarkdownContainer.d.ts +0 -0
  42. package/dist/controls/markdown/MarkdownContainer.d.ts.map +1 -0
  43. package/dist/controls/markdown/MarkdownContainer.js +18 -56
  44. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  45. package/dist/{src/controls → controls}/markdown/MarkdownEditor.d.ts +0 -0
  46. package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -0
  47. package/dist/controls/markdown/MarkdownEditor.js +36 -75
  48. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  49. package/dist/{src/controls → controls}/markdown/MarkdownStartPage.d.ts +0 -0
  50. package/dist/controls/markdown/MarkdownStartPage.d.ts.map +1 -0
  51. package/dist/controls/markdown/MarkdownStartPage.js +93 -133
  52. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  53. package/dist/{src/controls → controls}/markdown/MarkdownUtils.d.ts +0 -0
  54. package/dist/controls/markdown/MarkdownUtils.d.ts.map +1 -0
  55. package/dist/controls/markdown/MarkdownUtils.js +17 -32
  56. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  57. package/dist/{src/events → events}/ChartEvent.d.ts +0 -0
  58. package/dist/events/ChartEvent.d.ts.map +1 -0
  59. package/dist/events/ChartEvent.js +1 -5
  60. package/dist/events/ChartEvent.js.map +1 -1
  61. package/dist/{src/events → events}/ConsoleEvent.d.ts +0 -0
  62. package/dist/events/ConsoleEvent.d.ts.map +1 -0
  63. package/dist/events/ConsoleEvent.js +1 -5
  64. package/dist/events/ConsoleEvent.js.map +1 -1
  65. package/dist/{src/events → events}/ControlEvent.d.ts +0 -0
  66. package/dist/events/ControlEvent.d.ts.map +1 -0
  67. package/dist/events/ControlEvent.js +1 -5
  68. package/dist/events/ControlEvent.js.map +1 -1
  69. package/dist/{src/events → events}/InputFilterEvent.d.ts +2 -0
  70. package/dist/events/InputFilterEvent.d.ts.map +1 -0
  71. package/dist/events/InputFilterEvent.js +3 -5
  72. package/dist/events/InputFilterEvent.js.map +1 -1
  73. package/dist/{src/events → events}/IrisGridEvent.d.ts +0 -0
  74. package/dist/events/IrisGridEvent.d.ts.map +1 -0
  75. package/dist/events/IrisGridEvent.js +1 -5
  76. package/dist/events/IrisGridEvent.js.map +1 -1
  77. package/dist/{src/events → events}/MarkdownEvent.d.ts +0 -0
  78. package/dist/events/MarkdownEvent.d.ts.map +1 -0
  79. package/dist/{src/events → events}/NotebookEvent.d.ts +0 -0
  80. package/dist/events/NotebookEvent.d.ts.map +1 -0
  81. package/dist/events/NotebookEvent.js +1 -5
  82. package/dist/events/NotebookEvent.js.map +1 -1
  83. package/dist/{src/events → events}/PQEvent.d.ts +0 -0
  84. package/dist/events/PQEvent.d.ts.map +1 -0
  85. package/dist/events/PQEvent.js +1 -5
  86. package/dist/events/PQEvent.js.map +1 -1
  87. package/dist/{src/events → events}/PandasEvent.d.ts +0 -0
  88. package/dist/events/PandasEvent.d.ts.map +1 -0
  89. package/dist/events/PandasEvent.js +1 -5
  90. package/dist/events/PandasEvent.js.map +1 -1
  91. package/dist/{src/events → events}/TabEvent.d.ts +0 -0
  92. package/dist/events/TabEvent.d.ts.map +1 -0
  93. package/dist/events/TabEvent.js +1 -5
  94. package/dist/events/TabEvent.js.map +1 -1
  95. package/dist/{dist/events → events}/index.d.ts +0 -1
  96. package/dist/{dist/events → events}/index.d.ts.map +1 -1
  97. package/dist/events/index.js +9 -10
  98. package/dist/events/index.js.map +1 -1
  99. package/dist/{src/index.d.ts → index.d.ts} +0 -1
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +10 -11
  102. package/dist/index.js.map +1 -1
  103. package/dist/{src/linker → linker}/Linker.d.ts +1 -1
  104. package/dist/linker/Linker.d.ts.map +1 -0
  105. package/dist/linker/Linker.js +594 -606
  106. package/dist/linker/Linker.js.map +1 -1
  107. package/dist/{src/linker → linker}/LinkerLink.d.ts +0 -0
  108. package/dist/linker/LinkerLink.d.ts.map +1 -0
  109. package/dist/linker/LinkerLink.js +92 -126
  110. package/dist/linker/LinkerLink.js.map +1 -1
  111. package/dist/{src/linker → linker}/LinkerOverlayContent.d.ts +0 -0
  112. package/dist/linker/LinkerOverlayContent.d.ts.map +1 -0
  113. package/dist/linker/LinkerOverlayContent.js +162 -220
  114. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  115. package/dist/{src/linker → linker}/LinkerUtils.d.ts +0 -0
  116. package/dist/linker/LinkerUtils.d.ts.map +1 -0
  117. package/dist/linker/LinkerUtils.js +105 -114
  118. package/dist/linker/LinkerUtils.js.map +1 -1
  119. package/dist/{src/linker → linker}/ToolType.d.ts +0 -0
  120. package/dist/{src/linker → linker}/ToolType.d.ts.map +1 -1
  121. package/dist/{src/panels → panels}/ChartColumnSelectorOverlay.d.ts +0 -0
  122. package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -0
  123. package/dist/panels/ChartColumnSelectorOverlay.js +19 -25
  124. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  125. package/dist/{src/panels → panels}/ChartFilterOverlay.d.ts +0 -0
  126. package/dist/panels/ChartFilterOverlay.d.ts.map +1 -0
  127. package/dist/panels/ChartFilterOverlay.js +18 -24
  128. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  129. package/dist/{src/panels → panels}/ChartPanel.d.ts +3 -0
  130. package/dist/panels/ChartPanel.d.ts.map +1 -0
  131. package/dist/panels/ChartPanel.js +839 -873
  132. package/dist/panels/ChartPanel.js.map +1 -1
  133. package/dist/{src/panels → panels}/CommandHistoryPanel.d.ts +0 -0
  134. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -0
  135. package/dist/panels/CommandHistoryPanel.js +160 -186
  136. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  137. package/dist/{src/panels → panels}/ConsolePanel.d.ts +1 -1
  138. package/dist/panels/ConsolePanel.d.ts.map +1 -0
  139. package/dist/panels/ConsolePanel.js +327 -374
  140. package/dist/panels/ConsolePanel.js.map +1 -1
  141. package/dist/{src/panels → panels}/DropdownFilterPanel.d.ts +6 -0
  142. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -0
  143. package/dist/panels/DropdownFilterPanel.js +537 -566
  144. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  145. package/dist/{src/panels → panels}/FileExplorerPanel.d.ts +6 -1
  146. package/dist/panels/FileExplorerPanel.d.ts.map +1 -0
  147. package/dist/panels/FileExplorerPanel.js +208 -210
  148. package/dist/panels/FileExplorerPanel.js.map +1 -1
  149. package/dist/panels/FilterSetManager.css +111 -0
  150. package/dist/panels/FilterSetManager.css.map +1 -0
  151. package/dist/panels/FilterSetManager.d.ts +66 -0
  152. package/dist/panels/FilterSetManager.d.ts.map +1 -0
  153. package/dist/panels/FilterSetManager.js +732 -0
  154. package/dist/panels/FilterSetManager.js.map +1 -0
  155. package/dist/panels/FilterSetManagerPanel.css +33 -0
  156. package/dist/panels/FilterSetManagerPanel.css.map +1 -0
  157. package/dist/panels/FilterSetManagerPanel.d.ts +69 -0
  158. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -0
  159. package/dist/panels/FilterSetManagerPanel.js +383 -0
  160. package/dist/panels/FilterSetManagerPanel.js.map +1 -0
  161. package/dist/{src/panels → panels}/InputFilterPanel.d.ts +7 -0
  162. package/dist/panels/InputFilterPanel.d.ts.map +1 -0
  163. package/dist/panels/InputFilterPanel.js +198 -206
  164. package/dist/panels/InputFilterPanel.js.map +1 -1
  165. package/dist/{src/panels → panels}/IrisGridPanel.d.ts +11 -3
  166. package/dist/panels/IrisGridPanel.d.ts.map +1 -0
  167. package/dist/panels/IrisGridPanel.js +779 -771
  168. package/dist/panels/IrisGridPanel.js.map +1 -1
  169. package/dist/{src/panels → panels}/LogPanel.d.ts +0 -0
  170. package/dist/panels/LogPanel.d.ts.map +1 -0
  171. package/dist/panels/LogPanel.js +80 -116
  172. package/dist/panels/LogPanel.js.map +1 -1
  173. package/dist/panels/MarkdownNotebookContainer.d.ts +21 -0
  174. package/dist/panels/MarkdownNotebookContainer.d.ts.map +1 -0
  175. package/dist/panels/MarkdownNotebookContainer.js +35 -0
  176. package/dist/panels/MarkdownNotebookContainer.js.map +1 -0
  177. package/dist/panels/MarkdownNotebookEditor.d.ts +46 -0
  178. package/dist/panels/MarkdownNotebookEditor.d.ts.map +1 -0
  179. package/dist/panels/MarkdownNotebookEditor.js +257 -0
  180. package/dist/panels/MarkdownNotebookEditor.js.map +1 -0
  181. package/dist/panels/MarkdownNotebookPanel.css +127 -0
  182. package/dist/panels/MarkdownNotebookPanel.css.map +1 -0
  183. package/dist/panels/MarkdownNotebookPanel.d.ts +91 -0
  184. package/dist/panels/MarkdownNotebookPanel.d.ts.map +1 -0
  185. package/dist/panels/MarkdownNotebookPanel.js +446 -0
  186. package/dist/panels/MarkdownNotebookPanel.js.map +1 -0
  187. package/dist/{src/panels → panels}/MarkdownPanel.d.ts +0 -0
  188. package/dist/panels/MarkdownPanel.d.ts.map +1 -0
  189. package/dist/panels/MarkdownPanel.js +165 -199
  190. package/dist/panels/MarkdownPanel.js.map +1 -1
  191. package/dist/{src/panels → panels}/NotebookPanel.d.ts +3 -1
  192. package/dist/panels/NotebookPanel.d.ts.map +1 -0
  193. package/dist/panels/NotebookPanel.js +870 -862
  194. package/dist/panels/NotebookPanel.js.map +1 -1
  195. package/dist/{src/panels → panels}/PandasPanel.d.ts +0 -0
  196. package/dist/panels/PandasPanel.d.ts.map +1 -0
  197. package/dist/panels/PandasPanel.js +56 -90
  198. package/dist/panels/PandasPanel.js.map +1 -1
  199. package/dist/{src/panels → panels}/Panel.d.ts +0 -0
  200. package/dist/panels/Panel.d.ts.map +1 -0
  201. package/dist/panels/Panel.js +282 -313
  202. package/dist/panels/Panel.js.map +1 -1
  203. package/dist/{src/panels → panels}/PanelContextMenu.d.ts +0 -0
  204. package/dist/panels/PanelContextMenu.d.ts.map +1 -0
  205. package/dist/panels/PanelContextMenu.js +107 -158
  206. package/dist/panels/PanelContextMenu.js.map +1 -1
  207. package/dist/{src/panels → panels}/RenameDialog.d.ts +0 -0
  208. package/dist/panels/RenameDialog.d.ts.map +1 -0
  209. package/dist/panels/RenameDialog.js +144 -172
  210. package/dist/panels/RenameDialog.js.map +1 -1
  211. package/dist/{src/panels → panels}/Shortcuts.d.ts +0 -0
  212. package/dist/panels/Shortcuts.d.ts.map +1 -0
  213. package/dist/panels/Shortcuts.js +1 -1
  214. package/dist/panels/Shortcuts.js.map +1 -1
  215. package/dist/{src/panels → panels}/WidgetPanel.d.ts +0 -0
  216. package/dist/panels/WidgetPanel.d.ts.map +1 -0
  217. package/dist/panels/WidgetPanel.js +133 -163
  218. package/dist/panels/WidgetPanel.js.map +1 -1
  219. package/dist/{src/panels → panels}/WidgetPanelTooltip.d.ts +0 -0
  220. package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -0
  221. package/dist/panels/WidgetPanelTooltip.js +7 -5
  222. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  223. package/dist/{src/panels → panels}/index.d.ts +1 -1
  224. package/dist/{src/events → panels}/index.d.ts.map +1 -1
  225. package/dist/panels/index.js +16 -16
  226. package/dist/panels/index.js.map +1 -1
  227. package/dist/{src/prop-types → prop-types}/CommonPropTypes.d.ts +0 -0
  228. package/dist/prop-types/CommonPropTypes.d.ts.map +1 -0
  229. package/dist/prop-types/CommonPropTypes.js +4 -8
  230. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  231. package/dist/{src/prop-types → prop-types}/UIPropTypes.d.ts +0 -0
  232. package/dist/prop-types/UIPropTypes.d.ts.map +1 -0
  233. package/dist/prop-types/UIPropTypes.js +6 -6
  234. package/dist/prop-types/UIPropTypes.js.map +1 -1
  235. package/dist/{src/prop-types → prop-types}/index.d.ts +0 -0
  236. package/dist/{src/panels → prop-types}/index.d.ts.map +1 -1
  237. package/dist/prop-types/index.js +2 -2
  238. package/dist/prop-types/index.js.map +1 -1
  239. package/dist/{src/redux → redux}/actionTypes.d.ts +0 -0
  240. package/dist/redux/actionTypes.d.ts.map +1 -0
  241. package/dist/{src/redux → redux}/actions.d.ts +1 -0
  242. package/dist/redux/actions.d.ts.map +1 -0
  243. package/dist/redux/actions.js +33 -54
  244. package/dist/redux/actions.js.map +1 -1
  245. package/dist/{src/redux → redux}/index.d.ts +0 -0
  246. package/dist/redux/index.d.ts.map +1 -0
  247. package/dist/redux/index.js +6 -21
  248. package/dist/redux/index.js.map +1 -1
  249. package/dist/{src/redux → redux}/reducers/index.d.ts +0 -0
  250. package/dist/{src/prop-types → redux/reducers}/index.d.ts.map +1 -1
  251. package/dist/redux/reducers/index.js +2 -2
  252. package/dist/redux/reducers/index.js.map +1 -1
  253. package/dist/{src/redux → redux}/reducers/sessionWrapper.d.ts +0 -0
  254. package/dist/redux/reducers/sessionWrapper.d.ts.map +1 -0
  255. package/dist/redux/reducers/sessionWrapper.js +1 -1
  256. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  257. package/dist/{src/redux → redux}/selectors.d.ts +1 -0
  258. package/dist/redux/selectors.d.ts.map +1 -0
  259. package/dist/redux/selectors.js +22 -18
  260. package/dist/redux/selectors.js.map +1 -1
  261. package/dist/tsconfig.tsbuildinfo +1 -1
  262. package/package.json +27 -54
  263. package/dist/MatPlotLibPlugin.js +0 -45
  264. package/dist/MatPlotLibPlugin.js.map +0 -1
  265. package/dist/dist/events/ChartEvent.d.ts +0 -3
  266. package/dist/dist/events/ChartEvent.d.ts.map +0 -1
  267. package/dist/dist/events/ConsoleEvent.d.ts +0 -3
  268. package/dist/dist/events/ConsoleEvent.d.ts.map +0 -1
  269. package/dist/dist/events/ControlEvent.d.ts +0 -3
  270. package/dist/dist/events/ControlEvent.d.ts.map +0 -1
  271. package/dist/dist/events/InputFilterEvent.d.ts +0 -3
  272. package/dist/dist/events/InputFilterEvent.d.ts.map +0 -1
  273. package/dist/dist/events/IrisGridEvent.d.ts +0 -3
  274. package/dist/dist/events/IrisGridEvent.d.ts.map +0 -1
  275. package/dist/dist/events/MarkdownEvent.d.ts +0 -5
  276. package/dist/dist/events/MarkdownEvent.d.ts.map +0 -1
  277. package/dist/dist/events/MatPlotLibEvent.d.ts +0 -3
  278. package/dist/dist/events/MatPlotLibEvent.d.ts.map +0 -1
  279. package/dist/dist/events/NotebookEvent.d.ts +0 -3
  280. package/dist/dist/events/NotebookEvent.d.ts.map +0 -1
  281. package/dist/dist/events/PandasEvent.d.ts +0 -3
  282. package/dist/dist/events/PandasEvent.d.ts.map +0 -1
  283. package/dist/dist/events/TabEvent.d.ts +0 -3
  284. package/dist/dist/events/TabEvent.d.ts.map +0 -1
  285. package/dist/events/MatPlotLibEvent.js +0 -12
  286. package/dist/events/MatPlotLibEvent.js.map +0 -1
  287. package/dist/panels/MatPlotLibPanel.css +0 -11
  288. package/dist/panels/MatPlotLibPanel.css.map +0 -1
  289. package/dist/panels/MatPlotLibPanel.js +0 -124
  290. package/dist/panels/MatPlotLibPanel.js.map +0 -1
  291. package/dist/src/ChartPlugin.d.ts.map +0 -1
  292. package/dist/src/ConsolePlugin.d.ts.map +0 -1
  293. package/dist/src/FilterPlugin.d.ts.map +0 -1
  294. package/dist/src/GridPlugin.d.ts.map +0 -1
  295. package/dist/src/LinkerPlugin.d.ts.map +0 -1
  296. package/dist/src/MarkdownPlugin.d.ts.map +0 -1
  297. package/dist/src/MatPlotLibPlugin.d.ts +0 -5
  298. package/dist/src/MatPlotLibPlugin.d.ts.map +0 -1
  299. package/dist/src/PandasPlugin.d.ts +0 -5
  300. package/dist/src/PandasPlugin.d.ts.map +0 -1
  301. package/dist/src/controls/ControlType.d.ts.map +0 -1
  302. package/dist/src/controls/dropdown-filter/DropdownFilter.d.ts.map +0 -1
  303. package/dist/src/controls/input-filter/InputFilter.d.ts.map +0 -1
  304. package/dist/src/controls/markdown/MarkdownContainer.d.ts.map +0 -1
  305. package/dist/src/controls/markdown/MarkdownEditor.d.ts.map +0 -1
  306. package/dist/src/controls/markdown/MarkdownStartPage.d.ts.map +0 -1
  307. package/dist/src/controls/markdown/MarkdownUtils.d.ts.map +0 -1
  308. package/dist/src/events/ChartEvent.d.ts.map +0 -1
  309. package/dist/src/events/ConsoleEvent.d.ts.map +0 -1
  310. package/dist/src/events/ControlEvent.d.ts.map +0 -1
  311. package/dist/src/events/InputFilterEvent.d.ts.map +0 -1
  312. package/dist/src/events/IrisGridEvent.d.ts.map +0 -1
  313. package/dist/src/events/MarkdownEvent.d.ts.map +0 -1
  314. package/dist/src/events/MatPlotLibEvent.d.ts +0 -5
  315. package/dist/src/events/MatPlotLibEvent.d.ts.map +0 -1
  316. package/dist/src/events/NotebookEvent.d.ts.map +0 -1
  317. package/dist/src/events/PQEvent.d.ts.map +0 -1
  318. package/dist/src/events/PandasEvent.d.ts.map +0 -1
  319. package/dist/src/events/TabEvent.d.ts.map +0 -1
  320. package/dist/src/events/index.d.ts +0 -11
  321. package/dist/src/index.d.ts.map +0 -1
  322. package/dist/src/linker/Linker.d.ts.map +0 -1
  323. package/dist/src/linker/LinkerLink.d.ts.map +0 -1
  324. package/dist/src/linker/LinkerOverlayContent.d.ts.map +0 -1
  325. package/dist/src/linker/LinkerUtils.d.ts.map +0 -1
  326. package/dist/src/panels/ChartColumnSelectorOverlay.d.ts.map +0 -1
  327. package/dist/src/panels/ChartFilterOverlay.d.ts.map +0 -1
  328. package/dist/src/panels/ChartPanel.d.ts.map +0 -1
  329. package/dist/src/panels/CommandHistoryPanel.d.ts.map +0 -1
  330. package/dist/src/panels/ConsolePanel.d.ts.map +0 -1
  331. package/dist/src/panels/DropdownFilterPanel.d.ts.map +0 -1
  332. package/dist/src/panels/FileExplorerPanel.d.ts.map +0 -1
  333. package/dist/src/panels/InputFilterPanel.d.ts.map +0 -1
  334. package/dist/src/panels/IrisGridPanel.d.ts.map +0 -1
  335. package/dist/src/panels/LogPanel.d.ts.map +0 -1
  336. package/dist/src/panels/MarkdownPanel.d.ts.map +0 -1
  337. package/dist/src/panels/MatPlotLibPanel.d.ts +0 -22
  338. package/dist/src/panels/MatPlotLibPanel.d.ts.map +0 -1
  339. package/dist/src/panels/NotebookPanel.d.ts.map +0 -1
  340. package/dist/src/panels/PandasPanel.d.ts.map +0 -1
  341. package/dist/src/panels/Panel.d.ts.map +0 -1
  342. package/dist/src/panels/PanelContextMenu.d.ts.map +0 -1
  343. package/dist/src/panels/RenameDialog.d.ts.map +0 -1
  344. package/dist/src/panels/Shortcuts.d.ts.map +0 -1
  345. package/dist/src/panels/WidgetPanel.d.ts.map +0 -1
  346. package/dist/src/panels/WidgetPanelTooltip.d.ts.map +0 -1
  347. package/dist/src/prop-types/CommonPropTypes.d.ts.map +0 -1
  348. package/dist/src/prop-types/UIPropTypes.d.ts.map +0 -1
  349. package/dist/src/redux/actionTypes.d.ts.map +0 -1
  350. package/dist/src/redux/actions.d.ts.map +0 -1
  351. package/dist/src/redux/index.d.ts.map +0 -1
  352. package/dist/src/redux/reducers/index.d.ts.map +0 -1
  353. package/dist/src/redux/reducers/sessionWrapper.d.ts.map +0 -1
  354. package/dist/src/redux/selectors.d.ts.map +0 -1
@@ -1,29 +1,7 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
-
3
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
4
2
 
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
4
 
7
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
-
9
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
10
-
11
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12
-
13
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
14
-
15
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
16
-
17
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
-
19
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
20
-
21
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
22
-
23
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
-
25
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
26
-
27
5
  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; }
28
6
 
29
7
  // Wrapper for the Notebook for use in a golden layout container
@@ -43,89 +21,110 @@ import classNames from 'classnames';
43
21
  import debounce from 'lodash.debounce';
44
22
  import Log from '@deephaven/log';
45
23
  import { Pending, PromiseUtils } from '@deephaven/utils';
46
- import { ConsoleEvent, NotebookEvent } from '../events';
47
- import { getDashboardSessionWrapper } from '../redux';
48
- import Panel from './Panel';
49
- import SHORTCUTS from './Shortcuts';
24
+ import { ConsoleEvent, NotebookEvent } from "../events/index.js";
25
+ import { getDashboardSessionWrapper } from "../redux/index.js";
26
+ import Panel from "./Panel.js";
27
+ import SHORTCUTS from "./Shortcuts.js";
50
28
  import "./NotebookPanel.css";
51
29
  var log = Log.module('NotebookPanel');
52
30
  var DEBOUNCE_PANEL_STATE_UPDATE = 400;
53
31
 
54
- var NotebookPanel = /*#__PURE__*/function (_Component) {
55
- _inherits(NotebookPanel, _Component);
56
-
57
- var _super = _createSuper(NotebookPanel);
58
-
59
- function NotebookPanel(props) {
60
- var _this;
61
-
62
- _classCallCheck(this, NotebookPanel);
63
-
64
- _this = _super.call(this, props);
65
-
66
- _defineProperty(_assertThisInitialized(_this), "getOverflowActions", memoize(function () {
67
- return [{
68
- title: 'Find',
69
- icon: dhFileSearch,
70
- action: _this.handleFind,
71
- group: ContextActions.groups.high,
72
- shortcut: SHORTCUTS.NOTEBOOK.FIND,
73
- order: 10
74
- }];
75
- }));
76
-
77
- _this.handleBlur = _this.handleBlur.bind(_assertThisInitialized(_this));
78
- _this.handleCloseCancel = _this.handleCloseCancel.bind(_assertThisInitialized(_this));
79
- _this.handleCloseDiscard = _this.handleCloseDiscard.bind(_assertThisInitialized(_this));
80
- _this.handleCloseSave = _this.handleCloseSave.bind(_assertThisInitialized(_this));
81
- _this.handleCopy = _this.handleCopy.bind(_assertThisInitialized(_this));
82
- _this.handleEditorChange = _this.handleEditorChange.bind(_assertThisInitialized(_this));
83
- _this.handleFind = _this.handleFind.bind(_assertThisInitialized(_this));
84
- _this.handleFocus = _this.handleFocus.bind(_assertThisInitialized(_this));
85
- _this.handleLoadSuccess = _this.handleLoadSuccess.bind(_assertThisInitialized(_this));
86
- _this.handleLoadError = _this.handleLoadError.bind(_assertThisInitialized(_this));
87
- _this.handleRenameFile = _this.handleRenameFile.bind(_assertThisInitialized(_this));
88
- _this.handleResize = _this.handleResize.bind(_assertThisInitialized(_this));
89
- _this.handleRunCommand = _this.handleRunCommand.bind(_assertThisInitialized(_this));
90
- _this.handleRunAll = _this.handleRunAll.bind(_assertThisInitialized(_this));
91
- _this.handleRunSelected = _this.handleRunSelected.bind(_assertThisInitialized(_this));
92
- _this.handleSave = _this.handleSave.bind(_assertThisInitialized(_this));
93
- _this.handleSaveAsCancel = _this.handleSaveAsCancel.bind(_assertThisInitialized(_this));
94
- _this.handleSaveAsSubmit = _this.handleSaveAsSubmit.bind(_assertThisInitialized(_this));
95
- _this.handleSaveError = _this.handleSaveError.bind(_assertThisInitialized(_this));
96
- _this.handleSaveSuccess = _this.handleSaveSuccess.bind(_assertThisInitialized(_this));
97
- _this.handleSessionOpened = _this.handleSessionOpened.bind(_assertThisInitialized(_this));
98
- _this.handleSessionClosed = _this.handleSessionClosed.bind(_assertThisInitialized(_this));
99
- _this.handleShow = _this.handleShow.bind(_assertThisInitialized(_this));
100
- _this.handleShowRename = _this.handleShowRename.bind(_assertThisInitialized(_this));
101
- _this.handleTab = _this.handleTab.bind(_assertThisInitialized(_this));
102
- _this.handleTabFocus = _this.handleTabFocus.bind(_assertThisInitialized(_this));
103
- _this.handleTabBlur = _this.handleTabBlur.bind(_assertThisInitialized(_this));
104
- _this.pending = new Pending();
105
- _this.debouncedSavePanelState = debounce(_this.savePanelState.bind(_assertThisInitialized(_this)), DEBOUNCE_PANEL_STATE_UPDATE);
106
- _this.debouncedLoad = debounce(_this.load.bind(_assertThisInitialized(_this)), DEBOUNCE_PANEL_STATE_UPDATE);
107
- _this.notebook = null;
108
- _this.tabTitleElement = null;
109
- _this.unsavedIndicator = null;
110
- _this.tabInitOnce = false;
111
- _this.shouldPromptClose = true;
112
- var isDashboardActive = props.isDashboardActive,
113
- session = props.session,
114
- sessionLanguage = props.sessionLanguage,
115
- panelState = props.panelState;
32
+ class NotebookPanel extends Component {
33
+ static handleError(error) {
34
+ if (PromiseUtils.isCanceled(error)) {
35
+ return;
36
+ }
37
+
38
+ log.error(error);
39
+ }
40
+
41
+ static languageFromFileName(fileName) {
42
+ var extension = FileUtils.getExtension(fileName).toLowerCase();
43
+
44
+ switch (extension) {
45
+ case 'py':
46
+ case 'python':
47
+ return 'python';
48
+
49
+ case 'groovy':
50
+ return 'groovy';
51
+
52
+ case 'scala':
53
+ return 'scala';
54
+
55
+ default:
56
+ return null;
57
+ }
58
+ }
59
+
60
+ constructor(props) {
61
+ super(props);
62
+
63
+ _defineProperty(this, "getOverflowActions", memoize(() => [{
64
+ title: 'Find',
65
+ icon: dhFileSearch,
66
+ action: this.handleFind,
67
+ group: ContextActions.groups.high,
68
+ shortcut: SHORTCUTS.NOTEBOOK.FIND,
69
+ order: 10
70
+ }]));
71
+
72
+ this.handleBlur = this.handleBlur.bind(this);
73
+ this.handleCloseCancel = this.handleCloseCancel.bind(this);
74
+ this.handleCloseDiscard = this.handleCloseDiscard.bind(this);
75
+ this.handleCloseSave = this.handleCloseSave.bind(this);
76
+ this.handleCopy = this.handleCopy.bind(this);
77
+ this.handleEditorChange = this.handleEditorChange.bind(this);
78
+ this.handleFind = this.handleFind.bind(this);
79
+ this.handleFocus = this.handleFocus.bind(this);
80
+ this.handleLoadSuccess = this.handleLoadSuccess.bind(this);
81
+ this.handleLoadError = this.handleLoadError.bind(this);
82
+ this.handlePanelTabClick = this.handlePanelTabClick.bind(this);
83
+ this.handleRenameFile = this.handleRenameFile.bind(this);
84
+ this.handleResize = this.handleResize.bind(this);
85
+ this.handleRunCommand = this.handleRunCommand.bind(this);
86
+ this.handleRunAll = this.handleRunAll.bind(this);
87
+ this.handleRunSelected = this.handleRunSelected.bind(this);
88
+ this.handleSave = this.handleSave.bind(this);
89
+ this.handleSaveAsCancel = this.handleSaveAsCancel.bind(this);
90
+ this.handleSaveAsSubmit = this.handleSaveAsSubmit.bind(this);
91
+ this.handleSaveError = this.handleSaveError.bind(this);
92
+ this.handleSaveSuccess = this.handleSaveSuccess.bind(this);
93
+ this.handleSessionOpened = this.handleSessionOpened.bind(this);
94
+ this.handleSessionClosed = this.handleSessionClosed.bind(this);
95
+ this.handleShow = this.handleShow.bind(this);
96
+ this.handleShowRename = this.handleShowRename.bind(this);
97
+ this.handleTab = this.handleTab.bind(this);
98
+ this.handleTabFocus = this.handleTabFocus.bind(this);
99
+ this.handleTabBlur = this.handleTabBlur.bind(this);
100
+ this.pending = new Pending();
101
+ this.debouncedSavePanelState = debounce(this.savePanelState.bind(this), DEBOUNCE_PANEL_STATE_UPDATE);
102
+ this.debouncedLoad = debounce(this.load.bind(this), DEBOUNCE_PANEL_STATE_UPDATE);
103
+ this.notebook = null;
104
+ this.tabTitleElement = null;
105
+ this.unsavedIndicator = null;
106
+ this.tabInitOnce = false;
107
+ this.shouldPromptClose = true;
108
+ var {
109
+ isDashboardActive,
110
+ session,
111
+ sessionLanguage,
112
+ panelState
113
+ } = props;
116
114
  var settings = {
117
115
  value: ''
118
116
  };
119
117
  var fileMetadata = null;
120
- var isPreview = props.isPreview;
118
+ var {
119
+ isPreview
120
+ } = props;
121
121
 
122
122
  if (panelState) {
123
- var _panelState$fileMetad = panelState.fileMetadata;
124
- fileMetadata = _panelState$fileMetad === void 0 ? fileMetadata : _panelState$fileMetad;
125
- var _panelState$isPreview = panelState.isPreview;
126
- isPreview = _panelState$isPreview === void 0 ? isPreview : _panelState$isPreview;
127
- var _panelState$settings = panelState.settings;
128
- settings = _panelState$settings === void 0 ? settings : _panelState$settings;
123
+ ({
124
+ fileMetadata = fileMetadata,
125
+ isPreview = isPreview,
126
+ settings = settings
127
+ } = panelState);
129
128
  } // Not showing the unsaved indicator for null file id and editor content === '',
130
129
  // may need to implement some other indication that this notebook has never been saved
131
130
 
@@ -135,870 +134,875 @@ var NotebookPanel = /*#__PURE__*/function (_Component) {
135
134
 
136
135
  var isUnsaved = hasFileId && settings.value != null || !hasFileId && settings.value;
137
136
  var changeCount = isUnsaved ? 1 : 0;
138
- _this.state = {
137
+ this.state = {
139
138
  error: null,
140
- isDashboardActive: isDashboardActive,
139
+ isDashboardActive,
141
140
  isFocused: false,
142
141
  isLoading: true,
143
142
  isLoaded: false,
144
- isPreview: isPreview,
143
+ isPreview,
145
144
  savedChangeCount: 0,
146
- changeCount: changeCount,
147
- fileMetadata: fileMetadata,
148
- settings: settings,
149
- session: session,
150
- sessionLanguage: sessionLanguage,
145
+ changeCount,
146
+ fileMetadata,
147
+ settings,
148
+ session,
149
+ sessionLanguage,
151
150
  // eslint-disable-next-line react/no-unused-state
152
151
  panelState: {
153
- fileMetadata: fileMetadata,
154
- settings: settings
152
+ fileMetadata,
153
+ settings
155
154
  },
156
155
  showCloseModal: false,
157
156
  showSaveAsModal: false,
158
157
  scriptCode: ''
159
158
  };
160
- log.debug('constructor', props, _this.state);
161
- return _this;
159
+ log.debug('constructor', props, this.state);
160
+ }
161
+
162
+ componentDidMount() {
163
+ var {
164
+ glContainer,
165
+ glEventHub
166
+ } = this.props;
167
+ var {
168
+ tab
169
+ } = glContainer;
170
+ if (tab) this.initTab(tab);
171
+ this.initNotebookContent();
172
+ glEventHub.on(NotebookEvent.RENAME_FILE, this.handleRenameFile);
173
+ glContainer.on('tabClicked', this.handlePanelTabClick);
162
174
  }
163
175
 
164
- _createClass(NotebookPanel, [{
165
- key: "componentDidMount",
166
- value: function componentDidMount() {
167
- var _this$props = this.props,
168
- tab = _this$props.glContainer.tab,
169
- glEventHub = _this$props.glEventHub;
170
- if (tab) this.initTab(tab);
171
- this.initNotebookContent();
172
- glEventHub.on(NotebookEvent.RENAME_FILE, this.handleRenameFile);
176
+ componentDidUpdate(prevProps, prevState) {
177
+ var {
178
+ isPreview
179
+ } = this.state;
180
+
181
+ if (isPreview !== prevState.isPreview) {
182
+ this.setPreviewStatus(isPreview);
173
183
  }
174
- }, {
175
- key: "componentDidUpdate",
176
- value: function componentDidUpdate(prevProps, prevState) {
177
- var isPreview = this.state.isPreview;
184
+ }
178
185
 
179
- if (isPreview !== prevState.isPreview) {
180
- this.setPreviewStatus(isPreview);
181
- }
186
+ componentWillUnmount() {
187
+ this.debouncedSavePanelState.flush();
188
+ this.pending.cancel();
189
+ var {
190
+ glContainer,
191
+ glEventHub
192
+ } = this.props;
193
+ var {
194
+ fileMetadata,
195
+ isPreview
196
+ } = this.state;
197
+ glEventHub.off(NotebookEvent.RENAME_FILE, this.handleRenameFile);
198
+ glContainer.off('tabClicked', this.handlePanelTabClick);
199
+ glEventHub.emit(NotebookEvent.UNREGISTER_FILE, fileMetadata, isPreview);
200
+ } // Called by TabEvent. Happens once when created, but also each time its moved.
201
+ // when moved, need to re-init the unsaved indicators on title elements
202
+
203
+
204
+ initTab(tab) {
205
+ if (!this.tabInitOnce) {
206
+ this.tabInitOnce = true;
207
+ this.initTabCloseOverride();
182
208
  }
183
- }, {
184
- key: "componentWillUnmount",
185
- value: function componentWillUnmount() {
186
- this.debouncedSavePanelState.flush();
187
- this.pending.cancel();
188
- var glEventHub = this.props.glEventHub;
189
- var _this$state = this.state,
190
- fileMetadata = _this$state.fileMetadata,
191
- isPreview = _this$state.isPreview;
192
- glEventHub.off(NotebookEvent.RENAME_FILE, this.handleRenameFile);
193
- glEventHub.emit(NotebookEvent.UNREGISTER_FILE, fileMetadata, isPreview);
194
- } // Called by TabEvent. Happens once when created, but also each time its moved.
195
- // when moved, need to re-init the unsaved indicators on title elements
196
-
197
- }, {
198
- key: "initTab",
199
- value: function initTab(tab) {
200
- if (!this.tabInitOnce) {
201
- this.tabInitOnce = true;
202
- this.initTabCloseOverride();
203
- }
204
209
 
205
- this.initTabClasses(tab);
206
- } // override glContainer.close() with a custom closure that checks if needs saving
210
+ this.initTabClasses(tab);
211
+ } // override glContainer.close() with a custom closure that checks if needs saving
207
212
 
208
- }, {
209
- key: "initTabCloseOverride",
210
- value: function initTabCloseOverride() {
211
- var _this2 = this;
212
213
 
213
- var glContainer = this.props.glContainer;
214
- var close = glContainer.close.bind(glContainer);
214
+ initTabCloseOverride() {
215
+ var {
216
+ glContainer
217
+ } = this.props;
218
+ var close = glContainer.close.bind(glContainer);
215
219
 
216
- glContainer.close = function () {
217
- var _this2$state = _this2.state,
218
- changeCount = _this2$state.changeCount,
219
- savedChangeCount = _this2$state.savedChangeCount;
220
+ glContainer.close = () => {
221
+ var {
222
+ changeCount,
223
+ savedChangeCount
224
+ } = this.state;
220
225
 
221
- if (changeCount !== savedChangeCount && _this2.shouldPromptClose) {
222
- _this2.setState({
223
- showCloseModal: true
224
- });
225
- } else {
226
- close();
227
- }
228
- };
229
- }
230
- }, {
231
- key: "initTabClasses",
232
- value: function initTabClasses(tab) {
233
- var tabElement = tab.element.get(0);
234
- var titleElement = tabElement.querySelector('.lm_title');
235
- this.tabTitleElement = titleElement;
236
- titleElement.classList.add('notebook-title');
237
- this.setPreviewStatus();
238
- }
239
- }, {
240
- key: "getNotebookValue",
241
- value: function getNotebookValue() {
242
- var _this$state2 = this.state,
243
- changeCount = _this$state2.changeCount,
244
- savedChangeCount = _this$state2.savedChangeCount,
245
- settings = _this$state2.settings;
246
- var value = settings.value;
247
-
248
- if (changeCount !== savedChangeCount && this.notebook) {
249
- var notebookValue = this.notebook.getValue();
250
- return notebookValue != null ? notebookValue : value;
226
+ if (changeCount !== savedChangeCount && this.shouldPromptClose) {
227
+ this.setState({
228
+ showCloseModal: true
229
+ });
230
+ } else {
231
+ close();
251
232
  }
233
+ };
234
+ }
252
235
 
253
- return value;
254
- }
255
- }, {
256
- key: "initNotebookContent",
257
- value: function initNotebookContent() {
258
- // Init from file,
259
- // fallback to content from settings for unsaved notebook
260
- var _this$state3 = this.state,
261
- fileMetadata = _this$state3.fileMetadata,
262
- settings = _this$state3.settings,
263
- isPreview = _this$state3.isPreview;
264
-
265
- if (fileMetadata && fileMetadata.id) {
266
- log.debug('Init content from file');
267
- this.registerFileMetadata(fileMetadata, isPreview);
268
- this.load();
269
- return;
270
- }
236
+ initTabClasses(tab) {
237
+ var tabElement = tab.element.get(0);
238
+ var titleElement = tabElement.querySelector('.lm_title');
239
+ this.tabTitleElement = titleElement;
240
+ titleElement.classList.add('notebook-title');
241
+ this.setPreviewStatus();
242
+ }
271
243
 
272
- if (settings.value != null) {
273
- log.debug('Use content passed in the settings prop');
274
- this.handleLoadSuccess();
275
- return;
276
- } // No settings, no metadata
244
+ getNotebookValue() {
245
+ var {
246
+ changeCount,
247
+ savedChangeCount,
248
+ settings
249
+ } = this.state;
250
+ var {
251
+ value
252
+ } = settings;
253
+
254
+ if (changeCount !== savedChangeCount && this.notebook) {
255
+ var notebookValue = this.notebook.getValue();
256
+ return notebookValue != null ? notebookValue : value;
257
+ }
277
258
 
259
+ return value;
260
+ }
278
261
 
279
- this.handleLoadError(new Error('Missing file metadata'));
280
- }
281
- }, {
282
- key: "closeFileTabById",
283
- value: function closeFileTabById(id) {
284
- var glEventHub = this.props.glEventHub;
285
- glEventHub.emit(NotebookEvent.CLOSE_FILE, {
286
- id: id
287
- });
288
- } // Associate file id with the current tab
289
- // so the next time the file is opened this tab can be focused instead of opening a new tab
290
-
291
- }, {
292
- key: "registerFileMetadata",
293
- value: function registerFileMetadata(fileMetadata, isPreview) {
294
- var _this$props2 = this.props,
295
- glEventHub = _this$props2.glEventHub,
296
- metadata = _this$props2.metadata;
297
- var tabId = metadata.id;
298
- glEventHub.emit(NotebookEvent.REGISTER_FILE, tabId, fileMetadata, isPreview);
299
- }
300
- }, {
301
- key: "renameTab",
302
- value: function renameTab(id, title) {
303
- var glEventHub = this.props.glEventHub;
304
- glEventHub.emit(NotebookEvent.RENAME, id, title);
262
+ initNotebookContent() {
263
+ // Init from file,
264
+ // fallback to content from settings for unsaved notebook
265
+ var {
266
+ fileMetadata,
267
+ settings,
268
+ isPreview
269
+ } = this.state;
270
+
271
+ if (fileMetadata && fileMetadata.id) {
272
+ log.debug('Init content from file');
273
+ this.registerFileMetadata(fileMetadata, isPreview);
274
+ this.load();
275
+ return;
305
276
  }
306
- }, {
307
- key: "load",
308
- value: function load() {
309
- var _this3 = this;
310
-
311
- var _this$state4 = this.state,
312
- fileMetadata = _this$state4.fileMetadata,
313
- settings = _this$state4.settings;
314
- var id = fileMetadata.id;
315
- var fileStorage = this.props.fileStorage;
316
- this.pending.add(fileStorage.loadFile(id)).then(function (loadedFile) {
317
- log.debug('Loaded file', loadedFile);
318
- var itemName = loadedFile.filename;
319
- var prevItemName = _this3.state.itemName;
320
-
321
- if (itemName !== prevItemName) {
322
- var metadata = _this3.props.metadata;
323
- var tabId = metadata.id;
324
-
325
- _this3.renameTab(tabId, FileUtils.getBaseName(itemName));
326
- }
327
277
 
328
- var updatedSettings = _objectSpread(_objectSpread({}, settings), {}, {
329
- language: NotebookPanel.languageFromFileName(itemName)
330
- });
278
+ if (settings.value != null) {
279
+ log.debug('Use content passed in the settings prop');
280
+ this.handleLoadSuccess();
281
+ return;
282
+ } // No settings, no metadata
331
283
 
332
- if (settings.value == null) {
333
- updatedSettings.value = loadedFile.content;
334
- }
335
284
 
336
- _this3.setState({
337
- fileMetadata: {
338
- id: itemName,
339
- itemName: itemName
340
- },
341
- settings: updatedSettings
342
- });
285
+ this.handleLoadError(new Error('Missing file metadata'));
286
+ }
343
287
 
344
- _this3.debouncedSavePanelState();
345
- }).then(this.handleLoadSuccess)["catch"](this.handleLoadError);
346
- }
347
- /**
348
- * Attempts to save the notebook.
349
- * @returns {boolean} Returns true if save has begun, false if user needed to be prompted
350
- */
351
-
352
- }, {
353
- key: "save",
354
- value: function save() {
355
- var fileMetadata = this.state.fileMetadata;
356
-
357
- if (fileMetadata && FileUtils.hasPath(fileMetadata.itemName)) {
358
- var content = this.getNotebookValue();
359
- this.saveContent(fileMetadata.itemName, content);
360
- return true;
361
- }
288
+ closeFileTabById(id) {
289
+ var {
290
+ glEventHub
291
+ } = this.props;
292
+ glEventHub.emit(NotebookEvent.CLOSE_FILE, {
293
+ id
294
+ });
295
+ } // Associate file id with the current tab
296
+ // so the next time the file is opened this tab can be focused instead of opening a new tab
297
+
298
+
299
+ registerFileMetadata(fileMetadata, isPreview) {
300
+ var {
301
+ glEventHub,
302
+ metadata
303
+ } = this.props;
304
+ var {
305
+ id: tabId
306
+ } = metadata;
307
+ glEventHub.emit(NotebookEvent.REGISTER_FILE, tabId, fileMetadata, isPreview);
308
+ }
362
309
 
363
- this.setState({
364
- showSaveAsModal: true
365
- });
366
- return false;
367
- }
368
- /**
369
- * Update existing file content
370
- * @param {string} filename The name of the file
371
- * @param {string} content New file content
372
- */
373
-
374
- }, {
375
- key: "saveContent",
376
- value: function saveContent(filename, content) {
377
- log.debug('saveContent', filename, content);
378
- this.updateSavedChangeCount();
379
- var fileStorage = this.props.fileStorage;
380
- this.pending.add(fileStorage.saveFile({
381
- filename: filename,
382
- content: content
383
- })).then(this.handleSaveSuccess)["catch"](this.handleSaveError);
384
- }
385
- }, {
386
- key: "updateSavedChangeCount",
387
- value: function updateSavedChangeCount() {
388
- this.setState(function (_ref) {
389
- var changeCount = _ref.changeCount;
390
- return {
391
- savedChangeCount: changeCount
392
- };
393
- });
394
- }
395
- }, {
396
- key: "setPreviewStatus",
397
- value: function setPreviewStatus() {
398
- if (!this.tabTitleElement) {
399
- return;
310
+ renameTab(id, title) {
311
+ var {
312
+ glEventHub
313
+ } = this.props;
314
+ glEventHub.emit(NotebookEvent.RENAME, id, title);
315
+ }
316
+
317
+ load() {
318
+ var {
319
+ fileMetadata,
320
+ settings
321
+ } = this.state;
322
+ var {
323
+ id
324
+ } = fileMetadata;
325
+ var {
326
+ fileStorage
327
+ } = this.props;
328
+ this.pending.add(fileStorage.loadFile(id)).then(loadedFile => {
329
+ log.debug('Loaded file', loadedFile);
330
+ var {
331
+ filename: itemName
332
+ } = loadedFile;
333
+ var {
334
+ itemName: prevItemName
335
+ } = this.state;
336
+
337
+ if (itemName !== prevItemName) {
338
+ var {
339
+ metadata
340
+ } = this.props;
341
+ var {
342
+ id: tabId
343
+ } = metadata;
344
+ this.renameTab(tabId, FileUtils.getBaseName(itemName));
400
345
  }
401
346
 
402
- var isPreview = this.state.isPreview;
403
- log.debug('setPreviewStatus', this.tabTitleElement, isPreview);
347
+ var updatedSettings = _objectSpread(_objectSpread({}, settings), {}, {
348
+ language: NotebookPanel.languageFromFileName(itemName)
349
+ });
404
350
 
405
- if (isPreview) {
406
- this.tabTitleElement.classList.add('is-preview');
407
- } else {
408
- this.tabTitleElement.classList.remove('is-preview');
351
+ if (settings.value == null) {
352
+ updatedSettings.value = loadedFile.content;
409
353
  }
410
- }
411
- }, {
412
- key: "savePanelState",
413
- value: function savePanelState() {
414
- var _this4 = this;
415
354
 
416
- this.setState(function (state) {
417
- var changeCount = state.changeCount,
418
- savedChangeCount = state.savedChangeCount,
419
- fileMetadata = state.fileMetadata,
420
- isPreview = state.isPreview,
421
- initialSettings = state.settings;
355
+ this.setState({
356
+ fileMetadata: {
357
+ id: itemName,
358
+ itemName
359
+ },
360
+ settings: updatedSettings
361
+ });
362
+ this.debouncedSavePanelState();
363
+ }).then(this.handleLoadSuccess).catch(this.handleLoadError);
364
+ }
365
+ /**
366
+ * Attempts to save the notebook.
367
+ * @returns {boolean} Returns true if save has begun, false if user needed to be prompted
368
+ */
422
369
 
423
- var value = _this4.getNotebookValue(); // notebooks with no unsaved changes have value === null in dehydrated state
424
- // content will be loaded from file when hydrating
425
370
 
371
+ save() {
372
+ var {
373
+ fileMetadata
374
+ } = this.state;
426
375
 
427
- var dehydratedValue = changeCount !== savedChangeCount ? value : null;
376
+ if (fileMetadata && FileUtils.hasPath(fileMetadata.itemName)) {
377
+ var content = this.getNotebookValue();
378
+ this.saveContent(fileMetadata.itemName, content);
379
+ return true;
380
+ }
428
381
 
429
- var settings = _objectSpread(_objectSpread({}, initialSettings), {}, {
430
- value: value
431
- });
382
+ this.setState({
383
+ showSaveAsModal: true
384
+ });
385
+ return false;
386
+ }
387
+ /**
388
+ * Update existing file content
389
+ * @param {string} filename The name of the file
390
+ * @param {string} content New file content
391
+ */
392
+
393
+
394
+ saveContent(filename, content) {
395
+ log.debug('saveContent', filename, content);
396
+ this.updateSavedChangeCount();
397
+ var {
398
+ fileStorage
399
+ } = this.props;
400
+ this.pending.add(fileStorage.saveFile({
401
+ filename,
402
+ content
403
+ })).then(this.handleSaveSuccess).catch(this.handleSaveError);
404
+ }
432
405
 
433
- var dehydratedSettings = _objectSpread(_objectSpread({}, initialSettings), {}, {
434
- value: dehydratedValue
435
- });
406
+ updateSavedChangeCount() {
407
+ this.setState((_ref) => {
408
+ var {
409
+ changeCount
410
+ } = _ref;
411
+ return {
412
+ savedChangeCount: changeCount
413
+ };
414
+ });
415
+ }
436
416
 
437
- var panelState = {
438
- settings: dehydratedSettings,
439
- fileMetadata: fileMetadata,
440
- isPreview: isPreview
441
- };
442
- log.debug('Saving panel state', panelState);
443
- return {
444
- settings: settings,
445
- // eslint-disable-next-line react/no-unused-state
446
- panelState: panelState
447
- };
448
- });
417
+ setPreviewStatus() {
418
+ if (!this.tabTitleElement) {
419
+ return;
449
420
  }
450
- }, {
451
- key: "handleCloseDiscard",
452
- value: function handleCloseDiscard() {
453
- this.shouldPromptClose = false;
454
- this.setState({
455
- showCloseModal: false
456
- });
457
- var glContainer = this.props.glContainer;
458
- glContainer.close();
421
+
422
+ var {
423
+ isPreview
424
+ } = this.state;
425
+ log.debug('setPreviewStatus', this.tabTitleElement, isPreview);
426
+
427
+ if (isPreview) {
428
+ this.tabTitleElement.classList.add('is-preview');
429
+ } else {
430
+ this.tabTitleElement.classList.remove('is-preview');
459
431
  }
460
- }, {
461
- key: "handleCloseSave",
462
- value: function handleCloseSave() {
463
- this.shouldPromptClose = false;
464
- this.setState({
465
- showCloseModal: false
432
+ }
433
+
434
+ savePanelState() {
435
+ this.setState(state => {
436
+ var {
437
+ changeCount,
438
+ savedChangeCount,
439
+ fileMetadata,
440
+ isPreview,
441
+ settings: initialSettings
442
+ } = state;
443
+ var value = this.getNotebookValue(); // notebooks with no unsaved changes have value === null in dehydrated state
444
+ // content will be loaded from file when hydrating
445
+
446
+ var dehydratedValue = changeCount !== savedChangeCount ? value : null;
447
+
448
+ var settings = _objectSpread(_objectSpread({}, initialSettings), {}, {
449
+ value
466
450
  });
467
451
 
468
- if (this.save()) {
469
- var glContainer = this.props.glContainer;
470
- glContainer.close();
471
- }
472
- }
473
- }, {
474
- key: "handleCloseCancel",
475
- value: function handleCloseCancel() {
476
- this.shouldPromptClose = true;
477
- this.setState({
478
- showCloseModal: false
452
+ var dehydratedSettings = _objectSpread(_objectSpread({}, initialSettings), {}, {
453
+ value: dehydratedValue
479
454
  });
480
- }
481
- }, {
482
- key: "handleCopy",
483
- value: function handleCopy() {
484
- var _this$state5 = this.state,
485
- fileMetadata = _this$state5.fileMetadata,
486
- settings = _this$state5.settings;
487
- var content = this.getNotebookValue();
488
- var language = settings.language;
489
- var itemName = fileMetadata.itemName;
490
- var copyName = FileUtils.getCopyFileName(itemName);
491
- log.debug('handleCopy', fileMetadata, itemName, copyName);
492
- this.createNotebook(copyName, language, content);
493
- }
494
- }, {
495
- key: "handleEditorChange",
496
- value: function handleEditorChange(e) {
497
- var _this5 = this;
498
455
 
499
- log.debug2('handleEditorChanged', e);
500
- this.setState(function (_ref2) {
501
- var isPreview = _ref2.isPreview;
456
+ var panelState = {
457
+ settings: dehydratedSettings,
458
+ fileMetadata,
459
+ isPreview
460
+ };
461
+ log.debug('Saving panel state', panelState);
462
+ return {
463
+ settings,
464
+ // eslint-disable-next-line react/no-unused-state
465
+ panelState
466
+ };
467
+ });
468
+ }
502
469
 
503
- if (isPreview) {
504
- var fileMetadata = _this5.state.fileMetadata;
470
+ handleCloseDiscard() {
471
+ this.shouldPromptClose = false;
472
+ this.setState({
473
+ showCloseModal: false
474
+ });
475
+ var {
476
+ glContainer
477
+ } = this.props;
478
+ glContainer.close();
479
+ }
505
480
 
506
- _this5.registerFileMetadata(fileMetadata, false);
481
+ handleCloseSave() {
482
+ this.shouldPromptClose = false;
483
+ this.setState({
484
+ showCloseModal: false
485
+ });
507
486
 
508
- return {
509
- isPreview: false
510
- };
511
- }
487
+ if (this.save()) {
488
+ var {
489
+ glContainer
490
+ } = this.props;
491
+ glContainer.close();
492
+ }
493
+ }
512
494
 
513
- return null;
514
- });
515
- this.setState(function (_ref3) {
516
- var changeCount = _ref3.changeCount,
517
- savedChangeCount = _ref3.savedChangeCount;
518
- var isUndoing = e.isUndoing,
519
- isRedoing = e.isRedoing;
520
-
521
- if (isUndoing) {
522
- // Note that it's possible to undo past where the user last saved, if they save and then undo for example
523
- return {
524
- changeCount: changeCount - 1
525
- };
526
- }
495
+ handleCloseCancel() {
496
+ this.shouldPromptClose = true;
497
+ this.setState({
498
+ showCloseModal: false
499
+ });
500
+ }
527
501
 
528
- if (!isRedoing && changeCount < savedChangeCount) {
529
- // We made another change after undoing some changes from the previous save
530
- // Just reset the saved counter to zero and increase the unchanged saves
531
- // It'll be set correctly on the next save
532
- return {
533
- changeCount: changeCount + 1,
534
- savedChangeCount: 0
535
- };
536
- }
502
+ handleCopy() {
503
+ var {
504
+ fileMetadata,
505
+ settings
506
+ } = this.state;
507
+ var content = this.getNotebookValue();
508
+ var {
509
+ language
510
+ } = settings;
511
+ var {
512
+ itemName
513
+ } = fileMetadata;
514
+ var copyName = FileUtils.getCopyFileName(itemName);
515
+ log.debug('handleCopy', fileMetadata, itemName, copyName);
516
+ this.createNotebook(copyName, language, content);
517
+ }
537
518
 
519
+ handleEditorChange(e) {
520
+ log.debug2('handleEditorChanged', e);
521
+ this.setState((_ref2) => {
522
+ var {
523
+ isPreview
524
+ } = _ref2;
525
+
526
+ if (isPreview) {
527
+ var {
528
+ fileMetadata
529
+ } = this.state;
530
+ this.registerFileMetadata(fileMetadata, false);
538
531
  return {
539
- changeCount: changeCount + 1
532
+ isPreview: false
540
533
  };
541
- });
542
- this.debouncedSavePanelState();
543
- }
544
- }, {
545
- key: "handleFind",
546
- value: function handleFind() {
547
- if (this.notebook) {
548
- this.notebook.toggleFind();
549
534
  }
550
- }
551
- }, {
552
- key: "handleBlur",
553
- value: function handleBlur() {
554
- log.debug('handleBlur');
555
- this.setState({
556
- isFocused: false
557
- });
558
- }
559
- }, {
560
- key: "handleFocus",
561
- value: function handleFocus() {
562
- log.debug('handleFocus');
563
- this.setState({
564
- isFocused: true
565
- });
566
- }
567
- }, {
568
- key: "handleLoadSuccess",
569
- value: function handleLoadSuccess() {
570
- this.setState({
571
- error: null,
572
- isLoaded: true,
573
- isLoading: false
574
- });
575
- }
576
- }, {
577
- key: "handleLoadError",
578
- value: function handleLoadError(errorParam) {
579
- var error = errorParam;
580
535
 
581
- if (PromiseUtils.isCanceled(error)) {
582
- return;
536
+ return null;
537
+ });
538
+ this.setState((_ref3) => {
539
+ var {
540
+ changeCount,
541
+ savedChangeCount
542
+ } = _ref3;
543
+ var {
544
+ isUndoing,
545
+ isRedoing
546
+ } = e;
547
+
548
+ if (isUndoing) {
549
+ // Note that it's possible to undo past where the user last saved, if they save and then undo for example
550
+ return {
551
+ changeCount: changeCount - 1
552
+ };
583
553
  }
584
554
 
585
- if (PromiseUtils.isTimedOut(error)) {
586
- error = new Error('File not found.');
555
+ if (!isRedoing && changeCount < savedChangeCount) {
556
+ // We made another change after undoing some changes from the previous save
557
+ // Just reset the saved counter to zero and increase the unchanged saves
558
+ // It'll be set correctly on the next save
559
+ return {
560
+ changeCount: changeCount + 1,
561
+ savedChangeCount: 0
562
+ };
587
563
  }
588
564
 
589
- log.error(error);
590
- this.setState({
591
- error: error,
592
- isLoading: false
593
- });
594
- }
595
- }, {
596
- key: "handleSave",
597
- value: function handleSave() {
598
- log.debug('handleSave');
599
- this.save();
600
- }
601
- }, {
602
- key: "handleSaveSuccess",
603
- value: function handleSaveSuccess(file) {
604
- var fileStorage = this.props.fileStorage;
605
- var fileMetadata = {
606
- id: file.filename,
607
- itemName: file.filename
565
+ return {
566
+ changeCount: changeCount + 1
608
567
  };
609
- var language = NotebookPanel.languageFromFileName(file.filename);
610
- this.setState(function (state) {
611
- var oldMetadata = state.fileMetadata;
568
+ });
569
+ this.debouncedSavePanelState();
570
+ }
612
571
 
613
- var settings = _objectSpread(_objectSpread({}, state.settings), {}, {
614
- language: language
615
- });
572
+ handleFind() {
573
+ if (this.notebook) {
574
+ this.notebook.toggleFind();
575
+ }
576
+ }
616
577
 
617
- log.debug('handleSaveSuccess', fileMetadata, oldMetadata, settings);
578
+ handleBlur() {
579
+ log.debug('handleBlur');
580
+ this.setState({
581
+ isFocused: false
582
+ });
583
+ }
618
584
 
619
- if (FileUtils.hasPath(oldMetadata.itemName) && oldMetadata.itemName !== fileMetadata.itemName) {
620
- log.debug('handleSaveSuccess deleting old file', oldMetadata.itemName);
621
- fileStorage.deleteFile(oldMetadata.itemName)["catch"](NotebookPanel.handleError);
622
- }
585
+ handleFocus() {
586
+ log.debug('handleFocus');
587
+ this.setState({
588
+ isFocused: true
589
+ });
590
+ }
623
591
 
624
- return {
625
- fileMetadata: fileMetadata,
626
- settings: settings,
627
- isPreview: false
628
- };
629
- });
630
- this.debouncedSavePanelState();
631
- this.registerFileMetadata(fileMetadata, false);
632
- }
633
- }, {
634
- key: "handleSaveError",
635
- value: function handleSaveError(error) {
636
- if (PromiseUtils.isCanceled(error)) {
637
- return;
638
- } // There was an error saving, just reset the savedChangeCount
639
- // It's possible if they undo changes they'll be back at the spot where it was last saved successfully,
640
- // But we may as well continue showing the error until they actually save again
592
+ handleLoadSuccess() {
593
+ this.setState({
594
+ error: null,
595
+ isLoaded: true,
596
+ isLoading: false
597
+ });
598
+ }
641
599
 
600
+ handleLoadError(errorParam) {
601
+ var error = errorParam;
642
602
 
643
- this.setState({
644
- savedChangeCount: 0
645
- });
646
- log.error(error);
603
+ if (PromiseUtils.isCanceled(error)) {
604
+ return;
647
605
  }
648
- }, {
649
- key: "handleSaveAsCancel",
650
- value: function handleSaveAsCancel() {
651
- this.setState({
652
- showSaveAsModal: false
653
- });
606
+
607
+ if (PromiseUtils.isTimedOut(error)) {
608
+ error = new Error('File not found.');
654
609
  }
655
- }, {
656
- key: "handleSaveAsSubmit",
657
- value: function handleSaveAsSubmit(name) {
658
- log.debug('handleSaveAsSubmit', name);
659
- var fileMetadata = this.state.fileMetadata;
660
- var prevItemName = fileMetadata.itemName;
661
- var content = this.getNotebookValue();
662
- this.setState({
663
- showSaveAsModal: false
610
+
611
+ log.error(error);
612
+ this.setState({
613
+ error,
614
+ isLoading: false
615
+ });
616
+ }
617
+
618
+ handleSave() {
619
+ log.debug('handleSave');
620
+ this.save();
621
+ }
622
+
623
+ handleSaveSuccess(file) {
624
+ var {
625
+ fileStorage
626
+ } = this.props;
627
+ var fileMetadata = {
628
+ id: file.filename,
629
+ itemName: file.filename
630
+ };
631
+ var language = NotebookPanel.languageFromFileName(file.filename);
632
+ this.setState(state => {
633
+ var {
634
+ fileMetadata: oldMetadata
635
+ } = state;
636
+
637
+ var settings = _objectSpread(_objectSpread({}, state.settings), {}, {
638
+ language
664
639
  });
665
640
 
666
- if (FileUtils.getBaseName(prevItemName) !== FileUtils.getBaseName(name)) {
667
- var metadata = this.props.metadata;
668
- var tabId = metadata.id;
669
- this.renameTab(tabId, FileUtils.getBaseName(name));
641
+ log.debug('handleSaveSuccess', fileMetadata, oldMetadata, settings);
642
+
643
+ if (FileUtils.hasPath(oldMetadata.itemName) && oldMetadata.itemName !== fileMetadata.itemName) {
644
+ log.debug('handleSaveSuccess deleting old file', oldMetadata.itemName);
645
+ fileStorage.deleteFile(oldMetadata.itemName).catch(NotebookPanel.handleError);
670
646
  }
671
647
 
672
- this.saveContent(name, content);
673
- }
674
- }, {
675
- key: "handleRenameFile",
676
- value: function handleRenameFile(oldName, newName) {
677
- var fileMetadata = this.state.fileMetadata;
648
+ return {
649
+ fileMetadata,
650
+ settings,
651
+ isPreview: false
652
+ };
653
+ });
654
+ this.debouncedSavePanelState();
655
+ this.registerFileMetadata(fileMetadata, false);
656
+ }
678
657
 
679
- if (fileMetadata.id === oldName) {
680
- this.setState({
681
- fileMetadata: {
682
- id: newName,
683
- itemName: newName
684
- }
685
- });
686
- this.debouncedSavePanelState();
687
- }
688
- }
689
- }, {
690
- key: "handleResize",
691
- value: function handleResize() {
692
- if (this.notebook) {
693
- this.notebook.updateDimensions();
694
- }
695
- }
696
- }, {
697
- key: "handleRunCommand",
698
- value: function handleRunCommand(command) {
699
- this.runCommand(command);
700
- }
701
- }, {
702
- key: "handleRunAll",
703
- value: function handleRunAll() {
704
- if (!this.notebook) {
705
- log.error('Editor is not initialized.');
706
- return;
707
- }
658
+ handleSaveError(error) {
659
+ if (PromiseUtils.isCanceled(error)) {
660
+ return;
661
+ } // There was an error saving, just reset the savedChangeCount
662
+ // It's possible if they undo changes they'll be back at the spot where it was last saved successfully,
663
+ // But we may as well continue showing the error until they actually save again
708
664
 
709
- this.runCommand(this.notebook.getValue());
710
- }
711
- }, {
712
- key: "handleRunSelected",
713
- value: function handleRunSelected() {
714
- if (!this.notebook) {
715
- log.error('Editor is not initialized.');
716
- return;
717
- }
718
665
 
719
- this.runCommand(this.notebook.getSelectedCommand());
720
- }
721
- }, {
722
- key: "handleSessionOpened",
723
- value: function handleSessionOpened(session, _ref4) {
724
- var language = _ref4.language;
725
- this.setState({
726
- session: session,
727
- sessionLanguage: language
728
- });
729
- }
730
- }, {
731
- key: "handleSessionClosed",
732
- value: function handleSessionClosed() {
733
- this.setState({
734
- session: null,
735
- sessionLanguage: null
736
- });
666
+ this.setState({
667
+ savedChangeCount: 0
668
+ });
669
+ log.error(error);
670
+ }
671
+
672
+ handleSaveAsCancel() {
673
+ this.setState({
674
+ showSaveAsModal: false
675
+ });
676
+ }
677
+
678
+ handleSaveAsSubmit(name) {
679
+ log.debug('handleSaveAsSubmit', name);
680
+ var {
681
+ fileMetadata
682
+ } = this.state;
683
+ var {
684
+ itemName: prevItemName
685
+ } = fileMetadata;
686
+ var content = this.getNotebookValue();
687
+ this.setState({
688
+ showSaveAsModal: false
689
+ });
690
+
691
+ if (FileUtils.getBaseName(prevItemName) !== FileUtils.getBaseName(name)) {
692
+ var {
693
+ metadata
694
+ } = this.props;
695
+ var {
696
+ id: tabId
697
+ } = metadata;
698
+ this.renameTab(tabId, FileUtils.getBaseName(name));
737
699
  }
738
- }, {
739
- key: "handleShow",
740
- value: function handleShow() {
741
- var _this6 = this;
742
700
 
743
- log.debug('handleShow');
701
+ this.saveContent(name, content);
702
+ }
744
703
 
745
- if (!this.notebook) {
746
- return;
747
- }
704
+ handleRenameFile(oldName, newName) {
705
+ var {
706
+ fileMetadata
707
+ } = this.state;
748
708
 
749
- this.notebook.updateDimensions();
750
- requestAnimationFrame(function () {
751
- if (_this6.notebook) {
752
- _this6.notebook.focus();
753
- }
754
- });
755
- }
756
- }, {
757
- key: "handleShowRename",
758
- value: function handleShowRename() {
709
+ if (fileMetadata.id === oldName) {
759
710
  this.setState({
760
- showSaveAsModal: true
711
+ fileMetadata: {
712
+ id: newName,
713
+ itemName: newName
714
+ }
761
715
  });
716
+ this.debouncedSavePanelState();
762
717
  }
763
- }, {
764
- key: "handleTab",
765
- value: function handleTab(tab) {
766
- log.debug('NotebookPanel tab event', tab);
767
- this.initTab(tab);
718
+ }
719
+
720
+ handleResize() {
721
+ if (this.notebook) {
722
+ this.notebook.updateDimensions();
768
723
  }
769
- }, {
770
- key: "handleTabFocus",
771
- value: function handleTabFocus() {
772
- log.debug('handleTabFocus');
773
- var glContainer = this.props.glContainer;
774
- this.setState({
775
- isDashboardActive: true
776
- });
724
+ }
777
725
 
778
- if (this.notebook && !glContainer.isHidden) {
779
- this.notebook.updateDimensions();
780
- this.notebook.focus();
781
- }
726
+ handleRunCommand(command) {
727
+ this.runCommand(command);
728
+ }
729
+
730
+ handleRunAll() {
731
+ if (!this.notebook) {
732
+ log.error('Editor is not initialized.');
733
+ return;
782
734
  }
783
- }, {
784
- key: "handleTabBlur",
785
- value: function handleTabBlur() {
786
- log.debug('handleTabBlur');
787
- this.setState({
788
- isDashboardActive: false
789
- });
735
+
736
+ this.runCommand(this.notebook.getValue());
737
+ }
738
+
739
+ handleRunSelected() {
740
+ if (!this.notebook) {
741
+ log.error('Editor is not initialized.');
742
+ return;
790
743
  }
791
- }, {
792
- key: "createNotebook",
793
- value: function createNotebook(itemName, language, content) {
794
- var glEventHub = this.props.glEventHub;
795
- var _this$state6 = this.state,
796
- session = _this$state6.session,
797
- sessionLanguage = _this$state6.sessionLanguage,
798
- settings = _this$state6.settings;
799
-
800
- var notebookSettings = _objectSpread(_objectSpread({}, settings), {}, {
801
- language: language,
802
- value: content
803
- });
804
744
 
805
- var fileMetadata = {
806
- id: null,
807
- itemName: itemName
808
- };
809
- log.debug('handleCreateNotebook', session, sessionLanguage, notebookSettings, fileMetadata);
810
- glEventHub.emit(NotebookEvent.CREATE_NOTEBOOK, session, sessionLanguage, notebookSettings, fileMetadata);
745
+ this.runCommand(this.notebook.getSelectedCommand());
746
+ }
747
+
748
+ handleSessionOpened(session, _ref4) {
749
+ var {
750
+ language
751
+ } = _ref4;
752
+ this.setState({
753
+ session,
754
+ sessionLanguage: language
755
+ });
756
+ }
757
+
758
+ handleSessionClosed() {
759
+ this.setState({
760
+ session: null,
761
+ sessionLanguage: null
762
+ });
763
+ }
764
+
765
+ handleShow() {
766
+ log.debug('handleShow');
767
+
768
+ if (!this.notebook) {
769
+ return;
811
770
  }
812
- }, {
813
- key: "runCommand",
814
- value: function runCommand(command) {
815
- if (!command) {
816
- log.debug('Ignoring empty command.');
817
- return;
818
- }
819
771
 
820
- var glEventHub = this.props.glEventHub;
821
- glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, false, true);
772
+ this.notebook.updateDimensions();
773
+ }
774
+
775
+ handleShowRename() {
776
+ this.setState({
777
+ showSaveAsModal: true
778
+ });
779
+ }
780
+
781
+ handleTab(tab) {
782
+ log.debug('NotebookPanel tab event', tab);
783
+ this.initTab(tab);
784
+ }
785
+
786
+ handleTabFocus() {
787
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
788
+ args[_key] = arguments[_key];
822
789
  }
823
- }, {
824
- key: "render",
825
- value: function render() {
826
- var _fileMetadata$itemNam,
827
- _this7 = this;
828
-
829
- var _this$props3 = this.props,
830
- fileStorage = _this$props3.fileStorage,
831
- glContainer = _this$props3.glContainer,
832
- tab = _this$props3.glContainer.tab,
833
- glEventHub = _this$props3.glEventHub;
834
- var _this$state7 = this.state,
835
- changeCount = _this$state7.changeCount,
836
- savedChangeCount = _this$state7.savedChangeCount,
837
- error = _this$state7.error,
838
- isDashboardActive = _this$state7.isDashboardActive,
839
- isLoaded = _this$state7.isLoaded,
840
- isLoading = _this$state7.isLoading,
841
- isPreview = _this$state7.isPreview,
842
- fileMetadata = _this$state7.fileMetadata,
843
- session = _this$state7.session,
844
- sessionLanguage = _this$state7.sessionLanguage,
845
- initialSettings = _this$state7.settings,
846
- showCloseModal = _this$state7.showCloseModal,
847
- showSaveAsModal = _this$state7.showSaveAsModal; // We don't want to steal focus if this isn't shown or it's just a preview
848
-
849
- var focusOnMount = isDashboardActive && !glContainer.isHidden && !isPreview;
850
- var itemName = (_fileMetadata$itemNam = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.itemName) !== null && _fileMetadata$itemNam !== void 0 ? _fileMetadata$itemNam : NotebookPanel.DEFAULT_NAME;
851
- var isExistingItem = (fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.id) != null;
852
- var overflowActions = this.getOverflowActions();
853
-
854
- var settings = _objectSpread({}, initialSettings);
855
-
856
- var isSessionConnected = session != null;
857
- var isLanguageMatching = sessionLanguage === settings.language;
858
- var runButtonsDisabled = !isLoaded || !isSessionConnected || !isLanguageMatching;
859
- var toolbarDisabled = !isLoaded;
860
- var contextActions = [{
861
- action: this.handleSave,
862
- shortcut: GLOBAL_SHORTCUTS.SAVE
863
- }];
864
- var disabledRunButtonTooltip = ScriptEditorUtils.getDisabledRunTooltip(isSessionConnected, isLanguageMatching, 'Notebook extension', 'Run');
865
- var disabledRunSelectedButtonTooltip = ScriptEditorUtils.getDisabledRunTooltip(isSessionConnected, isLanguageMatching, 'Notebook extension', 'Run Selected');
866
- var additionalActions = [{
867
- title: isExistingItem ? 'Rename' : 'Save As…',
868
- order: 10,
869
- group: ContextActions.groups.high,
870
- action: this.handleShowRename
871
- }, {
872
- title: 'Copy File',
873
- action: this.handleCopy,
874
- group: ContextActions.groups.high,
875
- order: 20
876
- }];
877
- return /*#__PURE__*/React.createElement(React.Fragment, null, tab && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("span", {
878
- className: classNames('editor-unsaved-indicator', {
879
- 'is-unsaved': changeCount !== savedChangeCount
880
- })
881
- }), tab.element.find('.lm_title_before').get(0) // tab.element is jquery element, we want a dom element
882
- ), /*#__PURE__*/React.createElement(Panel, {
883
- className: "notebook-container",
884
- componentPanel: this,
885
- glContainer: glContainer,
886
- glEventHub: glEventHub,
887
- onTab: this.handleTab,
888
- onResize: this.handleResize,
889
- onShow: this.handleShow,
890
- onTabFocus: this.handleTabFocus,
891
- onTabBlur: this.handleTabBlur,
892
- onSessionOpen: this.handleSessionOpened,
893
- onSessionClose: this.handleSessionClosed,
894
- onFocus: this.handleFocus,
895
- onBlur: this.handleBlur,
896
- additionalActions: additionalActions,
897
- renderTabTooltip: function renderTabTooltip() {
898
- return itemName;
899
- }
900
- }, /*#__PURE__*/React.createElement("div", {
901
- className: "notebook-toolbar"
902
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("button", {
903
- type: "button",
904
- className: "btn btn-link btn-link-icon btn-play",
905
- onClick: this.handleRunAll,
906
- disabled: runButtonsDisabled
907
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
908
- icon: vsRunAll,
909
- transform: "grow-4"
910
- }), /*#__PURE__*/React.createElement(Tooltip, null, "Run ", SHORTCUTS.NOTEBOOK.RUN.getDisplayText())), disabledRunButtonTooltip && /*#__PURE__*/React.createElement(Tooltip, null, disabledRunButtonTooltip)), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("button", {
911
- type: "button",
912
- className: "btn btn-link btn-link-icon btn-play",
913
- onClick: this.handleRunSelected,
914
- disabled: runButtonsDisabled
915
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
916
- icon: vsPlay,
917
- transform: "grow-4"
918
- }), /*#__PURE__*/React.createElement(Tooltip, null, "Run Selected", ' ', SHORTCUTS.NOTEBOOK.RUN_SELECTED.getDisplayText())), disabledRunSelectedButtonTooltip && /*#__PURE__*/React.createElement(Tooltip, null, disabledRunSelectedButtonTooltip)), /*#__PURE__*/React.createElement("button", {
919
- type: "button",
920
- className: "btn btn-link btn-link-icon mr-auto",
921
- disabled: toolbarDisabled,
922
- onClick: this.handleSave
923
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
924
- icon: vsSave
925
- }), /*#__PURE__*/React.createElement(Tooltip, null, "Save")), /*#__PURE__*/React.createElement("button", {
926
- type: "button",
927
- className: "btn btn-link btn-overflow btn-link-icon",
928
- disabled: toolbarDisabled
929
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
930
- icon: vsKebabVertical
931
- }), /*#__PURE__*/React.createElement(Tooltip, null, "More Actions..."), /*#__PURE__*/React.createElement(DropdownMenu, {
932
- actions: overflowActions,
933
- popperOptions: NotebookPanel.POPPER_OPTIONS
934
- }))), /*#__PURE__*/React.createElement(ScriptEditor, {
935
- isLoaded: isLoaded,
936
- isLoading: isLoading,
937
- error: error,
938
- onChange: this.handleEditorChange,
939
- onRunCommand: this.handleRunCommand,
940
- session: session,
941
- sessionLanguage: sessionLanguage,
942
- settings: settings,
943
- focusOnMount: focusOnMount,
944
- ref: function ref(notebook) {
945
- _this7.notebook = notebook;
946
- }
947
- }), /*#__PURE__*/React.createElement(NewItemModal, {
948
- isOpen: showSaveAsModal,
949
- type: "file",
950
- defaultValue: itemName,
951
- title: isExistingItem ? 'Rename' : 'Save file as',
952
- onSubmit: this.handleSaveAsSubmit,
953
- onCancel: this.handleSaveAsCancel,
954
- notifyOnExtensionChange: true,
955
- storage: fileStorage
956
- }), /*#__PURE__*/React.createElement(BasicModal, {
957
- isOpen: showCloseModal,
958
- headerText: "Do you want to save the changes you made to ".concat(itemName, "?"),
959
- bodyText: "Your changes will be lost if you don't save them.",
960
- onCancel: this.handleCloseCancel,
961
- onDiscard: this.handleCloseDiscard,
962
- onConfirm: this.handleCloseSave,
963
- discardButtonText: "Discard Changes",
964
- confirmButtonText: "Save"
965
- }), /*#__PURE__*/React.createElement(ContextActions, {
966
- actions: contextActions
967
- })));
790
+
791
+ log.debug('handleTabFocus', ...args);
792
+ var {
793
+ glContainer
794
+ } = this.props;
795
+ this.setState({
796
+ isDashboardActive: true
797
+ });
798
+
799
+ if (this.notebook && !glContainer.isHidden) {
800
+ this.notebook.updateDimensions();
968
801
  }
969
- }], [{
970
- key: "handleError",
971
- value: function handleError(error) {
972
- if (PromiseUtils.isCanceled(error)) {
973
- return;
802
+ }
803
+
804
+ handleTabBlur() {
805
+ log.debug('handleTabBlur');
806
+ this.setState({
807
+ isDashboardActive: false
808
+ });
809
+ }
810
+
811
+ handlePanelTabClick() {
812
+ log.debug('handlePanelTabClick');
813
+ this.focus();
814
+ }
815
+
816
+ focus() {
817
+ requestAnimationFrame(() => {
818
+ if (this.notebook) {
819
+ this.notebook.focus();
974
820
  }
821
+ });
822
+ }
975
823
 
976
- log.error(error);
977
- }
978
- }, {
979
- key: "languageFromFileName",
980
- value: function languageFromFileName(fileName) {
981
- var extension = FileUtils.getExtension(fileName).toLowerCase();
824
+ createNotebook(itemName, language, content) {
825
+ var {
826
+ glEventHub
827
+ } = this.props;
828
+ var {
829
+ session,
830
+ sessionLanguage,
831
+ settings
832
+ } = this.state;
833
+
834
+ var notebookSettings = _objectSpread(_objectSpread({}, settings), {}, {
835
+ language,
836
+ value: content
837
+ });
838
+
839
+ var fileMetadata = {
840
+ id: null,
841
+ itemName
842
+ };
843
+ log.debug('handleCreateNotebook', session, sessionLanguage, notebookSettings, fileMetadata);
844
+ glEventHub.emit(NotebookEvent.CREATE_NOTEBOOK, session, sessionLanguage, notebookSettings, fileMetadata);
845
+ }
982
846
 
983
- switch (extension) {
984
- case 'py':
985
- case 'python':
986
- return 'python';
847
+ runCommand(command) {
848
+ if (!command) {
849
+ log.debug('Ignoring empty command.');
850
+ return;
851
+ }
987
852
 
988
- case 'groovy':
989
- return 'groovy';
853
+ var {
854
+ glEventHub
855
+ } = this.props;
856
+ glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, false, true);
857
+ }
990
858
 
991
- case 'scala':
992
- return 'scala';
859
+ render() {
860
+ var _fileMetadata$itemNam;
993
861
 
994
- default:
995
- return null;
862
+ var {
863
+ fileStorage,
864
+ glContainer,
865
+ glContainer: {
866
+ tab
867
+ },
868
+ glEventHub
869
+ } = this.props;
870
+ var {
871
+ changeCount,
872
+ savedChangeCount,
873
+ error,
874
+ isDashboardActive,
875
+ isLoaded,
876
+ isLoading,
877
+ isPreview,
878
+ fileMetadata,
879
+ session,
880
+ sessionLanguage,
881
+ settings: initialSettings,
882
+ showCloseModal,
883
+ showSaveAsModal
884
+ } = this.state; // We don't want to steal focus if this isn't shown or it's just a preview
885
+
886
+ var focusOnMount = isDashboardActive && !glContainer.isHidden && !isPreview;
887
+ var itemName = (_fileMetadata$itemNam = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.itemName) !== null && _fileMetadata$itemNam !== void 0 ? _fileMetadata$itemNam : NotebookPanel.DEFAULT_NAME;
888
+ var isExistingItem = (fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.id) != null;
889
+ var overflowActions = this.getOverflowActions();
890
+
891
+ var settings = _objectSpread({}, initialSettings);
892
+
893
+ var isSessionConnected = session != null;
894
+ var isLanguageMatching = sessionLanguage === settings.language;
895
+ var runButtonsDisabled = !isLoaded || !isSessionConnected || !isLanguageMatching;
896
+ var toolbarDisabled = !isLoaded;
897
+ var contextActions = [{
898
+ action: this.handleSave,
899
+ shortcut: GLOBAL_SHORTCUTS.SAVE
900
+ }];
901
+ var disabledRunButtonTooltip = ScriptEditorUtils.getDisabledRunTooltip(isSessionConnected, isLanguageMatching, 'Notebook extension', 'Run');
902
+ var disabledRunSelectedButtonTooltip = ScriptEditorUtils.getDisabledRunTooltip(isSessionConnected, isLanguageMatching, 'Notebook extension', 'Run Selected');
903
+ var additionalActions = [{
904
+ title: isExistingItem ? 'Rename' : 'Save As…',
905
+ order: 10,
906
+ group: ContextActions.groups.high,
907
+ action: this.handleShowRename
908
+ }, {
909
+ title: 'Copy File',
910
+ action: this.handleCopy,
911
+ group: ContextActions.groups.high,
912
+ order: 20
913
+ }];
914
+ return /*#__PURE__*/React.createElement(React.Fragment, null, tab && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("span", {
915
+ className: classNames('editor-unsaved-indicator', {
916
+ 'is-unsaved': changeCount !== savedChangeCount
917
+ })
918
+ }), tab.element.find('.lm_title_before').get(0) // tab.element is jquery element, we want a dom element
919
+ ), /*#__PURE__*/React.createElement(Panel, {
920
+ className: "notebook-container",
921
+ componentPanel: this,
922
+ glContainer: glContainer,
923
+ glEventHub: glEventHub,
924
+ onTab: this.handleTab,
925
+ onResize: this.handleResize,
926
+ onShow: this.handleShow,
927
+ onTabFocus: this.handleTabFocus,
928
+ onTabBlur: this.handleTabBlur,
929
+ onSessionOpen: this.handleSessionOpened,
930
+ onSessionClose: this.handleSessionClosed,
931
+ onFocus: this.handleFocus,
932
+ onBlur: this.handleBlur,
933
+ additionalActions: additionalActions,
934
+ renderTabTooltip: () => itemName
935
+ }, /*#__PURE__*/React.createElement("div", {
936
+ className: "notebook-toolbar"
937
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("button", {
938
+ type: "button",
939
+ className: "btn btn-link btn-link-icon btn-play",
940
+ onClick: this.handleRunAll,
941
+ disabled: runButtonsDisabled
942
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
943
+ icon: vsRunAll,
944
+ transform: "grow-4"
945
+ }), /*#__PURE__*/React.createElement(Tooltip, null, "Run ", SHORTCUTS.NOTEBOOK.RUN.getDisplayText())), disabledRunButtonTooltip && /*#__PURE__*/React.createElement(Tooltip, null, disabledRunButtonTooltip)), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("button", {
946
+ type: "button",
947
+ className: "btn btn-link btn-link-icon btn-play",
948
+ onClick: this.handleRunSelected,
949
+ disabled: runButtonsDisabled
950
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
951
+ icon: vsPlay,
952
+ transform: "grow-4"
953
+ }), /*#__PURE__*/React.createElement(Tooltip, null, "Run Selected", ' ', SHORTCUTS.NOTEBOOK.RUN_SELECTED.getDisplayText())), disabledRunSelectedButtonTooltip && /*#__PURE__*/React.createElement(Tooltip, null, disabledRunSelectedButtonTooltip)), /*#__PURE__*/React.createElement("button", {
954
+ type: "button",
955
+ className: "btn btn-link btn-link-icon mr-auto",
956
+ disabled: toolbarDisabled,
957
+ onClick: this.handleSave
958
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
959
+ icon: vsSave
960
+ }), /*#__PURE__*/React.createElement(Tooltip, null, "Save")), /*#__PURE__*/React.createElement("button", {
961
+ type: "button",
962
+ className: "btn btn-link btn-overflow btn-link-icon",
963
+ disabled: toolbarDisabled
964
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
965
+ icon: vsKebabVertical
966
+ }), /*#__PURE__*/React.createElement(Tooltip, null, "More Actions..."), /*#__PURE__*/React.createElement(DropdownMenu, {
967
+ actions: overflowActions,
968
+ popperOptions: NotebookPanel.POPPER_OPTIONS
969
+ }))), /*#__PURE__*/React.createElement(ScriptEditor, {
970
+ isLoaded: isLoaded,
971
+ isLoading: isLoading,
972
+ error: error,
973
+ onChange: this.handleEditorChange,
974
+ onRunCommand: this.handleRunCommand,
975
+ session: session,
976
+ sessionLanguage: sessionLanguage,
977
+ settings: settings,
978
+ focusOnMount: focusOnMount,
979
+ ref: notebook => {
980
+ this.notebook = notebook;
996
981
  }
997
- }
998
- }]);
982
+ }), /*#__PURE__*/React.createElement(NewItemModal, {
983
+ isOpen: showSaveAsModal,
984
+ type: "file",
985
+ defaultValue: itemName,
986
+ title: isExistingItem ? 'Rename' : 'Save file as',
987
+ onSubmit: this.handleSaveAsSubmit,
988
+ onCancel: this.handleSaveAsCancel,
989
+ notifyOnExtensionChange: true,
990
+ storage: fileStorage
991
+ }), /*#__PURE__*/React.createElement(BasicModal, {
992
+ isOpen: showCloseModal,
993
+ headerText: "Do you want to save the changes you made to ".concat(itemName, "?"),
994
+ bodyText: "Your changes will be lost if you don't save them.",
995
+ onCancel: this.handleCloseCancel,
996
+ onDiscard: this.handleCloseDiscard,
997
+ onConfirm: this.handleCloseSave,
998
+ discardButtonText: "Discard Changes",
999
+ confirmButtonText: "Save"
1000
+ }), /*#__PURE__*/React.createElement(ContextActions, {
1001
+ actions: contextActions
1002
+ })));
1003
+ }
999
1004
 
1000
- return NotebookPanel;
1001
- }(Component);
1005
+ }
1002
1006
 
1003
1007
  _defineProperty(NotebookPanel, "COMPONENT", 'NotebookPanel');
1004
1008
 
@@ -1035,16 +1039,20 @@ NotebookPanel.defaultProps = {
1035
1039
  sessionLanguage: null
1036
1040
  };
1037
1041
 
1038
- var mapStateToProps = function mapStateToProps(state, ownProps) {
1042
+ var mapStateToProps = (state, ownProps) => {
1039
1043
  var fileStorage = getFileStorage(state);
1040
1044
  var sessionWrapper = getDashboardSessionWrapper(state, ownProps.localDashboardId);
1041
- var session = sessionWrapper.session,
1042
- sessionConfig = sessionWrapper.config;
1043
- var sessionLanguage = sessionConfig.type;
1045
+ var {
1046
+ session,
1047
+ config: sessionConfig
1048
+ } = sessionWrapper !== null && sessionWrapper !== void 0 ? sessionWrapper : {};
1049
+ var {
1050
+ type: sessionLanguage
1051
+ } = sessionConfig !== null && sessionConfig !== void 0 ? sessionConfig : {};
1044
1052
  return {
1045
- fileStorage: fileStorage,
1046
- session: session,
1047
- sessionLanguage: sessionLanguage
1053
+ fileStorage,
1054
+ session,
1055
+ sessionLanguage
1048
1056
  };
1049
1057
  };
1050
1058