@deephaven/iris-grid 0.22.3-embed-pandas.11 → 0.23.0

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 (243) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -1
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +7 -65
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.d.ts +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorFilterItem.js +0 -23
  8. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValue.js +0 -52
  10. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +1 -5
  12. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  13. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -42
  14. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  15. package/dist/ColumnHeaderGroup.js +0 -11
  16. package/dist/ColumnHeaderGroup.js.map +1 -1
  17. package/dist/ColumnStatistics.d.ts +0 -2
  18. package/dist/ColumnStatistics.d.ts.map +1 -1
  19. package/dist/ColumnStatistics.js +8 -40
  20. package/dist/ColumnStatistics.js.map +1 -1
  21. package/dist/CommonTypes.d.ts +14 -14
  22. package/dist/CommonTypes.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +2 -23
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.js +2 -36
  26. package/dist/FilterInputField.js.map +1 -1
  27. package/dist/GotoRow.d.ts +1 -1
  28. package/dist/GotoRow.d.ts.map +1 -1
  29. package/dist/GotoRow.js +2 -7
  30. package/dist/GotoRow.js.map +1 -1
  31. package/dist/IrisGrid.d.ts +46 -40
  32. package/dist/IrisGrid.d.ts.map +1 -1
  33. package/dist/IrisGrid.js +84 -526
  34. package/dist/IrisGrid.js.map +1 -1
  35. package/dist/IrisGridBottomBar.d.ts +2 -2
  36. package/dist/IrisGridBottomBar.d.ts.map +1 -1
  37. package/dist/IrisGridBottomBar.js +2 -2
  38. package/dist/IrisGridBottomBar.js.map +1 -1
  39. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  40. package/dist/IrisGridCellOverflowModal.js +13 -46
  41. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  42. package/dist/IrisGridCopyHandler.d.ts +3 -3
  43. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  44. package/dist/IrisGridCopyHandler.js +6 -53
  45. package/dist/IrisGridCopyHandler.js.map +1 -1
  46. package/dist/IrisGridMetricCalculator.js +2 -12
  47. package/dist/IrisGridMetricCalculator.js.map +1 -1
  48. package/dist/IrisGridModel.d.ts +3 -3
  49. package/dist/IrisGridModel.d.ts.map +1 -1
  50. package/dist/IrisGridModel.js +32 -58
  51. package/dist/IrisGridModel.js.map +1 -1
  52. package/dist/IrisGridModelFactory.js +0 -7
  53. package/dist/IrisGridModelFactory.js.map +1 -1
  54. package/dist/IrisGridModelUpdater.js +0 -4
  55. package/dist/IrisGridModelUpdater.js.map +1 -1
  56. package/dist/IrisGridPartitionSelector.js +0 -23
  57. package/dist/IrisGridPartitionSelector.js.map +1 -1
  58. package/dist/IrisGridProxyModel.js +9 -153
  59. package/dist/IrisGridProxyModel.js.map +1 -1
  60. package/dist/IrisGridRenderer.d.ts +1 -1
  61. package/dist/IrisGridRenderer.d.ts.map +1 -1
  62. package/dist/IrisGridRenderer.js +41 -183
  63. package/dist/IrisGridRenderer.js.map +1 -1
  64. package/dist/IrisGridShortcuts.js.map +1 -1
  65. package/dist/IrisGridTableModel.d.ts +3 -3
  66. package/dist/IrisGridTableModel.d.ts.map +1 -1
  67. package/dist/IrisGridTableModel.js +10 -90
  68. package/dist/IrisGridTableModel.js.map +1 -1
  69. package/dist/IrisGridTableModelTemplate.d.ts +3 -3
  70. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.js +70 -461
  72. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  73. package/dist/IrisGridTestUtils.js +0 -23
  74. package/dist/IrisGridTestUtils.js.map +1 -1
  75. package/dist/IrisGridTheme.d.ts +1 -1
  76. package/dist/IrisGridTheme.d.ts.map +1 -1
  77. package/dist/IrisGridTheme.js.map +1 -1
  78. package/dist/IrisGridTreeTableModel.js +3 -42
  79. package/dist/IrisGridTreeTableModel.js.map +1 -1
  80. package/dist/IrisGridUtils.d.ts +13 -7
  81. package/dist/IrisGridUtils.d.ts.map +1 -1
  82. package/dist/IrisGridUtils.js +98 -196
  83. package/dist/IrisGridUtils.js.map +1 -1
  84. package/dist/MissingKeyError.js +0 -7
  85. package/dist/MissingKeyError.js.map +1 -1
  86. package/dist/PartitionSelectorSearch.d.ts +2 -2
  87. package/dist/PartitionSelectorSearch.js +2 -48
  88. package/dist/PartitionSelectorSearch.js.map +1 -1
  89. package/dist/PendingDataBottomBar.d.ts +2 -2
  90. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  91. package/dist/PendingDataBottomBar.js +2 -7
  92. package/dist/PendingDataBottomBar.js.map +1 -1
  93. package/dist/TableViewportUpdater.d.ts +2 -2
  94. package/dist/TableViewportUpdater.d.ts.map +1 -1
  95. package/dist/TableViewportUpdater.js +3 -29
  96. package/dist/TableViewportUpdater.js.map +1 -1
  97. package/dist/ToastBottomBar.d.ts +2 -2
  98. package/dist/ToastBottomBar.d.ts.map +1 -1
  99. package/dist/ToastBottomBar.js +2 -4
  100. package/dist/ToastBottomBar.js.map +1 -1
  101. package/dist/TreeTableViewportUpdater.js +0 -21
  102. package/dist/TreeTableViewportUpdater.js.map +1 -1
  103. package/dist/format-context-menus/CustomFormatAction.d.ts +1 -1
  104. package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
  105. package/dist/format-context-menus/CustomFormatAction.js +4 -25
  106. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  107. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
  108. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  109. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
  110. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  111. package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
  112. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  113. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
  114. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  115. package/dist/format-context-menus/index.js.map +1 -1
  116. package/dist/index.d.ts +3 -3
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +3 -3
  119. package/dist/index.js.map +1 -1
  120. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
  121. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  122. package/dist/key-handlers/CopyKeyHandler.js +1 -10
  123. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  124. package/dist/key-handlers/ReverseKeyHandler.js +0 -11
  125. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  126. package/dist/key-handlers/index.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
  128. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
  130. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  131. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
  132. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  133. package/dist/mousehandlers/IrisGridContextMenuHandler.js +17 -107
  134. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  135. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
  136. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  137. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
  138. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  139. package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
  140. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  141. package/dist/mousehandlers/PendingMouseHandler.js +0 -6
  142. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  143. package/dist/mousehandlers/index.js.map +1 -1
  144. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  145. package/dist/sidebar/AdvancedSettingsMenu.d.ts +6 -6
  146. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  147. package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
  148. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  149. package/dist/sidebar/AdvancedSettingsType.js +0 -2
  150. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  151. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  152. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  153. package/dist/sidebar/ChartBuilder.js +2 -46
  154. package/dist/sidebar/ChartBuilder.js.map +1 -1
  155. package/dist/sidebar/CustomColumnBuilder.d.ts +2 -2
  156. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  157. package/dist/sidebar/CustomColumnBuilder.js +6 -58
  158. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  159. package/dist/sidebar/CustomColumnInput.js +4 -15
  160. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  161. package/dist/sidebar/InputEditor.js +5 -36
  162. package/dist/sidebar/InputEditor.js.map +1 -1
  163. package/dist/sidebar/OptionType.js +0 -2
  164. package/dist/sidebar/OptionType.js.map +1 -1
  165. package/dist/sidebar/RollupRows.d.ts +3 -3
  166. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  167. package/dist/sidebar/RollupRows.js +9 -65
  168. package/dist/sidebar/RollupRows.js.map +1 -1
  169. package/dist/sidebar/SelectDistinctBuilder.js +0 -13
  170. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  171. package/dist/sidebar/TableCsvExporter.css +3 -0
  172. package/dist/sidebar/TableCsvExporter.css.map +1 -1
  173. package/dist/sidebar/TableCsvExporter.d.ts +12 -6
  174. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  175. package/dist/sidebar/TableCsvExporter.js +88 -82
  176. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  177. package/dist/sidebar/TableSaver.d.ts +5 -3
  178. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  179. package/dist/sidebar/TableSaver.js +52 -132
  180. package/dist/sidebar/TableSaver.js.map +1 -1
  181. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +5 -4
  182. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  183. package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
  184. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  185. package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -2
  186. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  187. package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
  188. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  189. package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
  190. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  191. package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
  192. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  193. package/dist/sidebar/aggregations/Aggregations.d.ts +4 -4
  194. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  195. package/dist/sidebar/aggregations/Aggregations.js +2 -12
  196. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  197. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
  198. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  199. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
  200. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  201. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
  202. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  203. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
  204. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  205. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +4 -4
  206. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  207. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
  208. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  209. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
  210. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  211. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +5 -5
  212. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  213. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
  214. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  215. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
  216. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  217. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
  218. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  219. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
  220. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  221. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
  222. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  223. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
  224. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  225. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
  226. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  227. package/dist/sidebar/icons/BarIcon.js +0 -3
  228. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  229. package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
  230. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  231. package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
  232. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  233. package/dist/sidebar/icons/HistogramIcon.js +0 -3
  234. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  235. package/dist/sidebar/icons/LineIcon.js +0 -3
  236. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  237. package/dist/sidebar/icons/PieIcon.js +0 -3
  238. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  239. package/dist/sidebar/icons/ScatterIcon.js +0 -3
  240. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  241. package/dist/sidebar/icons/index.js.map +1 -1
  242. package/dist/sidebar/index.js.map +1 -1
  243. package/package.json +15 -15
