@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.
- package/dist/{src/ChartPlugin.d.ts → ChartPlugin.d.ts} +0 -0
- package/dist/ChartPlugin.d.ts.map +1 -0
- package/dist/ChartPlugin.js +25 -22
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/{src/ConsolePlugin.d.ts → ConsolePlugin.d.ts} +0 -0
- package/dist/ConsolePlugin.d.ts.map +1 -0
- package/dist/ConsolePlugin.js +141 -139
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/{src/FilterPlugin.d.ts → FilterPlugin.d.ts} +0 -0
- package/dist/FilterPlugin.d.ts.map +1 -0
- package/dist/FilterPlugin.js +114 -116
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/{src/GridPlugin.d.ts → GridPlugin.d.ts} +0 -0
- package/dist/GridPlugin.d.ts.map +1 -0
- package/dist/GridPlugin.js +29 -26
- package/dist/GridPlugin.js.map +1 -1
- package/dist/{src/LinkerPlugin.d.ts → LinkerPlugin.d.ts} +0 -0
- package/dist/LinkerPlugin.d.ts.map +1 -0
- package/dist/LinkerPlugin.js +7 -5
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/{src/MarkdownPlugin.d.ts → MarkdownPlugin.d.ts} +0 -0
- package/dist/MarkdownPlugin.d.ts.map +1 -0
- package/dist/MarkdownPlugin.js +44 -45
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts +8 -0
- package/dist/PandasPlugin.d.ts.map +1 -0
- package/dist/PandasPlugin.js +12 -12
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/{src/controls → controls}/ControlType.d.ts +2 -0
- package/dist/controls/ControlType.d.ts.map +1 -0
- package/dist/controls/ControlType.js +5 -5
- package/dist/controls/ControlType.js.map +1 -1
- package/dist/{src/controls → controls}/dropdown-filter/DropdownFilter.d.ts +6 -0
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -0
- package/dist/controls/dropdown-filter/DropdownFilter.js +356 -394
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/{src/controls → controls}/input-filter/InputFilter.d.ts +6 -0
- package/dist/controls/input-filter/InputFilter.d.ts.map +1 -0
- package/dist/controls/input-filter/InputFilter.js +256 -270
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/{src/controls → controls}/markdown/MarkdownContainer.d.ts +0 -0
- package/dist/controls/markdown/MarkdownContainer.d.ts.map +1 -0
- package/dist/controls/markdown/MarkdownContainer.js +18 -56
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/{src/controls → controls}/markdown/MarkdownEditor.d.ts +0 -0
- package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -0
- package/dist/controls/markdown/MarkdownEditor.js +36 -75
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/{src/controls → controls}/markdown/MarkdownStartPage.d.ts +0 -0
- package/dist/controls/markdown/MarkdownStartPage.d.ts.map +1 -0
- package/dist/controls/markdown/MarkdownStartPage.js +93 -133
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/{src/controls → controls}/markdown/MarkdownUtils.d.ts +0 -0
- package/dist/controls/markdown/MarkdownUtils.d.ts.map +1 -0
- package/dist/controls/markdown/MarkdownUtils.js +17 -32
- package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
- package/dist/{src/events → events}/ChartEvent.d.ts +0 -0
- package/dist/events/ChartEvent.d.ts.map +1 -0
- package/dist/events/ChartEvent.js +1 -5
- package/dist/events/ChartEvent.js.map +1 -1
- package/dist/{src/events → events}/ConsoleEvent.d.ts +0 -0
- package/dist/events/ConsoleEvent.d.ts.map +1 -0
- package/dist/events/ConsoleEvent.js +1 -5
- package/dist/events/ConsoleEvent.js.map +1 -1
- package/dist/{src/events → events}/ControlEvent.d.ts +0 -0
- package/dist/events/ControlEvent.d.ts.map +1 -0
- package/dist/events/ControlEvent.js +1 -5
- package/dist/events/ControlEvent.js.map +1 -1
- package/dist/{src/events → events}/InputFilterEvent.d.ts +2 -0
- package/dist/events/InputFilterEvent.d.ts.map +1 -0
- package/dist/events/InputFilterEvent.js +3 -5
- package/dist/events/InputFilterEvent.js.map +1 -1
- package/dist/{src/events → events}/IrisGridEvent.d.ts +0 -0
- package/dist/events/IrisGridEvent.d.ts.map +1 -0
- package/dist/events/IrisGridEvent.js +1 -5
- package/dist/events/IrisGridEvent.js.map +1 -1
- package/dist/{src/events → events}/MarkdownEvent.d.ts +0 -0
- package/dist/events/MarkdownEvent.d.ts.map +1 -0
- package/dist/{src/events → events}/NotebookEvent.d.ts +0 -0
- package/dist/events/NotebookEvent.d.ts.map +1 -0
- package/dist/events/NotebookEvent.js +1 -5
- package/dist/events/NotebookEvent.js.map +1 -1
- package/dist/{src/events → events}/PQEvent.d.ts +0 -0
- package/dist/events/PQEvent.d.ts.map +1 -0
- package/dist/events/PQEvent.js +1 -5
- package/dist/events/PQEvent.js.map +1 -1
- package/dist/{src/events → events}/PandasEvent.d.ts +0 -0
- package/dist/events/PandasEvent.d.ts.map +1 -0
- package/dist/events/PandasEvent.js +1 -5
- package/dist/events/PandasEvent.js.map +1 -1
- package/dist/{src/events → events}/TabEvent.d.ts +0 -0
- package/dist/events/TabEvent.d.ts.map +1 -0
- package/dist/events/TabEvent.js +1 -5
- package/dist/events/TabEvent.js.map +1 -1
- package/dist/{dist/events → events}/index.d.ts +0 -1
- package/dist/{dist/events → events}/index.d.ts.map +1 -1
- package/dist/events/index.js +9 -10
- package/dist/events/index.js.map +1 -1
- package/dist/{src/index.d.ts → index.d.ts} +0 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -11
- package/dist/index.js.map +1 -1
- package/dist/{src/linker → linker}/Linker.d.ts +1 -1
- package/dist/linker/Linker.d.ts.map +1 -0
- package/dist/linker/Linker.js +594 -606
- package/dist/linker/Linker.js.map +1 -1
- package/dist/{src/linker → linker}/LinkerLink.d.ts +0 -0
- package/dist/linker/LinkerLink.d.ts.map +1 -0
- package/dist/linker/LinkerLink.js +92 -126
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/{src/linker → linker}/LinkerOverlayContent.d.ts +0 -0
- package/dist/linker/LinkerOverlayContent.d.ts.map +1 -0
- package/dist/linker/LinkerOverlayContent.js +162 -220
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/{src/linker → linker}/LinkerUtils.d.ts +0 -0
- package/dist/linker/LinkerUtils.d.ts.map +1 -0
- package/dist/linker/LinkerUtils.js +105 -114
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/{src/linker → linker}/ToolType.d.ts +0 -0
- package/dist/{src/linker → linker}/ToolType.d.ts.map +1 -1
- package/dist/{src/panels → panels}/ChartColumnSelectorOverlay.d.ts +0 -0
- package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -0
- package/dist/panels/ChartColumnSelectorOverlay.js +19 -25
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/{src/panels → panels}/ChartFilterOverlay.d.ts +0 -0
- package/dist/panels/ChartFilterOverlay.d.ts.map +1 -0
- package/dist/panels/ChartFilterOverlay.js +18 -24
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/{src/panels → panels}/ChartPanel.d.ts +3 -0
- package/dist/panels/ChartPanel.d.ts.map +1 -0
- package/dist/panels/ChartPanel.js +839 -873
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/{src/panels → panels}/CommandHistoryPanel.d.ts +0 -0
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -0
- package/dist/panels/CommandHistoryPanel.js +160 -186
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/{src/panels → panels}/ConsolePanel.d.ts +1 -1
- package/dist/panels/ConsolePanel.d.ts.map +1 -0
- package/dist/panels/ConsolePanel.js +327 -374
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/{src/panels → panels}/DropdownFilterPanel.d.ts +6 -0
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -0
- package/dist/panels/DropdownFilterPanel.js +537 -566
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/{src/panels → panels}/FileExplorerPanel.d.ts +6 -1
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -0
- package/dist/panels/FileExplorerPanel.js +208 -210
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.css +111 -0
- package/dist/panels/FilterSetManager.css.map +1 -0
- package/dist/panels/FilterSetManager.d.ts +66 -0
- package/dist/panels/FilterSetManager.d.ts.map +1 -0
- package/dist/panels/FilterSetManager.js +732 -0
- package/dist/panels/FilterSetManager.js.map +1 -0
- package/dist/panels/FilterSetManagerPanel.css +33 -0
- package/dist/panels/FilterSetManagerPanel.css.map +1 -0
- package/dist/panels/FilterSetManagerPanel.d.ts +69 -0
- package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -0
- package/dist/panels/FilterSetManagerPanel.js +383 -0
- package/dist/panels/FilterSetManagerPanel.js.map +1 -0
- package/dist/{src/panels → panels}/InputFilterPanel.d.ts +7 -0
- package/dist/panels/InputFilterPanel.d.ts.map +1 -0
- package/dist/panels/InputFilterPanel.js +198 -206
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/{src/panels → panels}/IrisGridPanel.d.ts +11 -3
- package/dist/panels/IrisGridPanel.d.ts.map +1 -0
- package/dist/panels/IrisGridPanel.js +779 -771
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/{src/panels → panels}/LogPanel.d.ts +0 -0
- package/dist/panels/LogPanel.d.ts.map +1 -0
- package/dist/panels/LogPanel.js +80 -116
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownNotebookContainer.d.ts +21 -0
- package/dist/panels/MarkdownNotebookContainer.d.ts.map +1 -0
- package/dist/panels/MarkdownNotebookContainer.js +35 -0
- package/dist/panels/MarkdownNotebookContainer.js.map +1 -0
- package/dist/panels/MarkdownNotebookEditor.d.ts +46 -0
- package/dist/panels/MarkdownNotebookEditor.d.ts.map +1 -0
- package/dist/panels/MarkdownNotebookEditor.js +257 -0
- package/dist/panels/MarkdownNotebookEditor.js.map +1 -0
- package/dist/panels/MarkdownNotebookPanel.css +127 -0
- package/dist/panels/MarkdownNotebookPanel.css.map +1 -0
- package/dist/panels/MarkdownNotebookPanel.d.ts +91 -0
- package/dist/panels/MarkdownNotebookPanel.d.ts.map +1 -0
- package/dist/panels/MarkdownNotebookPanel.js +446 -0
- package/dist/panels/MarkdownNotebookPanel.js.map +1 -0
- package/dist/{src/panels → panels}/MarkdownPanel.d.ts +0 -0
- package/dist/panels/MarkdownPanel.d.ts.map +1 -0
- package/dist/panels/MarkdownPanel.js +165 -199
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/{src/panels → panels}/NotebookPanel.d.ts +3 -1
- package/dist/panels/NotebookPanel.d.ts.map +1 -0
- package/dist/panels/NotebookPanel.js +870 -862
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/{src/panels → panels}/PandasPanel.d.ts +0 -0
- package/dist/panels/PandasPanel.d.ts.map +1 -0
- package/dist/panels/PandasPanel.js +56 -90
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/{src/panels → panels}/Panel.d.ts +0 -0
- package/dist/panels/Panel.d.ts.map +1 -0
- package/dist/panels/Panel.js +282 -313
- package/dist/panels/Panel.js.map +1 -1
- package/dist/{src/panels → panels}/PanelContextMenu.d.ts +0 -0
- package/dist/panels/PanelContextMenu.d.ts.map +1 -0
- package/dist/panels/PanelContextMenu.js +107 -158
- package/dist/panels/PanelContextMenu.js.map +1 -1
- package/dist/{src/panels → panels}/RenameDialog.d.ts +0 -0
- package/dist/panels/RenameDialog.d.ts.map +1 -0
- package/dist/panels/RenameDialog.js +144 -172
- package/dist/panels/RenameDialog.js.map +1 -1
- package/dist/{src/panels → panels}/Shortcuts.d.ts +0 -0
- package/dist/panels/Shortcuts.d.ts.map +1 -0
- package/dist/panels/Shortcuts.js +1 -1
- package/dist/panels/Shortcuts.js.map +1 -1
- package/dist/{src/panels → panels}/WidgetPanel.d.ts +0 -0
- package/dist/panels/WidgetPanel.d.ts.map +1 -0
- package/dist/panels/WidgetPanel.js +133 -163
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/{src/panels → panels}/WidgetPanelTooltip.d.ts +0 -0
- package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -0
- package/dist/panels/WidgetPanelTooltip.js +7 -5
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/{src/panels → panels}/index.d.ts +1 -1
- package/dist/{src/events → panels}/index.d.ts.map +1 -1
- package/dist/panels/index.js +16 -16
- package/dist/panels/index.js.map +1 -1
- package/dist/{src/prop-types → prop-types}/CommonPropTypes.d.ts +0 -0
- package/dist/prop-types/CommonPropTypes.d.ts.map +1 -0
- package/dist/prop-types/CommonPropTypes.js +4 -8
- package/dist/prop-types/CommonPropTypes.js.map +1 -1
- package/dist/{src/prop-types → prop-types}/UIPropTypes.d.ts +0 -0
- package/dist/prop-types/UIPropTypes.d.ts.map +1 -0
- package/dist/prop-types/UIPropTypes.js +6 -6
- package/dist/prop-types/UIPropTypes.js.map +1 -1
- package/dist/{src/prop-types → prop-types}/index.d.ts +0 -0
- package/dist/{src/panels → prop-types}/index.d.ts.map +1 -1
- package/dist/prop-types/index.js +2 -2
- package/dist/prop-types/index.js.map +1 -1
- package/dist/{src/redux → redux}/actionTypes.d.ts +0 -0
- package/dist/redux/actionTypes.d.ts.map +1 -0
- package/dist/{src/redux → redux}/actions.d.ts +1 -0
- package/dist/redux/actions.d.ts.map +1 -0
- package/dist/redux/actions.js +33 -54
- package/dist/redux/actions.js.map +1 -1
- package/dist/{src/redux → redux}/index.d.ts +0 -0
- package/dist/redux/index.d.ts.map +1 -0
- package/dist/redux/index.js +6 -21
- package/dist/redux/index.js.map +1 -1
- package/dist/{src/redux → redux}/reducers/index.d.ts +0 -0
- package/dist/{src/prop-types → redux/reducers}/index.d.ts.map +1 -1
- package/dist/redux/reducers/index.js +2 -2
- package/dist/redux/reducers/index.js.map +1 -1
- package/dist/{src/redux → redux}/reducers/sessionWrapper.d.ts +0 -0
- package/dist/redux/reducers/sessionWrapper.d.ts.map +1 -0
- package/dist/redux/reducers/sessionWrapper.js +1 -1
- package/dist/redux/reducers/sessionWrapper.js.map +1 -1
- package/dist/{src/redux → redux}/selectors.d.ts +1 -0
- package/dist/redux/selectors.d.ts.map +1 -0
- package/dist/redux/selectors.js +22 -18
- package/dist/redux/selectors.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -54
- package/dist/MatPlotLibPlugin.js +0 -45
- package/dist/MatPlotLibPlugin.js.map +0 -1
- package/dist/dist/events/ChartEvent.d.ts +0 -3
- package/dist/dist/events/ChartEvent.d.ts.map +0 -1
- package/dist/dist/events/ConsoleEvent.d.ts +0 -3
- package/dist/dist/events/ConsoleEvent.d.ts.map +0 -1
- package/dist/dist/events/ControlEvent.d.ts +0 -3
- package/dist/dist/events/ControlEvent.d.ts.map +0 -1
- package/dist/dist/events/InputFilterEvent.d.ts +0 -3
- package/dist/dist/events/InputFilterEvent.d.ts.map +0 -1
- package/dist/dist/events/IrisGridEvent.d.ts +0 -3
- package/dist/dist/events/IrisGridEvent.d.ts.map +0 -1
- package/dist/dist/events/MarkdownEvent.d.ts +0 -5
- package/dist/dist/events/MarkdownEvent.d.ts.map +0 -1
- package/dist/dist/events/MatPlotLibEvent.d.ts +0 -3
- package/dist/dist/events/MatPlotLibEvent.d.ts.map +0 -1
- package/dist/dist/events/NotebookEvent.d.ts +0 -3
- package/dist/dist/events/NotebookEvent.d.ts.map +0 -1
- package/dist/dist/events/PandasEvent.d.ts +0 -3
- package/dist/dist/events/PandasEvent.d.ts.map +0 -1
- package/dist/dist/events/TabEvent.d.ts +0 -3
- package/dist/dist/events/TabEvent.d.ts.map +0 -1
- package/dist/events/MatPlotLibEvent.js +0 -12
- package/dist/events/MatPlotLibEvent.js.map +0 -1
- package/dist/panels/MatPlotLibPanel.css +0 -11
- package/dist/panels/MatPlotLibPanel.css.map +0 -1
- package/dist/panels/MatPlotLibPanel.js +0 -124
- package/dist/panels/MatPlotLibPanel.js.map +0 -1
- package/dist/src/ChartPlugin.d.ts.map +0 -1
- package/dist/src/ConsolePlugin.d.ts.map +0 -1
- package/dist/src/FilterPlugin.d.ts.map +0 -1
- package/dist/src/GridPlugin.d.ts.map +0 -1
- package/dist/src/LinkerPlugin.d.ts.map +0 -1
- package/dist/src/MarkdownPlugin.d.ts.map +0 -1
- package/dist/src/MatPlotLibPlugin.d.ts +0 -5
- package/dist/src/MatPlotLibPlugin.d.ts.map +0 -1
- package/dist/src/PandasPlugin.d.ts +0 -5
- package/dist/src/PandasPlugin.d.ts.map +0 -1
- package/dist/src/controls/ControlType.d.ts.map +0 -1
- package/dist/src/controls/dropdown-filter/DropdownFilter.d.ts.map +0 -1
- package/dist/src/controls/input-filter/InputFilter.d.ts.map +0 -1
- package/dist/src/controls/markdown/MarkdownContainer.d.ts.map +0 -1
- package/dist/src/controls/markdown/MarkdownEditor.d.ts.map +0 -1
- package/dist/src/controls/markdown/MarkdownStartPage.d.ts.map +0 -1
- package/dist/src/controls/markdown/MarkdownUtils.d.ts.map +0 -1
- package/dist/src/events/ChartEvent.d.ts.map +0 -1
- package/dist/src/events/ConsoleEvent.d.ts.map +0 -1
- package/dist/src/events/ControlEvent.d.ts.map +0 -1
- package/dist/src/events/InputFilterEvent.d.ts.map +0 -1
- package/dist/src/events/IrisGridEvent.d.ts.map +0 -1
- package/dist/src/events/MarkdownEvent.d.ts.map +0 -1
- package/dist/src/events/MatPlotLibEvent.d.ts +0 -5
- package/dist/src/events/MatPlotLibEvent.d.ts.map +0 -1
- package/dist/src/events/NotebookEvent.d.ts.map +0 -1
- package/dist/src/events/PQEvent.d.ts.map +0 -1
- package/dist/src/events/PandasEvent.d.ts.map +0 -1
- package/dist/src/events/TabEvent.d.ts.map +0 -1
- package/dist/src/events/index.d.ts +0 -11
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/linker/Linker.d.ts.map +0 -1
- package/dist/src/linker/LinkerLink.d.ts.map +0 -1
- package/dist/src/linker/LinkerOverlayContent.d.ts.map +0 -1
- package/dist/src/linker/LinkerUtils.d.ts.map +0 -1
- package/dist/src/panels/ChartColumnSelectorOverlay.d.ts.map +0 -1
- package/dist/src/panels/ChartFilterOverlay.d.ts.map +0 -1
- package/dist/src/panels/ChartPanel.d.ts.map +0 -1
- package/dist/src/panels/CommandHistoryPanel.d.ts.map +0 -1
- package/dist/src/panels/ConsolePanel.d.ts.map +0 -1
- package/dist/src/panels/DropdownFilterPanel.d.ts.map +0 -1
- package/dist/src/panels/FileExplorerPanel.d.ts.map +0 -1
- package/dist/src/panels/InputFilterPanel.d.ts.map +0 -1
- package/dist/src/panels/IrisGridPanel.d.ts.map +0 -1
- package/dist/src/panels/LogPanel.d.ts.map +0 -1
- package/dist/src/panels/MarkdownPanel.d.ts.map +0 -1
- package/dist/src/panels/MatPlotLibPanel.d.ts +0 -22
- package/dist/src/panels/MatPlotLibPanel.d.ts.map +0 -1
- package/dist/src/panels/NotebookPanel.d.ts.map +0 -1
- package/dist/src/panels/PandasPanel.d.ts.map +0 -1
- package/dist/src/panels/Panel.d.ts.map +0 -1
- package/dist/src/panels/PanelContextMenu.d.ts.map +0 -1
- package/dist/src/panels/RenameDialog.d.ts.map +0 -1
- package/dist/src/panels/Shortcuts.d.ts.map +0 -1
- package/dist/src/panels/WidgetPanel.d.ts.map +0 -1
- package/dist/src/panels/WidgetPanelTooltip.d.ts.map +0 -1
- package/dist/src/prop-types/CommonPropTypes.d.ts.map +0 -1
- package/dist/src/prop-types/UIPropTypes.d.ts.map +0 -1
- package/dist/src/redux/actionTypes.d.ts.map +0 -1
- package/dist/src/redux/actions.d.ts.map +0 -1
- package/dist/src/redux/index.d.ts.map +0 -1
- package/dist/src/redux/reducers/index.d.ts.map +0 -1
- package/dist/src/redux/reducers/sessionWrapper.d.ts.map +0 -1
- package/dist/src/redux/selectors.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/panels/IrisGridPanel.jsx"],"names":["React","PureComponent","memoize","PropTypes","connect","debounce","ChartModelFactory","ChartUtils","GLPropTypes","LayoutUtils","IrisGrid","IrisGridModel","IrisGridUtils","IrisGridTableModel","TableUtils","AdvancedSettings","APIPropTypes","Log","getUser","getWorkspace","PromiseUtils","ContextMenuRoot","ChartEvent","ConsoleEvent","InputFilterEvent","IrisGridEvent","getInputFiltersForDashboard","getLinksForDashboard","getColumnSelectionValidatorForDashboard","UIPropTypes","WidgetPanel","log","module","DEBOUNCE_PANEL_STATE_UPDATE","PLUGIN_COMPONENTS","IrisGridPanel","props","columns","inputFilters","getInputFiltersForColumns","filter","value","excludePanelIds","includes","getIdFromPanel","dashboardLinks","pluginFetchColumns","id","columnSet","Set","i","length","start","panelId","add","columnName","Plugin","table","user","workspace","pluginRef","handlePluginFilter","handlePluginFetchColumns","isSelectingPartition","partition","partitionColumn","dehydrateIrisGridPanelState","sorts","advancedFilters","customColumnFormatMap","isFilterBarShown","quickFilters","customColumns","reverseType","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","invertSearchColumns","userColumnWidths","userRowHeights","aggregationSettings","advancedSettings","pendingDataMap","dehydrateIrisGridState","metrics","movedColumns","movedRows","dehydrateGridState","irisGridPanelState","irisGridState","gridState","savePanelState","bind","handleAdvancedSettingsChange","handleColumnsChanged","handleTableChanged","handleColumnSelected","handleDataSelected","handleError","handleGridStateChange","handlePartitionAppend","handleCreateChart","handleResize","handleShow","handleDisconnect","handleReconnect","handleLoadSuccess","handleLoadError","isColumnSelectionValid","handleContextMenu","handleClearAllFilters","irisGrid","createRef","modelPromise","panelState","metadata","queryName","query","state","error","isDisconnected","isLoaded","isLoading","isModelReady","model","Map","aggregations","showOnTop","DEFAULTS","REVERSE_TYPE","NONE","pluginFilters","modelQueue","initModel","_","prevState","stopModelListening","close","startModelListening","cancel","setState","makeModel","makeCancelable","resolved","then","modelParam","push","m","getModelRollupConfig","originalColumns","initModelQueue","modelInitialized","modelChange","shift","debug","key","get","set","filters","getFiltersFromInputFilters","data","current","getMenu","tableColumn","columnSelectionValidator","glEventHub","onStateChange","emit","STATE_CHANGED","event","sendColumnsChange","detail","TABLE_CHANGED","column","name","tableName","getTableName","command","SEND_COMMAND","settings","flush","makeModelFromSettings","querySerial","tableSettings","extractTableSettings","title","titleFromSettings","OPEN","dehydrateSettings","sourcePanelId","COLUMN_SELECTED","row","dataMap","DATA_SELECTED","updateGrid","Error","isCanceled","loadPlugin","loadPanelState","pluginName","clearAllFilters","debug2","COLUMNS_CHANGED","addEventListener","EVENT","DISCONNECT","RECONNECT","removeEventListener","gridWrapper","rect","getBoundingClientRect","width","height","columnHeaderHeight","visibleColumnXs","visibleColumnWidths","right","find","c","visibleIndex","getVisibleColumn","index","columnX","columnWidth","x","Math","max","left","min","y","top","filterMap","setFilterMap","hydrateIrisGridPanelState","hydrateIrisGridState","hydrateGridState","onPanelStateUpdate","oldPanelState","getCachedPanelState","getDehydratedIrisGridPanelState","getDehydratedIrisGridState","getDehydratedGridState","grid","children","glContainer","getDownloadWorker","links","errorMessage","description","childrenContent","getPluginContent","getAlwaysFetchColumns","getGridInputFilters","propTypes","node","Container","isRequired","EventHub","shape","string","arrayOf","array","func","InputFilter","Links","User","defaultProps","undefined","displayName","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["// Wrapper for the IrisGrid for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent } from 'react';\nimport memoize from 'memoize-one';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport debounce from 'lodash.debounce';\nimport { ChartModelFactory, ChartUtils } from '@deephaven/chart';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport {\n IrisGrid,\n IrisGridModel,\n IrisGridUtils,\n IrisGridTableModel,\n TableUtils,\n} from '@deephaven/iris-grid';\nimport AdvancedSettings from '@deephaven/iris-grid/dist/sidebar/AdvancedSettings';\nimport { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { getUser, getWorkspace } from '@deephaven/redux';\nimport { PromiseUtils } from '@deephaven/utils';\nimport { ContextMenuRoot } from '@deephaven/components';\nimport {\n ChartEvent,\n ConsoleEvent,\n InputFilterEvent,\n IrisGridEvent,\n} from '../events';\nimport {\n getInputFiltersForDashboard,\n getLinksForDashboard,\n getColumnSelectionValidatorForDashboard,\n} from '../redux';\nimport { UIPropTypes } from '../prop-types';\nimport WidgetPanel from './WidgetPanel';\nimport './IrisGridPanel.scss';\n\nconst log = Log.module('IrisGridPanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst PLUGIN_COMPONENTS = { IrisGrid, IrisGridTableModel, ContextMenuRoot };\n\nexport class IrisGridPanel extends PureComponent {\n static COMPONENT = 'IrisGridPanel';\n\n constructor(props) {\n super(props);\n\n this.savePanelState = debounce(\n this.savePanelState.bind(this),\n DEBOUNCE_PANEL_STATE_UPDATE\n );\n\n this.handleAdvancedSettingsChange = this.handleAdvancedSettingsChange.bind(\n this\n );\n this.handleColumnsChanged = this.handleColumnsChanged.bind(this);\n this.handleTableChanged = this.handleTableChanged.bind(this);\n this.handleColumnSelected = this.handleColumnSelected.bind(this);\n this.handleDataSelected = this.handleDataSelected.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleGridStateChange = this.handleGridStateChange.bind(this);\n this.handlePartitionAppend = this.handlePartitionAppend.bind(this);\n this.handleCreateChart = this.handleCreateChart.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleDisconnect = this.handleDisconnect.bind(this);\n this.handleReconnect = this.handleReconnect.bind(this);\n this.handleLoadSuccess = this.handleLoadSuccess.bind(this);\n this.handleLoadError = this.handleLoadError.bind(this);\n this.isColumnSelectionValid = this.isColumnSelectionValid.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n this.handlePluginFilter = this.handlePluginFilter.bind(this);\n this.handlePluginFetchColumns = this.handlePluginFetchColumns.bind(this);\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n\n this.irisGrid = React.createRef();\n this.pluginRef = React.createRef();\n this.modelPromise = null;\n\n const { panelState, metadata } = props;\n const queryName = metadata.query;\n\n this.state = {\n error: null,\n isDisconnected: false,\n isLoaded: false,\n isLoading: true,\n isModelReady: false,\n model: null,\n\n // State is hydrated from panel state when table is loaded\n advancedFilters: new Map(),\n aggregationSettings: { aggregations: [], showOnTop: false },\n advancedSettings: new Map(AdvancedSettings.DEFAULTS),\n customColumns: [],\n customColumnFormatMap: new Map(),\n isFilterBarShown: false,\n quickFilters: new Map(),\n sorts: [],\n userColumnWidths: new Map(),\n userRowHeights: new Map(),\n reverseType: TableUtils.REVERSE_TYPE.NONE,\n movedColumns: [],\n movedRows: [],\n isSelectingPartition: false,\n partition: null,\n partitionColumn: null,\n queryName,\n rollupConfig: null,\n showSearchBar: false,\n searchValue: '',\n selectedSearchColumns: null,\n invertSearchColumns: true,\n Plugin: null,\n pluginFilters: [],\n pluginFetchColumns: [],\n modelQueue: [],\n pendingDataMap: new Map(),\n\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount() {\n this.initModel();\n }\n\n componentDidUpdate(_, prevState) {\n const { model } = this.state;\n if (model !== prevState.model) {\n if (prevState.model != null) {\n this.stopModelListening(prevState.model);\n prevState.model.close();\n }\n if (model != null) {\n this.startModelListening(model);\n }\n }\n }\n\n componentWillUnmount() {\n this.savePanelState.cancel();\n\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n this.modelPromise = null;\n }\n\n const { model } = this.state;\n if (model) {\n this.stopModelListening(model);\n model.close();\n }\n }\n\n getTableName() {\n const { metadata } = this.props;\n return metadata.table;\n }\n\n getGridInputFilters = memoize((columns, inputFilters) =>\n IrisGridUtils.getInputFiltersForColumns(\n columns,\n // They may have picked a column, but not actually entered a value yet. In that case, don't need to update.\n inputFilters.filter(\n ({ value, excludePanelIds }) =>\n value != null &&\n (excludePanelIds == null ||\n !excludePanelIds.includes(LayoutUtils.getIdFromPanel(this)))\n )\n )\n );\n\n getAlwaysFetchColumns = memoize((dashboardLinks, pluginFetchColumns) => {\n const id = LayoutUtils.getIdFromPanel(this);\n // Always fetch columns which are the start/source of a link or columns specified by a plugin\n const columnSet = new Set(pluginFetchColumns);\n for (let i = 0; i < dashboardLinks.length; i += 1) {\n const { start } = dashboardLinks[i];\n if (start && start.panelId === id) {\n columnSet.add(start.columnName);\n }\n }\n return [...columnSet];\n });\n\n getPluginContent = memoize((Plugin, table, user, workspace) => {\n if (Plugin == null || table == null) {\n return null;\n }\n\n return (\n <div className=\"iris-grid-plugin\">\n <Plugin\n ref={this.pluginRef}\n onFilter={this.handlePluginFilter}\n onFetchColumns={this.handlePluginFetchColumns}\n table={table}\n user={user}\n panel={this}\n workspace={workspace}\n components={PLUGIN_COMPONENTS}\n />\n </div>\n );\n });\n\n getDehydratedIrisGridPanelState = memoize(\n (table, isSelectingPartition, partition, partitionColumn) =>\n IrisGridUtils.dehydrateIrisGridPanelState(table, {\n isSelectingPartition,\n partition,\n partitionColumn,\n })\n );\n\n getDehydratedIrisGridState = memoize(\n (\n table,\n sorts,\n advancedFilters,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n userColumnWidths,\n userRowHeights,\n aggregationSettings,\n advancedSettings,\n pendingDataMap\n ) =>\n IrisGridUtils.dehydrateIrisGridState(table, {\n advancedFilters,\n advancedSettings,\n aggregationSettings,\n customColumnFormatMap,\n isFilterBarShown,\n metrics: {\n userColumnWidths,\n userRowHeights,\n },\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n sorts,\n invertSearchColumns,\n pendingDataMap,\n })\n );\n\n getDehydratedGridState = memoize((table, movedColumns, movedRows) =>\n IrisGridUtils.dehydrateGridState(table, { movedColumns, movedRows })\n );\n\n getCachedPanelState = memoize(\n (irisGridPanelState, irisGridState, gridState) => ({\n irisGridPanelState,\n irisGridState,\n gridState,\n })\n );\n\n initModel() {\n this.setState({ isModelReady: false, isLoading: true, error: null });\n const { makeModel } = this.props;\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n }\n this.modelPromise = PromiseUtils.makeCancelable(\n makeModel(),\n resolved => resolved.close\n );\n this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError);\n }\n\n handleLoadSuccess(modelParam) {\n const model = modelParam;\n const { panelState } = this.props;\n const modelQueue = [];\n\n if (panelState != null) {\n const { irisGridState } = panelState;\n const {\n aggregationSettings,\n customColumns,\n selectDistinctColumns = [],\n rollupConfig,\n } = irisGridState;\n\n if (customColumns.length > 0) {\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.customColumns = customColumns;\n });\n }\n\n if (rollupConfig != null && rollupConfig.columns.length > 0) {\n // originalColumns might change by the time this model queue item is applied.\n // Instead of pushing a static object, push the function\n // that calculates the config based on the updated model state.\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.rollupConfig = IrisGridUtils.getModelRollupConfig(\n m.originalColumns,\n rollupConfig,\n aggregationSettings\n );\n });\n }\n\n if (selectDistinctColumns.length > 0) {\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.selectDistinctColumns = selectDistinctColumns;\n });\n }\n }\n\n this.setState({ model, modelQueue });\n this.initModelQueue(model, modelQueue);\n }\n\n initModelQueue(modelParam, modelQueue) {\n const model = modelParam;\n if (modelQueue.length === 0) {\n this.modelInitialized(model);\n return;\n }\n const modelChange = modelQueue.shift();\n log.debug('initModelQueue', modelChange);\n // Apply next model change. Triggers columnschanged event.\n modelChange(model);\n this.setState({ modelQueue });\n }\n\n handleAdvancedSettingsChange(key, value) {\n log.debug('handleAdvancedSettingsChange', key, value);\n this.setState(({ advancedSettings }) =>\n advancedSettings.get(key) === value\n ? null\n : { advancedSettings: new Map(advancedSettings).set(key, value) }\n );\n }\n\n handlePluginFilter(filters) {\n const { model } = this.state;\n const pluginFilters = IrisGridUtils.getFiltersFromInputFilters(\n model.columns,\n filters\n );\n this.setState({ pluginFilters });\n }\n\n handlePluginFetchColumns(pluginFetchColumns) {\n this.setState({ pluginFetchColumns });\n }\n\n handleContextMenu(data) {\n return this.pluginRef.current?.getMenu?.(data) ?? [];\n }\n\n isColumnSelectionValid(tableColumn) {\n const { columnSelectionValidator } = this.props;\n if (columnSelectionValidator) {\n return columnSelectionValidator(this, tableColumn);\n }\n return false;\n }\n\n handleGridStateChange(irisGridState, gridState) {\n // Grid sends it's first state change after it's finished loading\n this.setState({ isLoaded: true, isLoading: false });\n\n this.savePanelState(irisGridState, gridState);\n\n const { glEventHub, onStateChange } = this.props;\n glEventHub.emit(IrisGridEvent.STATE_CHANGED, this);\n onStateChange(irisGridState, gridState);\n }\n\n handleColumnsChanged(event) {\n const { isModelReady, model, modelQueue } = this.state;\n if (isModelReady) {\n this.sendColumnsChange(event.detail);\n } else {\n this.initModelQueue(model, modelQueue);\n }\n }\n\n handleTableChanged(event) {\n log.debug('handleTableChanged', event);\n const { glEventHub } = this.props;\n const { detail: table } = event;\n glEventHub.emit(InputFilterEvent.TABLE_CHANGED, this, table);\n }\n\n handlePartitionAppend(column, value) {\n const { glEventHub } = this.props;\n const { name } = column;\n const tableName = this.getTableName();\n const command = `${tableName} = ${tableName}.where(\"${name}=\\`${value}\\`\")`;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, false, true);\n }\n\n handleCreateChart(settings, table) {\n // Panel state is stored with the created chart, so flush it first\n this.savePanelState.flush();\n\n this.setState(\n () => null,\n () => {\n const makeModel = () =>\n ChartModelFactory.makeModelFromSettings(settings, table);\n\n const { glEventHub, inputFilters, metadata } = this.props;\n const { querySerial, table: tableName } = metadata;\n const { panelState } = this.state;\n const id = LayoutUtils.getIdFromPanel(this);\n\n const tableSettings = IrisGridUtils.extractTableSettings(\n panelState,\n inputFilters\n );\n const title = ChartUtils.titleFromSettings(settings);\n glEventHub.emit(ChartEvent.OPEN, title, makeModel, {\n querySerial,\n settings: ChartUtils.dehydrateSettings(settings),\n sourcePanelId: id,\n table: tableName,\n tableSettings,\n });\n }\n );\n }\n\n handleColumnSelected(column) {\n const { glEventHub } = this.props;\n glEventHub.emit(IrisGridEvent.COLUMN_SELECTED, this, column);\n }\n\n handleDataSelected(row, dataMap) {\n const { glEventHub } = this.props;\n glEventHub.emit(IrisGridEvent.DATA_SELECTED, this, dataMap);\n }\n\n handleResize() {\n this.updateGrid();\n }\n\n handleShow() {\n this.updateGrid();\n }\n\n handleError(error) {\n log.error(error);\n this.setState({ error, isLoading: false });\n }\n\n handleDisconnect() {\n this.setState({\n error: new Error('Table disconnected'),\n isDisconnected: true,\n isLoading: false,\n });\n }\n\n handleReconnect() {\n this.setState({ isDisconnected: false, error: null });\n }\n\n handleLoadError(error) {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n\n this.handleError(error);\n }\n\n modelInitialized(model) {\n const { glEventHub, loadPlugin } = this.props;\n\n this.modelPromise = null;\n\n // Custom columns at this point already initialized, can load state\n this.loadPanelState(model);\n\n this.setState({ isModelReady: true });\n\n const { table } = model;\n const { pluginName } = table;\n if (loadPlugin && pluginName) {\n const Plugin = loadPlugin(pluginName);\n this.setState({ Plugin });\n }\n glEventHub.emit(InputFilterEvent.TABLE_CHANGED, this, table);\n\n this.sendColumnsChange(model.columns);\n }\n\n handleClearAllFilters() {\n const irisGrid = this.irisGrid.current;\n const { isDisconnected } = this.state;\n if (irisGrid != null && !isDisconnected) {\n irisGrid.clearAllFilters();\n }\n }\n\n sendColumnsChange(columns) {\n log.debug2('sendColumnsChange', columns);\n const { glEventHub } = this.props;\n glEventHub.emit(InputFilterEvent.COLUMNS_CHANGED, this, columns);\n }\n\n startModelListening(model) {\n model.addEventListener(\n IrisGridModel.EVENT.DISCONNECT,\n this.handleDisconnect\n );\n model.addEventListener(IrisGridModel.EVENT.RECONNECT, this.handleReconnect);\n model.addEventListener(\n IrisGridModel.EVENT.COLUMNS_CHANGED,\n this.handleColumnsChanged\n );\n model.addEventListener(\n IrisGridModel.EVENT.TABLE_CHANGED,\n this.handleTableChanged\n );\n }\n\n stopModelListening(model) {\n model.removeEventListener(\n IrisGridModel.EVENT.DISCONNECT,\n this.handleDisconnect\n );\n model.removeEventListener(\n IrisGridModel.EVENT.RECONNECT,\n this.handleReconnect\n );\n model.removeEventListener(\n IrisGridModel.EVENT.COLUMNS_CHANGED,\n this.handleColumnsChanged\n );\n model.removeEventListener(\n IrisGridModel.EVENT.TABLE_CHANGED,\n this.handleTableChanged\n );\n }\n\n getCoordinateForColumn(columnName) {\n const { model } = this.state;\n if (!model) {\n return null;\n }\n\n const irisGrid = this.irisGrid.current;\n const { gridWrapper } = irisGrid || {};\n const rect = gridWrapper?.getBoundingClientRect() ?? null;\n if (rect == null || rect.width <= 0 || rect.height <= 0) {\n return null;\n }\n\n const { metrics } = irisGrid.state;\n const {\n columnHeaderHeight,\n visibleColumnXs,\n visibleColumnWidths,\n right,\n } = metrics;\n const column = model.columns.find(c => c.name === columnName);\n const visibleIndex = irisGrid.getVisibleColumn(column.index);\n const columnX = visibleColumnXs.get(visibleIndex) || 0;\n const columnWidth = visibleColumnWidths.get(visibleIndex) || 0;\n\n const x = Math.max(\n rect.left,\n Math.min(\n visibleIndex > right\n ? rect.right\n : rect.left + columnX + columnWidth * 0.5,\n rect.right\n )\n );\n const y = rect.top + columnHeaderHeight;\n\n return [x, y];\n }\n\n setFilterMap(filterMap) {\n const irisGrid = this.irisGrid.current;\n if (irisGrid != null) {\n irisGrid.setFilterMap(filterMap);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n unsetFilterValue() {\n // IrisGridPanel retains the set value after the link is broken\n }\n\n loadPanelState(model) {\n const { table } = model;\n const { panelState } = this.props;\n if (panelState == null) {\n return;\n }\n\n try {\n const { gridState, irisGridState, irisGridPanelState } = panelState;\n const {\n isSelectingPartition,\n partition,\n partitionColumn,\n } = IrisGridUtils.hydrateIrisGridPanelState(table, irisGridPanelState);\n const {\n advancedFilters,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n reverseType,\n rollupConfig,\n aggregationSettings,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n pendingDataMap,\n } = IrisGridUtils.hydrateIrisGridState(table, irisGridState);\n const { movedColumns, movedRows } = IrisGridUtils.hydrateGridState(\n table,\n gridState,\n irisGridState.customColumns\n );\n this.setState({\n advancedFilters,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n isFilterBarShown,\n isSelectingPartition,\n movedColumns,\n movedRows,\n partition,\n partitionColumn,\n quickFilters,\n reverseType,\n rollupConfig,\n aggregationSettings,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n pendingDataMap,\n });\n } catch (error) {\n log.error('loadPanelState failed to load panelState', panelState, error);\n }\n }\n\n savePanelState(irisGridState, gridState) {\n const { onPanelStateUpdate } = this.props;\n const {\n model,\n panelState: oldPanelState,\n isSelectingPartition,\n partition,\n partitionColumn,\n advancedSettings,\n } = this.state;\n const {\n advancedFilters,\n aggregationSettings,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n sorts,\n invertSearchColumns,\n metrics,\n pendingDataMap,\n } = irisGridState;\n const { userColumnWidths, userRowHeights } = metrics;\n const { movedColumns, movedRows } = gridState;\n\n const { table } = model;\n\n const panelState = this.getCachedPanelState(\n this.getDehydratedIrisGridPanelState(\n table,\n isSelectingPartition,\n partition,\n partitionColumn\n ),\n this.getDehydratedIrisGridState(\n table,\n sorts,\n advancedFilters,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n userColumnWidths,\n userRowHeights,\n aggregationSettings,\n advancedSettings,\n pendingDataMap\n ),\n this.getDehydratedGridState(table, movedColumns, movedRows)\n );\n\n if (panelState !== oldPanelState) {\n log.debug('Saving panel state', this, panelState);\n\n this.setState({ panelState });\n onPanelStateUpdate(panelState);\n }\n }\n\n updateGrid() {\n const grid = this.irisGrid.current?.grid ?? null;\n if (!grid) return;\n\n // handle resize will verify state and draw and update\n grid.handleResize();\n }\n\n render() {\n const {\n children,\n glContainer,\n glEventHub,\n columnSelectionValidator,\n getDownloadWorker,\n inputFilters,\n links,\n metadata,\n panelState,\n user,\n workspace,\n } = this.props;\n const {\n advancedFilters,\n aggregationSettings,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n error,\n isDisconnected,\n isFilterBarShown,\n isSelectingPartition,\n isLoaded,\n isLoading,\n isModelReady,\n model,\n movedColumns,\n movedRows,\n partition,\n partitionColumn,\n queryName,\n quickFilters,\n reverseType,\n rollupConfig,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n Plugin,\n pluginFilters,\n pluginFetchColumns,\n pendingDataMap,\n } = this.state;\n const errorMessage = error ? `Unable to open table. ${error}` : null;\n const { table: name, querySerial } = metadata;\n const description = model?.description ?? null;\n const childrenContent =\n children ?? this.getPluginContent(Plugin, model?.table, user, workspace);\n\n return (\n <WidgetPanel\n errorMessage={errorMessage}\n isDisconnected={isDisconnected}\n isLoading={isLoading}\n isLoaded={isLoaded}\n className=\"iris-grid-panel\"\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={this.handleClearAllFilters}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleShow}\n queryName={queryName}\n querySerial={querySerial}\n widgetName={name}\n widgetType=\"Table\"\n description={description}\n componentPanel={this}\n >\n {isModelReady && (\n <IrisGrid\n advancedFilters={advancedFilters}\n aggregationSettings={aggregationSettings}\n advancedSettings={advancedSettings}\n alwaysFetchColumns={this.getAlwaysFetchColumns(\n links,\n pluginFetchColumns\n )}\n columnAllowedCursor=\"linker\"\n columnNotAllowedCursor=\"not-allowed\"\n customColumns={customColumns}\n customColumnFormatMap={customColumnFormatMap}\n columnSelectionValidator={this.isColumnSelectionValid}\n inputFilters={this.getGridInputFilters(model.columns, inputFilters)}\n applyInputFiltersOnInit={panelState == null}\n isFilterBarShown={isFilterBarShown}\n isSelectingColumn={columnSelectionValidator != null}\n isSelectingPartition={isSelectingPartition}\n movedColumns={movedColumns}\n movedRows={movedRows}\n partition={partition}\n partitionColumn={partitionColumn}\n quickFilters={quickFilters}\n reverseType={reverseType}\n rollupConfig={rollupConfig}\n sorts={sorts}\n userColumnWidths={userColumnWidths}\n userRowHeights={userRowHeights}\n model={model}\n tableName={name}\n showSearchBar={showSearchBar}\n searchValue={searchValue}\n selectedSearchColumns={selectedSearchColumns}\n selectDistinctColumns={selectDistinctColumns}\n invertSearchColumns={invertSearchColumns}\n onColumnSelected={this.handleColumnSelected}\n onCreateChart={this.handleCreateChart}\n onDataSelected={this.handleDataSelected}\n onError={this.handleError}\n onPartitionAppend={this.handlePartitionAppend}\n onStateChange={this.handleGridStateChange}\n onContextMenu={this.handleContextMenu}\n onAdvancedSettingsChange={this.handleAdvancedSettingsChange}\n customFilters={pluginFilters}\n pendingDataMap={pendingDataMap}\n ref={this.irisGrid}\n getDownloadWorker={getDownloadWorker}\n >\n {childrenContent}\n </IrisGrid>\n )}\n\n {!isModelReady && <></>}\n </WidgetPanel>\n );\n }\n}\n\nIrisGridPanel.propTypes = {\n children: PropTypes.node,\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n metadata: PropTypes.shape({\n table: PropTypes.string.isRequired,\n query: PropTypes.string,\n querySerial: PropTypes.string,\n }).isRequired,\n panelState: PropTypes.shape({\n gridState: PropTypes.shape({}),\n irisGridState: PropTypes.shape({\n aggregationSettings: PropTypes.shape({}),\n customColumns: PropTypes.arrayOf(PropTypes.string),\n selectDistinctColumns: PropTypes.arrayOf(PropTypes.string),\n rollupConfig: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.string).isRequired,\n }),\n pendingDataMap: PropTypes.arrayOf(PropTypes.array),\n }),\n irisGridPanelState: PropTypes.shape({}),\n }),\n makeModel: PropTypes.func.isRequired,\n inputFilters: PropTypes.arrayOf(UIPropTypes.InputFilter).isRequired,\n links: UIPropTypes.Links.isRequired,\n columnSelectionValidator: PropTypes.func,\n onStateChange: PropTypes.func,\n onPanelStateUpdate: PropTypes.func,\n user: APIPropTypes.User.isRequired,\n workspace: PropTypes.shape({}).isRequired,\n\n // Retrieve a download worker for optimizing exporting tables\n getDownloadWorker: PropTypes.func,\n\n // Load a plugin defined by the table\n loadPlugin: PropTypes.func,\n};\n\nIrisGridPanel.defaultProps = {\n children: null,\n panelState: null,\n columnSelectionValidator: null,\n onStateChange: () => {},\n onPanelStateUpdate: () => {},\n getDownloadWorker: undefined,\n loadPlugin: undefined,\n};\n\nIrisGridPanel.displayName = 'IrisGridPanel';\n\nconst mapStateToProps = (state, ownProps) => {\n const { localDashboardId } = ownProps;\n return {\n inputFilters: getInputFiltersForDashboard(state, localDashboardId),\n links: getLinksForDashboard(state, localDashboardId),\n columnSelectionValidator: getColumnSelectionValidatorForDashboard(\n state,\n localDashboardId\n ),\n user: getUser(state),\n workspace: getWorkspace(state),\n };\n};\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n IrisGridPanel\n);\n"],"file":"IrisGridPanel.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/panels/IrisGridPanel.jsx"],"names":["React","PureComponent","memoize","PropTypes","connect","debounce","ChartModelFactory","ChartUtils","GLPropTypes","LayoutUtils","IrisGrid","IrisGridModel","IrisGridUtils","IrisGridTableModel","TableUtils","AdvancedSettings","APIPropTypes","Log","getSettings","getUser","getWorkspace","PromiseUtils","ContextMenuRoot","ChartEvent","ConsoleEvent","InputFilterEvent","IrisGridEvent","getInputFiltersForDashboard","getLinksForDashboard","getColumnSelectionValidatorForDashboard","UIPropTypes","WidgetPanel","log","module","DEBOUNCE_PANEL_STATE_UPDATE","PLUGIN_COMPONENTS","IrisGridPanel","constructor","props","columns","inputFilters","getInputFiltersForColumns","filter","value","excludePanelIds","includes","getIdFromPanel","dashboardLinks","pluginFetchColumns","id","columnSet","Set","i","length","start","panelId","add","columnName","Plugin","table","user","workspace","pluginRef","handlePluginFilter","handlePluginFetchColumns","model","isSelectingPartition","partition","partitionColumn","dehydrateIrisGridPanelState","sorts","advancedFilters","customColumnFormatMap","isFilterBarShown","quickFilters","customColumns","reverseType","rollupConfig","showSearchBar","searchValue","selectDistinctColumns","selectedSearchColumns","invertSearchColumns","userColumnWidths","userRowHeights","aggregationSettings","advancedSettings","pendingDataMap","dehydrateIrisGridState","metrics","movedColumns","movedRows","dehydrateGridState","irisGridPanelState","irisGridState","gridState","savePanelState","bind","handleAdvancedSettingsChange","handleColumnsChanged","handleTableChanged","handleColumnSelected","handleDataSelected","handleError","handleGridStateChange","handlePartitionAppend","handleCreateChart","handleResize","handleShow","handleDisconnect","handleReconnect","handleLoadSuccess","handleLoadError","isColumnSelectionValid","handleContextMenu","handleClearAllFilters","irisGrid","createRef","modelPromise","panelState","metadata","queryName","query","state","error","isDisconnected","isLoaded","isLoading","isModelReady","Map","aggregations","showOnTop","DEFAULTS","REVERSE_TYPE","NONE","pluginFilters","modelQueue","componentDidMount","initModel","componentDidUpdate","_","prevState","stopModelListening","close","startModelListening","componentWillUnmount","cancel","getTableName","setState","makeModel","makeCancelable","resolved","then","catch","modelParam","push","m","getModelRollupConfig","originalColumns","initModelQueue","modelInitialized","modelChange","shift","debug","key","get","set","filters","formatter","getFiltersFromInputFilters","timeZone","data","current","getMenu","tableColumn","columnSelectionValidator","glEventHub","onStateChange","emit","STATE_CHANGED","event","sendColumnsChange","detail","TABLE_CHANGED","column","name","tableName","command","SEND_COMMAND","settings","flush","makeModelFromSettings","querySerial","tableSettings","extractTableSettings","title","titleFromSettings","OPEN","dehydrateSettings","sourcePanelId","COLUMN_SELECTED","row","dataMap","DATA_SELECTED","updateGrid","Error","isCanceled","loadPlugin","loadPanelState","pluginName","clearAllFilters","debug2","COLUMNS_CHANGED","addEventListener","EVENT","DISCONNECT","RECONNECT","removeEventListener","getCoordinateForColumn","gridWrapper","rect","getBoundingClientRect","width","height","columnHeaderHeight","visibleColumnXs","visibleColumnWidths","right","visibleIndex","getVisibleColumn","getColumnIndexByName","columnX","columnWidth","x","Math","max","left","min","y","top","setFilterMap","filterMap","setAdvancedFilterMap","setFilters","hydrateQuickFilters","hydrateAdvancedFilters","unsetFilterValue","hydrateIrisGridPanelState","hydrateIrisGridState","hydrateGridState","onPanelStateUpdate","oldPanelState","getCachedPanelState","getDehydratedIrisGridPanelState","getDehydratedIrisGridState","getDehydratedGridState","grid","render","children","glContainer","getDownloadWorker","links","errorMessage","description","childrenContent","getPluginContent","getAlwaysFetchColumns","getGridInputFilters","propTypes","node","Container","isRequired","EventHub","shape","string","arrayOf","array","func","InputFilter","Links","User","defaultProps","undefined","displayName","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["// Wrapper for the IrisGrid for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent } from 'react';\nimport memoize from 'memoize-one';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport debounce from 'lodash.debounce';\nimport { ChartModelFactory, ChartUtils } from '@deephaven/chart';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport {\n IrisGrid,\n IrisGridModel,\n IrisGridUtils,\n IrisGridTableModel,\n TableUtils,\n} from '@deephaven/iris-grid';\nimport AdvancedSettings from '@deephaven/iris-grid/dist/sidebar/AdvancedSettings';\nimport { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { getSettings, getUser, getWorkspace } from '@deephaven/redux';\nimport { PromiseUtils } from '@deephaven/utils';\nimport { ContextMenuRoot } from '@deephaven/components';\nimport {\n ChartEvent,\n ConsoleEvent,\n InputFilterEvent,\n IrisGridEvent,\n} from '../events';\nimport {\n getInputFiltersForDashboard,\n getLinksForDashboard,\n getColumnSelectionValidatorForDashboard,\n} from '../redux';\nimport { UIPropTypes } from '../prop-types';\nimport WidgetPanel from './WidgetPanel';\nimport './IrisGridPanel.scss';\n\nconst log = Log.module('IrisGridPanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst PLUGIN_COMPONENTS = { IrisGrid, IrisGridTableModel, ContextMenuRoot };\n\nexport class IrisGridPanel extends PureComponent {\n static COMPONENT = 'IrisGridPanel';\n\n constructor(props) {\n super(props);\n\n this.savePanelState = debounce(\n this.savePanelState.bind(this),\n DEBOUNCE_PANEL_STATE_UPDATE\n );\n\n this.handleAdvancedSettingsChange = this.handleAdvancedSettingsChange.bind(\n this\n );\n this.handleColumnsChanged = this.handleColumnsChanged.bind(this);\n this.handleTableChanged = this.handleTableChanged.bind(this);\n this.handleColumnSelected = this.handleColumnSelected.bind(this);\n this.handleDataSelected = this.handleDataSelected.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleGridStateChange = this.handleGridStateChange.bind(this);\n this.handlePartitionAppend = this.handlePartitionAppend.bind(this);\n this.handleCreateChart = this.handleCreateChart.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleDisconnect = this.handleDisconnect.bind(this);\n this.handleReconnect = this.handleReconnect.bind(this);\n this.handleLoadSuccess = this.handleLoadSuccess.bind(this);\n this.handleLoadError = this.handleLoadError.bind(this);\n this.isColumnSelectionValid = this.isColumnSelectionValid.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n this.handlePluginFilter = this.handlePluginFilter.bind(this);\n this.handlePluginFetchColumns = this.handlePluginFetchColumns.bind(this);\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n\n this.irisGrid = React.createRef();\n this.pluginRef = React.createRef();\n this.modelPromise = null;\n\n const { panelState, metadata } = props;\n const queryName = metadata.query;\n\n this.state = {\n error: null,\n isDisconnected: false,\n isLoaded: false,\n isLoading: true,\n isModelReady: false,\n model: null,\n\n // State is hydrated from panel state when table is loaded\n advancedFilters: new Map(),\n aggregationSettings: { aggregations: [], showOnTop: false },\n advancedSettings: new Map(AdvancedSettings.DEFAULTS),\n customColumns: [],\n customColumnFormatMap: new Map(),\n isFilterBarShown: false,\n quickFilters: new Map(),\n sorts: [],\n userColumnWidths: new Map(),\n userRowHeights: new Map(),\n reverseType: TableUtils.REVERSE_TYPE.NONE,\n movedColumns: [],\n movedRows: [],\n isSelectingPartition: false,\n partition: null,\n partitionColumn: null,\n queryName,\n rollupConfig: null,\n showSearchBar: false,\n searchValue: '',\n selectedSearchColumns: null,\n invertSearchColumns: true,\n Plugin: null,\n pluginFilters: [],\n pluginFetchColumns: [],\n modelQueue: [],\n pendingDataMap: new Map(),\n\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount() {\n this.initModel();\n }\n\n componentDidUpdate(_, prevState) {\n const { model } = this.state;\n if (model !== prevState.model) {\n if (prevState.model != null) {\n this.stopModelListening(prevState.model);\n prevState.model.close();\n }\n if (model != null) {\n this.startModelListening(model);\n }\n }\n }\n\n componentWillUnmount() {\n this.savePanelState.cancel();\n\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n this.modelPromise = null;\n }\n\n const { model } = this.state;\n if (model) {\n this.stopModelListening(model);\n model.close();\n }\n }\n\n getTableName() {\n const { metadata } = this.props;\n return metadata.table;\n }\n\n getGridInputFilters = memoize((columns, inputFilters) =>\n IrisGridUtils.getInputFiltersForColumns(\n columns,\n // They may have picked a column, but not actually entered a value yet. In that case, don't need to update.\n inputFilters.filter(\n ({ value, excludePanelIds }) =>\n value != null &&\n (excludePanelIds == null ||\n !excludePanelIds.includes(LayoutUtils.getIdFromPanel(this)))\n )\n )\n );\n\n getAlwaysFetchColumns = memoize((dashboardLinks, pluginFetchColumns) => {\n const id = LayoutUtils.getIdFromPanel(this);\n // Always fetch columns which are the start/source of a link or columns specified by a plugin\n const columnSet = new Set(pluginFetchColumns);\n for (let i = 0; i < dashboardLinks.length; i += 1) {\n const { start } = dashboardLinks[i];\n if (start && start.panelId === id) {\n columnSet.add(start.columnName);\n }\n }\n return [...columnSet];\n });\n\n getPluginContent = memoize((Plugin, table, user, workspace) => {\n if (Plugin == null || table == null) {\n return null;\n }\n\n return (\n <div className=\"iris-grid-plugin\">\n <Plugin\n ref={this.pluginRef}\n onFilter={this.handlePluginFilter}\n onFetchColumns={this.handlePluginFetchColumns}\n table={table}\n user={user}\n panel={this}\n workspace={workspace}\n components={PLUGIN_COMPONENTS}\n />\n </div>\n );\n });\n\n getDehydratedIrisGridPanelState = memoize(\n (model, isSelectingPartition, partition, partitionColumn) =>\n IrisGridUtils.dehydrateIrisGridPanelState(model, {\n isSelectingPartition,\n partition,\n partitionColumn,\n })\n );\n\n getDehydratedIrisGridState = memoize(\n (\n model,\n sorts,\n advancedFilters,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n userColumnWidths,\n userRowHeights,\n aggregationSettings,\n advancedSettings,\n pendingDataMap\n ) =>\n IrisGridUtils.dehydrateIrisGridState(model, {\n advancedFilters,\n advancedSettings,\n aggregationSettings,\n customColumnFormatMap,\n isFilterBarShown,\n metrics: {\n userColumnWidths,\n userRowHeights,\n },\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n sorts,\n invertSearchColumns,\n pendingDataMap,\n })\n );\n\n getDehydratedGridState = memoize((model, movedColumns, movedRows) =>\n IrisGridUtils.dehydrateGridState(model, { movedColumns, movedRows })\n );\n\n getCachedPanelState = memoize(\n (irisGridPanelState, irisGridState, gridState) => ({\n irisGridPanelState,\n irisGridState,\n gridState,\n })\n );\n\n initModel() {\n this.setState({ isModelReady: false, isLoading: true, error: null });\n const { makeModel } = this.props;\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n }\n this.modelPromise = PromiseUtils.makeCancelable(\n makeModel(),\n resolved => resolved.close\n );\n this.modelPromise.then(this.handleLoadSuccess).catch(this.handleLoadError);\n }\n\n handleLoadSuccess(modelParam) {\n const model = modelParam;\n const { panelState } = this.props;\n const modelQueue = [];\n\n if (panelState != null) {\n const { irisGridState } = panelState;\n const {\n aggregationSettings,\n customColumns,\n selectDistinctColumns = [],\n rollupConfig,\n } = irisGridState;\n\n if (customColumns.length > 0) {\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.customColumns = customColumns;\n });\n }\n\n if (rollupConfig != null && rollupConfig.columns.length > 0) {\n // originalColumns might change by the time this model queue item is applied.\n // Instead of pushing a static object, push the function\n // that calculates the config based on the updated model state.\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.rollupConfig = IrisGridUtils.getModelRollupConfig(\n m.originalColumns,\n rollupConfig,\n aggregationSettings\n );\n });\n }\n\n if (selectDistinctColumns.length > 0) {\n modelQueue.push(m => {\n // eslint-disable-next-line no-param-reassign\n m.selectDistinctColumns = selectDistinctColumns;\n });\n }\n }\n\n this.setState({ model, modelQueue });\n this.initModelQueue(model, modelQueue);\n }\n\n initModelQueue(modelParam, modelQueue) {\n const model = modelParam;\n if (modelQueue.length === 0) {\n this.modelInitialized(model);\n return;\n }\n const modelChange = modelQueue.shift();\n log.debug('initModelQueue', modelChange);\n // Apply next model change. Triggers columnschanged event.\n modelChange(model);\n this.setState({ modelQueue });\n }\n\n handleAdvancedSettingsChange(key, value) {\n log.debug('handleAdvancedSettingsChange', key, value);\n this.setState(({ advancedSettings }) =>\n advancedSettings.get(key) === value\n ? null\n : { advancedSettings: new Map(advancedSettings).set(key, value) }\n );\n }\n\n handlePluginFilter(filters) {\n const { model } = this.state;\n const { columns, formatter } = model;\n const pluginFilters = IrisGridUtils.getFiltersFromInputFilters(\n columns,\n filters,\n formatter.timeZone\n );\n this.setState({ pluginFilters });\n }\n\n handlePluginFetchColumns(pluginFetchColumns) {\n this.setState({ pluginFetchColumns });\n }\n\n handleContextMenu(data) {\n return this.pluginRef.current?.getMenu?.(data) ?? [];\n }\n\n isColumnSelectionValid(tableColumn) {\n const { columnSelectionValidator } = this.props;\n if (columnSelectionValidator) {\n return columnSelectionValidator(this, tableColumn);\n }\n return false;\n }\n\n handleGridStateChange(irisGridState, gridState) {\n // Grid sends it's first state change after it's finished loading\n this.setState({ isLoaded: true, isLoading: false });\n\n this.savePanelState(irisGridState, gridState);\n\n const { glEventHub, onStateChange } = this.props;\n glEventHub.emit(IrisGridEvent.STATE_CHANGED, this);\n onStateChange(irisGridState, gridState);\n }\n\n handleColumnsChanged(event) {\n const { isModelReady, model, modelQueue } = this.state;\n if (isModelReady) {\n this.sendColumnsChange(event.detail);\n } else {\n this.initModelQueue(model, modelQueue);\n }\n }\n\n handleTableChanged(event) {\n log.debug('handleTableChanged', event);\n const { glEventHub } = this.props;\n const { detail: table } = event;\n glEventHub.emit(InputFilterEvent.TABLE_CHANGED, this, table);\n }\n\n handlePartitionAppend(column, value) {\n const { glEventHub } = this.props;\n const { name } = column;\n const tableName = this.getTableName();\n const command = `${tableName} = ${tableName}.where(\"${name}=\\`${value}\\`\")`;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, false, true);\n }\n\n handleCreateChart(settings, table) {\n // Panel state is stored with the created chart, so flush it first\n this.savePanelState.flush();\n\n this.setState(\n () => null,\n () => {\n const makeModel = () =>\n ChartModelFactory.makeModelFromSettings(settings, table);\n\n const { glEventHub, inputFilters, metadata } = this.props;\n const { querySerial, table: tableName } = metadata;\n const { panelState } = this.state;\n const id = LayoutUtils.getIdFromPanel(this);\n\n const tableSettings = IrisGridUtils.extractTableSettings(\n panelState,\n inputFilters\n );\n const title = ChartUtils.titleFromSettings(settings);\n glEventHub.emit(ChartEvent.OPEN, title, makeModel, {\n querySerial,\n settings: ChartUtils.dehydrateSettings(settings),\n sourcePanelId: id,\n table: tableName,\n tableSettings,\n });\n }\n );\n }\n\n handleColumnSelected(column) {\n const { glEventHub } = this.props;\n glEventHub.emit(IrisGridEvent.COLUMN_SELECTED, this, column);\n }\n\n handleDataSelected(row, dataMap) {\n const { glEventHub } = this.props;\n glEventHub.emit(IrisGridEvent.DATA_SELECTED, this, dataMap);\n }\n\n handleResize() {\n this.updateGrid();\n }\n\n handleShow() {\n this.updateGrid();\n }\n\n handleError(error) {\n log.error(error);\n this.setState({ error, isLoading: false });\n }\n\n handleDisconnect() {\n this.setState({\n error: new Error('Table disconnected'),\n isDisconnected: true,\n isLoading: false,\n });\n }\n\n handleReconnect() {\n this.setState({ isDisconnected: false, error: null });\n }\n\n handleLoadError(error) {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n\n this.handleError(error);\n }\n\n modelInitialized(model) {\n const { glEventHub, loadPlugin } = this.props;\n\n this.modelPromise = null;\n\n // Custom columns at this point already initialized, can load state\n this.loadPanelState(model);\n\n this.setState({ isModelReady: true });\n\n const { table } = model;\n const { pluginName } = table;\n if (loadPlugin && pluginName) {\n const Plugin = loadPlugin(pluginName);\n this.setState({ Plugin });\n }\n glEventHub.emit(InputFilterEvent.TABLE_CHANGED, this, table);\n\n this.sendColumnsChange(model.columns);\n }\n\n handleClearAllFilters() {\n const irisGrid = this.irisGrid.current;\n const { isDisconnected } = this.state;\n if (irisGrid != null && !isDisconnected) {\n irisGrid.clearAllFilters();\n }\n }\n\n sendColumnsChange(columns) {\n log.debug2('sendColumnsChange', columns);\n const { glEventHub } = this.props;\n glEventHub.emit(InputFilterEvent.COLUMNS_CHANGED, this, columns);\n }\n\n startModelListening(model) {\n model.addEventListener(\n IrisGridModel.EVENT.DISCONNECT,\n this.handleDisconnect\n );\n model.addEventListener(IrisGridModel.EVENT.RECONNECT, this.handleReconnect);\n model.addEventListener(\n IrisGridModel.EVENT.COLUMNS_CHANGED,\n this.handleColumnsChanged\n );\n model.addEventListener(\n IrisGridModel.EVENT.TABLE_CHANGED,\n this.handleTableChanged\n );\n }\n\n stopModelListening(model) {\n model.removeEventListener(\n IrisGridModel.EVENT.DISCONNECT,\n this.handleDisconnect\n );\n model.removeEventListener(\n IrisGridModel.EVENT.RECONNECT,\n this.handleReconnect\n );\n model.removeEventListener(\n IrisGridModel.EVENT.COLUMNS_CHANGED,\n this.handleColumnsChanged\n );\n model.removeEventListener(\n IrisGridModel.EVENT.TABLE_CHANGED,\n this.handleTableChanged\n );\n }\n\n getCoordinateForColumn(columnName) {\n const { model } = this.state;\n if (!model) {\n return null;\n }\n\n const irisGrid = this.irisGrid.current;\n const { gridWrapper } = irisGrid || {};\n const rect = gridWrapper?.getBoundingClientRect() ?? null;\n if (rect == null || rect.width <= 0 || rect.height <= 0) {\n return null;\n }\n\n const { metrics } = irisGrid.state;\n const {\n columnHeaderHeight,\n visibleColumnXs,\n visibleColumnWidths,\n right,\n } = metrics;\n const visibleIndex = irisGrid.getVisibleColumn(\n model.getColumnIndexByName(columnName)\n );\n const columnX = visibleColumnXs.get(visibleIndex) || 0;\n const columnWidth = visibleColumnWidths.get(visibleIndex) || 0;\n\n const x = Math.max(\n rect.left,\n Math.min(\n visibleIndex > right\n ? rect.right\n : rect.left + columnX + columnWidth * 0.5,\n rect.right\n )\n );\n const y = rect.top + columnHeaderHeight;\n\n return [x, y];\n }\n\n setFilterMap(filterMap) {\n const irisGrid = this.irisGrid.current;\n if (irisGrid != null) {\n irisGrid.setFilterMap(filterMap);\n }\n }\n\n setAdvancedFilterMap(filterMap) {\n const irisGrid = this.irisGrid.current;\n if (irisGrid != null) {\n irisGrid.setAdvancedFilterMap(filterMap);\n }\n }\n\n setFilters({ quickFilters, advancedFilters }) {\n const irisGrid = this.irisGrid.current;\n const { model, isDisconnected } = this.state;\n if (irisGrid != null && !isDisconnected) {\n irisGrid.clearAllFilters();\n irisGrid.setFilters({\n quickFilters: IrisGridUtils.hydrateQuickFilters(model, quickFilters),\n advancedFilters: IrisGridUtils.hydrateAdvancedFilters(\n model,\n advancedFilters\n ),\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n unsetFilterValue() {\n // IrisGridPanel retains the set value after the link is broken\n }\n\n loadPanelState(model) {\n const { panelState } = this.props;\n if (panelState == null) {\n return;\n }\n\n try {\n const { gridState, irisGridState, irisGridPanelState } = panelState;\n const {\n isSelectingPartition,\n partition,\n partitionColumn,\n } = IrisGridUtils.hydrateIrisGridPanelState(model, irisGridPanelState);\n const {\n advancedFilters,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n reverseType,\n rollupConfig,\n aggregationSettings,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n pendingDataMap,\n } = IrisGridUtils.hydrateIrisGridState(model, irisGridState);\n const { movedColumns, movedRows } = IrisGridUtils.hydrateGridState(\n model,\n gridState,\n irisGridState.customColumns\n );\n this.setState({\n advancedFilters,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n isFilterBarShown,\n isSelectingPartition,\n movedColumns,\n movedRows,\n partition,\n partitionColumn,\n quickFilters,\n reverseType,\n rollupConfig,\n aggregationSettings,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n pendingDataMap,\n });\n } catch (error) {\n log.error('loadPanelState failed to load panelState', panelState, error);\n }\n }\n\n savePanelState(irisGridState, gridState) {\n const { onPanelStateUpdate } = this.props;\n const {\n model,\n panelState: oldPanelState,\n isSelectingPartition,\n partition,\n partitionColumn,\n advancedSettings,\n } = this.state;\n const {\n advancedFilters,\n aggregationSettings,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n sorts,\n invertSearchColumns,\n metrics,\n pendingDataMap,\n } = irisGridState;\n const { userColumnWidths, userRowHeights } = metrics;\n const { movedColumns, movedRows } = gridState;\n\n const panelState = this.getCachedPanelState(\n this.getDehydratedIrisGridPanelState(\n model,\n isSelectingPartition,\n partition,\n partitionColumn\n ),\n this.getDehydratedIrisGridState(\n model,\n sorts,\n advancedFilters,\n customColumnFormatMap,\n isFilterBarShown,\n quickFilters,\n customColumns,\n reverseType,\n rollupConfig,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n userColumnWidths,\n userRowHeights,\n aggregationSettings,\n advancedSettings,\n pendingDataMap\n ),\n this.getDehydratedGridState(model, movedColumns, movedRows)\n );\n\n if (panelState !== oldPanelState) {\n log.debug('Saving panel state', this, panelState);\n\n this.setState({ panelState });\n onPanelStateUpdate(panelState);\n }\n }\n\n updateGrid() {\n const grid = this.irisGrid.current?.grid ?? null;\n if (!grid) return;\n\n // handle resize will verify state and draw and update\n grid.handleResize();\n }\n\n render() {\n const {\n children,\n glContainer,\n glEventHub,\n columnSelectionValidator,\n getDownloadWorker,\n inputFilters,\n links,\n metadata,\n panelState,\n user,\n workspace,\n settings,\n } = this.props;\n const {\n advancedFilters,\n aggregationSettings,\n advancedSettings,\n customColumns,\n customColumnFormatMap,\n error,\n isDisconnected,\n isFilterBarShown,\n isSelectingPartition,\n isLoaded,\n isLoading,\n isModelReady,\n model,\n movedColumns,\n movedRows,\n partition,\n partitionColumn,\n queryName,\n quickFilters,\n reverseType,\n rollupConfig,\n sorts,\n userColumnWidths,\n userRowHeights,\n showSearchBar,\n searchValue,\n selectDistinctColumns,\n selectedSearchColumns,\n invertSearchColumns,\n Plugin,\n pluginFilters,\n pluginFetchColumns,\n pendingDataMap,\n } = this.state;\n const errorMessage = error ? `Unable to open table. ${error}` : null;\n const { table: name, querySerial } = metadata;\n const description = model?.description ?? null;\n const childrenContent =\n children ?? this.getPluginContent(Plugin, model?.table, user, workspace);\n\n return (\n <WidgetPanel\n errorMessage={errorMessage}\n isDisconnected={isDisconnected}\n isLoading={isLoading}\n isLoaded={isLoaded}\n className=\"iris-grid-panel\"\n glContainer={glContainer}\n glEventHub={glEventHub}\n onClearAllFilters={this.handleClearAllFilters}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleShow}\n queryName={queryName}\n querySerial={querySerial}\n widgetName={name}\n widgetType=\"Table\"\n description={description}\n componentPanel={this}\n >\n {isModelReady && (\n <IrisGrid\n advancedFilters={advancedFilters}\n aggregationSettings={aggregationSettings}\n advancedSettings={advancedSettings}\n alwaysFetchColumns={this.getAlwaysFetchColumns(\n links,\n pluginFetchColumns\n )}\n columnAllowedCursor=\"linker\"\n columnNotAllowedCursor=\"not-allowed\"\n customColumns={customColumns}\n customColumnFormatMap={customColumnFormatMap}\n columnSelectionValidator={this.isColumnSelectionValid}\n inputFilters={this.getGridInputFilters(model.columns, inputFilters)}\n applyInputFiltersOnInit={panelState == null}\n isFilterBarShown={isFilterBarShown}\n isSelectingColumn={columnSelectionValidator != null}\n isSelectingPartition={isSelectingPartition}\n movedColumns={movedColumns}\n movedRows={movedRows}\n partition={partition}\n partitionColumn={partitionColumn}\n quickFilters={quickFilters}\n reverseType={reverseType}\n rollupConfig={rollupConfig}\n settings={settings}\n sorts={sorts}\n userColumnWidths={userColumnWidths}\n userRowHeights={userRowHeights}\n model={model}\n tableName={name}\n showSearchBar={showSearchBar}\n searchValue={searchValue}\n selectedSearchColumns={selectedSearchColumns}\n selectDistinctColumns={selectDistinctColumns}\n invertSearchColumns={invertSearchColumns}\n onColumnSelected={this.handleColumnSelected}\n onCreateChart={this.handleCreateChart}\n onDataSelected={this.handleDataSelected}\n onError={this.handleError}\n onPartitionAppend={this.handlePartitionAppend}\n onStateChange={this.handleGridStateChange}\n onContextMenu={this.handleContextMenu}\n onAdvancedSettingsChange={this.handleAdvancedSettingsChange}\n customFilters={pluginFilters}\n pendingDataMap={pendingDataMap}\n ref={this.irisGrid}\n getDownloadWorker={getDownloadWorker}\n >\n {childrenContent}\n </IrisGrid>\n )}\n\n {!isModelReady && <></>}\n </WidgetPanel>\n );\n }\n}\n\nIrisGridPanel.propTypes = {\n children: PropTypes.node,\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n metadata: PropTypes.shape({\n table: PropTypes.string.isRequired,\n query: PropTypes.string,\n querySerial: PropTypes.string,\n }).isRequired,\n panelState: PropTypes.shape({\n gridState: PropTypes.shape({}),\n irisGridState: PropTypes.shape({\n aggregationSettings: PropTypes.shape({}),\n customColumns: PropTypes.arrayOf(PropTypes.string),\n selectDistinctColumns: PropTypes.arrayOf(PropTypes.string),\n rollupConfig: PropTypes.shape({\n columns: PropTypes.arrayOf(PropTypes.string).isRequired,\n }),\n pendingDataMap: PropTypes.arrayOf(PropTypes.array),\n }),\n irisGridPanelState: PropTypes.shape({}),\n }),\n makeModel: PropTypes.func.isRequired,\n inputFilters: PropTypes.arrayOf(UIPropTypes.InputFilter).isRequired,\n links: UIPropTypes.Links.isRequired,\n columnSelectionValidator: PropTypes.func,\n onStateChange: PropTypes.func,\n onPanelStateUpdate: PropTypes.func,\n user: APIPropTypes.User.isRequired,\n workspace: PropTypes.shape({}).isRequired,\n settings: PropTypes.shape({ timeZone: PropTypes.string.isRequired })\n .isRequired,\n\n // Retrieve a download worker for optimizing exporting tables\n getDownloadWorker: PropTypes.func,\n\n // Load a plugin defined by the table\n loadPlugin: PropTypes.func,\n};\n\nIrisGridPanel.defaultProps = {\n children: null,\n panelState: null,\n columnSelectionValidator: null,\n onStateChange: () => {},\n onPanelStateUpdate: () => {},\n getDownloadWorker: undefined,\n loadPlugin: undefined,\n};\n\nIrisGridPanel.displayName = 'IrisGridPanel';\n\nconst mapStateToProps = (state, ownProps) => {\n const { localDashboardId } = ownProps;\n return {\n inputFilters: getInputFiltersForDashboard(state, localDashboardId),\n links: getLinksForDashboard(state, localDashboardId),\n columnSelectionValidator: getColumnSelectionValidatorForDashboard(\n state,\n localDashboardId\n ),\n user: getUser(state),\n workspace: getWorkspace(state),\n settings: getSettings(state),\n };\n};\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n IrisGridPanel\n);\n"],"file":"IrisGridPanel.js"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../src/panels/LogPanel.jsx"],"names":[],"mappings":";;AAcA;IACE,yBAA8B;IAE9B,qBAAqB;IAErB,wBAeC;IAED,qBAEC;IAED,mBASC;IAED,mBAIC;IAED,wCAGC;IAGD,wCAGC;IAtCC,yBAA2B;IAC3B,wBAAmB;IAuCrB,yBAIC;CAgCF"}
|
package/dist/panels/LogPanel.js
CHANGED
|
@@ -1,25 +1,3 @@
|
|
|
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
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
|
|
5
|
-
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); } }
|
|
6
|
-
|
|
7
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
|
|
11
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
-
|
|
13
|
-
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); }; }
|
|
14
|
-
|
|
15
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
|
-
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
|
|
19
|
-
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; } }
|
|
20
|
-
|
|
21
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
-
|
|
23
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
24
2
|
|
|
25
3
|
// Wrapper for the Console for use in a golden layout container
|
|
@@ -31,112 +9,96 @@ import { GLPropTypes } from '@deephaven/dashboard';
|
|
|
31
9
|
import { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';
|
|
32
10
|
import Log from '@deephaven/log';
|
|
33
11
|
import "./LogPanel.css";
|
|
34
|
-
import Panel from
|
|
35
|
-
import { getDashboardSessionWrapper } from
|
|
12
|
+
import Panel from "./Panel.js";
|
|
13
|
+
import { getDashboardSessionWrapper } from "../redux/index.js";
|
|
36
14
|
var log = Log.module('LogPanel');
|
|
37
15
|
|
|
38
|
-
|
|
39
|
-
|
|
16
|
+
class LogPanel extends PureComponent {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super(props);
|
|
19
|
+
this.handleResize = this.handleResize.bind(this);
|
|
20
|
+
this.handleShow = this.handleShow.bind(this);
|
|
21
|
+
this.handleHide = this.handleHide.bind(this);
|
|
22
|
+
this.handleSessionOpened = this.handleSessionOpened.bind(this);
|
|
23
|
+
this.handleSessionClosed = this.handleSessionClosed.bind(this);
|
|
24
|
+
this.isBottomVisible = true;
|
|
25
|
+
this.logView = null;
|
|
26
|
+
var {
|
|
27
|
+
session
|
|
28
|
+
} = this.props;
|
|
29
|
+
this.state = {
|
|
30
|
+
session
|
|
31
|
+
};
|
|
32
|
+
}
|
|
40
33
|
|
|
41
|
-
|
|
34
|
+
handleResize() {
|
|
35
|
+
this.updateDimensions();
|
|
36
|
+
}
|
|
42
37
|
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
handleShow() {
|
|
39
|
+
this.updateDimensions();
|
|
45
40
|
|
|
46
|
-
|
|
41
|
+
if (this.logView) {
|
|
42
|
+
this.logView.triggerFindWidget();
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
_this.handleSessionOpened = _this.handleSessionOpened.bind(_assertThisInitialized(_this));
|
|
53
|
-
_this.handleSessionClosed = _this.handleSessionClosed.bind(_assertThisInitialized(_this));
|
|
54
|
-
_this.isBottomVisible = true;
|
|
55
|
-
_this.logView = null;
|
|
56
|
-
var session = _this.props.session;
|
|
57
|
-
_this.state = {
|
|
58
|
-
session: session
|
|
59
|
-
};
|
|
60
|
-
return _this;
|
|
44
|
+
if (this.isBottomVisible) {
|
|
45
|
+
this.logView.scrollToBottom();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
61
48
|
}
|
|
62
49
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this.updateDimensions();
|
|
50
|
+
handleHide() {
|
|
51
|
+
if (this.logView) {
|
|
52
|
+
this.isBottomVisible = this.logView.isBottomVisible();
|
|
67
53
|
}
|
|
68
|
-
}
|
|
69
|
-
key: "handleShow",
|
|
70
|
-
value: function handleShow() {
|
|
71
|
-
this.updateDimensions();
|
|
54
|
+
}
|
|
72
55
|
|
|
73
|
-
|
|
74
|
-
|
|
56
|
+
handleSessionOpened(session) {
|
|
57
|
+
log.debug('Session opened', [session]);
|
|
58
|
+
this.setState({
|
|
59
|
+
session
|
|
60
|
+
});
|
|
61
|
+
} // eslint-disable-next-line class-methods-use-this
|
|
75
62
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (this.logView) {
|
|
85
|
-
this.isBottomVisible = this.logView.isBottomVisible();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
key: "handleSessionOpened",
|
|
90
|
-
value: function handleSessionOpened(session) {
|
|
91
|
-
log.debug('Session opened', [session]);
|
|
92
|
-
this.setState({
|
|
93
|
-
session: session
|
|
94
|
-
});
|
|
95
|
-
} // eslint-disable-next-line class-methods-use-this
|
|
96
|
-
|
|
97
|
-
}, {
|
|
98
|
-
key: "handleSessionClosed",
|
|
99
|
-
value: function handleSessionClosed(session) {
|
|
100
|
-
log.debug('Session closed', session); // Keep the session reference in state unchanged until the session is re-connected
|
|
63
|
+
|
|
64
|
+
handleSessionClosed(session) {
|
|
65
|
+
log.debug('Session closed', session); // Keep the session reference in state unchanged until the session is re-connected
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
updateDimensions() {
|
|
69
|
+
if (this.logView) {
|
|
70
|
+
this.logView.updateDimensions();
|
|
101
71
|
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
render() {
|
|
75
|
+
var {
|
|
76
|
+
glContainer,
|
|
77
|
+
glEventHub
|
|
78
|
+
} = this.props;
|
|
79
|
+
var {
|
|
80
|
+
session
|
|
81
|
+
} = this.state;
|
|
82
|
+
return /*#__PURE__*/React.createElement(Panel, {
|
|
83
|
+
componentPanel: this,
|
|
84
|
+
glContainer: glContainer,
|
|
85
|
+
glEventHub: glEventHub,
|
|
86
|
+
onResize: this.handleResize,
|
|
87
|
+
onHide: this.handleHide,
|
|
88
|
+
onShow: this.handleShow,
|
|
89
|
+
onSessionOpen: this.handleSessionOpened,
|
|
90
|
+
onSessionClose: this.handleSessionClosed
|
|
91
|
+
}, !session && /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: "log-panel-disconnected-message"
|
|
93
|
+
}, "Waiting for session connection"), session && /*#__PURE__*/React.createElement(LogView, {
|
|
94
|
+
session: session,
|
|
95
|
+
ref: logView => {
|
|
96
|
+
this.logView = logView;
|
|
107
97
|
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
key: "render",
|
|
111
|
-
value: function render() {
|
|
112
|
-
var _this2 = this;
|
|
113
|
-
|
|
114
|
-
var _this$props = this.props,
|
|
115
|
-
glContainer = _this$props.glContainer,
|
|
116
|
-
glEventHub = _this$props.glEventHub;
|
|
117
|
-
var session = this.state.session;
|
|
118
|
-
return /*#__PURE__*/React.createElement(Panel, {
|
|
119
|
-
componentPanel: this,
|
|
120
|
-
glContainer: glContainer,
|
|
121
|
-
glEventHub: glEventHub,
|
|
122
|
-
onResize: this.handleResize,
|
|
123
|
-
onHide: this.handleHide,
|
|
124
|
-
onShow: this.handleShow,
|
|
125
|
-
onSessionOpen: this.handleSessionOpened,
|
|
126
|
-
onSessionClose: this.handleSessionClosed
|
|
127
|
-
}, !session && /*#__PURE__*/React.createElement("div", {
|
|
128
|
-
className: "log-panel-disconnected-message"
|
|
129
|
-
}, "Waiting for session connection"), session && /*#__PURE__*/React.createElement(LogView, {
|
|
130
|
-
session: session,
|
|
131
|
-
ref: function ref(logView) {
|
|
132
|
-
_this2.logView = logView;
|
|
133
|
-
}
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
}]);
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
137
100
|
|
|
138
|
-
|
|
139
|
-
}(PureComponent);
|
|
101
|
+
}
|
|
140
102
|
|
|
141
103
|
_defineProperty(LogPanel, "COMPONENT", 'LogPanel');
|
|
142
104
|
|
|
@@ -151,9 +113,11 @@ LogPanel.defaultProps = {
|
|
|
151
113
|
session: null
|
|
152
114
|
};
|
|
153
115
|
|
|
154
|
-
var mapStateToProps =
|
|
116
|
+
var mapStateToProps = (state, ownProps) => {
|
|
117
|
+
var _getDashboardSessionW;
|
|
118
|
+
|
|
155
119
|
return {
|
|
156
|
-
session: getDashboardSessionWrapper(state, ownProps.localDashboardId).session
|
|
120
|
+
session: (_getDashboardSessionW = getDashboardSessionWrapper(state, ownProps.localDashboardId)) === null || _getDashboardSessionW === void 0 ? void 0 : _getDashboardSessionW.session
|
|
157
121
|
};
|
|
158
122
|
};
|
|
159
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/panels/LogPanel.jsx"],"names":["React","PureComponent","connect","LogView","GLPropTypes","PropTypes","APIPropTypes","Log","Panel","getDashboardSessionWrapper","log","module","LogPanel","props","handleResize","bind","handleShow","handleHide","handleSessionOpened","handleSessionClosed","isBottomVisible","logView","session","state","updateDimensions","triggerFindWidget","scrollToBottom","debug","setState","glContainer","glEventHub","propTypes","Container","isRequired","EventHub","IdeSession","defaultProps","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/panels/LogPanel.jsx"],"names":["React","PureComponent","connect","LogView","GLPropTypes","PropTypes","APIPropTypes","Log","Panel","getDashboardSessionWrapper","log","module","LogPanel","constructor","props","handleResize","bind","handleShow","handleHide","handleSessionOpened","handleSessionClosed","isBottomVisible","logView","session","state","updateDimensions","triggerFindWidget","scrollToBottom","debug","setState","render","glContainer","glEventHub","propTypes","Container","isRequired","EventHub","IdeSession","defaultProps","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { LogView } from '@deephaven/console';\nimport { GLPropTypes } from '@deephaven/dashboard';\nimport { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport './LogPanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('LogPanel');\n\nclass LogPanel extends PureComponent {\n static COMPONENT = 'LogPanel';\n\n static TITLE = 'Log';\n\n constructor(props) {\n super(props);\n\n this.handleResize = this.handleResize.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleHide = this.handleHide.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n\n this.isBottomVisible = true;\n this.logView = null;\n\n const { session } = this.props;\n\n this.state = { session };\n }\n\n handleResize() {\n this.updateDimensions();\n }\n\n handleShow() {\n this.updateDimensions();\n if (this.logView) {\n this.logView.triggerFindWidget();\n\n if (this.isBottomVisible) {\n this.logView.scrollToBottom();\n }\n }\n }\n\n handleHide() {\n if (this.logView) {\n this.isBottomVisible = this.logView.isBottomVisible();\n }\n }\n\n handleSessionOpened(session) {\n log.debug('Session opened', [session]);\n this.setState({ session });\n }\n\n // eslint-disable-next-line class-methods-use-this\n handleSessionClosed(session) {\n log.debug('Session closed', session);\n // Keep the session reference in state unchanged until the session is re-connected\n }\n\n updateDimensions() {\n if (this.logView) {\n this.logView.updateDimensions();\n }\n }\n\n render() {\n const { glContainer, glEventHub } = this.props;\n const { session } = this.state;\n return (\n <Panel\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onHide={this.handleHide}\n onShow={this.handleShow}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n >\n {!session && (\n <div className=\"log-panel-disconnected-message\">\n Waiting for session connection\n </div>\n )}\n {session && (\n <LogView\n session={session}\n ref={logView => {\n this.logView = logView;\n }}\n />\n )}\n </Panel>\n );\n }\n}\n\nLogPanel.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n session: APIPropTypes.IdeSession,\n};\n\nLogPanel.defaultProps = {\n session: null,\n};\n\nconst mapStateToProps = (state, ownProps) => ({\n session: getDashboardSessionWrapper(state, ownProps.localDashboardId)\n ?.session,\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n LogPanel\n);\n"],"file":"LogPanel.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare class MarkdownNotebookContainer extends React.PureComponent<any, any, any> {
|
|
2
|
+
constructor(props: any);
|
|
3
|
+
constructor(props: any, context: any);
|
|
4
|
+
}
|
|
5
|
+
declare namespace MarkdownNotebookContainer {
|
|
6
|
+
namespace propTypes {
|
|
7
|
+
const onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
8
|
+
const children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
9
|
+
const isEditing: PropTypes.Requireable<boolean>;
|
|
10
|
+
}
|
|
11
|
+
namespace defaultProps {
|
|
12
|
+
const isEditing_1: boolean;
|
|
13
|
+
export { isEditing_1 as isEditing };
|
|
14
|
+
const onDoubleClick_1: null;
|
|
15
|
+
export { onDoubleClick_1 as onDoubleClick };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export default MarkdownNotebookContainer;
|
|
19
|
+
import React from "react";
|
|
20
|
+
import PropTypes from "prop-types";
|
|
21
|
+
//# sourceMappingURL=MarkdownNotebookContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownNotebookContainer.d.ts","sourceRoot":"","sources":["../../src/panels/MarkdownNotebookContainer.jsx"],"names":[],"mappings":"AAMA;IAoCi4kB,wBAA8C;IAAA,sCAAyJ;CAZvklB"}
|