@deephaven/dashboard-core-plugins 0.22.3-beta.15 → 0.22.3-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/dist/ChartBuilderPlugin.d.ts +1 -1
  2. package/dist/ChartBuilderPlugin.d.ts.map +1 -1
  3. package/dist/ChartBuilderPlugin.js +6 -8
  4. package/dist/ChartBuilderPlugin.js.map +1 -1
  5. package/dist/ChartPlugin.d.ts +1 -1
  6. package/dist/ChartPlugin.d.ts.map +1 -1
  7. package/dist/ChartPlugin.js +4 -8
  8. package/dist/ChartPlugin.js.map +1 -1
  9. package/dist/ConsolePlugin.d.ts +1 -1
  10. package/dist/ConsolePlugin.d.ts.map +1 -1
  11. package/dist/ConsolePlugin.js +16 -62
  12. package/dist/ConsolePlugin.js.map +1 -1
  13. package/dist/FilterPlugin.d.ts +1 -1
  14. package/dist/FilterPlugin.d.ts.map +1 -1
  15. package/dist/FilterPlugin.js +6 -13
  16. package/dist/FilterPlugin.js.map +1 -1
  17. package/dist/GridPlugin.d.ts +1 -1
  18. package/dist/GridPlugin.d.ts.map +1 -1
  19. package/dist/GridPlugin.js +4 -8
  20. package/dist/GridPlugin.js.map +1 -1
  21. package/dist/LinkerPlugin.d.ts +1 -1
  22. package/dist/LinkerPlugin.d.ts.map +1 -1
  23. package/dist/LinkerPlugin.js +2 -2
  24. package/dist/LinkerPlugin.js.map +1 -1
  25. package/dist/MarkdownPlugin.d.ts +1 -1
  26. package/dist/MarkdownPlugin.d.ts.map +1 -1
  27. package/dist/MarkdownPlugin.js +4 -8
  28. package/dist/MarkdownPlugin.js.map +1 -1
  29. package/dist/PandasPlugin.d.ts +1 -1
  30. package/dist/PandasPlugin.d.ts.map +1 -1
  31. package/dist/PandasPlugin.js +4 -8
  32. package/dist/PandasPlugin.js.map +1 -1
  33. package/dist/controls/ControlType.js +0 -6
  34. package/dist/controls/ControlType.js.map +1 -1
  35. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +2 -2
  36. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  37. package/dist/controls/dropdown-filter/DropdownFilter.js +7 -51
  38. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  39. package/dist/controls/input-filter/InputFilter.d.ts +1 -1
  40. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  41. package/dist/controls/input-filter/InputFilter.js +1 -31
  42. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  43. package/dist/controls/markdown/MarkdownContainer.js +0 -3
  44. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  45. package/dist/controls/markdown/MarkdownEditor.d.ts +0 -2
  46. package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
  47. package/dist/controls/markdown/MarkdownEditor.js +13 -20
  48. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  49. package/dist/controls/markdown/MarkdownStartPage.js +0 -11
  50. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  51. package/dist/controls/markdown/MarkdownUtils.js +0 -7
  52. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  53. package/dist/events/ChartEvent.js +0 -5
  54. package/dist/events/ChartEvent.js.map +1 -1
  55. package/dist/events/ConsoleEvent.js +0 -7
  56. package/dist/events/ConsoleEvent.js.map +1 -1
  57. package/dist/events/InputFilterEvent.js +0 -10
  58. package/dist/events/InputFilterEvent.js.map +1 -1
  59. package/dist/events/IrisGridEvent.js +0 -8
  60. package/dist/events/IrisGridEvent.js.map +1 -1
  61. package/dist/events/MarkdownEvent.js.map +1 -1
  62. package/dist/events/NotebookEvent.js +0 -10
  63. package/dist/events/NotebookEvent.js.map +1 -1
  64. package/dist/events/PQEvent.js +0 -5
  65. package/dist/events/PQEvent.js.map +1 -1
  66. package/dist/events/PandasEvent.js +0 -4
  67. package/dist/events/PandasEvent.js.map +1 -1
  68. package/dist/events/TabEvent.js +0 -8
  69. package/dist/events/TabEvent.js.map +1 -1
  70. package/dist/events/index.js.map +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/linker/Linker.d.ts +3 -0
  73. package/dist/linker/Linker.d.ts.map +1 -1
  74. package/dist/linker/Linker.js +70 -119
  75. package/dist/linker/Linker.js.map +1 -1
  76. package/dist/linker/LinkerLink.css +90 -25
  77. package/dist/linker/LinkerLink.css.map +1 -1
  78. package/dist/linker/LinkerLink.d.ts +20 -2
  79. package/dist/linker/LinkerLink.d.ts.map +1 -1
  80. package/dist/linker/LinkerLink.js +214 -23
  81. package/dist/linker/LinkerLink.js.map +1 -1
  82. package/dist/linker/LinkerOverlayContent.css +0 -4
  83. package/dist/linker/LinkerOverlayContent.css.map +1 -1
  84. package/dist/linker/LinkerOverlayContent.d.ts +11 -0
  85. package/dist/linker/LinkerOverlayContent.d.ts.map +1 -1
  86. package/dist/linker/LinkerOverlayContent.js +78 -33
  87. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  88. package/dist/linker/LinkerUtils.d.ts +9 -2
  89. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  90. package/dist/linker/LinkerUtils.js +9 -25
  91. package/dist/linker/LinkerUtils.js.map +1 -1
  92. package/dist/linker/ToolType.js.map +1 -1
  93. package/dist/panels/ChartColumnSelectorOverlay.d.ts +5 -5
  94. package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
  95. package/dist/panels/ChartColumnSelectorOverlay.js +4 -7
  96. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  97. package/dist/panels/ChartFilterOverlay.d.ts +4 -4
  98. package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
  99. package/dist/panels/ChartFilterOverlay.js +2 -7
  100. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  101. package/dist/panels/ChartPanel.d.ts.map +1 -1
  102. package/dist/panels/ChartPanel.js +11 -150
  103. package/dist/panels/ChartPanel.js.map +1 -1
  104. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  105. package/dist/panels/CommandHistoryPanel.js +1 -26
  106. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  107. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  108. package/dist/panels/ConsolePanel.js +12 -57
  109. package/dist/panels/ConsolePanel.js.map +1 -1
  110. package/dist/panels/DropdownFilterPanel.d.ts +8 -8
  111. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  112. package/dist/panels/DropdownFilterPanel.js +21 -127
  113. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  114. package/dist/panels/FileExplorerPanel.js +4 -33
  115. package/dist/panels/FileExplorerPanel.js.map +1 -1
  116. package/dist/panels/FilterSetManager.d.ts.map +1 -1
  117. package/dist/panels/FilterSetManager.js +13 -86
  118. package/dist/panels/FilterSetManager.js.map +1 -1
  119. package/dist/panels/FilterSetManagerPanel.js +10 -64
  120. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  121. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  122. package/dist/panels/InputFilterPanel.js +8 -38
  123. package/dist/panels/InputFilterPanel.js.map +1 -1
  124. package/dist/panels/IrisGridPanel.d.ts +9 -9
  125. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  126. package/dist/panels/IrisGridPanel.js +24 -133
  127. package/dist/panels/IrisGridPanel.js.map +1 -1
  128. package/dist/panels/IrisGridPanelTooltip.d.ts +5 -5
  129. package/dist/panels/IrisGridPanelTooltip.d.ts.map +1 -1
  130. package/dist/panels/IrisGridPanelTooltip.js +2 -5
  131. package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
  132. package/dist/panels/LogPanel.js +4 -22
  133. package/dist/panels/LogPanel.js.map +1 -1
  134. package/dist/panels/MarkdownNotebook.js +3 -30
  135. package/dist/panels/MarkdownNotebook.js.map +1 -1
  136. package/dist/panels/MarkdownPanel.js +2 -30
  137. package/dist/panels/MarkdownPanel.js.map +1 -1
  138. package/dist/panels/MockFileStorage.js +1 -14
  139. package/dist/panels/MockFileStorage.js.map +1 -1
  140. package/dist/panels/MockFileStorageTable.js +11 -30
  141. package/dist/panels/MockFileStorageTable.js.map +1 -1
  142. package/dist/panels/NotebookPanel.js +24 -182
  143. package/dist/panels/NotebookPanel.js.map +1 -1
  144. package/dist/panels/PandasPanel.js +1 -20
  145. package/dist/panels/PandasPanel.js.map +1 -1
  146. package/dist/panels/Panel.d.ts +1 -1
  147. package/dist/panels/Panel.d.ts.map +1 -1
  148. package/dist/panels/Panel.js +2 -38
  149. package/dist/panels/Panel.js.map +1 -1
  150. package/dist/panels/PanelContextMenu.js +7 -29
  151. package/dist/panels/PanelContextMenu.js.map +1 -1
  152. package/dist/panels/RenameDialog.js +2 -17
  153. package/dist/panels/RenameDialog.js.map +1 -1
  154. package/dist/panels/WidgetPanel.js +2 -20
  155. package/dist/panels/WidgetPanel.js.map +1 -1
  156. package/dist/panels/WidgetPanelTooltip.d.ts +5 -5
  157. package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
  158. package/dist/panels/WidgetPanelTooltip.js +2 -4
  159. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  160. package/dist/panels/index.js.map +1 -1
  161. package/dist/prop-types/CommonPropTypes.js +0 -3
  162. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  163. package/dist/prop-types/UIPropTypes.js.map +1 -1
  164. package/dist/prop-types/index.js.map +1 -1
  165. package/dist/redux/actionTypes.js.map +1 -1
  166. package/dist/redux/actions.js +8 -9
  167. package/dist/redux/actions.js.map +1 -1
  168. package/dist/redux/index.js.map +1 -1
  169. package/dist/redux/reducers/connection.js.map +1 -1
  170. package/dist/redux/reducers/index.js.map +1 -1
  171. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  172. package/dist/redux/selectors.js +10 -15
  173. package/dist/redux/selectors.js.map +1 -1
  174. package/package.json +21 -20
