@deephaven/iris-grid 0.38.1-beta.0 → 0.38.1-beta.12

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 (188) hide show
  1. package/README.md +4 -2
  2. package/dist/AdvancedFilterCreator.d.ts +4 -2
  3. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  4. package/dist/AdvancedFilterCreator.js +9 -4
  5. package/dist/AdvancedFilterCreator.js.map +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.d.ts +4 -3
  7. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  8. package/dist/AdvancedFilterCreatorFilterItem.js +5 -4
  9. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  10. package/dist/AdvancedFilterCreatorSelectValue.d.ts +4 -2
  11. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  12. package/dist/AdvancedFilterCreatorSelectValue.js +11 -3
  13. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  14. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +3 -1
  15. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  16. package/dist/AdvancedFilterCreatorSelectValueList.js +7 -5
  17. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  18. package/dist/ColumnStatistics.css +1 -2
  19. package/dist/ColumnStatistics.css.map +1 -1
  20. package/dist/ColumnStatistics.d.ts +1 -1
  21. package/dist/ColumnStatistics.d.ts.map +1 -1
  22. package/dist/ColumnStatistics.js.map +1 -1
  23. package/dist/CommonTypes.d.ts +1 -1
  24. package/dist/CommonTypes.d.ts.map +1 -1
  25. package/dist/CommonTypes.js.map +1 -1
  26. package/dist/CrossColumnSearch.d.ts +2 -2
  27. package/dist/CrossColumnSearch.d.ts.map +1 -1
  28. package/dist/CrossColumnSearch.js +1 -2
  29. package/dist/CrossColumnSearch.js.map +1 -1
  30. package/dist/GotoRow.d.ts +3 -1
  31. package/dist/GotoRow.d.ts.map +1 -1
  32. package/dist/GotoRow.js +1 -0
  33. package/dist/GotoRow.js.map +1 -1
  34. package/dist/IrisGrid.css +3 -0
  35. package/dist/IrisGrid.css.map +1 -1
  36. package/dist/IrisGrid.d.ts +8 -6
  37. package/dist/IrisGrid.d.ts.map +1 -1
  38. package/dist/IrisGrid.js +74 -37
  39. package/dist/IrisGrid.js.map +1 -1
  40. package/dist/IrisGridCellRendererUtils.d.ts +7 -0
  41. package/dist/IrisGridCellRendererUtils.d.ts.map +1 -0
  42. package/dist/IrisGridCellRendererUtils.js +20 -0
  43. package/dist/IrisGridCellRendererUtils.js.map +1 -0
  44. package/dist/IrisGridCopyHandler.js.map +1 -1
  45. package/dist/IrisGridDataBarCellRenderer.d.ts +7 -0
  46. package/dist/IrisGridDataBarCellRenderer.d.ts.map +1 -0
  47. package/dist/IrisGridDataBarCellRenderer.js +10 -0
  48. package/dist/IrisGridDataBarCellRenderer.js.map +1 -0
  49. package/dist/IrisGridIcons.d.ts +4 -0
  50. package/dist/IrisGridIcons.d.ts.map +1 -0
  51. package/dist/IrisGridIcons.js +25 -0
  52. package/dist/IrisGridIcons.js.map +1 -0
  53. package/dist/IrisGridMetricCalculator.d.ts +1 -1
  54. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  55. package/dist/IrisGridMetricCalculator.js.map +1 -1
  56. package/dist/IrisGridModel.d.ts +1 -1
  57. package/dist/IrisGridModel.d.ts.map +1 -1
  58. package/dist/IrisGridModel.js.map +1 -1
  59. package/dist/IrisGridModelFactory.d.ts +2 -2
  60. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  61. package/dist/IrisGridModelFactory.js +3 -3
  62. package/dist/IrisGridModelFactory.js.map +1 -1
  63. package/dist/IrisGridModelUpdater.d.ts +3 -2
  64. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  65. package/dist/IrisGridModelUpdater.js +2 -2
  66. package/dist/IrisGridModelUpdater.js.map +1 -1
  67. package/dist/IrisGridPartitionSelector.d.ts +2 -1
  68. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  69. package/dist/IrisGridPartitionSelector.js +2 -0
  70. package/dist/IrisGridPartitionSelector.js.map +1 -1
  71. package/dist/IrisGridProxyModel.d.ts +3 -2
  72. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  73. package/dist/IrisGridProxyModel.js +11 -9
  74. package/dist/IrisGridProxyModel.js.map +1 -1
  75. package/dist/IrisGridRenderer.d.ts +19 -27
  76. package/dist/IrisGridRenderer.d.ts.map +1 -1
  77. package/dist/IrisGridRenderer.js +64 -205
  78. package/dist/IrisGridRenderer.js.map +1 -1
  79. package/dist/IrisGridTableModel.d.ts +2 -2
  80. package/dist/IrisGridTableModel.d.ts.map +1 -1
  81. package/dist/IrisGridTableModel.js +6 -6
  82. package/dist/IrisGridTableModel.js.map +1 -1
  83. package/dist/IrisGridTableModelTemplate.d.ts +8 -3
  84. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  85. package/dist/IrisGridTableModelTemplate.js +42 -15
  86. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  87. package/dist/IrisGridTestUtils.d.ts +14 -13
  88. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  89. package/dist/IrisGridTestUtils.js +33 -27
  90. package/dist/IrisGridTestUtils.js.map +1 -1
  91. package/dist/IrisGridTextCellRenderer.d.ts +20 -0
  92. package/dist/IrisGridTextCellRenderer.d.ts.map +1 -0
  93. package/dist/IrisGridTextCellRenderer.js +139 -0
  94. package/dist/IrisGridTextCellRenderer.js.map +1 -0
  95. package/dist/IrisGridTheme.d.ts.map +1 -1
  96. package/dist/IrisGridTheme.js +4 -1
  97. package/dist/IrisGridTheme.js.map +1 -1
  98. package/dist/IrisGridTheme.module.css +3 -0
  99. package/dist/IrisGridTheme.module.css.map +1 -1
  100. package/dist/IrisGridTreeTableModel.d.ts +1 -1
  101. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  102. package/dist/IrisGridTreeTableModel.js.map +1 -1
  103. package/dist/IrisGridUtils.d.ts +88 -85
  104. package/dist/IrisGridUtils.d.ts.map +1 -1
  105. package/dist/IrisGridUtils.js +567 -556
  106. package/dist/IrisGridUtils.js.map +1 -1
  107. package/dist/PartitionSelectorSearch.d.ts +2 -1
  108. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  109. package/dist/PartitionSelectorSearch.js +3 -1
  110. package/dist/PartitionSelectorSearch.js.map +1 -1
  111. package/dist/TableViewportUpdater.d.ts +1 -1
  112. package/dist/TableViewportUpdater.d.ts.map +1 -1
  113. package/dist/TableViewportUpdater.js.map +1 -1
  114. package/dist/TreeTableViewportUpdater.d.ts +2 -1
  115. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  116. package/dist/TreeTableViewportUpdater.js +1 -1
  117. package/dist/TreeTableViewportUpdater.js.map +1 -1
  118. package/dist/format-context-menus/DecimalFormatContextMenu.d.ts +3 -1
  119. package/dist/format-context-menus/DecimalFormatContextMenu.d.ts.map +1 -1
  120. package/dist/format-context-menus/DecimalFormatContextMenu.js +3 -2
  121. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  122. package/dist/format-context-menus/IntegerFormatContextMenu.d.ts +3 -1
  123. package/dist/format-context-menus/IntegerFormatContextMenu.d.ts.map +1 -1
  124. package/dist/format-context-menus/IntegerFormatContextMenu.js +3 -2
  125. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  126. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +10 -9
  128. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  129. package/dist/mousehandlers/IrisGridContextMenuHandler.js +49 -32
  130. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  131. package/dist/mousehandlers/IrisGridTokenMouseHandler.d.ts.map +1 -1
  132. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +18 -3
  133. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  134. package/dist/sidebar/ChartBuilder.d.ts +12 -11
  135. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  136. package/dist/sidebar/ChartBuilder.js +98 -81
  137. package/dist/sidebar/ChartBuilder.js.map +1 -1
  138. package/dist/sidebar/RollupRows.d.ts +1 -1
  139. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  140. package/dist/sidebar/RollupRows.js.map +1 -1
  141. package/dist/sidebar/SelectDistinctBuilder.d.ts +1 -1
  142. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  143. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  144. package/dist/sidebar/TableCsvExporter.d.ts +3 -2
  145. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  146. package/dist/sidebar/TableCsvExporter.js +3 -3
  147. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  148. package/dist/sidebar/TableSaver.d.ts +2 -1
  149. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  150. package/dist/sidebar/TableSaver.js +4 -1
  151. package/dist/sidebar/TableSaver.js.map +1 -1
  152. package/dist/sidebar/aggregations/AggregationEdit.d.ts +1 -1
  153. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  154. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  155. package/dist/sidebar/aggregations/AggregationUtils.d.ts +1 -1
  156. package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
  157. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  158. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +2 -0
  159. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  160. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -0
  161. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  162. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +2 -0
  163. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  164. package/dist/sidebar/conditional-formatting/ConditionEditor.js +3 -2
  165. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  166. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +2 -0
  167. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  168. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +3 -0
  169. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  170. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.d.ts +2 -2
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.d.ts.map +1 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +3 -3
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +2 -0
  179. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  180. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -0
  181. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  182. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +1 -1
  183. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
  184. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
  185. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -1
  186. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts.map +1 -1
  187. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
  188. package/package.json +16 -15
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.d.ts","sourceRoot":"","sources":["../src/CommonTypes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonTypes.d.ts","sourceRoot":"","sources":["../src/CommonTypes.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.js","names":[],"sources":["../src/CommonTypes.tsx"],"sourcesContent":["import { AdvancedFilterOptions } from '@deephaven/jsapi-utils';\nimport { ModelIndex } from '@deephaven/grid';\nimport {\n TotalsTableConfig,\n FilterCondition,\n Format,\n} from '@deephaven/jsapi-shim';\nimport { Shortcut } from '@deephaven/components';\nimport { IconDefinition } from '@deephaven/icons';\nimport AggregationOperation from './sidebar/aggregations/AggregationOperation';\nimport { OptionType } from './sidebar';\n\nexport type RowIndex = ModelIndex;\n\nexport type { AdvancedFilterOptions };\nexport type ColumnName = string;\nexport type AdvancedFilterMap = Map<ModelIndex, AdvancedFilter>;\nexport type QuickFilterMap = Map<ModelIndex, QuickFilter>;\nexport type ReadonlyAdvancedFilterMap = ReadonlyMap<ModelIndex, AdvancedFilter>;\nexport type ReadonlyQuickFilterMap = ReadonlyMap<ModelIndex, QuickFilter>;\nexport type ReadonlyAggregationMap = Readonly<\n Record<AggregationOperation, readonly ColumnName[]>\n>;\nexport type OperationMap = Record<ColumnName, readonly AggregationOperation[]>;\nexport type ReadonlyOperationMap = Readonly<\n Record<ColumnName, readonly AggregationOperation[]>\n>;\n\nexport type QuickFilter = {\n text: string;\n filter: FilterCondition | null;\n};\n\nexport type AdvancedFilter = {\n filter: FilterCondition | null;\n options: AdvancedFilterOptions;\n};\n\nexport type Action = {\n action: () => void;\n shortcut: Shortcut;\n};\n\nexport type OptionItem = {\n type: OptionType;\n title: string;\n subtitle?: string;\n icon?: IconDefinition;\n isOn?: boolean;\n onChange?: () => void;\n};\n\nexport interface UITotalsTableConfig extends TotalsTableConfig {\n operationOrder: AggregationOperation[];\n showOnTop: boolean;\n}\n\nexport type InputFilter = {\n name: string;\n type: string;\n value: string;\n excludePanelIds?: (string | string[])[];\n};\n\nexport interface UIRow {\n data: Map<ModelIndex, CellData>;\n}\n\nexport type UIViewportData<R extends UIRow = UIRow> = {\n offset: number;\n rows: R[];\n};\nexport type RowData<T = unknown> = Map<number, { value: T }>;\n\nexport type CellData = {\n value: unknown;\n format?: Format;\n};\nexport type PendingDataMap<R extends UIRow = UIRow> = ReadonlyMap<RowIndex, R>;\n\n/** Maps from a row index to the errors for that row */\nexport type PendingDataErrorMap<T extends Error = Error> = ReadonlyMap<\n RowIndex,\n readonly T[]\n>;\n"],"mappings":""}
1
+ {"version":3,"file":"CommonTypes.js","names":[],"sources":["../src/CommonTypes.tsx"],"sourcesContent":["import { AdvancedFilterOptions } from '@deephaven/jsapi-utils';\nimport { ModelIndex } from '@deephaven/grid';\nimport type {\n TotalsTableConfig,\n FilterCondition,\n Format,\n} from '@deephaven/jsapi-types';\nimport { Shortcut } from '@deephaven/components';\nimport { IconDefinition } from '@deephaven/icons';\nimport AggregationOperation from './sidebar/aggregations/AggregationOperation';\nimport { OptionType } from './sidebar';\n\nexport type RowIndex = ModelIndex;\n\nexport type { AdvancedFilterOptions };\nexport type ColumnName = string;\nexport type AdvancedFilterMap = Map<ModelIndex, AdvancedFilter>;\nexport type QuickFilterMap = Map<ModelIndex, QuickFilter>;\nexport type ReadonlyAdvancedFilterMap = ReadonlyMap<ModelIndex, AdvancedFilter>;\nexport type ReadonlyQuickFilterMap = ReadonlyMap<ModelIndex, QuickFilter>;\nexport type ReadonlyAggregationMap = Readonly<\n Record<AggregationOperation, readonly ColumnName[]>\n>;\nexport type OperationMap = Record<ColumnName, readonly AggregationOperation[]>;\nexport type ReadonlyOperationMap = Readonly<\n Record<ColumnName, readonly AggregationOperation[]>\n>;\n\nexport type QuickFilter = {\n text: string;\n filter: FilterCondition | null;\n};\n\nexport type AdvancedFilter = {\n filter: FilterCondition | null;\n options: AdvancedFilterOptions;\n};\n\nexport type Action = {\n action: () => void;\n shortcut: Shortcut;\n};\n\nexport type OptionItem = {\n type: OptionType;\n title: string;\n subtitle?: string;\n icon?: IconDefinition;\n isOn?: boolean;\n onChange?: () => void;\n};\n\nexport interface UITotalsTableConfig extends TotalsTableConfig {\n operationOrder: AggregationOperation[];\n showOnTop: boolean;\n}\n\nexport type InputFilter = {\n name: string;\n type: string;\n value: string;\n excludePanelIds?: (string | string[])[];\n};\n\nexport interface UIRow {\n data: Map<ModelIndex, CellData>;\n}\n\nexport type UIViewportData<R extends UIRow = UIRow> = {\n offset: number;\n rows: R[];\n};\nexport type RowData<T = unknown> = Map<number, { value: T }>;\n\nexport type CellData = {\n value: unknown;\n format?: Format;\n};\nexport type PendingDataMap<R extends UIRow = UIRow> = ReadonlyMap<RowIndex, R>;\n\n/** Maps from a row index to the errors for that row */\nexport type PendingDataErrorMap<T extends Error = Error> = ReadonlyMap<\n RowIndex,\n readonly T[]\n>;\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import { SearchInput } from '@deephaven/components';
3
- import { Column, FilterCondition } from '@deephaven/jsapi-shim';
3
+ import type { Column, dh as DhType, FilterCondition } from '@deephaven/jsapi-types';
4
4
  import './CrossColumnSearch.scss';
5
5
  import { ColumnName } from './CommonTypes';
6
6
  interface CrossColumnSearchProps {
@@ -14,7 +14,7 @@ interface CrossColumnSearchState {
14
14
  isConfigureColumnsShown: boolean;
15
15
  }
16
16
  declare class CrossColumnSearch extends PureComponent<CrossColumnSearchProps, CrossColumnSearchState> {
17
- static createSearchFilter(searchValue: string, selectedColumns: readonly ColumnName[], columns: readonly Column[], invertSelection: boolean): FilterCondition | undefined;
17
+ static createSearchFilter(dh: DhType, searchValue: string, selectedColumns: readonly ColumnName[], columns: readonly Column[], invertSelection: boolean): FilterCondition | undefined;
18
18
  constructor(props: CrossColumnSearchProps);
19
19
  searchField: React.RefObject<SearchInput>;
20
20
  focus(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CrossColumnSearch.d.ts","sourceRoot":"","sources":["../src/CrossColumnSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAoB,WAAW,EAAW,MAAM,uBAAuB,CAAC;AAS/E,OAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,eAAe,EAAE,OAAO,KACrB,IAAI,CAAC;IACV,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC9B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AACD,cAAM,iBAAkB,SAAQ,aAAa,CAC3C,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,eAAe,EAAE,OAAO,GACvB,eAAe,GAAG,SAAS;gBAsBlB,KAAK,EAAE,sBAAsB;IAezC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,KAAK,IAAI,IAAI;IAIb,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKzE,gBAAgB,CACd,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,eAAe,EAAE,OAAO,GACvB,IAAI;IAKP,kBAAkB,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI;IAKlD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAchC,SAAS,IAAI,IAAI;IAIjB,KAAK,IAAI,IAAI;IAIb,aAAa,IAAI,IAAI;IAUrB,MAAM,IAAI,KAAK,CAAC,YAAY;CAqJ7B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"CrossColumnSearch.d.ts","sourceRoot":"","sources":["../src/CrossColumnSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAoB,WAAW,EAAW,MAAM,uBAAuB,CAAC;AAS/E,OAAO,KAAK,EACV,MAAM,EACN,EAAE,IAAI,MAAM,EACZ,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,eAAe,EAAE,OAAO,KACrB,IAAI,CAAC;IACV,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC9B,uBAAuB,EAAE,OAAO,CAAC;CAClC;AACD,cAAM,iBAAkB,SAAQ,aAAa,CAC3C,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,kBAAkB,CACvB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,eAAe,EAAE,OAAO,GACvB,eAAe,GAAG,SAAS;gBAsBlB,KAAK,EAAE,sBAAsB;IAezC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,KAAK,IAAI,IAAI;IAIb,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKzE,gBAAgB,CACd,eAAe,EAAE,SAAS,UAAU,EAAE,EACtC,eAAe,EAAE,OAAO,GACvB,IAAI;IAKP,kBAAkB,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI;IAKlD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAchC,SAAS,IAAI,IAAI;IAIjB,KAAK,IAAI,IAAI;IAIb,aAAa,IAAI,IAAI;IAUrB,MAAM,IAAI,KAAK,CAAC,YAAY;CAqJ7B;AAED,eAAe,iBAAiB,CAAC"}
@@ -5,11 +5,10 @@ import React, { PureComponent } from 'react';
5
5
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
6
  import { Checkbox, Popper, SearchInput, Tooltip } from '@deephaven/components';
7
7
  import { dhGearFilled, dhCheckSquare, dhSquareFilled, dhRemoveSquareFilled, dhWarningCircleFilled, vsCircleLargeFilled } from '@deephaven/icons';
8
- import dh from '@deephaven/jsapi-shim';
9
8
  import { TableUtils } from '@deephaven/jsapi-utils';
10
9
  import "./CrossColumnSearch.css";
11
10
  class CrossColumnSearch extends PureComponent {
12
- static createSearchFilter(searchValue, selectedColumns, columns, invertSelection) {
11
+ static createSearchFilter(dh, searchValue, selectedColumns, columns, invertSelection) {
13
12
  var filterColumns = invertSelection ? columns.filter(column => !selectedColumns.includes(column.name)).map(column => column.name) : selectedColumns;
14
13
  if (searchValue && filterColumns.length > 0) {
15
14
  var filterValue = dh.FilterValue.ofString(searchValue);
@@ -1 +1 @@
1
- {"version":3,"file":"CrossColumnSearch.js","names":["React","PureComponent","FontAwesomeIcon","Checkbox","Popper","SearchInput","Tooltip","dhGearFilled","dhCheckSquare","dhSquareFilled","dhRemoveSquareFilled","dhWarningCircleFilled","vsCircleLargeFilled","dh","TableUtils","CrossColumnSearch","createSearchFilter","searchValue","selectedColumns","columns","invertSelection","filterColumns","filter","column","includes","name","map","length","filterValue","FilterValue","ofString","searchFilter","FilterCondition","search","undefined","constructor","props","handleSearchValueChange","bind","toggleColumn","selectAll","clear","selectNumbers","searchField","createRef","state","isConfigureColumnsShown","focus","current","event","onChange","target","value","sendColumnChange","setInvertSelection","c","update","slice","push","isNumberType","type","render","hasAllColumnsSelected","hasNoColumnsSelected","icon","setState","substring","lastIndexOf"],"sources":["../src/CrossColumnSearch.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Checkbox, Popper, SearchInput, Tooltip } from '@deephaven/components';\nimport {\n dhGearFilled,\n dhCheckSquare,\n dhSquareFilled,\n dhRemoveSquareFilled,\n dhWarningCircleFilled,\n vsCircleLargeFilled,\n} from '@deephaven/icons';\nimport dh, { Column, FilterCondition } from '@deephaven/jsapi-shim';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport './CrossColumnSearch.scss';\nimport { ColumnName } from './CommonTypes';\n\ninterface CrossColumnSearchProps {\n value: string;\n selectedColumns: readonly ColumnName[];\n invertSelection: boolean;\n onChange: (\n value: string,\n selectedColumns: readonly ColumnName[],\n invertSelection: boolean\n ) => void;\n columns: readonly Column[];\n}\n\ninterface CrossColumnSearchState {\n isConfigureColumnsShown: boolean;\n}\nclass CrossColumnSearch extends PureComponent<\n CrossColumnSearchProps,\n CrossColumnSearchState\n> {\n static createSearchFilter(\n searchValue: string,\n selectedColumns: readonly ColumnName[],\n columns: readonly Column[],\n invertSelection: boolean\n ): FilterCondition | undefined {\n const filterColumns = invertSelection\n ? columns\n .filter(column => !selectedColumns.includes(column.name))\n .map(column => column.name)\n : selectedColumns;\n if (searchValue && filterColumns.length > 0) {\n const filterValue = dh.FilterValue.ofString(searchValue);\n const searchFilter =\n filterColumns.length === columns.length\n ? dh.FilterCondition.search(filterValue)\n : dh.FilterCondition.search(\n filterValue,\n columns\n .filter(column => filterColumns.includes(column.name))\n .map(column => column.filter())\n );\n return searchFilter;\n }\n return undefined;\n }\n\n constructor(props: CrossColumnSearchProps) {\n super(props);\n this.handleSearchValueChange = this.handleSearchValueChange.bind(this);\n this.toggleColumn = this.toggleColumn.bind(this);\n this.selectAll = this.selectAll.bind(this);\n this.clear = this.clear.bind(this);\n this.selectNumbers = this.selectNumbers.bind(this);\n\n this.searchField = React.createRef();\n\n this.state = {\n isConfigureColumnsShown: false,\n };\n }\n\n searchField: React.RefObject<SearchInput>;\n\n focus(): void {\n this.searchField.current?.focus();\n }\n\n handleSearchValueChange(event: React.ChangeEvent<HTMLInputElement>): void {\n const { onChange, selectedColumns, invertSelection } = this.props;\n onChange(event.target.value, selectedColumns, invertSelection);\n }\n\n sendColumnChange(\n selectedColumns: readonly ColumnName[],\n invertSelection: boolean\n ): void {\n const { onChange, value } = this.props;\n onChange(value, selectedColumns, invertSelection);\n }\n\n setInvertSelection(invertSelection: boolean): void {\n const { onChange, value } = this.props;\n onChange(value, [], invertSelection);\n }\n\n toggleColumn(name: string): void {\n const { selectedColumns, invertSelection } = this.props;\n if (selectedColumns.includes(name)) {\n this.sendColumnChange(\n selectedColumns.filter(c => c !== name),\n invertSelection\n );\n } else {\n const update = selectedColumns.slice();\n update.push(name);\n this.sendColumnChange(update, invertSelection);\n }\n }\n\n selectAll(): void {\n this.setInvertSelection(true);\n }\n\n clear(): void {\n this.setInvertSelection(false);\n }\n\n selectNumbers(): void {\n const { columns } = this.props;\n this.sendColumnChange(\n columns\n .filter(c => TableUtils.isNumberType(c.type))\n .map(column => column.name),\n false\n );\n }\n\n render(): React.ReactElement {\n const { value, selectedColumns, invertSelection, columns } = this.props;\n const { isConfigureColumnsShown } = this.state;\n const hasAllColumnsSelected =\n (selectedColumns.length === 0 && invertSelection === true) ||\n (selectedColumns.length === columns.length && invertSelection === false);\n const hasNoColumnsSelected =\n (selectedColumns.length === 0 && invertSelection === false) ||\n (selectedColumns.length === columns.length && invertSelection === true);\n\n // set icon layers\n let icon;\n if (hasAllColumnsSelected) {\n // icon if all columns selected for search\n icon = (\n <>\n <FontAwesomeIcon\n icon={dhSquareFilled}\n mask={dhGearFilled}\n transform=\"shrink-2 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhCheckSquare}\n className=\"text-primary\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n } else if (hasNoColumnsSelected) {\n // icon error, no columns selected for searching\n icon = (\n <>\n <FontAwesomeIcon\n icon={vsCircleLargeFilled}\n mask={dhGearFilled}\n transform=\"shrink-1 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhWarningCircleFilled}\n className=\"text-danger\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n } else {\n // icon if some columns selected, but not all\n icon = (\n <>\n <FontAwesomeIcon\n icon={dhSquareFilled}\n mask={dhGearFilled}\n transform=\"shrink-2 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhRemoveSquareFilled}\n className=\"text-primary\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n }\n\n return (\n <div className=\"cross-column-container\">\n <SearchInput\n className=\"cross-column-search\"\n placeholder=\"Search Data...\"\n value={value}\n onChange={this.handleSearchValueChange}\n ref={this.searchField}\n />\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon px-2\"\n onClick={() => {\n if (isConfigureColumnsShown) {\n this.setState({ isConfigureColumnsShown: false });\n } else {\n this.setState({ isConfigureColumnsShown: true });\n }\n }}\n >\n <div className=\"fa-layers\">{icon}</div>\n <Tooltip>Configure Columns</Tooltip>\n <Popper\n isShown={isConfigureColumnsShown}\n className=\"cross-column-popper\"\n onExited={() => {\n this.setState({ isConfigureColumnsShown: false });\n }}\n closeOnBlur\n interactive\n >\n <div className=\"cross-column-popup\">\n Searched Columns\n <div className=\"cross-column-scroll\">\n {columns.map(column => (\n <React.Fragment key={column.name}>\n <Checkbox\n className=\"cross-column-checkbox\"\n checked={\n invertSelection\n ? !selectedColumns.includes(column.name)\n : selectedColumns.includes(column.name)\n }\n onChange={() => this.toggleColumn(column.name)}\n >\n {column.name}\n </Checkbox>\n\n {column.type.substring(column.type.lastIndexOf('.') + 1)}\n </React.Fragment>\n ))}\n </div>\n <div className=\"cross-column-button-bar\">\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.selectAll}\n >\n Select All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.clear}\n >\n Clear\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.selectNumbers}\n >\n Numbers Only\n </button>\n </div>\n {hasNoColumnsSelected && (\n <p className=\"text-danger\">\n <FontAwesomeIcon icon={dhWarningCircleFilled} /> Select at\n least one column to search.\n </p>\n )}\n </div>\n </Popper>\n </button>\n </div>\n );\n }\n}\n\nexport default CrossColumnSearch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CrossColumnSearch.js","names":["React","PureComponent","FontAwesomeIcon","Checkbox","Popper","SearchInput","Tooltip","dhGearFilled","dhCheckSquare","dhSquareFilled","dhRemoveSquareFilled","dhWarningCircleFilled","vsCircleLargeFilled","TableUtils","CrossColumnSearch","createSearchFilter","dh","searchValue","selectedColumns","columns","invertSelection","filterColumns","filter","column","includes","name","map","length","filterValue","FilterValue","ofString","searchFilter","FilterCondition","search","undefined","constructor","props","handleSearchValueChange","bind","toggleColumn","selectAll","clear","selectNumbers","searchField","createRef","state","isConfigureColumnsShown","focus","current","event","onChange","target","value","sendColumnChange","setInvertSelection","c","update","slice","push","isNumberType","type","render","hasAllColumnsSelected","hasNoColumnsSelected","icon","setState","substring","lastIndexOf"],"sources":["../src/CrossColumnSearch.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Checkbox, Popper, SearchInput, Tooltip } from '@deephaven/components';\nimport {\n dhGearFilled,\n dhCheckSquare,\n dhSquareFilled,\n dhRemoveSquareFilled,\n dhWarningCircleFilled,\n vsCircleLargeFilled,\n} from '@deephaven/icons';\nimport type {\n Column,\n dh as DhType,\n FilterCondition,\n} from '@deephaven/jsapi-types';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport './CrossColumnSearch.scss';\nimport { ColumnName } from './CommonTypes';\n\ninterface CrossColumnSearchProps {\n value: string;\n selectedColumns: readonly ColumnName[];\n invertSelection: boolean;\n onChange: (\n value: string,\n selectedColumns: readonly ColumnName[],\n invertSelection: boolean\n ) => void;\n columns: readonly Column[];\n}\n\ninterface CrossColumnSearchState {\n isConfigureColumnsShown: boolean;\n}\nclass CrossColumnSearch extends PureComponent<\n CrossColumnSearchProps,\n CrossColumnSearchState\n> {\n static createSearchFilter(\n dh: DhType,\n searchValue: string,\n selectedColumns: readonly ColumnName[],\n columns: readonly Column[],\n invertSelection: boolean\n ): FilterCondition | undefined {\n const filterColumns = invertSelection\n ? columns\n .filter(column => !selectedColumns.includes(column.name))\n .map(column => column.name)\n : selectedColumns;\n if (searchValue && filterColumns.length > 0) {\n const filterValue = dh.FilterValue.ofString(searchValue);\n const searchFilter =\n filterColumns.length === columns.length\n ? dh.FilterCondition.search(filterValue)\n : dh.FilterCondition.search(\n filterValue,\n columns\n .filter(column => filterColumns.includes(column.name))\n .map(column => column.filter())\n );\n return searchFilter;\n }\n return undefined;\n }\n\n constructor(props: CrossColumnSearchProps) {\n super(props);\n this.handleSearchValueChange = this.handleSearchValueChange.bind(this);\n this.toggleColumn = this.toggleColumn.bind(this);\n this.selectAll = this.selectAll.bind(this);\n this.clear = this.clear.bind(this);\n this.selectNumbers = this.selectNumbers.bind(this);\n\n this.searchField = React.createRef();\n\n this.state = {\n isConfigureColumnsShown: false,\n };\n }\n\n searchField: React.RefObject<SearchInput>;\n\n focus(): void {\n this.searchField.current?.focus();\n }\n\n handleSearchValueChange(event: React.ChangeEvent<HTMLInputElement>): void {\n const { onChange, selectedColumns, invertSelection } = this.props;\n onChange(event.target.value, selectedColumns, invertSelection);\n }\n\n sendColumnChange(\n selectedColumns: readonly ColumnName[],\n invertSelection: boolean\n ): void {\n const { onChange, value } = this.props;\n onChange(value, selectedColumns, invertSelection);\n }\n\n setInvertSelection(invertSelection: boolean): void {\n const { onChange, value } = this.props;\n onChange(value, [], invertSelection);\n }\n\n toggleColumn(name: string): void {\n const { selectedColumns, invertSelection } = this.props;\n if (selectedColumns.includes(name)) {\n this.sendColumnChange(\n selectedColumns.filter(c => c !== name),\n invertSelection\n );\n } else {\n const update = selectedColumns.slice();\n update.push(name);\n this.sendColumnChange(update, invertSelection);\n }\n }\n\n selectAll(): void {\n this.setInvertSelection(true);\n }\n\n clear(): void {\n this.setInvertSelection(false);\n }\n\n selectNumbers(): void {\n const { columns } = this.props;\n this.sendColumnChange(\n columns\n .filter(c => TableUtils.isNumberType(c.type))\n .map(column => column.name),\n false\n );\n }\n\n render(): React.ReactElement {\n const { value, selectedColumns, invertSelection, columns } = this.props;\n const { isConfigureColumnsShown } = this.state;\n const hasAllColumnsSelected =\n (selectedColumns.length === 0 && invertSelection === true) ||\n (selectedColumns.length === columns.length && invertSelection === false);\n const hasNoColumnsSelected =\n (selectedColumns.length === 0 && invertSelection === false) ||\n (selectedColumns.length === columns.length && invertSelection === true);\n\n // set icon layers\n let icon;\n if (hasAllColumnsSelected) {\n // icon if all columns selected for search\n icon = (\n <>\n <FontAwesomeIcon\n icon={dhSquareFilled}\n mask={dhGearFilled}\n transform=\"shrink-2 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhCheckSquare}\n className=\"text-primary\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n } else if (hasNoColumnsSelected) {\n // icon error, no columns selected for searching\n icon = (\n <>\n <FontAwesomeIcon\n icon={vsCircleLargeFilled}\n mask={dhGearFilled}\n transform=\"shrink-1 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhWarningCircleFilled}\n className=\"text-danger\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n } else {\n // icon if some columns selected, but not all\n icon = (\n <>\n <FontAwesomeIcon\n icon={dhSquareFilled}\n mask={dhGearFilled}\n transform=\"shrink-2 down-5 right-7\"\n />\n <FontAwesomeIcon\n icon={dhRemoveSquareFilled}\n className=\"text-primary\"\n transform=\"shrink-4 down-5 right-7\"\n />\n </>\n );\n }\n\n return (\n <div className=\"cross-column-container\">\n <SearchInput\n className=\"cross-column-search\"\n placeholder=\"Search Data...\"\n value={value}\n onChange={this.handleSearchValueChange}\n ref={this.searchField}\n />\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon px-2\"\n onClick={() => {\n if (isConfigureColumnsShown) {\n this.setState({ isConfigureColumnsShown: false });\n } else {\n this.setState({ isConfigureColumnsShown: true });\n }\n }}\n >\n <div className=\"fa-layers\">{icon}</div>\n <Tooltip>Configure Columns</Tooltip>\n <Popper\n isShown={isConfigureColumnsShown}\n className=\"cross-column-popper\"\n onExited={() => {\n this.setState({ isConfigureColumnsShown: false });\n }}\n closeOnBlur\n interactive\n >\n <div className=\"cross-column-popup\">\n Searched Columns\n <div className=\"cross-column-scroll\">\n {columns.map(column => (\n <React.Fragment key={column.name}>\n <Checkbox\n className=\"cross-column-checkbox\"\n checked={\n invertSelection\n ? !selectedColumns.includes(column.name)\n : selectedColumns.includes(column.name)\n }\n onChange={() => this.toggleColumn(column.name)}\n >\n {column.name}\n </Checkbox>\n\n {column.type.substring(column.type.lastIndexOf('.') + 1)}\n </React.Fragment>\n ))}\n </div>\n <div className=\"cross-column-button-bar\">\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.selectAll}\n >\n Select All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.clear}\n >\n Clear\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.selectNumbers}\n >\n Numbers Only\n </button>\n </div>\n {hasNoColumnsSelected && (\n <p className=\"text-danger\">\n <FontAwesomeIcon icon={dhWarningCircleFilled} /> Select at\n least one column to search.\n </p>\n )}\n </div>\n </Popper>\n </button>\n </div>\n );\n }\n}\n\nexport default CrossColumnSearch;\n"],"mappings":"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"}
package/dist/GotoRow.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { ChangeEvent, ReactElement } from 'react';
2
+ import type { dh as DhType } from '@deephaven/jsapi-types';
2
3
  import { TypeValue as FilterTypeValue } from '@deephaven/filters';
3
4
  import './GotoRow.scss';
4
5
  import IrisGridModel from './IrisGridModel';
5
6
  import { ColumnName } from './CommonTypes';
6
7
  interface GotoRowProps {
8
+ dh: DhType;
7
9
  gotoRow: string;
8
10
  gotoRowError: string;
9
11
  gotoValueError: string;
@@ -24,6 +26,6 @@ interface GotoRowProps {
24
26
  onGotoValueChanged: (input: string) => void;
25
27
  onGotoValueSubmit: (isBackward?: boolean) => void;
26
28
  }
27
- declare function GotoRow({ gotoRow, gotoRowError, gotoValueError, onGotoRowSubmit, isShown, onEntering, onEntered, onExiting, onExited, model, onGotoRowNumberChanged, onClose, gotoValueSelectedColumnName, gotoValue, gotoValueFilter, onGotoValueSelectedColumnNameChanged, onGotoValueSelectedFilterChanged, onGotoValueChanged, onGotoValueSubmit, }: GotoRowProps): ReactElement;
29
+ declare function GotoRow({ dh, gotoRow, gotoRowError, gotoValueError, onGotoRowSubmit, isShown, onEntering, onEntered, onExiting, onExited, model, onGotoRowNumberChanged, onClose, gotoValueSelectedColumnName, gotoValue, gotoValueFilter, onGotoValueSelectedColumnNameChanged, onGotoValueSelectedFilterChanged, onGotoValueChanged, onGotoValueSubmit, }: GotoRowProps): ReactElement;
28
30
  export default GotoRow;
29
31
  //# sourceMappingURL=GotoRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GotoRow.d.ts","sourceRoot":"","sources":["../src/GotoRow.tsx"],"names":[],"mappings":"AAEA,OAAc,EACZ,WAAW,EAEX,YAAY,EAIb,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2BAA2B,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,oCAAoC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvE,gCAAgC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACpE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED,iBAAS,OAAO,CAAC,EACf,OAAO,EACP,YAAY,EACZ,cAAc,EACd,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,sBAAsB,EACtB,OAAO,EACP,2BAA2B,EAC3B,SAAS,EACT,eAAe,EACf,oCAAoC,EACpC,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,GAClB,EAAE,YAAY,GAAG,YAAY,CAwS7B;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"GotoRow.d.ts","sourceRoot":"","sources":["../src/GotoRow.tsx"],"names":[],"mappings":"AAEA,OAAc,EACZ,WAAW,EAEX,YAAY,EAIb,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAU,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAEL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2BAA2B,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,oCAAoC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvE,gCAAgC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACpE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED,iBAAS,OAAO,CAAC,EACf,EAAE,EACF,OAAO,EACP,YAAY,EACZ,cAAc,EACd,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,sBAAsB,EACtB,OAAO,EACP,2BAA2B,EAC3B,SAAS,EACT,eAAe,EACf,oCAAoC,EACpC,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,GAClB,EAAE,YAAY,GAAG,YAAY,CAwS7B;AAED,eAAe,OAAO,CAAC"}
package/dist/GotoRow.js CHANGED
@@ -13,6 +13,7 @@ function isIrisGridProxyModel(model) {
13
13
  var DEFAULT_FORMAT_STRING = '###,##0';
14
14
  function GotoRow(_ref) {
15
15
  var {
16
+ dh,
16
17
  gotoRow,
17
18
  gotoRowError,
18
19
  gotoValueError,
@@ -1 +1 @@
1
- {"version":3,"file":"GotoRow.js","names":["FontAwesomeIcon","vsClose","vsArrowUp","vsArrowDown","React","useEffect","useRef","useState","Type","FilterType","Button","DateTimeInput","TableUtils","classNames","IrisGridBottomBar","isIrisGridProxyModel","model","undefined","DEFAULT_FORMAT_STRING","GotoRow","gotoRow","gotoRowError","gotoValueError","onGotoRowSubmit","isShown","onEntering","onEntered","onExiting","onExited","onGotoRowNumberChanged","onClose","gotoValueSelectedColumnName","gotoValue","gotoValueFilter","onGotoValueSelectedColumnNameChanged","onGotoValueSelectedFilterChanged","onGotoValueChanged","onGotoValueSubmit","gotoRowInputRef","gotoValueInputRef","isGotoRowActive","setIsGotoRowActive","columns","table","res","rowCount","handleGotoValueNumberKeyDown","e","key","stopPropagation","preventDefault","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","onGotoValueInputChanged","handleGotoValueKeySubmit","shiftKey","index","getColumnIndexByName","selectedColumn","columnType","type","normalizedType","getNormalizedType","value","selectInput","document","activeElement","current","select","renderValueInput","dataType","DECIMAL","INT","target","toLowerCase","test","DATETIME","STRING","event","eq","contains","eqIgnoreCase","BOOLEAN","dh","i18n","NumberFormat","format","marginRight","isSeekRowAvailable","columnName","map","column","name"],"sources":["../src/GotoRow.tsx"],"sourcesContent":["import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsClose, vsArrowUp, vsArrowDown } from '@deephaven/icons';\nimport React, {\n ChangeEvent,\n KeyboardEvent,\n ReactElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Column } from '@deephaven/jsapi-shim';\nimport {\n Type as FilterType,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { Button, DateTimeInput } from '@deephaven/components';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport classNames from 'classnames';\nimport './GotoRow.scss';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridProxyModel from './IrisGridProxyModel';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport { ColumnName } from './CommonTypes';\n\nfunction isIrisGridProxyModel(\n model: IrisGridModel\n): model is IrisGridProxyModel {\n return (model as IrisGridProxyModel).model !== undefined;\n}\n\nconst DEFAULT_FORMAT_STRING = '###,##0';\n\ninterface GotoRowProps {\n gotoRow: string;\n gotoRowError: string;\n gotoValueError: string;\n onGotoRowSubmit: () => void;\n model: IrisGridModel;\n onGotoRowNumberChanged: (event: ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n isShown: boolean;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n\n gotoValueSelectedColumnName: ColumnName;\n gotoValue: string;\n gotoValueFilter: FilterTypeValue;\n onGotoValueSelectedColumnNameChanged: (columnName: ColumnName) => void;\n onGotoValueSelectedFilterChanged: (filter: FilterTypeValue) => void;\n onGotoValueChanged: (input: string) => void;\n onGotoValueSubmit: (isBackward?: boolean) => void;\n}\n\nfunction GotoRow({\n gotoRow,\n gotoRowError,\n gotoValueError,\n onGotoRowSubmit,\n isShown,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n model,\n onGotoRowNumberChanged,\n onClose,\n gotoValueSelectedColumnName,\n gotoValue,\n gotoValueFilter,\n onGotoValueSelectedColumnNameChanged,\n onGotoValueSelectedFilterChanged,\n onGotoValueChanged,\n onGotoValueSubmit,\n}: GotoRowProps): ReactElement {\n const gotoRowInputRef = useRef<HTMLInputElement>(null);\n const gotoValueInputRef = useRef<HTMLInputElement>(null);\n\n const [isGotoRowActive, setIsGotoRowActive] = useState(false);\n let columns: Column[] = [];\n\n if (isIrisGridProxyModel(model) && model.table !== undefined) {\n ({ columns } = model.table);\n }\n\n const res = 'Row number';\n\n const { rowCount } = model;\n\n const handleGotoValueNumberKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit();\n } else if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n (gotoValue === `${Number.POSITIVE_INFINITY}` ||\n gotoValue === `${Number.NEGATIVE_INFINITY}`)\n ) {\n onGotoValueInputChanged('');\n }\n };\n\n const handleGotoValueKeySubmit = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit(e.shiftKey);\n }\n };\n\n const index = model.getColumnIndexByName(gotoValueSelectedColumnName);\n\n const selectedColumn = columns[index ?? 0];\n\n const columnType = selectedColumn?.type;\n\n const normalizedType = TableUtils.getNormalizedType(columnType);\n const onGotoValueInputChanged = (value?: string) => {\n onGotoValueChanged(value ?? '');\n };\n const selectInput = () => {\n // when row changes without focus (i.e. via context menu), re-select input\n if (isGotoRowActive && document.activeElement !== gotoRowInputRef.current) {\n gotoRowInputRef.current?.select();\n } else if (\n !isGotoRowActive &&\n document.activeElement !== gotoValueInputRef.current\n ) {\n gotoValueInputRef.current?.select();\n }\n };\n useEffect(selectInput, [isGotoRowActive, gotoRow, gotoValue]);\n\n const renderValueInput = () => {\n switch (normalizedType) {\n case TableUtils.dataType.DECIMAL:\n case TableUtils.dataType.INT:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueNumberKeyDown}\n placeholder=\"value\"\n onChange={e => {\n const value = e.target.value.toLowerCase();\n // regex tests for\n if (/^-?[0-9]*\\.?[0-9]*$/.test(e.target.value)) {\n onGotoValueInputChanged(e.target.value);\n } else if (value === '-i' || value === '-infinity') {\n onGotoValueInputChanged(`${Number.NEGATIVE_INFINITY}`);\n } else if (value === 'i' || value === 'infinity') {\n onGotoValueInputChanged(`${Number.POSITIVE_INFINITY}`);\n }\n }}\n value={gotoValue}\n />\n </div>\n );\n case TableUtils.dataType.DATETIME:\n return (\n <div className=\"goto-value-date-time-input\">\n <DateTimeInput\n ref={gotoValueInputRef}\n className={classNames(\n 'form-control',\n 'goto-value-date-time-input',\n {\n 'is-invalid': gotoValueError !== '',\n }\n )}\n defaultValue={gotoValue}\n onChange={onGotoValueInputChanged}\n onSubmit={handleGotoValueKeySubmit}\n />\n </div>\n );\n case TableUtils.dataType.STRING:\n return (\n <>\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n onGotoValueSelectedFilterChanged(\n event.target.value as FilterTypeValue\n );\n }}\n value={gotoValueFilter}\n >\n <option key={FilterType.eq} value={FilterType.eq}>\n Equals\n </option>\n <option key={FilterType.contains} value={FilterType.contains}>\n Contains\n </option>\n <option\n key={FilterType.eqIgnoreCase}\n value={FilterType.eqIgnoreCase}\n >\n EqIgnoreCase\n </option>\n </select>\n </div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n />\n </div>\n </>\n );\n case TableUtils.dataType.BOOLEAN:\n return (\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n onGotoValueInputChanged(event.target.value);\n }}\n value={gotoValue}\n >\n <option aria-label=\"null value\" key=\"null\" value=\"\" />\n <option key=\"true\" value=\"true\">\n true\n </option>\n <option key=\"false\" value=\"false\">\n false\n </option>\n </select>\n </div>\n );\n default:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className=\"form-control\"\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n />\n </div>\n );\n }\n };\n return (\n <IrisGridBottomBar\n isShown={isShown}\n className={classNames('goto-row')}\n onEntering={onEntering}\n onEntered={() => {\n onEntered();\n selectInput();\n }}\n onExiting={onExiting}\n onExited={onExited}\n >\n <>\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': !isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(true)}\n onFocus={() => setIsGotoRowActive(true)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to row</div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoRowInputRef}\n type=\"number\"\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoRowSubmit();\n }\n }}\n className={classNames('form-control', {\n 'is-invalid': gotoRowError !== '',\n })}\n placeholder={res}\n onChange={event => {\n onGotoRowNumberChanged(event);\n }}\n value={gotoRow}\n />\n </div>\n <div className=\"goto-row-text\">\n of {dh.i18n.NumberFormat.format(DEFAULT_FORMAT_STRING, rowCount)}\n </div>\n {gotoRowError && <div className=\"text-danger\">{gotoRowError}</div>}\n </div>\n <div className=\"goto-row-close\">\n <Button kind=\"ghost\" onClick={onClose}>\n <FontAwesomeIcon icon={vsClose} style={{ marginRight: '0' }} />\n </Button>\n </div>\n </div>\n {model.isSeekRowAvailable && (\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(false)}\n onFocus={() => setIsGotoRowActive(false)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to value</div>\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n const columnName = event.target.value;\n onGotoValueSelectedColumnNameChanged(columnName);\n }}\n value={gotoValueSelectedColumnName}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n\n {renderValueInput()}\n\n <div>\n <Button\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(true);\n }}\n >\n <FontAwesomeIcon icon={vsArrowUp} />\n </Button>\n <Button\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(false);\n }}\n >\n <FontAwesomeIcon icon={vsArrowDown} />\n </Button>\n </div>\n {gotoValueError && (\n <div className=\"text-danger\">{gotoValueError}</div>\n )}\n </div>\n </div>\n )}\n </>\n </IrisGridBottomBar>\n );\n}\n\nexport default GotoRow;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GotoRow.js","names":["FontAwesomeIcon","vsClose","vsArrowUp","vsArrowDown","React","useEffect","useRef","useState","Type","FilterType","Button","DateTimeInput","TableUtils","classNames","IrisGridBottomBar","isIrisGridProxyModel","model","undefined","DEFAULT_FORMAT_STRING","GotoRow","dh","gotoRow","gotoRowError","gotoValueError","onGotoRowSubmit","isShown","onEntering","onEntered","onExiting","onExited","onGotoRowNumberChanged","onClose","gotoValueSelectedColumnName","gotoValue","gotoValueFilter","onGotoValueSelectedColumnNameChanged","onGotoValueSelectedFilterChanged","onGotoValueChanged","onGotoValueSubmit","gotoRowInputRef","gotoValueInputRef","isGotoRowActive","setIsGotoRowActive","columns","table","res","rowCount","handleGotoValueNumberKeyDown","e","key","stopPropagation","preventDefault","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","onGotoValueInputChanged","handleGotoValueKeySubmit","shiftKey","index","getColumnIndexByName","selectedColumn","columnType","type","normalizedType","getNormalizedType","value","selectInput","document","activeElement","current","select","renderValueInput","dataType","DECIMAL","INT","target","toLowerCase","test","DATETIME","STRING","event","eq","contains","eqIgnoreCase","BOOLEAN","i18n","NumberFormat","format","marginRight","isSeekRowAvailable","columnName","map","column","name"],"sources":["../src/GotoRow.tsx"],"sourcesContent":["import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsClose, vsArrowUp, vsArrowDown } from '@deephaven/icons';\nimport React, {\n ChangeEvent,\n KeyboardEvent,\n ReactElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport type { dh as DhType, Column } from '@deephaven/jsapi-types';\nimport {\n Type as FilterType,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { Button, DateTimeInput } from '@deephaven/components';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport classNames from 'classnames';\nimport './GotoRow.scss';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridProxyModel from './IrisGridProxyModel';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport { ColumnName } from './CommonTypes';\n\nfunction isIrisGridProxyModel(\n model: IrisGridModel\n): model is IrisGridProxyModel {\n return (model as IrisGridProxyModel).model !== undefined;\n}\n\nconst DEFAULT_FORMAT_STRING = '###,##0';\n\ninterface GotoRowProps {\n dh: DhType;\n gotoRow: string;\n gotoRowError: string;\n gotoValueError: string;\n onGotoRowSubmit: () => void;\n model: IrisGridModel;\n onGotoRowNumberChanged: (event: ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n isShown: boolean;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n\n gotoValueSelectedColumnName: ColumnName;\n gotoValue: string;\n gotoValueFilter: FilterTypeValue;\n onGotoValueSelectedColumnNameChanged: (columnName: ColumnName) => void;\n onGotoValueSelectedFilterChanged: (filter: FilterTypeValue) => void;\n onGotoValueChanged: (input: string) => void;\n onGotoValueSubmit: (isBackward?: boolean) => void;\n}\n\nfunction GotoRow({\n dh,\n gotoRow,\n gotoRowError,\n gotoValueError,\n onGotoRowSubmit,\n isShown,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n model,\n onGotoRowNumberChanged,\n onClose,\n gotoValueSelectedColumnName,\n gotoValue,\n gotoValueFilter,\n onGotoValueSelectedColumnNameChanged,\n onGotoValueSelectedFilterChanged,\n onGotoValueChanged,\n onGotoValueSubmit,\n}: GotoRowProps): ReactElement {\n const gotoRowInputRef = useRef<HTMLInputElement>(null);\n const gotoValueInputRef = useRef<HTMLInputElement>(null);\n\n const [isGotoRowActive, setIsGotoRowActive] = useState(false);\n let columns: Column[] = [];\n\n if (isIrisGridProxyModel(model) && model.table !== undefined) {\n ({ columns } = model.table);\n }\n\n const res = 'Row number';\n\n const { rowCount } = model;\n\n const handleGotoValueNumberKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit();\n } else if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n (gotoValue === `${Number.POSITIVE_INFINITY}` ||\n gotoValue === `${Number.NEGATIVE_INFINITY}`)\n ) {\n onGotoValueInputChanged('');\n }\n };\n\n const handleGotoValueKeySubmit = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit(e.shiftKey);\n }\n };\n\n const index = model.getColumnIndexByName(gotoValueSelectedColumnName);\n\n const selectedColumn = columns[index ?? 0];\n\n const columnType = selectedColumn?.type;\n\n const normalizedType = TableUtils.getNormalizedType(columnType);\n const onGotoValueInputChanged = (value?: string) => {\n onGotoValueChanged(value ?? '');\n };\n const selectInput = () => {\n // when row changes without focus (i.e. via context menu), re-select input\n if (isGotoRowActive && document.activeElement !== gotoRowInputRef.current) {\n gotoRowInputRef.current?.select();\n } else if (\n !isGotoRowActive &&\n document.activeElement !== gotoValueInputRef.current\n ) {\n gotoValueInputRef.current?.select();\n }\n };\n useEffect(selectInput, [isGotoRowActive, gotoRow, gotoValue]);\n\n const renderValueInput = () => {\n switch (normalizedType) {\n case TableUtils.dataType.DECIMAL:\n case TableUtils.dataType.INT:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueNumberKeyDown}\n placeholder=\"value\"\n onChange={e => {\n const value = e.target.value.toLowerCase();\n // regex tests for\n if (/^-?[0-9]*\\.?[0-9]*$/.test(e.target.value)) {\n onGotoValueInputChanged(e.target.value);\n } else if (value === '-i' || value === '-infinity') {\n onGotoValueInputChanged(`${Number.NEGATIVE_INFINITY}`);\n } else if (value === 'i' || value === 'infinity') {\n onGotoValueInputChanged(`${Number.POSITIVE_INFINITY}`);\n }\n }}\n value={gotoValue}\n />\n </div>\n );\n case TableUtils.dataType.DATETIME:\n return (\n <div className=\"goto-value-date-time-input\">\n <DateTimeInput\n ref={gotoValueInputRef}\n className={classNames(\n 'form-control',\n 'goto-value-date-time-input',\n {\n 'is-invalid': gotoValueError !== '',\n }\n )}\n defaultValue={gotoValue}\n onChange={onGotoValueInputChanged}\n onSubmit={handleGotoValueKeySubmit}\n />\n </div>\n );\n case TableUtils.dataType.STRING:\n return (\n <>\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n onGotoValueSelectedFilterChanged(\n event.target.value as FilterTypeValue\n );\n }}\n value={gotoValueFilter}\n >\n <option key={FilterType.eq} value={FilterType.eq}>\n Equals\n </option>\n <option key={FilterType.contains} value={FilterType.contains}>\n Contains\n </option>\n <option\n key={FilterType.eqIgnoreCase}\n value={FilterType.eqIgnoreCase}\n >\n EqIgnoreCase\n </option>\n </select>\n </div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n />\n </div>\n </>\n );\n case TableUtils.dataType.BOOLEAN:\n return (\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n onGotoValueInputChanged(event.target.value);\n }}\n value={gotoValue}\n >\n <option aria-label=\"null value\" key=\"null\" value=\"\" />\n <option key=\"true\" value=\"true\">\n true\n </option>\n <option key=\"false\" value=\"false\">\n false\n </option>\n </select>\n </div>\n );\n default:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className=\"form-control\"\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n />\n </div>\n );\n }\n };\n return (\n <IrisGridBottomBar\n isShown={isShown}\n className={classNames('goto-row')}\n onEntering={onEntering}\n onEntered={() => {\n onEntered();\n selectInput();\n }}\n onExiting={onExiting}\n onExited={onExited}\n >\n <>\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': !isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(true)}\n onFocus={() => setIsGotoRowActive(true)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to row</div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoRowInputRef}\n type=\"number\"\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoRowSubmit();\n }\n }}\n className={classNames('form-control', {\n 'is-invalid': gotoRowError !== '',\n })}\n placeholder={res}\n onChange={event => {\n onGotoRowNumberChanged(event);\n }}\n value={gotoRow}\n />\n </div>\n <div className=\"goto-row-text\">\n of {dh.i18n.NumberFormat.format(DEFAULT_FORMAT_STRING, rowCount)}\n </div>\n {gotoRowError && <div className=\"text-danger\">{gotoRowError}</div>}\n </div>\n <div className=\"goto-row-close\">\n <Button kind=\"ghost\" onClick={onClose}>\n <FontAwesomeIcon icon={vsClose} style={{ marginRight: '0' }} />\n </Button>\n </div>\n </div>\n {model.isSeekRowAvailable && (\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(false)}\n onFocus={() => setIsGotoRowActive(false)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to value</div>\n <div className=\"goto-row-input\">\n <select\n className=\"custom-select\"\n onChange={event => {\n const columnName = event.target.value;\n onGotoValueSelectedColumnNameChanged(columnName);\n }}\n value={gotoValueSelectedColumnName}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n\n {renderValueInput()}\n\n <div>\n <Button\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(true);\n }}\n >\n <FontAwesomeIcon icon={vsArrowUp} />\n </Button>\n <Button\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(false);\n }}\n >\n <FontAwesomeIcon icon={vsArrowDown} />\n </Button>\n </div>\n {gotoValueError && (\n <div className=\"text-danger\">{gotoValueError}</div>\n )}\n </div>\n </div>\n )}\n </>\n </IrisGridBottomBar>\n );\n}\n\nexport default GotoRow;\n"],"mappings":"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"}
package/dist/IrisGrid.css CHANGED
@@ -62,6 +62,9 @@
62
62
  floating-divider-outer-color: #211f22;
63
63
  overflow-button-color: #c0bfbf;
64
64
  overflow-button-hover-color: #fcfcfa;
65
+ zero-line-color: #5b5a5c;
66
+ positive-bar-color: #9edc6f;
67
+ negative-bar-color: #f95d84;
65
68
  }
66
69
 
67
70
  .iris-grid {