@@ -1,13 +1,10 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
-
3
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
-
5
3
  import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
6
4
  import IrisGridProxyModel from "./IrisGridProxyModel.js";
7
5
  /**
8
6
  * Factory to create an IrisGridDataModel based on a table or tree table, whatever is passed in.
9
7
  */
10
-
11
8
  class IrisGridModelFactory {
12
9
  /**
13
10
  * @param table The Table or TreeTable object to create the model with
@@ -19,16 +16,12 @@ class IrisGridModelFactory {
19
16
  return _asyncToGenerator(function* () {
20
17
  var formatter = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : new Formatter();
21
18
  var inputTable = null;
22
-
23
19
  if (!TableUtils.isTreeTable(table) && table.hasInputTable) {
24
20
  inputTable = yield table.inputTable();
25
21
  }
26
-
27
22
  return new IrisGridProxyModel(table, formatter, inputTable);
28
23
  })();
29
24
  }
30
-
31
25
  }
32
-
33
26
  export default IrisGridModelFactory;
34
27
  //# sourceMappingURL=IrisGridModelFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridModelFactory.js","names":["Formatter","TableUtils","IrisGridProxyModel","IrisGridModelFactory","makeModel","table","formatter","inputTable","isTreeTable","hasInputTable"],"sources":["../src/IrisGridModelFactory.ts"],"sourcesContent":["import { Table, TreeTable } from '@deephaven/jsapi-shim';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridProxyModel from './IrisGridProxyModel';\n\n/**\n * Factory to create an IrisGridDataModel based on a table or tree table, whatever is passed in.\n */\nclass IrisGridModelFactory {\n /**\n * @param table The Table or TreeTable object to create the model with\n * @param formatter The formatter to use\n * @returns An IrisGridModel that uses the table provided\n */\n static async makeModel(\n table: Table | TreeTable,\n formatter = new Formatter()\n ): Promise<IrisGridModel> {\n let inputTable = null;\n if (!TableUtils.isTreeTable(table) && table.hasInputTable) {\n inputTable = await table.inputTable();\n }\n return new IrisGridProxyModel(table, formatter, inputTable);\n }\n}\n\nexport default IrisGridModelFactory;\n"],"mappings":";;;;AACA,SAASA,SAAT,EAAoBC,UAApB,QAAsC,wBAAtC;OAEOC,kB;AAEP;AACA;AACA;;AACA,MAAMC,oBAAN,CAA2B;EACzB;AACF;AACA;AACA;AACA;EACwB,OAATC,SAAS,CACpBC,KADoB,EAGI;IAAA;IAAA;MAAA,IADxBC,SACwB,0EADZ,IAAIN,SAAJ,EACY;MACxB,IAAIO,UAAU,GAAG,IAAjB;;MACA,IAAI,CAACN,UAAU,CAACO,WAAX,CAAuBH,KAAvB,CAAD,IAAkCA,KAAK,CAACI,aAA5C,EAA2D;QACzDF,UAAU,SAASF,KAAK,CAACE,UAAN,EAAnB;MACD;;MACD,OAAO,IAAIL,kBAAJ,CAAuBG,KAAvB,EAA8BC,SAA9B,EAAyCC,UAAzC,CAAP;IALwB;EAMzB;;AAfwB;;AAkB3B,eAAeJ,oBAAf"}
1
+ {"version":3,"file":"IrisGridModelFactory.js","names":["Formatter","TableUtils","IrisGridProxyModel","IrisGridModelFactory","makeModel","table","formatter","inputTable","isTreeTable","hasInputTable"],"sources":["../src/IrisGridModelFactory.ts"],"sourcesContent":["import { Table, TreeTable } from '@deephaven/jsapi-shim';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridProxyModel from './IrisGridProxyModel';\n\n/**\n * Factory to create an IrisGridDataModel based on a table or tree table, whatever is passed in.\n */\nclass IrisGridModelFactory {\n /**\n * @param table The Table or TreeTable object to create the model with\n * @param formatter The formatter to use\n * @returns An IrisGridModel that uses the table provided\n */\n static async makeModel(\n table: Table | TreeTable,\n formatter = new Formatter()\n ): Promise<IrisGridModel> {\n let inputTable = null;\n if (!TableUtils.isTreeTable(table) && table.hasInputTable) {\n inputTable = await table.inputTable();\n }\n return new IrisGridProxyModel(table, formatter, inputTable);\n }\n}\n\nexport default IrisGridModelFactory;\n"],"mappings":";;AACA,SAASA,SAAS,EAAEC,UAAU,QAAQ,wBAAwB;AAAC,OAExDC,kBAAkB;AAEzB;AACA;AACA;AACA,MAAMC,oBAAoB,CAAC;EACzB;AACF;AACA;AACA;AACA;EACE,OAAaC,SAAS,CACpBC,KAAwB,EAEA;IAAA;IAAA;MAAA,IADxBC,SAAS,0EAAG,IAAIN,SAAS,EAAE;MAE3B,IAAIO,UAAU,GAAG,IAAI;MACrB,IAAI,CAACN,UAAU,CAACO,WAAW,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACI,aAAa,EAAE;QACzDF,UAAU,SAASF,KAAK,CAACE,UAAU,EAAE;MACvC;MACA,OAAO,IAAIL,kBAAkB,CAACG,KAAK,EAAEC,SAAS,EAAEC,UAAU,CAAC;IAAC;EAC9D;AACF;AAEA,eAAeJ,oBAAoB"}
@@ -1,12 +1,10 @@
1
1
  /* eslint-disable react/require-default-props */
2
-
3
2
  /* eslint-disable no-param-reassign */
4
3
  import React, { useEffect, useMemo } from 'react';
5
4
  import dh from '@deephaven/jsapi-shim';
6
5
  import { TableUtils } from '@deephaven/jsapi-utils';
7
6
  import IrisGridUtils from "./IrisGridUtils.js";
8
7
  var COLUMN_BUFFER_PAGES = 1;
9
-
10
8
  /**
11
9
  * React component to keep IrisGridModel in sync
12
10
  */
@@ -40,11 +38,9 @@ var IrisGridModelUpdater = /*#__PURE__*/React.memo(_ref => {
40
38
  }, [model, filter]);
41
39
  useEffect(function updateSorts() {
42
40
  var sortsForModel = [...sorts];
43
-
44
41
  if (reverseType !== TableUtils.REVERSE_TYPE.NONE) {
45
42
  sortsForModel.push(dh.Table.reverse());
46
43
  }
47
-
48
44
  model.sort = sortsForModel;
49
45
  }, [model, sorts, reverseType]);
50
46
  useEffect(function updateFormatter() {
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridModelUpdater.js","names":["React","useEffect","useMemo","dh","TableUtils","IrisGridUtils","COLUMN_BUFFER_PAGES","IrisGridModelUpdater","memo","model","modelColumns","top","bottom","left","right","filter","formatter","reverseType","REVERSE_TYPE","NONE","sorts","customColumns","movedColumns","hiddenColumns","alwaysFetchColumns","rollupConfig","totalsConfig","selectDistinctColumns","pendingRowCount","pendingDataMap","Map","frozenColumns","formatColumns","columns","getModelViewportColumns","updateFilter","updateSorts","sortsForModel","push","Table","reverse","sort","updateFormatter","updateCustomColumns","isCustomColumnsAvailable","updateFormatColumns","isFormatColumnsAvailable","updateViewport","setViewport","updateRollupCOnfig","isRollupAvailable","updateSelectDistinctColumns","isSelectDistinctAvailable","updateTotalsConfig","isTotalsAvailable","updatePendingRowCount","updatePendingDataMap","updateFrozenColumns","displayName"],"sources":["../src/IrisGridModelUpdater.tsx"],"sourcesContent":["/* eslint-disable react/require-default-props */\n/* eslint-disable no-param-reassign */\nimport React, { useEffect, useMemo } from 'react';\nimport dh, {\n Column,\n CustomColumn,\n FilterCondition,\n RollupConfig,\n Sort,\n} from '@deephaven/jsapi-shim';\nimport { ModelIndex, MoveOperation } from '@deephaven/grid';\nimport { Formatter, ReverseType, TableUtils } from '@deephaven/jsapi-utils';\nimport IrisGridUtils from './IrisGridUtils';\nimport { ColumnName, UITotalsTableConfig, UIRow } from './CommonTypes';\nimport IrisGridModel from './IrisGridModel';\n\nconst COLUMN_BUFFER_PAGES = 1;\n\ninterface IrisGridModelUpdaterProps {\n model: IrisGridModel;\n modelColumns: Column[];\n top: number;\n bottom: number;\n left: number | null;\n right: number | null;\n filter: FilterCondition[];\n sorts: Sort[];\n reverseType?: ReverseType;\n customColumns: ColumnName[];\n movedColumns: MoveOperation[];\n hiddenColumns: ModelIndex[];\n frozenColumns?: ColumnName[];\n formatColumns: CustomColumn[];\n alwaysFetchColumns: ColumnName[];\n formatter: Formatter;\n rollupConfig?: RollupConfig | null;\n totalsConfig?: UITotalsTableConfig | null;\n selectDistinctColumns?: ColumnName[];\n pendingRowCount?: number;\n pendingDataMap?: Map<ModelIndex, UIRow>;\n}\n\n/**\n * React component to keep IrisGridModel in sync\n */\nconst IrisGridModelUpdater = React.memo(\n ({\n model,\n modelColumns,\n top,\n bottom,\n left,\n right,\n filter,\n formatter,\n reverseType = TableUtils.REVERSE_TYPE.NONE,\n sorts,\n customColumns,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n rollupConfig = null,\n totalsConfig = null,\n selectDistinctColumns = [],\n pendingRowCount = 0,\n pendingDataMap = new Map(),\n frozenColumns,\n formatColumns,\n }: IrisGridModelUpdaterProps) => {\n const columns = useMemo(\n () =>\n IrisGridUtils.getModelViewportColumns(\n modelColumns,\n left,\n right,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n COLUMN_BUFFER_PAGES\n ),\n [\n modelColumns,\n left,\n right,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n ]\n );\n\n useEffect(\n function updateFilter() {\n model.filter = filter;\n },\n [model, filter]\n );\n useEffect(\n function updateSorts() {\n const sortsForModel = [...sorts];\n if (reverseType !== TableUtils.REVERSE_TYPE.NONE) {\n sortsForModel.push(dh.Table.reverse());\n }\n model.sort = sortsForModel;\n },\n [model, sorts, reverseType]\n );\n useEffect(\n function updateFormatter() {\n model.formatter = formatter;\n },\n [model, formatter]\n );\n useEffect(\n function updateCustomColumns() {\n if (model.isCustomColumnsAvailable) {\n model.customColumns = customColumns;\n }\n },\n [model, customColumns]\n );\n useEffect(\n function updateFormatColumns() {\n if (model.isFormatColumnsAvailable) {\n model.formatColumns = formatColumns;\n }\n },\n [model, formatColumns]\n );\n useEffect(\n function updateViewport() {\n model.setViewport(top, bottom, columns);\n },\n [model, top, bottom, columns]\n );\n useEffect(\n function updateRollupCOnfig() {\n if (model.isRollupAvailable) {\n model.rollupConfig = rollupConfig;\n }\n },\n [model, model.isRollupAvailable, rollupConfig]\n );\n useEffect(\n function updateSelectDistinctColumns() {\n if (model.isSelectDistinctAvailable) {\n model.selectDistinctColumns = selectDistinctColumns;\n }\n },\n [model, selectDistinctColumns]\n );\n useEffect(\n function updateTotalsConfig() {\n if (model.isTotalsAvailable) {\n model.totalsConfig = totalsConfig;\n }\n },\n [model, model.isTotalsAvailable, totalsConfig]\n );\n useEffect(\n function updatePendingRowCount() {\n model.pendingRowCount = pendingRowCount;\n },\n [model, pendingRowCount]\n );\n useEffect(\n function updatePendingDataMap() {\n model.pendingDataMap = pendingDataMap;\n },\n [model, pendingDataMap]\n );\n useEffect(\n function updateFrozenColumns() {\n if (frozenColumns) {\n model.updateFrozenColumns(frozenColumns);\n }\n },\n [model, frozenColumns]\n );\n\n return null;\n }\n);\n\nIrisGridModelUpdater.displayName = 'IrisGridModelUpdater';\n\nexport default IrisGridModelUpdater;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridModelUpdater.js","names":["React","useEffect","useMemo","dh","TableUtils","IrisGridUtils","COLUMN_BUFFER_PAGES","IrisGridModelUpdater","memo","model","modelColumns","top","bottom","left","right","filter","formatter","reverseType","REVERSE_TYPE","NONE","sorts","customColumns","movedColumns","hiddenColumns","alwaysFetchColumns","rollupConfig","totalsConfig","selectDistinctColumns","pendingRowCount","pendingDataMap","Map","frozenColumns","formatColumns","columns","getModelViewportColumns","updateFilter","updateSorts","sortsForModel","push","Table","reverse","sort","updateFormatter","updateCustomColumns","isCustomColumnsAvailable","updateFormatColumns","isFormatColumnsAvailable","updateViewport","setViewport","updateRollupCOnfig","isRollupAvailable","updateSelectDistinctColumns","isSelectDistinctAvailable","updateTotalsConfig","isTotalsAvailable","updatePendingRowCount","updatePendingDataMap","updateFrozenColumns","displayName"],"sources":["../src/IrisGridModelUpdater.tsx"],"sourcesContent":["/* eslint-disable react/require-default-props */\n/* eslint-disable no-param-reassign */\nimport React, { useEffect, useMemo } from 'react';\nimport dh, {\n Column,\n CustomColumn,\n FilterCondition,\n RollupConfig,\n Sort,\n} from '@deephaven/jsapi-shim';\nimport { ModelIndex, MoveOperation } from '@deephaven/grid';\nimport { Formatter, ReverseType, TableUtils } from '@deephaven/jsapi-utils';\nimport IrisGridUtils from './IrisGridUtils';\nimport { ColumnName, UITotalsTableConfig, UIRow } from './CommonTypes';\nimport IrisGridModel from './IrisGridModel';\n\nconst COLUMN_BUFFER_PAGES = 1;\n\ninterface IrisGridModelUpdaterProps {\n model: IrisGridModel;\n modelColumns: Column[];\n top: number;\n bottom: number;\n left: number | null;\n right: number | null;\n filter: FilterCondition[];\n sorts: Sort[];\n reverseType?: ReverseType;\n customColumns: ColumnName[];\n movedColumns: MoveOperation[];\n hiddenColumns: ModelIndex[];\n frozenColumns?: ColumnName[];\n formatColumns: CustomColumn[];\n alwaysFetchColumns: ColumnName[];\n formatter: Formatter;\n rollupConfig?: RollupConfig | null;\n totalsConfig?: UITotalsTableConfig | null;\n selectDistinctColumns?: ColumnName[];\n pendingRowCount?: number;\n pendingDataMap?: Map<ModelIndex, UIRow>;\n}\n\n/**\n * React component to keep IrisGridModel in sync\n */\nconst IrisGridModelUpdater = React.memo(\n ({\n model,\n modelColumns,\n top,\n bottom,\n left,\n right,\n filter,\n formatter,\n reverseType = TableUtils.REVERSE_TYPE.NONE,\n sorts,\n customColumns,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n rollupConfig = null,\n totalsConfig = null,\n selectDistinctColumns = [],\n pendingRowCount = 0,\n pendingDataMap = new Map(),\n frozenColumns,\n formatColumns,\n }: IrisGridModelUpdaterProps) => {\n const columns = useMemo(\n () =>\n IrisGridUtils.getModelViewportColumns(\n modelColumns,\n left,\n right,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n COLUMN_BUFFER_PAGES\n ),\n [\n modelColumns,\n left,\n right,\n movedColumns,\n hiddenColumns,\n alwaysFetchColumns,\n ]\n );\n\n useEffect(\n function updateFilter() {\n model.filter = filter;\n },\n [model, filter]\n );\n useEffect(\n function updateSorts() {\n const sortsForModel = [...sorts];\n if (reverseType !== TableUtils.REVERSE_TYPE.NONE) {\n sortsForModel.push(dh.Table.reverse());\n }\n model.sort = sortsForModel;\n },\n [model, sorts, reverseType]\n );\n useEffect(\n function updateFormatter() {\n model.formatter = formatter;\n },\n [model, formatter]\n );\n useEffect(\n function updateCustomColumns() {\n if (model.isCustomColumnsAvailable) {\n model.customColumns = customColumns;\n }\n },\n [model, customColumns]\n );\n useEffect(\n function updateFormatColumns() {\n if (model.isFormatColumnsAvailable) {\n model.formatColumns = formatColumns;\n }\n },\n [model, formatColumns]\n );\n useEffect(\n function updateViewport() {\n model.setViewport(top, bottom, columns);\n },\n [model, top, bottom, columns]\n );\n useEffect(\n function updateRollupCOnfig() {\n if (model.isRollupAvailable) {\n model.rollupConfig = rollupConfig;\n }\n },\n [model, model.isRollupAvailable, rollupConfig]\n );\n useEffect(\n function updateSelectDistinctColumns() {\n if (model.isSelectDistinctAvailable) {\n model.selectDistinctColumns = selectDistinctColumns;\n }\n },\n [model, selectDistinctColumns]\n );\n useEffect(\n function updateTotalsConfig() {\n if (model.isTotalsAvailable) {\n model.totalsConfig = totalsConfig;\n }\n },\n [model, model.isTotalsAvailable, totalsConfig]\n );\n useEffect(\n function updatePendingRowCount() {\n model.pendingRowCount = pendingRowCount;\n },\n [model, pendingRowCount]\n );\n useEffect(\n function updatePendingDataMap() {\n model.pendingDataMap = pendingDataMap;\n },\n [model, pendingDataMap]\n );\n useEffect(\n function updateFrozenColumns() {\n if (frozenColumns) {\n model.updateFrozenColumns(frozenColumns);\n }\n },\n [model, frozenColumns]\n );\n\n return null;\n }\n);\n\nIrisGridModelUpdater.displayName = 'IrisGridModelUpdater';\n\nexport default IrisGridModelUpdater;\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, { Component } from 'react';
4
3
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
4
  import { DropdownMenu, Tooltip } from '@deephaven/components';
@@ -10,19 +9,14 @@ import PartitionSelectorSearch from "./PartitionSelectorSearch.js";
10
9
  import "./IrisGridPartitionSelector.css";
11
10
  var log = Log.module('IrisGridPartitionSelector');
12
11
  var PARTITION_CHANGE_DEBOUNCE_MS = 250;
13
-
14
12
  class IrisGridPartitionSelector extends Component {
15
13
  constructor(props) {
16
14
  super(props);
17
-
18
15
  _defineProperty(this, "searchMenu", void 0);
19
-
20
16
  _defineProperty(this, "selectorSearch", void 0);
21
-
22
17
  _defineProperty(this, "debounceUpdate", debounce(() => {
23
18
  this.sendUpdate();
24
19
  }, PARTITION_CHANGE_DEBOUNCE_MS));
25
-
26
20
  this.handleAppendClick = this.handleAppendClick.bind(this);
27
21
  this.handleCloseClick = this.handleCloseClick.bind(this);
28
22
  this.handleIgnoreClick = this.handleIgnoreClick.bind(this);
@@ -40,11 +34,9 @@ class IrisGridPartitionSelector extends Component {
40
34
  partition
41
35
  };
42
36
  }
43
-
44
37
  componentWillUnmount() {
45
38
  this.debounceUpdate.cancel();
46
39
  }
47
-
48
40
  handleAppendClick() {
49
41
  log.debug2('handleAppendClick');
50
42
  var {
@@ -55,17 +47,14 @@ class IrisGridPartitionSelector extends Component {
55
47
  } = this.state;
56
48
  onAppend(partition);
57
49
  }
58
-
59
50
  handleCloseClick() {
60
51
  log.debug2('handleCloseClick');
61
52
  this.sendDone();
62
53
  }
63
-
64
54
  handleIgnoreClick() {
65
55
  log.debug2('handleIgnoreClick');
66
56
  this.sendFetchAll();
67
57
  }
68
-
69
58
  handlePartitionChange(event) {
70
59
  log.debug2('handlePartitionChange');
71
60
  var {
@@ -76,25 +65,21 @@ class IrisGridPartitionSelector extends Component {
76
65
  });
77
66
  this.debounceUpdate();
78
67
  }
79
-
80
68
  handlePartitionSelect(partition) {
81
69
  if (this.searchMenu) {
82
70
  this.searchMenu.closeMenu();
83
71
  }
84
-
85
72
  this.setState({
86
73
  partition
87
74
  }, () => {
88
75
  this.sendUpdate();
89
76
  });
90
77
  }
91
-
92
78
  handlePartitionListResized() {
93
79
  if (this.searchMenu) {
94
80
  this.searchMenu.scheduleUpdate();
95
81
  }
96
82
  }
97
-
98
83
  handleSearchClosed() {
99
84
  // Reset the table filter so it's ready next time user opens search
100
85
  var {
@@ -102,13 +87,11 @@ class IrisGridPartitionSelector extends Component {
102
87
  } = this.props;
103
88
  table.applyFilter([]);
104
89
  }
105
-
106
90
  handleSearchOpened() {
107
91
  if (this.selectorSearch) {
108
92
  this.selectorSearch.focus();
109
93
  }
110
94
  }
111
-
112
95
  sendDone() {
113
96
  this.debounceUpdate.flush();
114
97
  var {
@@ -116,7 +99,6 @@ class IrisGridPartitionSelector extends Component {
116
99
  } = this.props;
117
100
  onDone();
118
101
  }
119
-
120
102
  sendUpdate() {
121
103
  log.debug2('sendUpdate');
122
104
  var {
@@ -127,7 +109,6 @@ class IrisGridPartitionSelector extends Component {
127
109
  } = this.state;
128
110
  onChange(partition);
129
111
  }
130
-
131
112
  sendFetchAll() {
132
113
  log.debug2('sendFetchAll');
133
114
  this.debounceUpdate.cancel();
@@ -136,7 +117,6 @@ class IrisGridPartitionSelector extends Component {
136
117
  } = this.props;
137
118
  onFetchAll();
138
119
  }
139
-
140
120
  render() {
141
121
  var {
142
122
  columnName,
@@ -202,9 +182,7 @@ class IrisGridPartitionSelector extends Component {
202
182
  icon: vsClose
203
183
  })));
204
184
  }
205
-
206
185
  }
207
-
208
186
  _defineProperty(IrisGridPartitionSelector, "defaultProps", {
209
187
  onAppend: () => undefined,
210
188
  onChange: () => undefined,
@@ -212,6 +190,5 @@ _defineProperty(IrisGridPartitionSelector, "defaultProps", {
212
190
  onDone: () => undefined,
213
191
  partition: ''
214
192
  });
215
-
216
193
  export default IrisGridPartitionSelector;
217
194
  //# sourceMappingURL=IrisGridPartitionSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridPartitionSelector.js","names":["React","Component","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","sendUpdate","handleAppendClick","bind","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","debounceUpdate","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","getFormattedString","partitionSelectorSearch","menuElement","undefined"],"sources":["../src/IrisGridPartitionSelector.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport { Table } from '@deephaven/jsapi-shim';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\ninterface IrisGridPartitionSelectorProps<T> {\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n columnName: ColumnName;\n partition: string;\n onAppend: (partition: string) => void;\n onFetchAll: () => void;\n onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n onChange: (partition: string) => void;\n}\ninterface IrisGridPartitionSelectorState {\n partition: string;\n}\nclass IrisGridPartitionSelector<T> extends Component<\n IrisGridPartitionSelectorProps<T>,\n IrisGridPartitionSelectorState\n> {\n static defaultProps = {\n onAppend: (): void => undefined,\n onChange: (): void => undefined,\n onFetchAll: (): void => undefined,\n onDone: (): void => undefined,\n partition: '',\n };\n\n constructor(props: IrisGridPartitionSelectorProps<T>) {\n super(props);\n\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized = this.handlePartitionListResized.bind(\n this\n );\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount(): void {\n this.debounceUpdate.cancel();\n }\n\n searchMenu: DropdownMenu | null;\n\n selectorSearch: PartitionSelectorSearch<T> | null;\n\n handleAppendClick(): void {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend(partition);\n }\n\n handleCloseClick(): void {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick(): void {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition: string): void {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized(): void {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed(): void {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened(): void {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate = debounce((): void => {\n this.sendUpdate();\n }, PARTITION_CHANGE_DEBOUNCE_MS);\n\n sendDone(): void {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate(): void {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll(): void {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render(): JSX.Element {\n const { columnName, getFormattedString, onDone, table } = this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering &quot;{columnName}&quot; partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore &amp; Fetch All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nexport default IrisGridPartitionSelector;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridPartitionSelector.js","names":["React","Component","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","sendUpdate","handleAppendClick","bind","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","debounceUpdate","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","getFormattedString","partitionSelectorSearch","menuElement","undefined"],"sources":["../src/IrisGridPartitionSelector.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport { Table } from '@deephaven/jsapi-shim';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\ninterface IrisGridPartitionSelectorProps<T> {\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n columnName: ColumnName;\n partition: string;\n onAppend: (partition: string) => void;\n onFetchAll: () => void;\n onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n onChange: (partition: string) => void;\n}\ninterface IrisGridPartitionSelectorState {\n partition: string;\n}\nclass IrisGridPartitionSelector<T> extends Component<\n IrisGridPartitionSelectorProps<T>,\n IrisGridPartitionSelectorState\n> {\n static defaultProps = {\n onAppend: (): void => undefined,\n onChange: (): void => undefined,\n onFetchAll: (): void => undefined,\n onDone: (): void => undefined,\n partition: '',\n };\n\n constructor(props: IrisGridPartitionSelectorProps<T>) {\n super(props);\n\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized = this.handlePartitionListResized.bind(\n this\n );\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount(): void {\n this.debounceUpdate.cancel();\n }\n\n searchMenu: DropdownMenu | null;\n\n selectorSearch: PartitionSelectorSearch<T> | null;\n\n handleAppendClick(): void {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend(partition);\n }\n\n handleCloseClick(): void {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick(): void {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition: string): void {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized(): void {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed(): void {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened(): void {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate = debounce((): void => {\n this.sendUpdate();\n }, PARTITION_CHANGE_DEBOUNCE_MS);\n\n sendDone(): void {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate(): void {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll(): void {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render(): JSX.Element {\n const { columnName, getFormattedString, onDone, table } = this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering &quot;{columnName}&quot; partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore &amp; Fetch All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nexport default IrisGridPartitionSelector;\n"],"mappings":"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"}