@@ -1,9 +1,8 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  /* eslint-disable jsx-a11y/click-events-have-key-events */
4
-
5
3
  /* eslint-disable jsx-a11y/no-static-element-interactions */
6
4
  // background click is just a convience method, not an actual a11y issue
5
+
7
6
  import React, { Component } from 'react';
8
7
  import { Button, CardFlip } from '@deephaven/components';
9
8
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -14,27 +13,21 @@ import Log from '@deephaven/log';
14
13
  import "./InputFilter.css";
15
14
  var log = Log.module('InputFilter');
16
15
  var UPDATE_DEBOUNCE = 150;
17
-
18
16
  class InputFilter extends Component {
19
17
  constructor(props) {
20
18
  super(props);
21
-
22
19
  _defineProperty(this, "inputRef", void 0);
23
-
24
20
  _defineProperty(this, "getItemLabel", memoizee((columns, index) => {
25
21
  var {
26
22
  name,
27
23
  type
28
24
  } = columns[index];
29
-
30
25
  if (index > 0 && columns[index - 1].name === name || index < columns.length - 1 && columns[index + 1].name === name) {
31
26
  var shortType = type.substring(type.lastIndexOf('.') + 1);
32
27
  return "".concat(name, " (").concat(shortType, ")");
33
28
  }
34
-
35
29
  return name;
36
30
  }));
37
-
38
31
  _defineProperty(this, "sendUpdate", debounce(() => {
39
32
  var {
40
33
  onChange
@@ -50,7 +43,6 @@ class InputFilter extends Component {
50
43
  value
51
44
  });
52
45
  }, UPDATE_DEBOUNCE));
53
-
54
46
  this.handleColumnChange = this.handleColumnChange.bind(this);
55
47
  this.handleInputKeyPress = this.handleInputKeyPress.bind(this);
56
48
  this.handleValueChange = this.handleValueChange.bind(this);
@@ -71,7 +63,6 @@ class InputFilter extends Component {
71
63
  isValueShown: _isValueShown
72
64
  };
73
65
  }
74
-
75
66
  componentDidUpdate(prevProps, prevState) {
76
67
  var {
77
68
  column: propColumn
@@ -81,7 +72,6 @@ class InputFilter extends Component {
81
72
  value,
82
73
  isValueShown
83
74
  } = this.state;
84
-
85
75
  if (propColumn !== prevProps.column) {
86
76
  // eslint-disable-next-line react/no-did-update-set-state
87
77
  this.setState({
@@ -89,20 +79,16 @@ class InputFilter extends Component {
89
79
  selectedColumn: propColumn
90
80
  });
91
81
  }
92
-
93
82
  if (isValueShown !== undefined && isValueShown && isValueShown !== prevState.isValueShown) {
94
83
  this.focusInput();
95
84
  }
96
-
97
85
  if (column !== prevState.column || value !== prevState.value || isValueShown !== prevState.isValueShown) {
98
86
  this.sendUpdate();
99
87
  }
100
88
  }
101
-
102
89
  componentWillUnmount() {
103
90
  this.sendUpdate.flush();
104
91
  }
105
-
106
92
  handleColumnChange(event) {
107
93
  var {
108
94
  columns
@@ -117,7 +103,6 @@ class InputFilter extends Component {
117
103
  value: undefined
118
104
  });
119
105
  }
120
-
121
106
  handleInputKeyPress(event) {
122
107
  if (event.key === 'Enter') {
123
108
  event.preventDefault();
@@ -135,7 +120,6 @@ class InputFilter extends Component {
135
120
  });
136
121
  }
137
122
  }
138
-
139
123
  handleValueChange(event) {
140
124
  var {
141
125
  value
@@ -145,7 +129,6 @@ class InputFilter extends Component {
145
129
  value
146
130
  });
147
131
  }
148
-
149
132
  handleSettingsCancel() {
150
133
  var {
151
134
  column
@@ -155,7 +138,6 @@ class InputFilter extends Component {
155
138
  isValueShown: true
156
139
  });
157
140
  }
158
-
159
141
  handleSettingsSave() {
160
142
  var {
161
143
  selectedColumn
@@ -165,7 +147,6 @@ class InputFilter extends Component {
165
147
  isValueShown: true
166
148
  });
167
149
  }
168
-
169
150
  handleSettingsClick(event) {
170
151
  var {
171
152
  column
@@ -176,27 +157,23 @@ class InputFilter extends Component {
176
157
  });
177
158
  event.stopPropagation();
178
159
  }
179
-
180
160
  handleBackgroundClick(event) {
181
161
  // allow clicking anywhere in the background to select and focus the input
182
162
  if (event.target !== this.inputRef.current) {
183
163
  this.focusInput();
184
164
  }
185
165
  }
186
-
187
166
  focusInput() {
188
167
  if (this.inputRef.current !== null) {
189
168
  this.inputRef.current.select();
190
169
  this.inputRef.current.focus();
191
170
  }
192
171
  }
193
-
194
172
  clearFilter() {
195
173
  this.setState({
196
174
  value: ''
197
175
  });
198
176
  }
199
-
200
177
  setFilterState(_ref2) {
201
178
  var {
202
179
  name,
@@ -218,7 +195,6 @@ class InputFilter extends Component {
218
195
  };
219
196
  this.setState(update);
220
197
  }
221
-
222
198
  render() {
223
199
  var {
224
200
  columns
@@ -231,12 +207,10 @@ class InputFilter extends Component {
231
207
  } = this.state;
232
208
  var inputLength = value == null || value.length === 0 ? InputFilter.PLACEHOLDER.length : value.length;
233
209
  var titleLabel = null;
234
-
235
210
  if (column != null) {
236
211
  var columnIndex = columns.findIndex(item => item.name === column.name && item.type === column.type);
237
212
  titleLabel = columnIndex >= 0 ? this.getItemLabel(columns, columnIndex) : column.name;
238
213
  }
239
-
240
214
  return /*#__PURE__*/React.createElement(CardFlip, {
241
215
  className: "input-filter fill-parent-absolute",
242
216
  isFlipped: isValueShown !== null && isValueShown !== void 0 ? isValueShown : false
@@ -304,16 +278,12 @@ class InputFilter extends Component {
304
278
  tooltip: "Input Filter Settings"
305
279
  }))));
306
280
  }
307
-
308
281
  }
309
-
310
282
  _defineProperty(InputFilter, "PLACEHOLDER", 'Enter value...');
311
-
312
283
  _defineProperty(InputFilter, "defaultProps", {
313
284
  column: null,
314
285
  isValueShown: false,
315
286
  value: null
316
287
  });
317
-
318
288
  export default InputFilter;
319
289
  //# sourceMappingURL=InputFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputFilter.js","names":["React","Component","Button","CardFlip","FontAwesomeIcon","vsGear","memoizee","debounce","Log","log","module","UPDATE_DEBOUNCE","InputFilter","constructor","props","columns","index","name","type","length","shortType","substring","lastIndexOf","onChange","column","value","isValueShown","state","handleColumnChange","bind","handleInputKeyPress","handleValueChange","handleSettingsCancel","handleSettingsClick","handleSettingsSave","handleBackgroundClick","inputRef","createRef","selectedColumn","componentDidUpdate","prevProps","prevState","propColumn","setState","undefined","focusInput","sendUpdate","componentWillUnmount","flush","event","target","parseInt","debug2","key","preventDefault","stopPropagation","current","select","focus","clearFilter","setFilterState","update","render","inputLength","PLACEHOLDER","titleLabel","columnIndex","findIndex","item","getItemLabel","map","columnItem","width"],"sources":["../../../src/controls/input-filter/InputFilter.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n// background click is just a convience method, not an actual a11y issue\n\nimport React, {\n ChangeEvent,\n Component,\n RefObject,\n MouseEvent,\n KeyboardEvent,\n ReactElement,\n} from 'react';\nimport { Button, CardFlip } from '@deephaven/components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsGear } from '@deephaven/icons';\nimport { Column } from '@deephaven/jsapi-shim';\nimport memoizee from 'memoizee';\nimport debounce from 'lodash.debounce';\nimport Log from '@deephaven/log';\nimport './InputFilter.scss';\n\nconst log = Log.module('InputFilter');\nconst UPDATE_DEBOUNCE = 150;\n\nexport type InputFilterColumn = Pick<Column, 'type' | 'name'>;\n\ninterface InputFilterProps {\n columns: InputFilterColumn[];\n column: InputFilterColumn;\n isValueShown: boolean;\n value: string;\n onChange: (change: {\n column?: InputFilterColumn;\n isValueShown?: boolean;\n value?: string;\n }) => void;\n}\n\nexport interface InputFilterState {\n column?: InputFilterColumn;\n selectedColumn?: InputFilterColumn;\n value?: string;\n isValueShown?: boolean;\n}\n\nclass InputFilter extends Component<InputFilterProps, InputFilterState> {\n static PLACEHOLDER = 'Enter value...';\n\n static defaultProps = {\n column: null,\n isValueShown: false,\n value: null,\n };\n\n constructor(props: InputFilterProps) {\n super(props);\n\n this.handleColumnChange = this.handleColumnChange.bind(this);\n this.handleInputKeyPress = this.handleInputKeyPress.bind(this);\n this.handleValueChange = this.handleValueChange.bind(this);\n this.handleSettingsCancel = this.handleSettingsCancel.bind(this);\n this.handleSettingsClick = this.handleSettingsClick.bind(this);\n this.handleSettingsSave = this.handleSettingsSave.bind(this);\n this.handleBackgroundClick = this.handleBackgroundClick.bind(this);\n\n this.inputRef = React.createRef();\n\n const { column, isValueShown, value } = props;\n this.state = {\n column,\n selectedColumn: column,\n value,\n isValueShown,\n };\n }\n\n componentDidUpdate(\n prevProps: InputFilterProps,\n prevState: InputFilterState\n ): void {\n const { column: propColumn } = this.props;\n const { column, value, isValueShown } = this.state;\n\n if (propColumn !== prevProps.column) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ column: propColumn, selectedColumn: propColumn });\n }\n\n if (\n isValueShown !== undefined &&\n isValueShown &&\n isValueShown !== prevState.isValueShown\n ) {\n this.focusInput();\n }\n\n if (\n column !== prevState.column ||\n value !== prevState.value ||\n isValueShown !== prevState.isValueShown\n ) {\n this.sendUpdate();\n }\n }\n\n componentWillUnmount(): void {\n this.sendUpdate.flush();\n }\n\n inputRef: RefObject<HTMLInputElement>;\n\n getItemLabel = memoizee((columns, index) => {\n const { name, type } = columns[index];\n\n if (\n (index > 0 && columns[index - 1].name === name) ||\n (index < columns.length - 1 && columns[index + 1].name === name)\n ) {\n const shortType = type.substring(type.lastIndexOf('.') + 1);\n return `${name} (${shortType})`;\n }\n\n return name;\n });\n\n handleColumnChange(event: ChangeEvent<HTMLSelectElement>): void {\n const { columns } = this.props;\n const { value } = event.target;\n const selectedColumn = columns[parseInt(value, 10)];\n\n log.debug2('handleColumnChange', selectedColumn);\n\n this.setState({ selectedColumn, value: undefined });\n }\n\n handleInputKeyPress(event: KeyboardEvent<HTMLInputElement>): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n this.setState(\n ({ value }) => (value == null ? { value: '' } : null),\n () => {\n this.sendUpdate();\n this.sendUpdate.flush();\n }\n );\n }\n }\n\n handleValueChange(event: ChangeEvent<HTMLInputElement>): void {\n const { value } = event.target;\n\n log.debug2('handleValueChange', value);\n\n this.setState({ value });\n }\n\n handleSettingsCancel(): void {\n const { column } = this.state;\n this.setState({ selectedColumn: column, isValueShown: true });\n }\n\n handleSettingsSave(): void {\n const { selectedColumn } = this.state;\n this.setState({ column: selectedColumn, isValueShown: true });\n }\n\n handleSettingsClick(event: MouseEvent<HTMLButtonElement>): void {\n const { column } = this.state;\n this.setState({ selectedColumn: column, isValueShown: false });\n event.stopPropagation();\n }\n\n handleBackgroundClick(event: MouseEvent<HTMLDivElement>): void {\n // allow clicking anywhere in the background to select and focus the input\n if (event.target !== this.inputRef.current) {\n this.focusInput();\n }\n }\n\n focusInput(): void {\n if (this.inputRef.current !== null) {\n this.inputRef.current.select();\n this.inputRef.current.focus();\n }\n }\n\n clearFilter(): void {\n this.setState({ value: '' });\n }\n\n setFilterState({\n name,\n type,\n value,\n isValueShown,\n }: {\n name?: string;\n type?: string;\n value?: string;\n isValueShown?: boolean;\n }): void {\n const column = name != null && type != null ? { name, type } : undefined;\n const update =\n isValueShown === undefined\n ? { column, value }\n : { column, value, isValueShown };\n this.setState(update);\n }\n\n sendUpdate = debounce(() => {\n const { onChange } = this.props;\n const { column, value, isValueShown } = this.state;\n onChange({ column, isValueShown, value });\n }, UPDATE_DEBOUNCE);\n\n render(): ReactElement {\n const { columns } = this.props;\n const { column, isValueShown, selectedColumn, value } = this.state;\n const inputLength =\n value == null || value.length === 0\n ? InputFilter.PLACEHOLDER.length\n : value.length;\n let titleLabel = null;\n if (column != null) {\n const columnIndex = columns.findIndex(\n item => item.name === column.name && item.type === column.type\n );\n titleLabel =\n columnIndex >= 0\n ? this.getItemLabel(columns, columnIndex)\n : column.name;\n }\n\n return (\n <CardFlip\n className=\"input-filter fill-parent-absolute\"\n isFlipped={isValueShown ?? false}\n >\n <div className=\"input-filter-settings-card\">\n <div className=\"input-filter-settings-content\">\n <div className=\"input-filter-settings-grid\">\n <label>Filter Column</label>\n <select\n value={columns.findIndex(\n item =>\n item.name === selectedColumn?.name &&\n item.type === selectedColumn?.type\n )}\n className=\"custom-select\"\n onChange={this.handleColumnChange}\n >\n {columns.map((columnItem, index) => (\n <option\n key={`${columnItem.name}/${columnItem.type}`}\n value={index}\n >\n {this.getItemLabel(columns, index)}\n </option>\n ))}\n {columns.length === 0 && (\n <option value=\"-1\" disabled>\n No Available Columns\n </option>\n )}\n </select>\n <div className=\"text-muted small\">\n Input filter control will apply its filter to all columns\n matching this name in this dashboard.\n </div>\n </div>\n <div className=\"input-filter-settings-buttons\">\n <Button\n kind=\"secondary\"\n onClick={this.handleSettingsCancel}\n disabled={column == null}\n >\n Cancel\n </Button>\n <Button\n kind=\"primary\"\n className=\"ml-2\"\n onClick={this.handleSettingsSave}\n disabled={selectedColumn == null}\n >\n Save\n </Button>\n </div>\n </div>\n </div>\n\n <div\n className=\"input-filter-value-card\"\n onClick={this.handleBackgroundClick}\n >\n <div className=\"input-filter-column\">\n <div className=\"input-filter-column-title\">{titleLabel} Filter</div>\n </div>\n <div className=\"d-flex justify-content-center align-items-center h-100 w-100\">\n <div className=\"input-filter-value-input d-flex flex-column justify-content-center\">\n <input\n type=\"text\"\n ref={this.inputRef}\n placeholder={InputFilter.PLACEHOLDER}\n value={value ?? ''}\n onChange={this.handleValueChange}\n onKeyPress={this.handleInputKeyPress}\n style={{ width: `${inputLength + 3}ch` }}\n spellCheck=\"false\"\n />\n </div>\n </div>\n <div className=\"input-filter-menu\">\n <Button\n kind=\"ghost\"\n className=\"m-2 px-2\"\n onClick={this.handleSettingsClick}\n icon={<FontAwesomeIcon icon={vsGear} transform=\"grow-4\" />}\n tooltip=\"Input Filter Settings\"\n />\n </div>\n </div>\n </CardFlip>\n );\n }\n}\n\nexport default InputFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputFilter.js","names":["React","Component","Button","CardFlip","FontAwesomeIcon","vsGear","memoizee","debounce","Log","log","module","UPDATE_DEBOUNCE","InputFilter","constructor","props","columns","index","name","type","length","shortType","substring","lastIndexOf","onChange","column","value","isValueShown","state","handleColumnChange","bind","handleInputKeyPress","handleValueChange","handleSettingsCancel","handleSettingsClick","handleSettingsSave","handleBackgroundClick","inputRef","createRef","selectedColumn","componentDidUpdate","prevProps","prevState","propColumn","setState","undefined","focusInput","sendUpdate","componentWillUnmount","flush","event","target","parseInt","debug2","key","preventDefault","stopPropagation","current","select","focus","clearFilter","setFilterState","update","render","inputLength","PLACEHOLDER","titleLabel","columnIndex","findIndex","item","getItemLabel","map","columnItem","width"],"sources":["../../../src/controls/input-filter/InputFilter.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n// background click is just a convience method, not an actual a11y issue\n\nimport React, {\n ChangeEvent,\n Component,\n RefObject,\n MouseEvent,\n KeyboardEvent,\n ReactElement,\n} from 'react';\nimport { Button, CardFlip } from '@deephaven/components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsGear } from '@deephaven/icons';\nimport { Column } from '@deephaven/jsapi-shim';\nimport memoizee from 'memoizee';\nimport debounce from 'lodash.debounce';\nimport Log from '@deephaven/log';\nimport './InputFilter.scss';\n\nconst log = Log.module('InputFilter');\nconst UPDATE_DEBOUNCE = 150;\n\nexport type InputFilterColumn = Pick<Column, 'type' | 'name'>;\n\ninterface InputFilterProps {\n columns: InputFilterColumn[];\n column: InputFilterColumn;\n isValueShown: boolean;\n value: string;\n onChange: (change: {\n column?: InputFilterColumn;\n isValueShown?: boolean;\n value?: string;\n }) => void;\n}\n\nexport interface InputFilterState {\n column?: InputFilterColumn;\n selectedColumn?: InputFilterColumn;\n value?: string;\n isValueShown?: boolean;\n}\n\nclass InputFilter extends Component<InputFilterProps, InputFilterState> {\n static PLACEHOLDER = 'Enter value...';\n\n static defaultProps = {\n column: null,\n isValueShown: false,\n value: null,\n };\n\n constructor(props: InputFilterProps) {\n super(props);\n\n this.handleColumnChange = this.handleColumnChange.bind(this);\n this.handleInputKeyPress = this.handleInputKeyPress.bind(this);\n this.handleValueChange = this.handleValueChange.bind(this);\n this.handleSettingsCancel = this.handleSettingsCancel.bind(this);\n this.handleSettingsClick = this.handleSettingsClick.bind(this);\n this.handleSettingsSave = this.handleSettingsSave.bind(this);\n this.handleBackgroundClick = this.handleBackgroundClick.bind(this);\n\n this.inputRef = React.createRef();\n\n const { column, isValueShown, value } = props;\n this.state = {\n column,\n selectedColumn: column,\n value,\n isValueShown,\n };\n }\n\n componentDidUpdate(\n prevProps: InputFilterProps,\n prevState: InputFilterState\n ): void {\n const { column: propColumn } = this.props;\n const { column, value, isValueShown } = this.state;\n\n if (propColumn !== prevProps.column) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ column: propColumn, selectedColumn: propColumn });\n }\n\n if (\n isValueShown !== undefined &&\n isValueShown &&\n isValueShown !== prevState.isValueShown\n ) {\n this.focusInput();\n }\n\n if (\n column !== prevState.column ||\n value !== prevState.value ||\n isValueShown !== prevState.isValueShown\n ) {\n this.sendUpdate();\n }\n }\n\n componentWillUnmount(): void {\n this.sendUpdate.flush();\n }\n\n inputRef: RefObject<HTMLInputElement>;\n\n getItemLabel = memoizee((columns: InputFilterColumn[], index: number) => {\n const { name, type } = columns[index];\n\n if (\n (index > 0 && columns[index - 1].name === name) ||\n (index < columns.length - 1 && columns[index + 1].name === name)\n ) {\n const shortType = type.substring(type.lastIndexOf('.') + 1);\n return `${name} (${shortType})`;\n }\n\n return name;\n });\n\n handleColumnChange(event: ChangeEvent<HTMLSelectElement>): void {\n const { columns } = this.props;\n const { value } = event.target;\n const selectedColumn = columns[parseInt(value, 10)];\n\n log.debug2('handleColumnChange', selectedColumn);\n\n this.setState({ selectedColumn, value: undefined });\n }\n\n handleInputKeyPress(event: KeyboardEvent<HTMLInputElement>): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n this.setState(\n ({ value }) => (value == null ? { value: '' } : null),\n () => {\n this.sendUpdate();\n this.sendUpdate.flush();\n }\n );\n }\n }\n\n handleValueChange(event: ChangeEvent<HTMLInputElement>): void {\n const { value } = event.target;\n\n log.debug2('handleValueChange', value);\n\n this.setState({ value });\n }\n\n handleSettingsCancel(): void {\n const { column } = this.state;\n this.setState({ selectedColumn: column, isValueShown: true });\n }\n\n handleSettingsSave(): void {\n const { selectedColumn } = this.state;\n this.setState({ column: selectedColumn, isValueShown: true });\n }\n\n handleSettingsClick(event: MouseEvent<HTMLButtonElement>): void {\n const { column } = this.state;\n this.setState({ selectedColumn: column, isValueShown: false });\n event.stopPropagation();\n }\n\n handleBackgroundClick(event: MouseEvent<HTMLDivElement>): void {\n // allow clicking anywhere in the background to select and focus the input\n if (event.target !== this.inputRef.current) {\n this.focusInput();\n }\n }\n\n focusInput(): void {\n if (this.inputRef.current !== null) {\n this.inputRef.current.select();\n this.inputRef.current.focus();\n }\n }\n\n clearFilter(): void {\n this.setState({ value: '' });\n }\n\n setFilterState({\n name,\n type,\n value,\n isValueShown,\n }: {\n name?: string;\n type?: string;\n value?: string;\n isValueShown?: boolean;\n }): void {\n const column = name != null && type != null ? { name, type } : undefined;\n const update =\n isValueShown === undefined\n ? { column, value }\n : { column, value, isValueShown };\n this.setState(update);\n }\n\n sendUpdate = debounce(() => {\n const { onChange } = this.props;\n const { column, value, isValueShown } = this.state;\n onChange({ column, isValueShown, value });\n }, UPDATE_DEBOUNCE);\n\n render(): ReactElement {\n const { columns } = this.props;\n const { column, isValueShown, selectedColumn, value } = this.state;\n const inputLength =\n value == null || value.length === 0\n ? InputFilter.PLACEHOLDER.length\n : value.length;\n let titleLabel = null;\n if (column != null) {\n const columnIndex = columns.findIndex(\n item => item.name === column.name && item.type === column.type\n );\n titleLabel =\n columnIndex >= 0\n ? this.getItemLabel(columns, columnIndex)\n : column.name;\n }\n\n return (\n <CardFlip\n className=\"input-filter fill-parent-absolute\"\n isFlipped={isValueShown ?? false}\n >\n <div className=\"input-filter-settings-card\">\n <div className=\"input-filter-settings-content\">\n <div className=\"input-filter-settings-grid\">\n <label>Filter Column</label>\n <select\n value={columns.findIndex(\n item =>\n item.name === selectedColumn?.name &&\n item.type === selectedColumn?.type\n )}\n className=\"custom-select\"\n onChange={this.handleColumnChange}\n >\n {columns.map((columnItem, index) => (\n <option\n key={`${columnItem.name}/${columnItem.type}`}\n value={index}\n >\n {this.getItemLabel(columns, index)}\n </option>\n ))}\n {columns.length === 0 && (\n <option value=\"-1\" disabled>\n No Available Columns\n </option>\n )}\n </select>\n <div className=\"text-muted small\">\n Input filter control will apply its filter to all columns\n matching this name in this dashboard.\n </div>\n </div>\n <div className=\"input-filter-settings-buttons\">\n <Button\n kind=\"secondary\"\n onClick={this.handleSettingsCancel}\n disabled={column == null}\n >\n Cancel\n </Button>\n <Button\n kind=\"primary\"\n className=\"ml-2\"\n onClick={this.handleSettingsSave}\n disabled={selectedColumn == null}\n >\n Save\n </Button>\n </div>\n </div>\n </div>\n\n <div\n className=\"input-filter-value-card\"\n onClick={this.handleBackgroundClick}\n >\n <div className=\"input-filter-column\">\n <div className=\"input-filter-column-title\">{titleLabel} Filter</div>\n </div>\n <div className=\"d-flex justify-content-center align-items-center h-100 w-100\">\n <div className=\"input-filter-value-input d-flex flex-column justify-content-center\">\n <input\n type=\"text\"\n ref={this.inputRef}\n placeholder={InputFilter.PLACEHOLDER}\n value={value ?? ''}\n onChange={this.handleValueChange}\n onKeyPress={this.handleInputKeyPress}\n style={{ width: `${inputLength + 3}ch` }}\n spellCheck=\"false\"\n />\n </div>\n </div>\n <div className=\"input-filter-menu\">\n <Button\n kind=\"ghost\"\n className=\"m-2 px-2\"\n onClick={this.handleSettingsClick}\n icon={<FontAwesomeIcon icon={vsGear} transform=\"grow-4\" />}\n tooltip=\"Input Filter Settings\"\n />\n </div>\n </div>\n </CardFlip>\n );\n }\n}\n\nexport default InputFilter;\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import React, { PureComponent } from 'react';
4
3
  import classNames from 'classnames';
5
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -22,9 +21,7 @@ export default class MarkdownContainer extends PureComponent {
22
21
  icon: vsEdit
23
22
  }))), children);
