@deephaven/dashboard-core-plugins 0.5.2-matplotlib.3 → 0.6.1-demo.10
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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React, { PureComponent } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { vsEdit } from '@deephaven/icons';
|
|
6
|
+
export default class MarkdownNotebookContainer extends PureComponent {
|
|
7
|
+
render() {
|
|
8
|
+
var {
|
|
9
|
+
isEditing,
|
|
10
|
+
children,
|
|
11
|
+
onDoubleClick
|
|
12
|
+
} = this.props;
|
|
13
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
14
|
+
className: "markdown-notebook-container h-100 w-100",
|
|
15
|
+
onDoubleClick: onDoubleClick
|
|
16
|
+
}, onDoubleClick && /*#__PURE__*/React.createElement("div", {
|
|
17
|
+
className: classNames('text-muted', 'edit-hint', {
|
|
18
|
+
viewing: !isEditing
|
|
19
|
+
})
|
|
20
|
+
}, /*#__PURE__*/React.createElement("span", null, "double-click to edit ", /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
21
|
+
icon: vsEdit
|
|
22
|
+
}))), children);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
MarkdownNotebookContainer.propTypes = {
|
|
27
|
+
onDoubleClick: PropTypes.func,
|
|
28
|
+
children: PropTypes.node.isRequired,
|
|
29
|
+
isEditing: PropTypes.bool
|
|
30
|
+
};
|
|
31
|
+
MarkdownNotebookContainer.defaultProps = {
|
|
32
|
+
isEditing: false,
|
|
33
|
+
onDoubleClick: null
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=MarkdownNotebookContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/panels/MarkdownNotebookContainer.jsx"],"names":["React","PureComponent","PropTypes","classNames","FontAwesomeIcon","vsEdit","MarkdownNotebookContainer","render","isEditing","children","onDoubleClick","props","viewing","propTypes","func","node","isRequired","bool","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAEA,eAAe,MAAMC,yBAAN,SAAwCL,aAAxC,CAAsD;AACnEM,EAAAA,MAAM,GAAG;AACP,QAAM;AAAEC,MAAAA,SAAF;AAAaC,MAAAA,QAAb;AAAuBC,MAAAA;AAAvB,QAAyC,KAAKC,KAApD;AAEA,wBACE;AACE,MAAA,SAAS,EAAC,yCADZ;AAEE,MAAA,aAAa,EAAED;AAFjB,OAIGA,aAAa,iBACZ;AACE,MAAA,SAAS,EAAEP,UAAU,CAAC,YAAD,EAAe,WAAf,EAA4B;AAC/CS,QAAAA,OAAO,EAAE,CAACJ;AADqC,OAA5B;AADvB,oBAKE,wEACuB,oBAAC,eAAD;AAAiB,MAAA,IAAI,EAAEH;AAAvB,MADvB,CALF,CALJ,EAeGI,QAfH,CADF;AAmBD;;AAvBkE;AA0BrEH,yBAAyB,CAACO,SAA1B,GAAsC;AACpCH,EAAAA,aAAa,EAAER,SAAS,CAACY,IADW;AAEpCL,EAAAA,QAAQ,EAAEP,SAAS,CAACa,IAAV,CAAeC,UAFW;AAGpCR,EAAAA,SAAS,EAAEN,SAAS,CAACe;AAHe,CAAtC;AAMAX,yBAAyB,CAACY,YAA1B,GAAyC;AACvCV,EAAAA,SAAS,EAAE,KAD4B;AAEvCE,EAAAA,aAAa,EAAE;AAFwB,CAAzC","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsEdit } from '@deephaven/icons';\n\nexport default class MarkdownNotebookContainer extends PureComponent {\n render() {\n const { isEditing, children, onDoubleClick } = this.props;\n\n return (\n <div\n className=\"markdown-notebook-container h-100 w-100\"\n onDoubleClick={onDoubleClick}\n >\n {onDoubleClick && (\n <div\n className={classNames('text-muted', 'edit-hint', {\n viewing: !isEditing,\n })}\n >\n <span>\n double-click to edit <FontAwesomeIcon icon={vsEdit} />\n </span>\n </div>\n )}\n {children}\n </div>\n );\n }\n}\n\nMarkdownNotebookContainer.propTypes = {\n onDoubleClick: PropTypes.func,\n children: PropTypes.node.isRequired,\n isEditing: PropTypes.bool,\n};\n\nMarkdownNotebookContainer.defaultProps = {\n isEditing: false,\n onDoubleClick: null,\n};\n"],"file":"MarkdownNotebookContainer.js"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
declare class MarkdownNotebookEditor extends React.PureComponent<any, any, any> {
|
|
2
|
+
constructor(props: any);
|
|
3
|
+
handleRunSelected(event: any): void;
|
|
4
|
+
renderCodeBlock(props: any): JSX.Element;
|
|
5
|
+
renderLink(props: any): JSX.Element;
|
|
6
|
+
container: HTMLDivElement | null;
|
|
7
|
+
commands: Map<any, any>;
|
|
8
|
+
codeElements: Map<any, any>;
|
|
9
|
+
editorScrollView: React.RefObject<any>;
|
|
10
|
+
resetBlocks(): void;
|
|
11
|
+
/**
|
|
12
|
+
* @param {number|null} line The line of the code block to start from
|
|
13
|
+
* @returns {number} The next line of the code block to start from
|
|
14
|
+
*/
|
|
15
|
+
getNextStartLine(line: number | null): number;
|
|
16
|
+
runCode(command: any): void;
|
|
17
|
+
}
|
|
18
|
+
declare namespace MarkdownNotebookEditor {
|
|
19
|
+
namespace propTypes {
|
|
20
|
+
const isEditing: PropTypes.Requireable<boolean>;
|
|
21
|
+
const onRunCode: PropTypes.Requireable<(...args: any[]) => any>;
|
|
22
|
+
const content: PropTypes.Requireable<string>;
|
|
23
|
+
const onEditorInitialized: PropTypes.Validator<(...args: any[]) => any>;
|
|
24
|
+
const onLinkClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
+
const transformImageUri: PropTypes.Requireable<(...args: any[]) => any>;
|
|
26
|
+
const transformLinkUri: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
+
}
|
|
28
|
+
namespace defaultProps {
|
|
29
|
+
const isEditing_1: boolean;
|
|
30
|
+
export { isEditing_1 as isEditing };
|
|
31
|
+
const content_1: string;
|
|
32
|
+
export { content_1 as content };
|
|
33
|
+
const onLinkClick_1: undefined;
|
|
34
|
+
export { onLinkClick_1 as onLinkClick };
|
|
35
|
+
export function onRunCode_1(): void;
|
|
36
|
+
export { onRunCode_1 as onRunCode };
|
|
37
|
+
const transformImageUri_1: undefined;
|
|
38
|
+
export { transformImageUri_1 as transformImageUri };
|
|
39
|
+
const transformLinkUri_1: undefined;
|
|
40
|
+
export { transformLinkUri_1 as transformLinkUri };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export default MarkdownNotebookEditor;
|
|
44
|
+
import React from "react";
|
|
45
|
+
import PropTypes from "prop-types";
|
|
46
|
+
//# sourceMappingURL=MarkdownNotebookEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownNotebookEditor.d.ts","sourceRoot":"","sources":["../../src/panels/MarkdownNotebookEditor.jsx"],"names":[],"mappings":"AASA;IACE,wBAqBC;IA8BD,oCA4BC;IASD,yCAwDC;IAGD,oCAIC;IAhJC,iCAAqB;IAGrB,wBAAyB;IACzB,4BAA6B;IAC7B,uCAAyC;IAkB3C,oBAIC;IAED;;;OAGG;IACH,uBAHW,MAAM,GAAC,IAAI,GACT,MAAM,CAWlB;IAgCD,4BAKC;CA2HF;;;;;;;;;;;;;;;;;;QAgBY,oCAAQ"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React, { PureComponent } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import Markdown from 'react-markdown';
|
|
6
|
+
import { Button } from '@deephaven/components';
|
|
7
|
+
import { Code, Editor } from '@deephaven/console';
|
|
8
|
+
import classNames from 'classnames';
|
|
9
|
+
import { vsPlay } from '@deephaven/icons';
|
|
10
|
+
import remarkGfm from 'remark-gfm';
|
|
11
|
+
export default class MarkdownNotebookEditor extends PureComponent {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
this.handleRunSelected = this.handleRunSelected.bind(this);
|
|
15
|
+
this.renderCodeBlock = this.renderCodeBlock.bind(this);
|
|
16
|
+
this.renderLink = this.renderLink.bind(this);
|
|
17
|
+
this.container = null; // Map of each code block from it's starting line number to the code within that block
|
|
18
|
+
|
|
19
|
+
this.commands = new Map();
|
|
20
|
+
this.codeElements = new Map();
|
|
21
|
+
this.editorScrollView = /*#__PURE__*/React.createRef();
|
|
22
|
+
this.state = {
|
|
23
|
+
// Keep track if any code has been executed yet. If not, make the run button flash
|
|
24
|
+
hasRunCode: false,
|
|
25
|
+
// Line of the next block to execute. Null to start at the first block
|
|
26
|
+
nextStartLine: null
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
componentDidUpdate(prevProps) {
|
|
31
|
+
var {
|
|
32
|
+
content
|
|
33
|
+
} = this.props;
|
|
34
|
+
|
|
35
|
+
if (prevProps.content !== content) {
|
|
36
|
+
this.resetBlocks();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
resetBlocks() {
|
|
41
|
+
this.codeElements.clear();
|
|
42
|
+
this.commands.clear();
|
|
43
|
+
this.setState({
|
|
44
|
+
nextStartLine: null
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @param {number|null} line The line of the code block to start from
|
|
49
|
+
* @returns {number} The next line of the code block to start from
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
getNextStartLine(line) {
|
|
54
|
+
var keys = [...this.commands.keys()];
|
|
55
|
+
var nextIndex = keys.findIndex(key => key === line) + 1;
|
|
56
|
+
|
|
57
|
+
if (nextIndex >= keys.length) {
|
|
58
|
+
// We got to the last block, disable
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return keys[nextIndex];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
handleRunSelected(event) {
|
|
66
|
+
var _this$codeElements$ge, _element$parentElemen;
|
|
67
|
+
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
event.stopPropagation();
|
|
70
|
+
var {
|
|
71
|
+
nextStartLine
|
|
72
|
+
} = this.state;
|
|
73
|
+
var keys = [...this.commands.keys()];
|
|
74
|
+
var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);
|
|
75
|
+
|
|
76
|
+
if (keyIndex < 0) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var startLine = keys[keyIndex];
|
|
81
|
+
var command = this.commands.get(startLine);
|
|
82
|
+
var newNextStartLine = this.getNextStartLine(startLine);
|
|
83
|
+
var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;
|
|
84
|
+
var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;
|
|
85
|
+
|
|
86
|
+
if (nextElement) {
|
|
87
|
+
var {
|
|
88
|
+
offsetTop
|
|
89
|
+
} = nextElement;
|
|
90
|
+
var top = offsetTop;
|
|
91
|
+
this.editorScrollView.current.scroll({
|
|
92
|
+
top,
|
|
93
|
+
left: 0
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
this.runCode(command);
|
|
98
|
+
this.setState({
|
|
99
|
+
nextStartLine: newNextStartLine
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
runCode(command) {
|
|
104
|
+
var {
|
|
105
|
+
onRunCode
|
|
106
|
+
} = this.props;
|
|
107
|
+
onRunCode(command);
|
|
108
|
+
this.setState({
|
|
109
|
+
hasRunCode: true
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
renderCodeBlock(props) {
|
|
114
|
+
var {
|
|
115
|
+
children,
|
|
116
|
+
className,
|
|
117
|
+
inline,
|
|
118
|
+
node
|
|
119
|
+
} = props;
|
|
120
|
+
var {
|
|
121
|
+
hasRunCode,
|
|
122
|
+
nextStartLine
|
|
123
|
+
} = this.state;
|
|
124
|
+
var {
|
|
125
|
+
children: nodeChildren,
|
|
126
|
+
position
|
|
127
|
+
} = node;
|
|
128
|
+
var {
|
|
129
|
+
start
|
|
130
|
+
} = position;
|
|
131
|
+
var {
|
|
132
|
+
line
|
|
133
|
+
} = start;
|
|
134
|
+
var command = nodeChildren[0].value;
|
|
135
|
+
var ref = /*#__PURE__*/React.createRef();
|
|
136
|
+
var isFirstBlock = this.commands.size === 0;
|
|
137
|
+
var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;
|
|
138
|
+
var language = className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';
|
|
139
|
+
|
|
140
|
+
if (inline) {
|
|
141
|
+
return /*#__PURE__*/React.createElement("code", {
|
|
142
|
+
className: className
|
|
143
|
+
}, children);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
this.commands.set(line, command);
|
|
147
|
+
this.codeElements.set(line, ref);
|
|
148
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
149
|
+
className: classNames('markdown-notebook-editor-code-block', {
|
|
150
|
+
'is-selected': isSelected
|
|
151
|
+
}),
|
|
152
|
+
ref: ref,
|
|
153
|
+
onClick: () => {
|
|
154
|
+
this.setState({
|
|
155
|
+
nextStartLine: line
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
role: "presentation"
|
|
159
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
160
|
+
kind: "ghost",
|
|
161
|
+
icon: vsPlay,
|
|
162
|
+
className: "btn-play-block",
|
|
163
|
+
onClick: event => {
|
|
164
|
+
event.stopPropagation();
|
|
165
|
+
event.preventDefault();
|
|
166
|
+
this.runCode(command);
|
|
167
|
+
this.setState({
|
|
168
|
+
nextStartLine: line
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
tooltip: "Run code"
|
|
172
|
+
}), /*#__PURE__*/React.createElement("code", null, /*#__PURE__*/React.createElement(Code, {
|
|
173
|
+
language: language
|
|
174
|
+
}, React.Children.map(children, child => typeof child === 'string' ? child.trim() : child))));
|
|
175
|
+
} // eslint-disable-next-line class-methods-use-this
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
renderLink(props) {
|
|
179
|
+
var {
|
|
180
|
+
onLinkClick
|
|
181
|
+
} = this.props; // eslint-disable-next-line react/jsx-props-no-spreading,jsx-a11y/anchor-has-content,jsx-a11y/no-static-element-interactions
|
|
182
|
+
|
|
183
|
+
return /*#__PURE__*/React.createElement("a", _extends({}, props, {
|
|
184
|
+
onClick: onLinkClick
|
|
185
|
+
}));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
render() {
|
|
189
|
+
var {
|
|
190
|
+
isEditing,
|
|
191
|
+
content,
|
|
192
|
+
onEditorInitialized,
|
|
193
|
+
transformImageUri,
|
|
194
|
+
transformLinkUri
|
|
195
|
+
} = this.props;
|
|
196
|
+
var {
|
|
197
|
+
hasRunCode,
|
|
198
|
+
nextStartLine
|
|
199
|
+
} = this.state;
|
|
200
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
201
|
+
className: "markdown-notebook-editor-container",
|
|
202
|
+
ref: container => {
|
|
203
|
+
this.container = container;
|
|
204
|
+
}
|
|
205
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
206
|
+
className: "markdown-notebook-editor-toolbar"
|
|
207
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
208
|
+
className: classNames('btn-play-selected-cell', {
|
|
209
|
+
flashing: !hasRunCode
|
|
210
|
+
}),
|
|
211
|
+
kind: "ghost",
|
|
212
|
+
icon: vsPlay,
|
|
213
|
+
onClick: this.handleRunSelected,
|
|
214
|
+
tooltip: "Run code and select next",
|
|
215
|
+
disabled: hasRunCode && nextStartLine == null
|
|
216
|
+
}, "Run Selected Code")), /*#__PURE__*/React.createElement("div", {
|
|
217
|
+
className: "markdown-notebook-editor",
|
|
218
|
+
ref: this.editorScrollView
|
|
219
|
+
}, isEditing ? /*#__PURE__*/React.createElement(Editor, {
|
|
220
|
+
settings: {
|
|
221
|
+
language: 'markdown',
|
|
222
|
+
value: content,
|
|
223
|
+
lineNumbers: 'off'
|
|
224
|
+
},
|
|
225
|
+
onEditorInitialized: onEditorInitialized
|
|
226
|
+
}) : /*#__PURE__*/React.createElement(Markdown, {
|
|
227
|
+
components: {
|
|
228
|
+
code: this.renderCodeBlock,
|
|
229
|
+
a: this.renderLink
|
|
230
|
+
},
|
|
231
|
+
linkTarget: "_blank",
|
|
232
|
+
remarkPlugins: [remarkGfm],
|
|
233
|
+
transformLinkUri: transformLinkUri,
|
|
234
|
+
transformImageUri: transformImageUri,
|
|
235
|
+
includeElementIndex: true
|
|
236
|
+
}, content)));
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
}
|
|
240
|
+
MarkdownNotebookEditor.propTypes = {
|
|
241
|
+
isEditing: PropTypes.bool,
|
|
242
|
+
onRunCode: PropTypes.func,
|
|
243
|
+
content: PropTypes.string,
|
|
244
|
+
onEditorInitialized: PropTypes.func.isRequired,
|
|
245
|
+
onLinkClick: PropTypes.func,
|
|
246
|
+
transformImageUri: PropTypes.func,
|
|
247
|
+
transformLinkUri: PropTypes.func
|
|
248
|
+
};
|
|
249
|
+
MarkdownNotebookEditor.defaultProps = {
|
|
250
|
+
isEditing: false,
|
|
251
|
+
content: '',
|
|
252
|
+
onLinkClick: undefined,
|
|
253
|
+
onRunCode: () => {},
|
|
254
|
+
transformImageUri: undefined,
|
|
255
|
+
transformLinkUri: undefined
|
|
256
|
+
};
|
|
257
|
+
//# sourceMappingURL=MarkdownNotebookEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/panels/MarkdownNotebookEditor.jsx"],"names":["React","PureComponent","PropTypes","Markdown","Button","Code","Editor","classNames","vsPlay","remarkGfm","MarkdownNotebookEditor","constructor","props","handleRunSelected","bind","renderCodeBlock","renderLink","container","commands","Map","codeElements","editorScrollView","createRef","state","hasRunCode","nextStartLine","componentDidUpdate","prevProps","content","resetBlocks","clear","setState","getNextStartLine","line","keys","nextIndex","findIndex","key","length","event","preventDefault","stopPropagation","keyIndex","startLine","command","get","newNextStartLine","element","current","nextElement","parentElement","nextElementSibling","offsetTop","top","scroll","left","runCode","onRunCode","children","className","inline","node","nodeChildren","position","start","value","ref","isFirstBlock","size","isSelected","language","startsWith","substring","set","Children","map","child","trim","onLinkClick","render","isEditing","onEditorInitialized","transformImageUri","transformLinkUri","flashing","lineNumbers","code","a","propTypes","bool","func","string","isRequired","defaultProps","undefined"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport Markdown from 'react-markdown';\nimport { Button } from '@deephaven/components';\nimport { Code, Editor } from '@deephaven/console';\nimport classNames from 'classnames';\nimport { vsPlay } from '@deephaven/icons';\nimport remarkGfm from 'remark-gfm';\n\nexport default class MarkdownNotebookEditor extends PureComponent {\n constructor(props) {\n super(props);\n\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n this.container = null;\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = React.createRef();\n\n this.state = {\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { content } = this.props;\n if (prevProps.content !== content) {\n this.resetBlocks();\n }\n }\n\n resetBlocks() {\n this.codeElements.clear();\n this.commands.clear();\n this.setState({ nextStartLine: null });\n }\n\n /**\n * @param {number|null} line The line of the code block to start from\n * @returns {number} The next line of the code block to start from\n */\n getNextStartLine(line) {\n const keys = [...this.commands.keys()];\n const nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n\n return keys[nextIndex];\n }\n\n handleRunSelected(event) {\n event.preventDefault();\n event.stopPropagation();\n\n const { nextStartLine } = this.state;\n const keys = [...this.commands.keys()];\n const keyIndex = keys.findIndex(\n key => key === nextStartLine || nextStartLine == null\n );\n if (keyIndex < 0) {\n return;\n }\n const startLine = keys[keyIndex];\n const command = this.commands.get(startLine);\n const newNextStartLine = this.getNextStartLine(startLine);\n const element = this.codeElements.get(startLine)?.current;\n const nextElement = element?.parentElement?.nextElementSibling;\n if (nextElement) {\n const { offsetTop } = nextElement;\n const top = offsetTop;\n this.editorScrollView.current.scroll({\n top,\n left: 0,\n });\n }\n\n this.runCode(command);\n this.setState({ nextStartLine: newNextStartLine });\n }\n\n runCode(command) {\n const { onRunCode } = this.props;\n onRunCode(command);\n\n this.setState({ hasRunCode: true });\n }\n\n renderCodeBlock(props) {\n const { children, className, inline, node } = props;\n const { hasRunCode, nextStartLine } = this.state;\n const { children: nodeChildren, position } = node;\n const { start } = position;\n const { line } = start;\n const command = nodeChildren[0].value;\n const ref = React.createRef();\n const isFirstBlock = this.commands.size === 0;\n const isSelected =\n nextStartLine === line ||\n (isFirstBlock && nextStartLine == null && !hasRunCode);\n const language = className?.startsWith('language-')\n ? className.substring(9)\n : 'plaintext';\n\n if (inline) {\n return <code className={className}>{children}</code>;\n }\n\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n\n return (\n <div\n className={classNames('markdown-notebook-editor-code-block', {\n 'is-selected': isSelected,\n })}\n ref={ref}\n onClick={() => {\n this.setState({ nextStartLine: line });\n }}\n role=\"presentation\"\n >\n <Button\n kind=\"ghost\"\n icon={vsPlay}\n className=\"btn-play-block\"\n onClick={event => {\n event.stopPropagation();\n event.preventDefault();\n\n this.runCode(command);\n this.setState({ nextStartLine: line });\n }}\n tooltip=\"Run code\"\n />\n <code>\n <Code language={language}>\n {React.Children.map(children, child =>\n typeof child === 'string' ? child.trim() : child\n )}\n </Code>\n </code>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderLink(props) {\n const { onLinkClick } = this.props;\n // eslint-disable-next-line react/jsx-props-no-spreading,jsx-a11y/anchor-has-content,jsx-a11y/no-static-element-interactions\n return <a {...props} onClick={onLinkClick} />;\n }\n\n render() {\n const {\n isEditing,\n content,\n onEditorInitialized,\n transformImageUri,\n transformLinkUri,\n } = this.props;\n const { hasRunCode, nextStartLine } = this.state;\n return (\n <div\n className=\"markdown-notebook-editor-container\"\n ref={container => {\n this.container = container;\n }}\n >\n <div className=\"markdown-notebook-editor-toolbar\">\n <Button\n className={classNames('btn-play-selected-cell', {\n flashing: !hasRunCode,\n })}\n kind=\"ghost\"\n icon={vsPlay}\n onClick={this.handleRunSelected}\n tooltip=\"Run code and select next\"\n disabled={hasRunCode && nextStartLine == null}\n >\n Run Selected Code\n </Button>\n </div>\n <div className=\"markdown-notebook-editor\" ref={this.editorScrollView}>\n {isEditing ? (\n <Editor\n settings={{\n language: 'markdown',\n value: content,\n lineNumbers: 'off',\n }}\n onEditorInitialized={onEditorInitialized}\n />\n ) : (\n <Markdown\n components={{ code: this.renderCodeBlock, a: this.renderLink }}\n linkTarget=\"_blank\"\n remarkPlugins={[remarkGfm]}\n transformLinkUri={transformLinkUri}\n transformImageUri={transformImageUri}\n includeElementIndex\n >\n {content}\n </Markdown>\n )}\n </div>\n </div>\n );\n }\n}\n\nMarkdownNotebookEditor.propTypes = {\n isEditing: PropTypes.bool,\n onRunCode: PropTypes.func,\n content: PropTypes.string,\n onEditorInitialized: PropTypes.func.isRequired,\n onLinkClick: PropTypes.func,\n transformImageUri: PropTypes.func,\n transformLinkUri: PropTypes.func,\n};\n\nMarkdownNotebookEditor.defaultProps = {\n isEditing: false,\n content: '',\n onLinkClick: undefined,\n onRunCode: () => {},\n transformImageUri: undefined,\n transformLinkUri: undefined,\n};\n"],"file":"MarkdownNotebookEditor.js"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
.markdown-notebook-title.is-preview {
|
|
2
|
+
font-style: italic;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.markdown-notebook-container .markdown-notebook-editor-container {
|
|
6
|
+
width: 100%;
|
|
7
|
+
height: 100%;
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
}
|
|
11
|
+
.markdown-notebook-container .markdown-notebook-editor-toolbar {
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
padding: 0.25rem;
|
|
15
|
+
width: 100%;
|
|
16
|
+
flex: 0 0 36px;
|
|
17
|
+
border-bottom: 2px solid #1a171a;
|
|
18
|
+
}
|
|
19
|
+
.markdown-notebook-container .markdown-notebook-editor-toolbar .btn-play-selected-cell {
|
|
20
|
+
color: #9edc6f;
|
|
21
|
+
min-height: 34px;
|
|
22
|
+
}
|
|
23
|
+
.markdown-notebook-container .edit-hint {
|
|
24
|
+
position: absolute;
|
|
25
|
+
top: 0;
|
|
26
|
+
right: 0;
|
|
27
|
+
padding: 5px 20px;
|
|
28
|
+
text-align: right;
|
|
29
|
+
width: 100%;
|
|
30
|
+
min-height: 30px;
|
|
31
|
+
height: 30px;
|
|
32
|
+
opacity: 0;
|
|
33
|
+
user-select: none;
|
|
34
|
+
transition: opacity 0.15s ease-out;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
}
|
|
37
|
+
.markdown-notebook-container .markdown-notebook-editor {
|
|
38
|
+
flex-grow: 1;
|
|
39
|
+
width: 100%;
|
|
40
|
+
padding: 0 15px;
|
|
41
|
+
overflow: auto;
|
|
42
|
+
position: relative;
|
|
43
|
+
scroll-behavior: smooth;
|
|
44
|
+
}
|
|
45
|
+
.markdown-notebook-container .markdown-notebook-editor h1,
|
|
46
|
+
.markdown-notebook-container .markdown-notebook-editor h2,
|
|
47
|
+
.markdown-notebook-container .markdown-notebook-editor h3 {
|
|
48
|
+
margin-top: 3rem;
|
|
49
|
+
}
|
|
50
|
+
.markdown-notebook-container:hover .edit-hint.viewing {
|
|
51
|
+
opacity: 1;
|
|
52
|
+
}
|
|
53
|
+
.markdown-notebook-container blockquote {
|
|
54
|
+
border-left: 0.25em solid #929192;
|
|
55
|
+
padding: 0 1em;
|
|
56
|
+
color: #f0f0ee;
|
|
57
|
+
}
|
|
58
|
+
.markdown-notebook-container pre {
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
}
|
|
61
|
+
.markdown-notebook-container pre > code {
|
|
62
|
+
display: block;
|
|
63
|
+
padding: 0.5rem;
|
|
64
|
+
}
|
|
65
|
+
.markdown-notebook-container a {
|
|
66
|
+
color: #4878ea;
|
|
67
|
+
}
|
|
68
|
+
.markdown-notebook-container a:visited {
|
|
69
|
+
color: #aa9af4;
|
|
70
|
+
}
|
|
71
|
+
.markdown-notebook-container .markdown-notebook-editor-code-block {
|
|
72
|
+
position: relative;
|
|
73
|
+
border-radius: 0 4px 4px 0;
|
|
74
|
+
}
|
|
75
|
+
.markdown-notebook-container .markdown-notebook-editor-code-block .btn-play-block {
|
|
76
|
+
color: #9edc6f;
|
|
77
|
+
opacity: 0;
|
|
78
|
+
position: absolute;
|
|
79
|
+
top: 0;
|
|
80
|
+
right: 0;
|
|
81
|
+
margin: 3px;
|
|
82
|
+
transition: opacity 0.15s ease-out;
|
|
83
|
+
}
|
|
84
|
+
.markdown-notebook-container .markdown-notebook-editor-code-block code {
|
|
85
|
+
color: #f0f0ee;
|
|
86
|
+
background: #403e41;
|
|
87
|
+
padding: 0.5rem;
|
|
88
|
+
border-radius: 4px;
|
|
89
|
+
border: 1px solid #1a171a;
|
|
90
|
+
overflow: auto;
|
|
91
|
+
display: block;
|
|
92
|
+
}
|
|
93
|
+
.markdown-notebook-container .markdown-notebook-editor-code-block.is-selected::after {
|
|
94
|
+
position: absolute;
|
|
95
|
+
top: 0;
|
|
96
|
+
left: 0;
|
|
97
|
+
bottom: 0;
|
|
98
|
+
width: 5px;
|
|
99
|
+
margin: 1px 0 1px 0;
|
|
100
|
+
background: #4878ea;
|
|
101
|
+
content: "";
|
|
102
|
+
pointer-events: none;
|
|
103
|
+
border-radius: 4px 0 0 4px;
|
|
104
|
+
}
|
|
105
|
+
.markdown-notebook-container .markdown-notebook-editor-code-block.is-selected .btn-play-block, .markdown-notebook-container .markdown-notebook-editor-code-block:hover .btn-play-block {
|
|
106
|
+
opacity: 1;
|
|
107
|
+
}
|
|
108
|
+
.markdown-notebook-container .flashing {
|
|
109
|
+
animation-duration: 1s;
|
|
110
|
+
animation-name: flash;
|
|
111
|
+
animation-timing-function: ease-in-out;
|
|
112
|
+
animation-iteration-count: infinite;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@keyframes flash {
|
|
116
|
+
0% {
|
|
117
|
+
text-shadow: 0 0 5px #2d2a2e, 0 0 20px #2d2a2e;
|
|
118
|
+
}
|
|
119
|
+
50% {
|
|
120
|
+
text-shadow: 0 0 2px rgba(255, 255, 255, 0.5), 0 0 10px #9edc6f;
|
|
121
|
+
}
|
|
122
|
+
100% {
|
|
123
|
+
text-shadow: 0 0 5px #2d2a2e, 0 0 20px #2d2a2e;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/*# sourceMappingURL=MarkdownNotebookPanel.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/panels/MarkdownNotebookPanel.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAME;EACE;;;AAKF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,SCpBO;EDqBP;EACA;EACA;;AACA;EACE,OErBE;EFsBF;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YAtCe;EAuCf,QAvCe;EAwCf;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA,OExDa;;AF2Df;EACE;;AAGF;EACE;EACA,SC3EO;;AD8ET;EACE,OEtEY;;AFwEZ;EACE,OE7EG;;AFiFP;EACE;EACA;;AAEA;EACE,OExFE;EFyFF;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,OE3FW;EF4FX,YEjFK;EFkFL,SCvGK;EDwGL,eEcU;EFbV;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YE7GQ;EF8GR;EACA;EACA;;AAMF;EACE;;AAKN;EACE;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;EAGF;IACE;;EAGF;IACE","file":"MarkdownNotebookPanel.css"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export class MarkdownNotebookPanel extends React.Component<any, any, any> {
|
|
2
|
+
static COMPONENT: string;
|
|
3
|
+
constructor(props: any);
|
|
4
|
+
handleContainerDoubleClick(event: any): void;
|
|
5
|
+
handleEditorInitialized(editor: any): void;
|
|
6
|
+
handleEditorBlur(event: any): void;
|
|
7
|
+
handleEditorResize(): void;
|
|
8
|
+
/**
|
|
9
|
+
* @param {MouseEvent} event The click event from clicking on the link
|
|
10
|
+
*/
|
|
11
|
+
handleLinkClick(event: MouseEvent): void;
|
|
12
|
+
handleTab(tab: any): void;
|
|
13
|
+
handleRunCommand(command: any): void;
|
|
14
|
+
/**
|
|
15
|
+
* Transform the link URI to load from where the notebook is if it's relative
|
|
16
|
+
* @param {String} src The link to transform
|
|
17
|
+
* @returns String the transformed link
|
|
18
|
+
*/
|
|
19
|
+
transformLinkUri(src: string): string;
|
|
20
|
+
pending: Pending;
|
|
21
|
+
markdownEditor: MarkdownNotebookEditor | null;
|
|
22
|
+
editor: any;
|
|
23
|
+
initNotebookContent(): void;
|
|
24
|
+
initTab(tab: any): void;
|
|
25
|
+
tabTitleElement: any;
|
|
26
|
+
setPreviewStatus(): void;
|
|
27
|
+
registerFileMetadata(fileMetadata: any, isPreview: any): void;
|
|
28
|
+
setEditorPosition(clickPositionY: any): void;
|
|
29
|
+
}
|
|
30
|
+
export namespace MarkdownNotebookPanel {
|
|
31
|
+
namespace propTypes {
|
|
32
|
+
const id: PropTypes.Validator<string>;
|
|
33
|
+
const fileStorage: PropTypes.Validator<PropTypes.InferProps<{
|
|
34
|
+
deleteFile: PropTypes.Validator<(...args: any[]) => any>;
|
|
35
|
+
loadFile: PropTypes.Validator<(...args: any[]) => any>;
|
|
36
|
+
saveFile: PropTypes.Validator<(...args: any[]) => any>;
|
|
37
|
+
}>>;
|
|
38
|
+
const glContainer: PropTypes.Validator<PropTypes.InferProps<{
|
|
39
|
+
on: PropTypes.Requireable<(...args: any[]) => any>;
|
|
40
|
+
off: PropTypes.Requireable<(...args: any[]) => any>;
|
|
41
|
+
isHidden: PropTypes.Requireable<boolean>;
|
|
42
|
+
tab: PropTypes.Requireable<PropTypes.InferProps<{
|
|
43
|
+
header: PropTypes.Requireable<PropTypes.InferProps<{
|
|
44
|
+
tabs: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
45
|
+
contentItem: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
46
|
+
}> | null | undefined)[]>;
|
|
47
|
+
}>>;
|
|
48
|
+
}>>;
|
|
49
|
+
title: PropTypes.Requireable<string>;
|
|
50
|
+
setTitle: PropTypes.Requireable<(...args: any[]) => any>;
|
|
51
|
+
close: PropTypes.Requireable<(...args: any[]) => any>;
|
|
52
|
+
}>>;
|
|
53
|
+
const glEventHub: PropTypes.Validator<PropTypes.InferProps<{
|
|
54
|
+
on: PropTypes.Requireable<(...args: any[]) => any>;
|
|
55
|
+
off: PropTypes.Requireable<(...args: any[]) => any>;
|
|
56
|
+
emit: PropTypes.Requireable<(...args: any[]) => any>;
|
|
57
|
+
}>>;
|
|
58
|
+
const metadata: PropTypes.Requireable<PropTypes.InferProps<{
|
|
59
|
+
id: PropTypes.Requireable<string>;
|
|
60
|
+
}>>;
|
|
61
|
+
const panelState: PropTypes.Requireable<PropTypes.InferProps<{
|
|
62
|
+
content: PropTypes.Requireable<string>;
|
|
63
|
+
isPreview: PropTypes.Requireable<boolean>;
|
|
64
|
+
fileMetadata: PropTypes.Requireable<PropTypes.InferProps<{
|
|
65
|
+
id: PropTypes.Requireable<string>;
|
|
66
|
+
itemName: PropTypes.Requireable<string>;
|
|
67
|
+
}>>;
|
|
68
|
+
}>>;
|
|
69
|
+
const isPreview: PropTypes.Requireable<boolean>;
|
|
70
|
+
const notebooksUrl: PropTypes.Requireable<string>;
|
|
71
|
+
const session: PropTypes.Validator<PropTypes.InferProps<{}>>;
|
|
72
|
+
const sessionLanguage: PropTypes.Validator<string>;
|
|
73
|
+
}
|
|
74
|
+
namespace defaultProps {
|
|
75
|
+
const isPreview_1: boolean;
|
|
76
|
+
export { isPreview_1 as isPreview };
|
|
77
|
+
const metadata_1: null;
|
|
78
|
+
export { metadata_1 as metadata };
|
|
79
|
+
const panelState_1: null;
|
|
80
|
+
export { panelState_1 as panelState };
|
|
81
|
+
const notebooksUrl_1: string;
|
|
82
|
+
export { notebooksUrl_1 as notebooksUrl };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
declare var _default: import("react-redux").ConnectedComponent<typeof MarkdownNotebookPanel, any>;
|
|
86
|
+
export default _default;
|
|
87
|
+
import React from "react";
|
|
88
|
+
import { Pending } from "@deephaven/utils";
|
|
89
|
+
import MarkdownNotebookEditor from "./MarkdownNotebookEditor";
|
|
90
|
+
import PropTypes from "prop-types";
|
|
91
|
+
//# sourceMappingURL=MarkdownNotebookPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownNotebookPanel.d.ts","sourceRoot":"","sources":["../../src/panels/MarkdownNotebookPanel.jsx"],"names":[],"mappings":"AAiBA;IACE,yBAA2C;IAE3C,wBAiCC;IAqHD,6CASC;IAED,2CAGC;IAED,mCAkBC;IAED,2BAKC;IAED;;OAEG;IACH,uBAFW,UAAU,QA+BpB;IAED,0BAGC;IAED,qCAyBC;IAED;;;;OAIG;IACH,sCAeC;IAzQC,iBAA4B;IAiB5B,8CAA0B;IAC1B,YAAkB;IA0BpB,4BAiCC;IAED,wBAMC;IAHC,qBAAmC;IAKrC,yBAWC;IAED,8DAQC;IAED,6CAwBC;CA4KF"}
|