24
23
  }
25
-
26
24
  }
27
-
28
25
  _defineProperty(MarkdownContainer, "defaultProps", {
29
26
  isEditing: false
30
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownContainer.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsEdit","MarkdownContainer","render","isEditing","children","onDoubleClick","props","viewing","undefined"],"sources":["../../../src/controls/markdown/MarkdownContainer.tsx"],"sourcesContent":["import React, {\n MouseEventHandler,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsEdit } from '@deephaven/icons';\n\ninterface MarkdownContainerProps {\n onDoubleClick: MouseEventHandler;\n children: ReactNode;\n isEditing?: boolean;\n}\n\nexport default class MarkdownContainer extends PureComponent<\n MarkdownContainerProps,\n Record<string, never>\n> {\n static defaultProps = {\n isEditing: false,\n };\n\n render(): ReactElement {\n const { isEditing, children, onDoubleClick } = this.props;\n\n return (\n <div\n className=\"markdown-editor-container h-100 w-100\"\n onDoubleClick={onDoubleClick}\n >\n <div\n className={classNames('text-muted', 'edit-hint', {\n viewing: isEditing === undefined || !isEditing,\n })}\n >\n <span>\n double-click to edit <FontAwesomeIcon icon={vsEdit} />\n </span>\n </div>\n {children}\n </div>\n );\n }\n}\n"],"mappings":";;AAAA,OAAOA,KAAP,IAEEC,aAFF,QAKO,OALP;AAMA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAQA,eAAe,MAAMC,iBAAN,SAAgCJ,aAAhC,CAGb;EAKAK,MAAM,GAAiB;IACrB,IAAM;MAAEC,SAAF;MAAaC,QAAb;MAAuBC;IAAvB,IAAyC,KAAKC,KAApD;IAEA,oBACE;MACE,SAAS,EAAC,uCADZ;MAEE,aAAa,EAAED;IAFjB,gBAIE;MACE,SAAS,EAAEP,UAAU,CAAC,YAAD,EAAe,WAAf,EAA4B;QAC/CS,OAAO,EAAEJ,SAAS,KAAKK,SAAd,IAA2B,CAACL;MADU,CAA5B;IADvB,gBAKE,wEACuB,oBAAC,eAAD;MAAiB,IAAI,EAAEH;IAAvB,EADvB,CALF,CAJF,EAaGI,QAbH,CADF;EAiBD;;AAzBD;;gBAHmBH,iB,kBAIG;EACpBE,SAAS,EAAE;AADS,C"}
1
+ {"version":3,"file":"MarkdownContainer.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsEdit","MarkdownContainer","render","isEditing","children","onDoubleClick","props","viewing","undefined"],"sources":["../../../src/controls/markdown/MarkdownContainer.tsx"],"sourcesContent":["import React, {\n MouseEventHandler,\n PureComponent,\n ReactElement,\n ReactNode,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsEdit } from '@deephaven/icons';\n\ninterface MarkdownContainerProps {\n onDoubleClick: MouseEventHandler;\n children: ReactNode;\n isEditing?: boolean;\n}\n\nexport default class MarkdownContainer extends PureComponent<\n MarkdownContainerProps,\n Record<string, never>\n> {\n static defaultProps = {\n isEditing: false,\n };\n\n render(): ReactElement {\n const { isEditing, children, onDoubleClick } = this.props;\n\n return (\n <div\n className=\"markdown-editor-container h-100 w-100\"\n onDoubleClick={onDoubleClick}\n >\n <div\n className={classNames('text-muted', 'edit-hint', {\n viewing: isEditing === undefined || !isEditing,\n })}\n >\n <span>\n double-click to edit <FontAwesomeIcon icon={vsEdit} />\n </span>\n </div>\n {children}\n </div>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAEVC,aAAa,QAGR,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,MAAM,QAAQ,kBAAkB;AAQzC,eAAe,MAAMC,iBAAiB,SAASJ,aAAa,CAG1D;EAKAK,MAAM,GAAiB;IACrB,IAAM;MAAEC,SAAS;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACC,KAAK;IAEzD,oBACE;MACE,SAAS,EAAC,uCAAuC;MACjD,aAAa,EAAED;IAAc,gBAE7B;MACE,SAAS,EAAEP,UAAU,CAAC,YAAY,EAAE,WAAW,EAAE;QAC/CS,OAAO,EAAEJ,SAAS,KAAKK,SAAS,IAAI,CAACL;MACvC,CAAC;IAAE,gBAEH,wEACuB,oBAAC,eAAe;MAAC,IAAI,EAAEH;IAAO,EAAG,CACjD,CACH,EACLI,QAAQ,CACL;EAEV;AACF;AAAC,gBA7BoBH,iBAAiB,kBAId;EACpBE,SAAS,EAAE;AACb,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { PureComponent, ReactElement } from 'react';
2
- import { CodeComponent } from 'react-markdown/src/ast-to-react';
3
2
  import type * as monaco from 'monaco-editor';
4
3
  interface MarkdownEditorProps {
5
4
  isEditing: boolean;
@@ -13,7 +12,6 @@ export default class MarkdownEditor extends PureComponent<MarkdownEditorProps, R
13
12
  };
14
13
  constructor(props: MarkdownEditorProps);
15
14
  container: HTMLDivElement | null;
16
- renderMarkdown: CodeComponent;
17
15
  render(): ReactElement;
18
16
  }
19
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/controls/markdown/MarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;CAC5E;AACD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa,CACvD,mBAAmB,EACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,YAAY;;;MAGjB;gBAEU,KAAK,EAAE,mBAAmB;IAKtC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC,cAAc,EAAE,aAAa,CAiB3B;IAEF,MAAM,IAAI,YAAY;CA0BvB"}
1
+ {"version":3,"file":"MarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/controls/markdown/MarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;CAC5E;AAoBD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa,CACvD,mBAAmB,EACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,YAAY;;;MAGjB;gBAEU,KAAK,EAAE,mBAAmB;IAKtC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAEjC,MAAM,IAAI,YAAY;CAwBvB"}
@@ -1,28 +1,23 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import React, { PureComponent } from 'react';
4
3
  import Markdown from 'react-markdown';
5
4
  import { Code, Editor } from '@deephaven/console';
5
+ var renderMarkdown = props => {
6
+ var {
7
+ children,
8
+ className
9
+ } = props;
10
+ var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';
11
+ return /*#__PURE__*/React.createElement("pre", null, /*#__PURE__*/React.createElement("code", null, /*#__PURE__*/React.createElement(Code, {
12
+ language: language
13
+ }, React.Children.map(children, child => typeof child === 'string' ? child.trim() : child))));
14
+ };
6
15
  export default class MarkdownEditor extends PureComponent {
7
- constructor(_props) {
8
- super(_props);
9
-
16
+ constructor(props) {
17
+ super(props);
10
18
  _defineProperty(this, "container", void 0);
11
-
12
- _defineProperty(this, "renderMarkdown", props => {
13
- var {
14
- children,
15
- className
16
- } = props;
17
- var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';
18
- return /*#__PURE__*/React.createElement("pre", null, /*#__PURE__*/React.createElement("code", null, /*#__PURE__*/React.createElement(Code, {
19
- language: language
20
- }, React.Children.map(children, child => typeof child === 'string' ? child.trim() : child))));
21
- });
22
-
23
19
  this.container = null;
24
20
  }
25
-
26
21
  render() {
27
22
  var {
28
23
  isEditing,
@@ -43,13 +38,11 @@ export default class MarkdownEditor extends PureComponent {
43
38
  onEditorInitialized: onEditorInitialized
44
39
  }) : /*#__PURE__*/React.createElement(Markdown, {
45
40
  components: {
46
- code: this.renderMarkdown
41
+ code: renderMarkdown
47
42
  }
48
43
  }, content));
49
44
  }
50
-
51
45
  }
52
-
53
46
  _defineProperty(MarkdownEditor, "defaultProps", {
54
47
  isEditing: false,
55
48
  content: ''
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor.js","names":["React","PureComponent","Markdown","Code","Editor","MarkdownEditor","constructor","props","children","className","language","undefined","startsWith","substring","Children","map","child","trim","container","render","isEditing","content","onEditorInitialized","value","lineNumbers","code","renderMarkdown"],"sources":["../../../src/controls/markdown/MarkdownEditor.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement } from 'react';\nimport Markdown from 'react-markdown';\nimport { CodeComponent } from 'react-markdown/src/ast-to-react';\nimport { Code, Editor } from '@deephaven/console';\nimport type * as monaco from 'monaco-editor';\n\ninterface MarkdownEditorProps {\n isEditing: boolean;\n content: string;\n onEditorInitialized: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n}\nexport default class MarkdownEditor extends PureComponent<\n MarkdownEditorProps,\n Record<string, never>\n> {\n static defaultProps = {\n isEditing: false,\n content: '',\n };\n\n constructor(props: MarkdownEditorProps) {\n super(props);\n this.container = null;\n }\n\n container: HTMLDivElement | null;\n\n renderMarkdown: CodeComponent = props => {\n const { children, className } = props;\n const language =\n className !== undefined && className?.startsWith('language-')\n ? className.substring(9)\n : 'plaintext';\n return (\n <pre>\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 </pre>\n );\n };\n\n render(): ReactElement {\n const { isEditing, content, onEditorInitialized } = this.props;\n return (\n <div\n className=\"markdown-editor-container\"\n ref={container => {\n this.container = container;\n }}\n >\n {isEditing ? (\n <Editor\n settings={{\n language: 'markdown',\n value: content,\n lineNumbers: 'off',\n }}\n onEditorInitialized={onEditorInitialized}\n />\n ) : (\n <Markdown components={{ code: this.renderMarkdown }}>\n {content}\n </Markdown>\n )}\n </div>\n );\n }\n}\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAmD,OAAnD;AACA,OAAOC,QAAP,MAAqB,gBAArB;AAEA,SAASC,IAAT,EAAeC,MAAf,QAA6B,oBAA7B;AAQA,eAAe,MAAMC,cAAN,SAA6BJ,aAA7B,CAGb;EAMAK,WAAW,CAACC,MAAD,EAA6B;IACtC,MAAMA,MAAN;;IADsC;;IAAA,wCAORA,KAAK,IAAI;MACvC,IAAM;QAAEC,QAAF;QAAYC;MAAZ,IAA0BF,KAAhC;MACA,IAAMG,QAAQ,GACZD,SAAS,KAAKE,SAAd,IAA2BF,SAA3B,aAA2BA,SAA3B,eAA2BA,SAAS,CAAEG,UAAX,CAAsB,WAAtB,CAA3B,GACIH,SAAS,CAACI,SAAV,CAAoB,CAApB,CADJ,GAEI,WAHN;MAIA,oBACE,8CACE,+CACE,oBAAC,IAAD;QAAM,QAAQ,EAAEH;MAAhB,GACGV,KAAK,CAACc,QAAN,CAAeC,GAAf,CAAmBP,QAAnB,EAA6BQ,KAAK,IACjC,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAACC,IAAN,EAA5B,GAA2CD,KAD5C,CADH,CADF,CADF,CADF;IAWD,CAxBuC;;IAEtC,KAAKE,SAAL,GAAiB,IAAjB;EACD;;EAuBDC,MAAM,GAAiB;IACrB,IAAM;MAAEC,SAAF;MAAaC,OAAb;MAAsBC;IAAtB,IAA8C,KAAKf,KAAzD;IACA,oBACE;MACE,SAAS,EAAC,2BADZ;MAEE,GAAG,EAAEW,SAAS,IAAI;QAChB,KAAKA,SAAL,GAAiBA,SAAjB;MACD;IAJH,GAMGE,SAAS,gBACR,oBAAC,MAAD;MACE,QAAQ,EAAE;QACRV,QAAQ,EAAE,UADF;QAERa,KAAK,EAAEF,OAFC;QAGRG,WAAW,EAAE;MAHL,CADZ;MAME,mBAAmB,EAAEF;IANvB,EADQ,gBAUR,oBAAC,QAAD;MAAU,UAAU,EAAE;QAAEG,IAAI,EAAE,KAAKC;MAAb;IAAtB,GACGL,OADH,CAhBJ,CADF;EAuBD;;AAzDD;;gBAHmBhB,c,kBAIG;EACpBe,SAAS,EAAE,KADS;EAEpBC,OAAO,EAAE;AAFW,C"}
1
+ {"version":3,"file":"MarkdownEditor.js","names":["React","PureComponent","Markdown","Code","Editor","renderMarkdown","props","children","className","language","undefined","startsWith","substring","Children","map","child","trim","MarkdownEditor","constructor","container","render","isEditing","content","onEditorInitialized","value","lineNumbers","code"],"sources":["../../../src/controls/markdown/MarkdownEditor.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement } from 'react';\nimport Markdown from 'react-markdown';\nimport { CodeComponent } from 'react-markdown/src/ast-to-react';\nimport { Code, Editor } from '@deephaven/console';\nimport type * as monaco from 'monaco-editor';\n\ninterface MarkdownEditorProps {\n isEditing: boolean;\n content: string;\n onEditorInitialized: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n}\n\nconst renderMarkdown: CodeComponent = props => {\n const { children, className } = props;\n const language =\n className !== undefined && className?.startsWith('language-')\n ? className.substring(9)\n : 'plaintext';\n return (\n <pre>\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 </pre>\n );\n};\nexport default class MarkdownEditor extends PureComponent<\n MarkdownEditorProps,\n Record<string, never>\n> {\n static defaultProps = {\n isEditing: false,\n content: '',\n };\n\n constructor(props: MarkdownEditorProps) {\n super(props);\n this.container = null;\n }\n\n container: HTMLDivElement | null;\n\n render(): ReactElement {\n const { isEditing, content, onEditorInitialized } = this.props;\n return (\n <div\n className=\"markdown-editor-container\"\n ref={container => {\n this.container = container;\n }}\n >\n {isEditing ? (\n <Editor\n settings={{\n language: 'markdown',\n value: content,\n lineNumbers: 'off',\n }}\n onEditorInitialized={onEditorInitialized}\n />\n ) : (\n <Markdown components={{ code: renderMarkdown }}>{content}</Markdown>\n )}\n </div>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAsB,OAAO;AAC1D,OAAOC,QAAQ,MAAM,gBAAgB;AAErC,SAASC,IAAI,EAAEC,MAAM,QAAQ,oBAAoB;AASjD,IAAMC,cAA6B,GAAGC,KAAK,IAAI;EAC7C,IAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGF,KAAK;EACrC,IAAMG,QAAQ,GACZD,SAAS,KAAKE,SAAS,IAAIF,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEG,UAAU,CAAC,WAAW,CAAC,GACzDH,SAAS,CAACI,SAAS,CAAC,CAAC,CAAC,GACtB,WAAW;EACjB,oBACE,8CACE,+CACE,oBAAC,IAAI;IAAC,QAAQ,EAAEH;EAAS,GACtBT,KAAK,CAACa,QAAQ,CAACC,GAAG,CAACP,QAAQ,EAAEQ,KAAK,IACjC,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACC,IAAI,EAAE,GAAGD,KAAK,CACjD,CACI,CACF,CACH;AAEV,CAAC;AACD,eAAe,MAAME,cAAc,SAAShB,aAAa,CAGvD;EAMAiB,WAAW,CAACZ,KAA0B,EAAE;IACtC,KAAK,CAACA,KAAK,CAAC;IAAC;IACb,IAAI,CAACa,SAAS,GAAG,IAAI;EACvB;EAIAC,MAAM,GAAiB;IACrB,IAAM;MAAEC,SAAS;MAAEC,OAAO;MAAEC;IAAoB,CAAC,GAAG,IAAI,CAACjB,KAAK;IAC9D,oBACE;MACE,SAAS,EAAC,2BAA2B;MACrC,GAAG,EAAEa,SAAS,IAAI;QAChB,IAAI,CAACA,SAAS,GAAGA,SAAS;MAC5B;IAAE,GAEDE,SAAS,gBACR,oBAAC,MAAM;MACL,QAAQ,EAAE;QACRZ,QAAQ,EAAE,UAAU;QACpBe,KAAK,EAAEF,OAAO;QACdG,WAAW,EAAE;MACf,CAAE;MACF,mBAAmB,EAAEF;IAAoB,EACzC,gBAEF,oBAAC,QAAQ;MAAC,UAAU,EAAE;QAAEG,IAAI,EAAErB;MAAe;IAAE,GAAEiB,OAAO,CACzD,CACG;EAEV;AACF;AAAC,gBAxCoBL,cAAc,kBAIX;EACpBI,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC"}
@@ -1,12 +1,10 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import React, { PureComponent } from 'react';
4
3
  import { Button, Modal, ModalBody, ModalFooter, ModalHeader } from '@deephaven/components';
5
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
5
  import { vsTrash } from '@deephaven/icons';
7
6
  import Log from '@deephaven/log';
8
7
  var log = Log.module('MarkdownStartPage');
9
-
10
8
  class MarkdownStartPage extends PureComponent {
11
9
  constructor(props) {
12
10
  super(props);
@@ -16,37 +14,31 @@ class MarkdownStartPage extends PureComponent {
16
14
  isDeleteModalShown: false
17
15
  };
18
16
  }
19
-
20
17
  handleDeleteButtonClick(markdown) {
21
18
  this.setState({
22
19
  isDeleteModalShown: true,
23
20
  toBeDeleted: markdown
24
21
  });
25
22
  }
26
-
27
23
  handleDeleteModalClose() {
28
24
  this.setState({
29
25
  isDeleteModalShown: false,
30
26
  toBeDeleted: undefined
31
27
  });
32
28
  }
33
-
34
29
  handleDeleteMarkdown(markdown) {
35
30
  log.debug('delete markdown: ', markdown);
36
-
37
31
  if (markdown !== undefined) {
38
32
  var {
39
33
  onDelete
40
34
  } = this.props;
41
35
  onDelete(markdown);
42
36
  }
43
-
44
37
  this.setState({
45
38
  isDeleteModalShown: false,
46
39
  toBeDeleted: undefined
47
40
  });
48
41
  }
49
-
50
42
  render() {
51
43
  var {
52
44
  closedMarkdowns,
@@ -104,15 +96,12 @@ class MarkdownStartPage extends PureComponent {
104
96
  }
105
97
  }, "Delete"))))));
106
98
  }
107
-
108
99
  }
109
-
110
100
  _defineProperty(MarkdownStartPage, "defaultProps", {
111
101
  closedMarkdowns: [],
112
102
  onOpen: () => undefined,
113
103
  onCreate: () => undefined,
114
104
  onDelete: () => undefined
115
105
  });
116
-
117
106
  export default MarkdownStartPage;
118
107
  //# sourceMappingURL=MarkdownStartPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownStartPage.js","names":["React","PureComponent","Button","Modal","ModalBody","ModalFooter","ModalHeader","FontAwesomeIcon","vsTrash","Log","log","module","MarkdownStartPage","constructor","props","handleDeleteButtonClick","bind","handleDeleteModalClose","state","isDeleteModalShown","markdown","setState","toBeDeleted","undefined","handleDeleteMarkdown","debug","onDelete","render","closedMarkdowns","onOpen","onCreate","map","id","title"],"sources":["../../../src/controls/markdown/MarkdownStartPage.tsx"],"sourcesContent":["import React, {\n Key,\n MouseEventHandler,\n PureComponent,\n ReactElement,\n} from 'react';\nimport {\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@deephaven/components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTrash } from '@deephaven/icons';\n\nimport Log from '@deephaven/log';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\n\nconst log = Log.module('MarkdownStartPage');\n\ninterface MarkdownStartPageProps {\n closedMarkdowns: ReactComponentConfig[];\n onOpen: (markdown: ReactComponentConfig) => void;\n onCreate: MouseEventHandler<HTMLButtonElement>;\n onDelete: (markdown: ReactComponentConfig) => void;\n}\n\ninterface MarkdownStartPageState {\n isDeleteModalShown: boolean;\n toBeDeleted?: ReactComponentConfig;\n}\n\nclass MarkdownStartPage extends PureComponent<\n MarkdownStartPageProps,\n MarkdownStartPageState\n> {\n static defaultProps = {\n closedMarkdowns: [],\n onOpen: (): void => undefined,\n onCreate: (): void => undefined,\n onDelete: (): void => undefined,\n };\n\n constructor(props: MarkdownStartPageProps) {\n super(props);\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\n this.handleDeleteModalClose = this.handleDeleteModalClose.bind(this);\n this.state = {\n isDeleteModalShown: false,\n };\n }\n\n handleDeleteButtonClick(markdown: ReactComponentConfig): void {\n this.setState({ isDeleteModalShown: true, toBeDeleted: markdown });\n }\n\n handleDeleteModalClose(): void {\n this.setState({ isDeleteModalShown: false, toBeDeleted: undefined });\n }\n\n handleDeleteMarkdown(markdown?: ReactComponentConfig): void {\n log.debug('delete markdown: ', markdown);\n\n if (markdown !== undefined) {\n const { onDelete } = this.props;\n onDelete(markdown);\n }\n\n this.setState({ isDeleteModalShown: false, toBeDeleted: undefined });\n }\n\n render(): ReactElement {\n const { closedMarkdowns, onOpen, onCreate } = this.props;\n const { isDeleteModalShown, toBeDeleted } = this.state;\n\n return (\n <div className=\"markdown-panel-start-page h-100 w-100\">\n <div className=\"markdown-panel-start-page-container\">\n <div className=\"markdown-panel-start-list\">\n <h3 className=\"list-title\">Start</h3>\n <div className=\"list-item\">\n <Button kind=\"ghost\" className=\"title\" onClick={onCreate}>\n New Markdown Note\n </Button>\n </div>\n </div>\n <div className=\"markdown-panel-start-list\">\n <h3 className=\"list-title\">Recently Closed from Dashboard</h3>\n {closedMarkdowns.map(markdown => (\n <div className=\"list-item\" key={markdown.id as Key}>\n <Button\n kind=\"ghost\"\n className=\"title\"\n onClick={() => onOpen(markdown)}\n >\n {markdown.title}\n </Button>\n <button\n className=\"btn-link icon\"\n type=\"button\"\n onClick={() => {\n this.handleDeleteButtonClick(markdown);\n }}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n </div>\n ))}\n <Modal\n isOpen={isDeleteModalShown}\n toggle={this.handleDeleteModalClose}\n className=\"modal-dialog-centered markdown-delete-modal theme-bg-light\"\n >\n <ModalHeader>\n Are you sure you want to permanently delete this note?\n </ModalHeader>\n <ModalBody>You can&#39;t undo this action.</ModalBody>\n <ModalFooter>\n <Button kind=\"secondary\" onClick={this.handleDeleteModalClose}>\n Cancel\n </Button>\n <Button\n kind=\"danger\"\n onClick={() => {\n this.handleDeleteMarkdown(toBeDeleted);\n }}\n >\n Delete\n </Button>\n </ModalFooter>\n </Modal>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default MarkdownStartPage;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAGEC,aAHF,QAKO,OALP;AAMA,SACEC,MADF,EAEEC,KAFF,EAGEC,SAHF,EAIEC,WAJF,EAKEC,WALF,QAMO,uBANP;AAOA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,OAAT,QAAwB,kBAAxB;AAEA,OAAOC,GAAP,MAAgB,gBAAhB;AAGA,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAJ,CAAW,mBAAX,CAAZ;;AAcA,MAAMC,iBAAN,SAAgCX,aAAhC,CAGE;EAQAY,WAAW,CAACC,KAAD,EAAgC;IACzC,MAAMA,KAAN;IACA,KAAKC,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BC,IAA7B,CAAkC,IAAlC,CAA/B;IACA,KAAKC,sBAAL,GAA8B,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAA9B;IACA,KAAKE,KAAL,GAAa;MACXC,kBAAkB,EAAE;IADT,CAAb;EAGD;;EAEDJ,uBAAuB,CAACK,QAAD,EAAuC;IAC5D,KAAKC,QAAL,CAAc;MAAEF,kBAAkB,EAAE,IAAtB;MAA4BG,WAAW,EAAEF;IAAzC,CAAd;EACD;;EAEDH,sBAAsB,GAAS;IAC7B,KAAKI,QAAL,CAAc;MAAEF,kBAAkB,EAAE,KAAtB;MAA6BG,WAAW,EAAEC;IAA1C,CAAd;EACD;;EAEDC,oBAAoB,CAACJ,QAAD,EAAwC;IAC1DV,GAAG,CAACe,KAAJ,CAAU,mBAAV,EAA+BL,QAA/B;;IAEA,IAAIA,QAAQ,KAAKG,SAAjB,EAA4B;MAC1B,IAAM;QAAEG;MAAF,IAAe,KAAKZ,KAA1B;MACAY,QAAQ,CAACN,QAAD,CAAR;IACD;;IAED,KAAKC,QAAL,CAAc;MAAEF,kBAAkB,EAAE,KAAtB;MAA6BG,WAAW,EAAEC;IAA1C,CAAd;EACD;;EAEDI,MAAM,GAAiB;IACrB,IAAM;MAAEC,eAAF;MAAmBC,MAAnB;MAA2BC;IAA3B,IAAwC,KAAKhB,KAAnD;IACA,IAAM;MAAEK,kBAAF;MAAsBG;IAAtB,IAAsC,KAAKJ,KAAjD;IAEA,oBACE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAI,SAAS,EAAC;IAAd,WADF,eAEE;MAAK,SAAS,EAAC;IAAf,gBACE,oBAAC,MAAD;MAAQ,IAAI,EAAC,OAAb;MAAqB,SAAS,EAAC,OAA/B;MAAuC,OAAO,EAAEY;IAAhD,uBADF,CAFF,CADF,eASE;MAAK,SAAS,EAAC;IAAf,gBACE;MAAI,SAAS,EAAC;IAAd,oCADF,EAEGF,eAAe,CAACG,GAAhB,CAAoBX,QAAQ,iBAC3B;MAAK,SAAS,EAAC,WAAf;MAA2B,GAAG,EAAEA,QAAQ,CAACY;IAAzC,gBACE,oBAAC,MAAD;MACE,IAAI,EAAC,OADP;MAEE,SAAS,EAAC,OAFZ;MAGE,OAAO,EAAE,MAAMH,MAAM,CAACT,QAAD;IAHvB,GAKGA,QAAQ,CAACa,KALZ,CADF,eAQE;MACE,SAAS,EAAC,eADZ;MAEE,IAAI,EAAC,QAFP;MAGE,OAAO,EAAE,MAAM;QACb,KAAKlB,uBAAL,CAA6BK,QAA7B;MACD;IALH,gBAOE,oBAAC,eAAD;MAAiB,IAAI,EAAEZ;IAAvB,EAPF,CARF,CADD,CAFH,eAsBE,oBAAC,KAAD;MACE,MAAM,EAAEW,kBADV;MAEE,MAAM,EAAE,KAAKF,sBAFf;MAGE,SAAS,EAAC;IAHZ,gBAKE,oBAAC,WAAD,iEALF,eAQE,oBAAC,SAAD,sCARF,eASE,oBAAC,WAAD,qBACE,oBAAC,MAAD;MAAQ,IAAI,EAAC,WAAb;MAAyB,OAAO,EAAE,KAAKA;IAAvC,YADF,eAIE,oBAAC,MAAD;MACE,IAAI,EAAC,QADP;MAEE,OAAO,EAAE,MAAM;QACb,KAAKO,oBAAL,CAA0BF,WAA1B;MACD;IAJH,YAJF,CATF,CAtBF,CATF,CADF,CADF;EA4DD;;AApGD;;gBAHIV,iB,kBAIkB;EACpBgB,eAAe,EAAE,EADG;EAEpBC,MAAM,EAAE,MAAYN,SAFA;EAGpBO,QAAQ,EAAE,MAAYP,SAHF;EAIpBG,QAAQ,EAAE,MAAYH;AAJF,C;;AAsGxB,eAAeX,iBAAf"}
1
+ {"version":3,"file":"MarkdownStartPage.js","names":["React","PureComponent","Button","Modal","ModalBody","ModalFooter","ModalHeader","FontAwesomeIcon","vsTrash","Log","log","module","MarkdownStartPage","constructor","props","handleDeleteButtonClick","bind","handleDeleteModalClose","state","isDeleteModalShown","markdown","setState","toBeDeleted","undefined","handleDeleteMarkdown","debug","onDelete","render","closedMarkdowns","onOpen","onCreate","map","id","title"],"sources":["../../../src/controls/markdown/MarkdownStartPage.tsx"],"sourcesContent":["import React, {\n Key,\n MouseEventHandler,\n PureComponent,\n ReactElement,\n} from 'react';\nimport {\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@deephaven/components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTrash } from '@deephaven/icons';\n\nimport Log from '@deephaven/log';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\n\nconst log = Log.module('MarkdownStartPage');\n\ninterface MarkdownStartPageProps {\n closedMarkdowns: ReactComponentConfig[];\n onOpen: (markdown: ReactComponentConfig) => void;\n onCreate: MouseEventHandler<HTMLButtonElement>;\n onDelete: (markdown: ReactComponentConfig) => void;\n}\n\ninterface MarkdownStartPageState {\n isDeleteModalShown: boolean;\n toBeDeleted?: ReactComponentConfig;\n}\n\nclass MarkdownStartPage extends PureComponent<\n MarkdownStartPageProps,\n MarkdownStartPageState\n> {\n static defaultProps = {\n closedMarkdowns: [],\n onOpen: (): void => undefined,\n onCreate: (): void => undefined,\n onDelete: (): void => undefined,\n };\n\n constructor(props: MarkdownStartPageProps) {\n super(props);\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\n this.handleDeleteModalClose = this.handleDeleteModalClose.bind(this);\n this.state = {\n isDeleteModalShown: false,\n };\n }\n\n handleDeleteButtonClick(markdown: ReactComponentConfig): void {\n this.setState({ isDeleteModalShown: true, toBeDeleted: markdown });\n }\n\n handleDeleteModalClose(): void {\n this.setState({ isDeleteModalShown: false, toBeDeleted: undefined });\n }\n\n handleDeleteMarkdown(markdown?: ReactComponentConfig): void {\n log.debug('delete markdown: ', markdown);\n\n if (markdown !== undefined) {\n const { onDelete } = this.props;\n onDelete(markdown);\n }\n\n this.setState({ isDeleteModalShown: false, toBeDeleted: undefined });\n }\n\n render(): ReactElement {\n const { closedMarkdowns, onOpen, onCreate } = this.props;\n const { isDeleteModalShown, toBeDeleted } = this.state;\n\n return (\n <div className=\"markdown-panel-start-page h-100 w-100\">\n <div className=\"markdown-panel-start-page-container\">\n <div className=\"markdown-panel-start-list\">\n <h3 className=\"list-title\">Start</h3>\n <div className=\"list-item\">\n <Button kind=\"ghost\" className=\"title\" onClick={onCreate}>\n New Markdown Note\n </Button>\n </div>\n </div>\n <div className=\"markdown-panel-start-list\">\n <h3 className=\"list-title\">Recently Closed from Dashboard</h3>\n {closedMarkdowns.map(markdown => (\n <div className=\"list-item\" key={markdown.id as Key}>\n <Button\n kind=\"ghost\"\n className=\"title\"\n onClick={() => onOpen(markdown)}\n >\n {markdown.title}\n </Button>\n <button\n className=\"btn-link icon\"\n type=\"button\"\n onClick={() => {\n this.handleDeleteButtonClick(markdown);\n }}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n </div>\n ))}\n <Modal\n isOpen={isDeleteModalShown}\n toggle={this.handleDeleteModalClose}\n className=\"modal-dialog-centered markdown-delete-modal theme-bg-light\"\n >\n <ModalHeader>\n Are you sure you want to permanently delete this note?\n </ModalHeader>\n <ModalBody>You can&#39;t undo this action.</ModalBody>\n <ModalFooter>\n <Button kind=\"secondary\" onClick={this.handleDeleteModalClose}>\n Cancel\n </Button>\n <Button\n kind=\"danger\"\n onClick={() => {\n this.handleDeleteMarkdown(toBeDeleted);\n }}\n >\n Delete\n </Button>\n </ModalFooter>\n </Modal>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default MarkdownStartPage;\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  class MarkdownUtils {
4
3
  /**
5
4
  * Retrieves a new markdown title that does not conflict with the current titles
@@ -9,20 +8,14 @@ class MarkdownUtils {
9
8
  static getNewMarkdownTitle(usedTitles) {
10
9
  var title = "".concat(MarkdownUtils.DEFAULT_TITLE);
11
10
  var titleIndex = 0;
12
-
13
11
  while (usedTitles.indexOf(title) >= 0) {
14
12
  titleIndex += 1;
15
13
  title = "".concat(MarkdownUtils.DEFAULT_TITLE, "-").concat(titleIndex);
16
14
  }
17
-
18
15
  return title;
19
16
  }
20
-
21
17
  }
22
-
23
18
  _defineProperty(MarkdownUtils, "DEFAULT_TITLE", 'Note');
24
-
25
19
  _defineProperty(MarkdownUtils, "DEFAULT_CONTENT", '# Markdown Note\n\nThis note can be edited using **markdown** for styling.');
26
-
27
20
  export default MarkdownUtils;
28
21
  //# sourceMappingURL=MarkdownUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownUtils.js","names":["MarkdownUtils","getNewMarkdownTitle","usedTitles","title","DEFAULT_TITLE","titleIndex","indexOf"],"sources":["../../../src/controls/markdown/MarkdownUtils.ts"],"sourcesContent":["class MarkdownUtils {\n static DEFAULT_TITLE = 'Note';\n\n static DEFAULT_CONTENT =\n '# Markdown Note\\n\\nThis note can be edited using **markdown** for styling.';\n\n /**\n * Retrieves a new markdown title that does not conflict with the current titles\n * @param usedTitles Markdown titles that are already in use\n * @returns The new title\n */\n static getNewMarkdownTitle(usedTitles: string[]): string {\n let title = `${MarkdownUtils.DEFAULT_TITLE}`;\n let titleIndex = 0;\n while (usedTitles.indexOf(title) >= 0) {\n titleIndex += 1;\n title = `${MarkdownUtils.DEFAULT_TITLE}-${titleIndex}`;\n }\n\n return title;\n }\n}\n\nexport default MarkdownUtils;\n"],"mappings":";;AAAA,MAAMA,aAAN,CAAoB;EAMlB;AACF;AACA;AACA;AACA;EAC4B,OAAnBC,mBAAmB,CAACC,UAAD,EAA+B;IACvD,IAAIC,KAAK,aAAMH,aAAa,CAACI,aAApB,CAAT;IACA,IAAIC,UAAU,GAAG,CAAjB;;IACA,OAAOH,UAAU,CAACI,OAAX,CAAmBH,KAAnB,KAA6B,CAApC,EAAuC;MACrCE,UAAU,IAAI,CAAd;MACAF,KAAK,aAAMH,aAAa,CAACI,aAApB,cAAqCC,UAArC,CAAL;IACD;;IAED,OAAOF,KAAP;EACD;;AApBiB;;gBAAdH,a,mBACmB,M;;gBADnBA,a,qBAIF,4E;;AAmBJ,eAAeA,aAAf"}
1
+ {"version":3,"file":"MarkdownUtils.js","names":["MarkdownUtils","getNewMarkdownTitle","usedTitles","title","DEFAULT_TITLE","titleIndex","indexOf"],"sources":["../../../src/controls/markdown/MarkdownUtils.ts"],"sourcesContent":["class MarkdownUtils {\n static DEFAULT_TITLE = 'Note';\n\n static DEFAULT_CONTENT =\n '# Markdown Note\\n\\nThis note can be edited using **markdown** for styling.';\n\n /**\n * Retrieves a new markdown title that does not conflict with the current titles\n * @param usedTitles Markdown titles that are already in use\n * @returns The new title\n */\n static getNewMarkdownTitle(usedTitles: string[]): string {\n let title = `${MarkdownUtils.DEFAULT_TITLE}`;\n let titleIndex = 0;\n while (usedTitles.indexOf(title) >= 0) {\n titleIndex += 1;\n title = `${MarkdownUtils.DEFAULT_TITLE}-${titleIndex}`;\n }\n\n return title;\n }\n}\n\nexport default MarkdownUtils;\n"],"mappings":";AAAA,MAAMA,aAAa,CAAC;EAMlB;AACF;AACA;AACA;AACA;EACE,OAAOC,mBAAmB,CAACC,UAAoB,EAAU;IACvD,IAAIC,KAAK,aAAMH,aAAa,CAACI,aAAa,CAAE;IAC5C,IAAIC,UAAU,GAAG,CAAC;IAClB,OAAOH,UAAU,CAACI,OAAO,CAACH,KAAK,CAAC,IAAI,CAAC,EAAE;MACrCE,UAAU,IAAI,CAAC;MACfF,KAAK,aAAMH,aAAa,CAACI,aAAa,cAAIC,UAAU,CAAE;IACxD;IAEA,OAAOF,KAAK;EACd;AACF;AAAC,gBArBKH,aAAa,mBACM,MAAM;AAAA,gBADzBA,aAAa,qBAIf,4EAA4E;AAmBhF,eAAeA,aAAa"}
@@ -1,12 +1,7 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  class ChartEvent {}
4
-
5
3
  _defineProperty(ChartEvent, "OPEN", 'ChartEvent.OPEN');
6
-
7
4
  _defineProperty(ChartEvent, "CLOSE", 'ChartEvent.CLOSE');
8
-
9
5
  _defineProperty(ChartEvent, "COLUMN_SELECTED", 'ChartEvent.COLUMN_SELECTED');
10
-
11
6
  export default ChartEvent;
12
7
  //# sourceMappingURL=ChartEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartEvent.js","names":["ChartEvent"],"sources":["../../src/events/ChartEvent.ts"],"sourcesContent":["class ChartEvent {\n /** @deprecated Use PanelEvent.OPEN instead */\n static OPEN = 'ChartEvent.OPEN';\n\n /** @deprecated Use PanelEvent.CLOSE instead */\n static CLOSE = 'ChartEvent.CLOSE';\n\n static COLUMN_SELECTED = 'ChartEvent.COLUMN_SELECTED';\n}\n\nexport default ChartEvent;\n"],"mappings":";;AAAA,MAAMA,UAAN,CAAiB;;gBAAXA,U,UAEU,iB;;gBAFVA,U,WAKW,kB;;gBALXA,U,qBAOqB,4B;;AAG3B,eAAeA,UAAf"}
1
+ {"version":3,"file":"ChartEvent.js","names":["ChartEvent"],"sources":["../../src/events/ChartEvent.ts"],"sourcesContent":["class ChartEvent {\n /** @deprecated Use PanelEvent.OPEN instead */\n static OPEN = 'ChartEvent.OPEN';\n\n /** @deprecated Use PanelEvent.CLOSE instead */\n static CLOSE = 'ChartEvent.CLOSE';\n\n static COLUMN_SELECTED = 'ChartEvent.COLUMN_SELECTED';\n}\n\nexport default ChartEvent;\n"],"mappings":";AAAA,MAAMA,UAAU,CAAC;AAQhB,gBARKA,UAAU,UAEA,iBAAiB;AAAA,gBAF3BA,UAAU,WAKC,kBAAkB;AAAA,gBAL7BA,UAAU,qBAOW,4BAA4B;AAGvD,eAAeA,UAAU"}
@@ -1,16 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  class ConsoleEvent {}
4
-
5
3
  _defineProperty(ConsoleEvent, "SESSION_OPENED", 'ConsoleEvent.SESSION_OPENED');
6
-
7
4
  _defineProperty(ConsoleEvent, "SESSION_CLOSED", 'ConsoleEvent.SESSION_CLOSED');
8
-
9
5
  _defineProperty(ConsoleEvent, "FOCUS_HISTORY", 'ConsoleEvent.FOCUS_HISTORY');
10
-
11
6
  _defineProperty(ConsoleEvent, "SEND_COMMAND", 'ConsoleEvent.SEND_COMMAND');
12
-
13
7
  _defineProperty(ConsoleEvent, "SETTINGS_CHANGED", 'ConsoleEvent.SETTINGS_CHANGED');
14
-
15
8
  export default ConsoleEvent;
16
9
  //# sourceMappingURL=ConsoleEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleEvent.js","names":["ConsoleEvent"],"sources":["../../src/events/ConsoleEvent.ts"],"sourcesContent":["class ConsoleEvent {\n static SESSION_OPENED = 'ConsoleEvent.SESSION_OPENED';\n\n static SESSION_CLOSED = 'ConsoleEvent.SESSION_CLOSED';\n\n static FOCUS_HISTORY = 'ConsoleEvent.FOCUS_HISTORY';\n\n static SEND_COMMAND = 'ConsoleEvent.SEND_COMMAND';\n\n static SETTINGS_CHANGED = 'ConsoleEvent.SETTINGS_CHANGED';\n}\n\nexport default ConsoleEvent;\n"],"mappings":";;AAAA,MAAMA,YAAN,CAAmB;;gBAAbA,Y,oBACoB,6B;;gBADpBA,Y,oBAGoB,6B;;gBAHpBA,Y,mBAKmB,4B;;gBALnBA,Y,kBAOkB,2B;;gBAPlBA,Y,sBASsB,+B;;AAG5B,eAAeA,YAAf"}
1
+ {"version":3,"file":"ConsoleEvent.js","names":["ConsoleEvent"],"sources":["../../src/events/ConsoleEvent.ts"],"sourcesContent":["class ConsoleEvent {\n static SESSION_OPENED = 'ConsoleEvent.SESSION_OPENED';\n\n static SESSION_CLOSED = 'ConsoleEvent.SESSION_CLOSED';\n\n static FOCUS_HISTORY = 'ConsoleEvent.FOCUS_HISTORY';\n\n static SEND_COMMAND = 'ConsoleEvent.SEND_COMMAND';\n\n static SETTINGS_CHANGED = 'ConsoleEvent.SETTINGS_CHANGED';\n}\n\nexport default ConsoleEvent;\n"],"mappings":";AAAA,MAAMA,YAAY,CAAC;AAUlB,gBAVKA,YAAY,oBACQ,6BAA6B;AAAA,gBADjDA,YAAY,oBAGQ,6BAA6B;AAAA,gBAHjDA,YAAY,mBAKO,4BAA4B;AAAA,gBAL/CA,YAAY,kBAOM,2BAA2B;AAAA,gBAP7CA,YAAY,sBASU,+BAA+B;AAG3D,eAAeA,YAAY"}