@deephaven/iris-grid 1.7.2-beta.1 → 1.7.2-react-18-alpha.3

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 (206) hide show
  1. package/dist/AdvancedFilterCreator.js +5 -7
  2. package/dist/AdvancedFilterCreator.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.js +6 -7
  4. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.js +1 -2
  6. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -3
  8. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  9. package/dist/ColumnHeaderGroup.js.map +1 -1
  10. package/dist/ColumnStatistics.d.ts +2 -2
  11. package/dist/ColumnStatistics.d.ts.map +1 -1
  12. package/dist/ColumnStatistics.js +2 -5
  13. package/dist/ColumnStatistics.js.map +1 -1
  14. package/dist/CommonTypes.js.map +1 -1
  15. package/dist/CrossColumnSearch.js +2 -4
  16. package/dist/CrossColumnSearch.js.map +1 -1
  17. package/dist/EmptyIrisGridModel.js.map +1 -1
  18. package/dist/FilterInputField.js +4 -5
  19. package/dist/FilterInputField.js.map +1 -1
  20. package/dist/GotoRow.js +4 -6
  21. package/dist/GotoRow.js.map +1 -1
  22. package/dist/IrisGrid.d.ts +33 -44
  23. package/dist/IrisGrid.d.ts.map +1 -1
  24. package/dist/IrisGrid.js +151 -170
  25. package/dist/IrisGrid.js.map +1 -1
  26. package/dist/IrisGridBottomBar.js.map +1 -1
  27. package/dist/IrisGridCacheUtils.js.map +1 -1
  28. package/dist/IrisGridCellOverflowModal.js +1 -2
  29. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  30. package/dist/IrisGridCellRendererUtils.js.map +1 -1
  31. package/dist/IrisGridCopyHandler.js +4 -6
  32. package/dist/IrisGridCopyHandler.js.map +1 -1
  33. package/dist/IrisGridDataBarCellRenderer.js.map +1 -1
  34. package/dist/IrisGridIcons.js.map +1 -1
  35. package/dist/IrisGridMetricCalculator.d.ts +1 -2
  36. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  37. package/dist/IrisGridMetricCalculator.js +3 -2
  38. package/dist/IrisGridMetricCalculator.js.map +1 -1
  39. package/dist/IrisGridModel.js.map +1 -1
  40. package/dist/IrisGridModelFactory.js.map +1 -1
  41. package/dist/IrisGridModelUpdater.js.map +1 -1
  42. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  43. package/dist/IrisGridPartitionSelector.js +6 -8
  44. package/dist/IrisGridPartitionSelector.js.map +1 -1
  45. package/dist/IrisGridPartitionedTableModel.js.map +1 -1
  46. package/dist/IrisGridProxyModel.js +6 -7
  47. package/dist/IrisGridProxyModel.js.map +1 -1
  48. package/dist/IrisGridRenderer.js +0 -1
  49. package/dist/IrisGridRenderer.js.map +1 -1
  50. package/dist/IrisGridShortcuts.js.map +1 -1
  51. package/dist/IrisGridTableModel.js +1 -2
  52. package/dist/IrisGridTableModel.js.map +1 -1
  53. package/dist/IrisGridTableModelTemplate.d.ts +1 -1
  54. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  55. package/dist/IrisGridTableModelTemplate.js +57 -61
  56. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  57. package/dist/IrisGridTestUtils.js.map +1 -1
  58. package/dist/IrisGridTextCellRenderer.js.map +1 -1
  59. package/dist/IrisGridTheme.js.map +1 -1
  60. package/dist/IrisGridThemeProvider.js.map +1 -1
  61. package/dist/IrisGridTreeTableModel.js +12 -13
  62. package/dist/IrisGridTreeTableModel.js.map +1 -1
  63. package/dist/IrisGridUtils.js +56 -56
  64. package/dist/IrisGridUtils.js.map +1 -1
  65. package/dist/LazyIrisGrid.d.ts +55 -78
  66. package/dist/LazyIrisGrid.d.ts.map +1 -1
  67. package/dist/LazyIrisGrid.js.map +1 -1
  68. package/dist/MissingKeyError.js.map +1 -1
  69. package/dist/MissingPartitionError.js.map +1 -1
  70. package/dist/NoPastePermissionModal.js +1 -2
  71. package/dist/NoPastePermissionModal.js.map +1 -1
  72. package/dist/PartitionedGridModel.js.map +1 -1
  73. package/dist/PendingDataBottomBar.js +1 -2
  74. package/dist/PendingDataBottomBar.js.map +1 -1
  75. package/dist/ToastBottomBar.js.map +1 -1
  76. package/dist/declaration.d.js.map +1 -1
  77. package/dist/format-context-menus/CustomFormatAction.js +1 -2
  78. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  79. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  80. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  81. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  82. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  83. package/dist/format-context-menus/TextAlignmentFormatContextMenu.js +6 -4
  84. package/dist/format-context-menus/TextAlignmentFormatContextMenu.js.map +1 -1
  85. package/dist/format-context-menus/index.js.map +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  88. package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
  89. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  90. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  91. package/dist/key-handlers/index.js.map +1 -1
  92. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  93. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  94. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
  95. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +5 -2
  96. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  97. package/dist/mousehandlers/IrisGridContextMenuHandler.js +1 -2
  98. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  99. package/dist/mousehandlers/IrisGridCopyCellMouseHandler.js.map +1 -1
  100. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  101. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  102. package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
  103. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
  104. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  105. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +1 -3
  106. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  107. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  108. package/dist/mousehandlers/index.js.map +1 -1
  109. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  110. package/dist/sidebar/AdvancedSettingsMenu.d.ts +1 -1
  111. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  112. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  113. package/dist/sidebar/AdvancedSettingsType.js +3 -3
  114. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  115. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  116. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  117. package/dist/sidebar/ChartBuilder.js +1 -2
  118. package/dist/sidebar/ChartBuilder.js.map +1 -1
  119. package/dist/sidebar/CustomColumnBuilder.js +3 -5
  120. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  121. package/dist/sidebar/CustomColumnInput.js +1 -2
  122. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  123. package/dist/sidebar/DownloadServiceWorkerUtils.js +1 -1
  124. package/dist/sidebar/DownloadServiceWorkerUtils.js.map +1 -1
  125. package/dist/sidebar/InputEditor.js +8 -9
  126. package/dist/sidebar/InputEditor.js.map +1 -1
  127. package/dist/sidebar/OptionType.js +3 -3
  128. package/dist/sidebar/OptionType.js.map +1 -1
  129. package/dist/sidebar/RollupRows.js +7 -9
  130. package/dist/sidebar/RollupRows.js.map +1 -1
  131. package/dist/sidebar/SelectDistinctBuilder.js +1 -2
  132. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  133. package/dist/sidebar/TableCsvExporter.js +5 -7
  134. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  135. package/dist/sidebar/TableSaver.js +9 -10
  136. package/dist/sidebar/TableSaver.js.map +1 -1
  137. package/dist/sidebar/aggregations/AggregationEdit.js +4 -5
  138. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  139. package/dist/sidebar/aggregations/AggregationOperation.js +3 -3
  140. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  141. package/dist/sidebar/aggregations/AggregationUtils.js +0 -1
  142. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  143. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  144. package/dist/sidebar/aggregations/Aggregations.js +2 -4
  145. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  146. package/dist/sidebar/aggregations/index.js.map +1 -1
  147. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  148. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +1 -3
  149. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  150. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  151. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -3
  152. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  153. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +1 -2
  154. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  155. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  156. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +1 -2
  157. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  158. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +21 -21
  159. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  160. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  161. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +1 -3
  162. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  163. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  164. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -3
  165. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  166. package/dist/sidebar/icons/BarIcon.js +1 -2
  167. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  168. package/dist/sidebar/icons/FormatColumnWhereIcon.js +1 -2
  169. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  170. package/dist/sidebar/icons/FormatRowWhereIcon.js +1 -2
  171. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  172. package/dist/sidebar/icons/HistogramIcon.js +1 -2
  173. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  174. package/dist/sidebar/icons/LineIcon.js +1 -2
  175. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  176. package/dist/sidebar/icons/PieIcon.js +1 -2
  177. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  178. package/dist/sidebar/icons/ScatterIcon.js +1 -2
  179. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.js.map +1 -1
  182. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +2 -2
  183. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
  184. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +34 -36
  185. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
  186. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +3 -3
  187. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
  188. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +3 -5
  189. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
  190. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.d.ts.map +1 -1
  191. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +2 -4
  192. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
  193. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
  194. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +4 -4
  195. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
  196. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +3 -6
  197. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +1 -1
  198. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
  199. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +1 -2
  200. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
  201. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
  202. package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +1 -1
  203. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -2
  204. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts.map +1 -1
  205. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
  206. package/package.json +17 -18
@@ -1,82 +1,59 @@
1
1
  import type IrisGridType from './IrisGrid';
2
2
  import type { IrisGridProps } from './IrisGrid';
3
- declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "model" | "reverseType" | "columnHeaderGroups" | "renderer"> & Partial<Pick<IrisGridProps, "name" | "children" | "settings" | "reverse" | "onError" | "onContextMenu" | "isStuckToBottom" | "theme" | "customColumns" | "pendingDataMap" | "movedColumns" | "userColumnWidths" | "movedRows" | "isStuckToRight" | "advancedFilters" | "advancedSettings" | "alwaysFetchColumns" | "isFilterBarShown" | "applyInputFiltersOnInit" | "conditionalFormats" | "customColumnFormatMap" | "columnAlignmentMap" | "inputFilters" | "customFilters" | "onCreateChart" | "onColumnSelected" | "onDataSelected" | "onStateChange" | "onAdvancedSettingsChange" | "partitions" | "partitionConfig" | "sorts" | "quickFilters" | "selectDistinctColumns" | "userRowHeights" | "onSelectionChanged" | "rollupConfig" | "aggregationSettings" | "isSelectingColumn" | "isSelectingPartition" | "columnSelectionValidator" | "columnAllowedCursor" | "columnNotAllowedCursor" | "copyCursor" | "onlyFetchVisibleColumns" | "showSearchBar" | "searchValue" | "selectedSearchColumns" | "invertSearchColumns" | "getDownloadWorker" | "canCopy" | "canDownloadCsv" | "frozenColumns" | "canToggleSearch" | "keyHandlers" | "mouseHandlers" | "density">> & Partial<Pick<{
4
- children: null;
5
- advancedFilters: ReadonlyMap<never, never>;
6
- advancedSettings: ReadonlyMap<never, never>;
7
- alwaysFetchColumns: readonly never[];
8
- conditionalFormats: readonly never[];
9
- customColumnFormatMap: ReadonlyMap<never, never>;
10
- columnAlignmentMap: ReadonlyMap<never, never>;
11
- isFilterBarShown: boolean;
12
- applyInputFiltersOnInit: boolean;
13
- movedColumns: readonly never[];
14
- movedRows: readonly never[];
15
- inputFilters: readonly never[];
16
- customFilters: readonly never[];
17
- onCreateChart: undefined;
18
- onColumnSelected: () => void;
19
- onDataSelected: () => void;
20
- onError: () => void;
21
- onStateChange: () => void;
22
- onAdvancedSettingsChange: () => void;
23
- partitions: undefined;
24
- partitionConfig: undefined;
25
- quickFilters: ReadonlyMap<never, never>;
26
- selectDistinctColumns: readonly never[];
27
- sorts: readonly never[];
28
- reverse: boolean;
29
- customColumns: readonly never[];
30
- aggregationSettings: Readonly<{
31
- aggregations: readonly never[];
32
- showOnTop: false;
33
- }>;
34
- rollupConfig: undefined;
35
- userColumnWidths: ReadonlyMap<never, never>;
36
- userRowHeights: ReadonlyMap<never, never>;
37
- onSelectionChanged: () => void;
38
- isSelectingColumn: boolean;
39
- isSelectingPartition: boolean;
40
- isStuckToBottom: boolean;
41
- isStuckToRight: boolean;
42
- columnSelectionValidator: null;
43
- columnAllowedCursor: string;
44
- columnNotAllowedCursor: string;
45
- copyCursor: string;
46
- name: string;
47
- onlyFetchVisibleColumns: boolean;
48
- showSearchBar: boolean;
49
- searchValue: string;
50
- selectedSearchColumns: null;
51
- invertSearchColumns: boolean;
52
- onContextMenu: () => readonly import("@deephaven/components").ResolvableContextAction[];
53
- pendingDataMap: ReadonlyMap<never, never>;
54
- getDownloadWorker: typeof import("./sidebar").DownloadServiceWorkerUtils.getServiceWorker;
55
- settings: {
56
- timeZone: string;
57
- defaultDateTimeFormat: string;
58
- showTimeZone: boolean;
59
- showTSeparator: boolean;
60
- truncateNumbersWithPound: boolean;
61
- showEmptyStrings: boolean;
62
- showNullStrings: boolean;
63
- showExtraGroupColumn: boolean;
64
- formatter: readonly never[];
65
- decimalFormatOptions: import("prop-types").Requireable<import("prop-types").InferProps<{
66
- defaultFormatString: import("prop-types").Requireable<string>;
67
- }>>;
68
- integerFormatOptions: import("prop-types").Requireable<import("prop-types").InferProps<{
69
- defaultFormatString: import("prop-types").Requireable<string>;
70
- }>>;
71
- };
72
- canCopy: boolean;
73
- canDownloadCsv: boolean;
74
- frozenColumns: null;
75
- theme: null;
76
- density: undefined;
77
- canToggleSearch: boolean;
78
- mouseHandlers: readonly never[];
79
- keyHandlers: readonly never[];
80
- }, never>> & import("react").RefAttributes<IrisGridType>>;
3
+ declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "children" | "model" | "theme" | "reverseType" | "columnSelectionValidator" | "selectedSearchColumns" | "columnHeaderGroups" | "renderer"> & {
4
+ name?: string | undefined;
5
+ settings?: import("@deephaven/jsapi-utils").Settings | undefined;
6
+ reverse?: boolean | undefined;
7
+ onError?: ((error: unknown) => void) | undefined;
8
+ onContextMenu?: ((data: import("./IrisGrid").IrisGridContextMenuData) => readonly import("@deephaven/components").ResolvableContextAction[]) | undefined;
9
+ isStuckToBottom?: boolean | undefined;
10
+ customColumns?: readonly string[] | undefined;
11
+ pendingDataMap?: import("./CommonTypes").PendingDataMap | undefined;
12
+ movedColumns?: readonly import("@deephaven/grid").MoveOperation[] | undefined;
13
+ userColumnWidths?: ReadonlyMap<number, number> | undefined;
14
+ movedRows?: readonly import("@deephaven/grid").MoveOperation[] | undefined;
15
+ isStuckToRight?: boolean | undefined;
16
+ advancedFilters?: import("./CommonTypes").ReadonlyAdvancedFilterMap | undefined;
17
+ advancedSettings?: ReadonlyMap<import("./sidebar").AdvancedSettingsType, boolean> | undefined;
18
+ alwaysFetchColumns?: readonly string[] | undefined;
19
+ isFilterBarShown?: boolean | undefined;
20
+ applyInputFiltersOnInit?: boolean | undefined;
21
+ conditionalFormats?: readonly import("./sidebar").SidebarFormattingRule[] | undefined;
22
+ customColumnFormatMap?: ReadonlyMap<string, import("@deephaven/jsapi-utils").FormattingRule> | undefined;
23
+ columnAlignmentMap?: ReadonlyMap<string, CanvasTextAlign> | undefined;
24
+ inputFilters?: readonly import("./CommonTypes").InputFilter[] | undefined;
25
+ customFilters?: readonly import("@deephaven/jsapi-types").dh.FilterCondition[] | undefined;
26
+ onCreateChart?: ((settings: import("./sidebar").ChartBuilderSettings, model: import("./IrisGridModel").default) => void) | undefined;
27
+ onColumnSelected?: ((column: import("@deephaven/jsapi-types").dh.Column) => void) | undefined;
28
+ onDataSelected?: ((index: import("@deephaven/grid").ModelIndex, map: import("@deephaven/jsapi-utils").RowDataMap) => void) | undefined;
29
+ onStateChange?: ((irisGridState: import("./IrisGrid").IrisGridState, gridState: import("@deephaven/grid").GridState) => void) | undefined;
30
+ onAdvancedSettingsChange?: import("./sidebar/AdvancedSettingsMenu").AdvancedSettingsMenuCallback | undefined;
31
+ partitions?: (string | null)[] | undefined;
32
+ partitionConfig?: import("./PartitionedGridModel").PartitionConfig | undefined;
33
+ sorts?: readonly import("@deephaven/jsapi-types").dh.Sort[] | undefined;
34
+ quickFilters?: import("./CommonTypes").ReadonlyQuickFilterMap | null | undefined;
35
+ selectDistinctColumns?: readonly string[] | undefined;
36
+ userRowHeights?: ReadonlyMap<number, number> | undefined;
37
+ onSelectionChanged?: ((gridRanges: readonly import("@deephaven/grid").GridRange[]) => void) | undefined;
38
+ rollupConfig?: import("./sidebar").UIRollupConfig | undefined;
39
+ aggregationSettings?: import("./sidebar").AggregationSettings | undefined;
40
+ isSelectingColumn?: boolean | undefined;
41
+ isSelectingPartition?: boolean | undefined;
42
+ columnAllowedCursor?: string | undefined;
43
+ columnNotAllowedCursor?: string | undefined;
44
+ copyCursor?: string | undefined;
45
+ onlyFetchVisibleColumns?: boolean | undefined;
46
+ showSearchBar?: boolean | undefined;
47
+ searchValue?: string | undefined;
48
+ invertSearchColumns?: boolean | undefined;
49
+ getDownloadWorker?: (() => Promise<ServiceWorker>) | undefined;
50
+ canCopy?: boolean | undefined;
51
+ canDownloadCsv?: boolean | undefined;
52
+ frozenColumns?: readonly string[] | undefined;
53
+ canToggleSearch?: boolean | undefined;
54
+ keyHandlers?: readonly import("@deephaven/grid").KeyHandler[] | undefined;
55
+ mouseHandlers?: import("./IrisGrid").MouseHandlersProp | undefined;
56
+ density?: ("compact" | "regular" | "spacious") | undefined;
57
+ } & {} & import("react").RefAttributes<IrisGridType>>;
81
58
  export default LazyIrisGrid;
82
59
  //# sourceMappingURL=LazyIrisGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LazyIrisGrid.d.ts","sourceRoot":"","sources":["../src/LazyIrisGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAgBjB,CAAC;AAIF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"LazyIrisGrid.d.ts","sourceRoot":"","sources":["../src/LazyIrisGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAgBjB,CAAC;AAIF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LazyIrisGrid.js","names":["forwardRef","lazy","Suspense","LoadingOverlay","jsx","_jsx","IrisGrid","LazyIrisGrid","props","ref","fallback","children","_objectSpread","displayName"],"sources":["../src/LazyIrisGrid.tsx"],"sourcesContent":["import { forwardRef, lazy, Suspense } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport type IrisGridType from './IrisGrid';\nimport type { IrisGridProps } from './IrisGrid';\n\nconst IrisGrid = lazy(() => import('./IrisGrid.js'));\n\nconst LazyIrisGrid = forwardRef<\n IrisGridType,\n JSX.LibraryManagedAttributes<typeof IrisGridType, IrisGridProps>\n>(\n (\n // This creates the correct type to make defaultProps optional\n props,\n ref\n ): JSX.Element => (\n <Suspense\n fallback={<LoadingOverlay data-testid=\"lazy-iris-grid-loading\" />}\n >\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <IrisGrid ref={ref} {...props} />\n </Suspense>\n )\n);\n\nLazyIrisGrid.displayName = 'LazyIrisGrid';\n\nexport default LazyIrisGrid;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,cAAc,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIvD,IAAMC,QAAQ,gBAAGL,IAAI,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;AAEpD,IAAMM,YAAY,gBAAGP,UAAU,CAI7B;AACE;AACAQ,KAAK,EACLC,GAAG,kBAEHJ,IAAA,CAACH,QAAQ;EACPQ,QAAQ,eAAEL,IAAA,CAACF,cAAc;IAAC,eAAY;EAAwB,CAAE,CAAE;EAAAQ,QAAA,eAGlEN,IAAA,CAACC,QAAQ,EAAAM,aAAA;IAACH,GAAG,EAAEA;EAAI,GAAKD,KAAK,CAAG;AAAC,CACzB,CAEd,CAAC;AAEDD,YAAY,CAACM,WAAW,GAAG,cAAc;AAEzC,eAAeN,YAAY"}
1
+ {"version":3,"file":"LazyIrisGrid.js","names":["forwardRef","lazy","Suspense","LoadingOverlay","jsx","_jsx","IrisGrid","LazyIrisGrid","props","ref","fallback","children","_objectSpread","displayName"],"sources":["../src/LazyIrisGrid.tsx"],"sourcesContent":["import { forwardRef, lazy, Suspense } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport type IrisGridType from './IrisGrid';\nimport type { IrisGridProps } from './IrisGrid';\n\nconst IrisGrid = lazy(() => import('./IrisGrid.js'));\n\nconst LazyIrisGrid = forwardRef<\n IrisGridType,\n JSX.LibraryManagedAttributes<typeof IrisGridType, IrisGridProps>\n>(\n (\n // This creates the correct type to make defaultProps optional\n props,\n ref\n ): JSX.Element => (\n <Suspense\n fallback={<LoadingOverlay data-testid=\"lazy-iris-grid-loading\" />}\n >\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <IrisGrid ref={ref} {...props} />\n </Suspense>\n )\n);\n\nLazyIrisGrid.displayName = 'LazyIrisGrid';\n\nexport default LazyIrisGrid;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,cAAc,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIvD,IAAMC,QAAQ,gBAAGL,IAAI,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;AAEpD,IAAMM,YAAY,gBAAGP,UAAU,CAI7B;AACE;AACAQ,KAAK,EACLC,GAAG,kBAEHJ,IAAA,CAACH,QAAQ;EACPQ,QAAQ,eAAEL,IAAA,CAACF,cAAc;IAAC,eAAY;EAAwB,CAAE,CAAE;EAAAQ,QAAA,eAGlEN,IAAA,CAACC,QAAQ,EAAAM,aAAA;IAACH,GAAG,EAAEA;EAAI,GAAKD,KAAK,CAAG;AAAC,CACzB,CAEd,CAAC;AAEDD,YAAY,CAACM,WAAW,GAAG,cAAc;AAEzC,eAAeN,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MissingKeyError.js","names":["MissingKeyError","Error","constructor","rowIndex","columnName","concat","_defineProperty"],"sources":["../src/MissingKeyError.ts"],"sourcesContent":["import { type ModelIndex } from '@deephaven/grid';\nimport { type ColumnName } from './CommonTypes';\n\nclass MissingKeyError extends Error {\n isMissingKey = true;\n\n rowIndex: ModelIndex;\n\n columnName: ColumnName;\n\n constructor(rowIndex: ModelIndex, columnName: ColumnName) {\n super(`${columnName} can't be empty (on pending row ${rowIndex + 1})`);\n this.rowIndex = rowIndex;\n this.columnName = columnName;\n }\n}\n\nexport default MissingKeyError;\n"],"mappings":";;;AAGA,MAAMA,eAAe,SAASC,KAAK,CAAC;EAOlCC,WAAWA,CAACC,QAAoB,EAAEC,UAAsB,EAAE;IACxD,KAAK,IAAAC,MAAA,CAAID,UAAU,sCAAAC,MAAA,CAAmCF,QAAQ,GAAG,CAAC,MAAG,CAAC;IAACG,eAAA,uBAP1D,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAQjB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;AACF;AAEA,eAAeJ,eAAe"}
1
+ {"version":3,"file":"MissingKeyError.js","names":["MissingKeyError","Error","constructor","rowIndex","columnName","concat","_defineProperty"],"sources":["../src/MissingKeyError.ts"],"sourcesContent":["import { type ModelIndex } from '@deephaven/grid';\nimport { type ColumnName } from './CommonTypes';\n\nclass MissingKeyError extends Error {\n isMissingKey = true;\n\n rowIndex: ModelIndex;\n\n columnName: ColumnName;\n\n constructor(rowIndex: ModelIndex, columnName: ColumnName) {\n super(`${columnName} can't be empty (on pending row ${rowIndex + 1})`);\n this.rowIndex = rowIndex;\n this.columnName = columnName;\n }\n}\n\nexport default MissingKeyError;\n"],"mappings":";;;AAGA,MAAMA,eAAe,SAASC,KAAK,CAAC;EAOlCC,WAAWA,CAACC,QAAoB,EAAEC,UAAsB,EAAE;IACxD,KAAK,IAAAC,MAAA,CAAID,UAAU,sCAAAC,MAAA,CAAmCF,QAAQ,GAAG,CAAC,MAAG,CAAC;IAACG,eAAA,uBAP1D,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAQjB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;AACF;AAEA,eAAeJ,eAAe","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MissingPartitionError.js","names":["MissingPartitionError","Error","constructor","arguments","_defineProperty","isMissingPartitionError","err"],"sources":["../src/MissingPartitionError.ts"],"sourcesContent":["class MissingPartitionError extends Error {\n isMissingPartitionError = true;\n}\n\nexport function isMissingPartitionError(\n err: unknown\n): err is MissingPartitionError {\n return (err as MissingPartitionError)?.isMissingPartitionError === true;\n}\n\nexport default MissingPartitionError;\n"],"mappings":";;;AAAA,MAAMA,qBAAqB,SAASC,KAAK,CAAC;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kCACd,IAAI;EAAA;AAChC;AAEA,OAAO,SAASC,uBAAuBA,CACrCC,GAAY,EACkB;EAC9B,OAAO,CAACA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAA4BD,uBAAuB,MAAK,IAAI;AACzE;AAEA,eAAeL,qBAAqB"}
1
+ {"version":3,"file":"MissingPartitionError.js","names":["MissingPartitionError","Error","constructor","arguments","_defineProperty","isMissingPartitionError","err"],"sources":["../src/MissingPartitionError.ts"],"sourcesContent":["class MissingPartitionError extends Error {\n isMissingPartitionError = true;\n}\n\nexport function isMissingPartitionError(\n err: unknown\n): err is MissingPartitionError {\n return (err as MissingPartitionError)?.isMissingPartitionError === true;\n}\n\nexport default MissingPartitionError;\n"],"mappings":";;;AAAA,MAAMA,qBAAqB,SAASC,KAAK,CAAC;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kCACd,IAAI;EAAA;AAChC;AAEA,OAAO,SAASC,uBAAuBA,CACrCC,GAAY,EACkB;EAC9B,OAAO,CAACA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAA4BD,uBAAuB,MAAK,IAAI;AACzE;AAEA,eAAeL,qBAAqB","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import { Button, GLOBAL_SHORTCUTS, Modal, ModalBody, ModalFooter, ModalHeader } from '@deephaven/components';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
3
  export function NoPastePermissionModal(_ref) {
5
4
  var {
6
5
  isOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"NoPastePermissionModal.js","names":["Button","GLOBAL_SHORTCUTS","Modal","ModalBody","ModalFooter","ModalHeader","jsx","_jsx","jsxs","_jsxs","NoPastePermissionModal","_ref","isOpen","onClose","errorMessage","pasteShortcutText","PASTE","getDisplayText","toggle","centered","children","closeButton","kind","onClick"],"sources":["../src/NoPastePermissionModal.tsx"],"sourcesContent":["import {\n Button,\n GLOBAL_SHORTCUTS,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@deephaven/components';\n\nexport type NoPastePermissionModalProps = {\n isOpen: boolean;\n onClose: () => void;\n errorMessage: string;\n};\n\nexport function NoPastePermissionModal({\n isOpen,\n onClose,\n errorMessage,\n}: NoPastePermissionModalProps): JSX.Element {\n const pasteShortcutText = GLOBAL_SHORTCUTS.PASTE.getDisplayText();\n return (\n <Modal isOpen={isOpen} toggle={onClose} centered>\n <ModalHeader closeButton={false}>No Paste Permission</ModalHeader>\n <ModalBody>\n <p>{errorMessage}</p>\n <p>You can still use {pasteShortcutText} to paste.</p>\n </ModalBody>\n <ModalFooter>\n <Button kind=\"primary\" onClick={onClose}>\n Dismiss\n </Button>\n </ModalFooter>\n </Modal>\n );\n}\n"],"mappings":"AAAA,SACEA,MAAM,EACNC,gBAAgB,EAChBC,KAAK,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,QACN,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAQ/B,OAAO,SAASC,sBAAsBA,CAAAC,IAAA,EAIO;EAAA,IAJN;IACrCC,MAAM;IACNC,OAAO;IACPC;EAC2B,CAAC,GAAAH,IAAA;EAC5B,IAAMI,iBAAiB,GAAGd,gBAAgB,CAACe,KAAK,CAACC,cAAc,CAAC,CAAC;EACjE,oBACER,KAAA,CAACP,KAAK;IAACU,MAAM,EAAEA,MAAO;IAACM,MAAM,EAAEL,OAAQ;IAACM,QAAQ;IAAAC,QAAA,gBAC9Cb,IAAA,CAACF,WAAW;MAACgB,WAAW,EAAE,KAAM;MAAAD,QAAA,EAAC;IAAmB,CAAa,CAAC,eAClEX,KAAA,CAACN,SAAS;MAAAiB,QAAA,gBACRb,IAAA;QAAAa,QAAA,EAAIN;MAAY,CAAI,CAAC,eACrBL,KAAA;QAAAW,QAAA,GAAG,oBAAkB,EAACL,iBAAiB,EAAC,YAAU;MAAA,CAAG,CAAC;IAAA,CAC7C,CAAC,eACZR,IAAA,CAACH,WAAW;MAAAgB,QAAA,eACVb,IAAA,CAACP,MAAM;QAACsB,IAAI,EAAC,SAAS;QAACC,OAAO,EAAEV,OAAQ;QAAAO,QAAA,EAAC;MAEzC,CAAQ;IAAC,CACE,CAAC;EAAA,CACT,CAAC;AAEZ"}
1
+ {"version":3,"file":"NoPastePermissionModal.js","names":["Button","GLOBAL_SHORTCUTS","Modal","ModalBody","ModalFooter","ModalHeader","jsx","_jsx","jsxs","_jsxs","NoPastePermissionModal","_ref","isOpen","onClose","errorMessage","pasteShortcutText","PASTE","getDisplayText","toggle","centered","children","closeButton","kind","onClick"],"sources":["../src/NoPastePermissionModal.tsx"],"sourcesContent":["import {\n Button,\n GLOBAL_SHORTCUTS,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@deephaven/components';\n\nexport type NoPastePermissionModalProps = {\n isOpen: boolean;\n onClose: () => void;\n errorMessage: string;\n};\n\nexport function NoPastePermissionModal({\n isOpen,\n onClose,\n errorMessage,\n}: NoPastePermissionModalProps): JSX.Element {\n const pasteShortcutText = GLOBAL_SHORTCUTS.PASTE.getDisplayText();\n return (\n <Modal isOpen={isOpen} toggle={onClose} centered>\n <ModalHeader closeButton={false}>No Paste Permission</ModalHeader>\n <ModalBody>\n <p>{errorMessage}</p>\n <p>You can still use {pasteShortcutText} to paste.</p>\n </ModalBody>\n <ModalFooter>\n <Button kind=\"primary\" onClick={onClose}>\n Dismiss\n </Button>\n </ModalFooter>\n </Modal>\n );\n}\n"],"mappings":"AAAA,SACEA,MAAM,EACNC,gBAAgB,EAChBC,KAAK,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,QACN,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ/B,OAAO,SAASC,sBAAsBA,CAAAC,IAAA,EAIO;EAAA,IAJN;IACrCC,MAAM;IACNC,OAAO;IACPC;EAC2B,CAAC,GAAAH,IAAA;EAC5B,IAAMI,iBAAiB,GAAGd,gBAAgB,CAACe,KAAK,CAACC,cAAc,CAAC,CAAC;EACjE,oBACER,KAAA,CAACP,KAAK;IAACU,MAAM,EAAEA,MAAO;IAACM,MAAM,EAAEL,OAAQ;IAACM,QAAQ;IAAAC,QAAA,gBAC9Cb,IAAA,CAACF,WAAW;MAACgB,WAAW,EAAE,KAAM;MAAAD,QAAA,EAAC;IAAmB,CAAa,CAAC,eAClEX,KAAA,CAACN,SAAS;MAAAiB,QAAA,gBACRb,IAAA;QAAAa,QAAA,EAAIN;MAAY,CAAI,CAAC,eACrBL,KAAA;QAAAW,QAAA,GAAG,oBAAkB,EAACL,iBAAiB,EAAC,YAAU;MAAA,CAAG,CAAC;IAAA,CAC7C,CAAC,eACZR,IAAA,CAACH,WAAW;MAAAgB,QAAA,eACVb,IAAA,CAACP,MAAM;QAACsB,IAAI,EAAC,SAAS;QAACC,OAAO,EAAEV,OAAQ;QAAAO,QAAA,EAAC;MAEzC,CAAQ;IAAC,CACE,CAAC;EAAA,CACT,CAAC;AAEZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"PartitionedGridModel.js","names":["isPartitionedGridModelProvider","model","isPartitionRequired","undefined","partitionColumns","partitionKeysTable","partitionMergedTable","partitionTable","isPartitionedGridModel","partitionConfig"],"sources":["../src/PartitionedGridModel.ts"],"sourcesContent":["import type { dh } from '@deephaven/jsapi-types';\nimport type IrisGridModel from './IrisGridModel';\n\nexport function isPartitionedGridModelProvider(\n model: IrisGridModel\n): model is PartitionedGridModelProvider {\n return (\n (model as PartitionedGridModel)?.isPartitionRequired !== undefined &&\n (model as PartitionedGridModel)?.partitionColumns !== undefined &&\n (model as PartitionedGridModel)?.partitionKeysTable !== undefined &&\n (model as PartitionedGridModel)?.partitionMergedTable !== undefined &&\n (model as PartitionedGridModel)?.partitionTable !== undefined\n );\n}\n\nexport function isPartitionedGridModel(\n model: IrisGridModel\n): model is PartitionedGridModel {\n return (\n isPartitionedGridModelProvider(model) &&\n (model as PartitionedGridModel).partitionConfig !== undefined\n );\n}\n\nexport interface PartitionConfig {\n /** The partition values to set on the model */\n partitions: unknown[];\n\n /** What data to display - the keys table, the merged table, or the selected partition */\n mode: 'keys' | 'merged' | 'partition';\n}\n\n/**\n * A grid model that provides key tables and partitions, cannot accept a `PartitionConfig` being set\n */\nexport interface PartitionedGridModelProvider extends IrisGridModel {\n /**\n * Retrieve the columns this model is partitioned on\n * @returns All columns to partition on\n */\n get partitionColumns(): readonly dh.Column[];\n\n /** Whether a partition is required to be set on this model */\n get isPartitionRequired(): boolean;\n\n /** Whether the table is a partition-aware source table or a partition table */\n get isPartitionAwareSourceTable(): boolean;\n\n /** Get a keys table for the partitions. Only includes the key columns. */\n partitionKeysTable: () => Promise<dh.Table>;\n\n /** Get the base table for the partitions. Includes key columns and possibly other columns, such as constituent columns */\n partitionBaseTable: () => Promise<dh.Table>;\n\n /** Get a merged table containing all partitions */\n partitionMergedTable: () => Promise<dh.Table>;\n\n /** Get a table containing the selected partition */\n partitionTable: (partitions: unknown[]) => Promise<dh.Table>;\n}\n\n/**\n * A grid model that can be partitioned on a column\n */\nexport interface PartitionedGridModel extends PartitionedGridModelProvider {\n /** Retrieve the currently set partition config */\n get partitionConfig(): PartitionConfig | null;\n\n /** Set the partition config */\n set partitionConfig(partitionConfig: PartitionConfig | null);\n}\n"],"mappings":"AAGA,OAAO,SAASA,8BAA8BA,CAC5CC,KAAoB,EACmB;EACvC,OACE,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BC,mBAAmB,MAAKC,SAAS,IAClE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BG,gBAAgB,MAAKD,SAAS,IAC/D,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BI,kBAAkB,MAAKF,SAAS,IACjE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BK,oBAAoB,MAAKH,SAAS,IACnE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BM,cAAc,MAAKJ,SAAS;AAEjE;AAEA,OAAO,SAASK,sBAAsBA,CACpCP,KAAoB,EACW;EAC/B,OACED,8BAA8B,CAACC,KAAK,CAAC,IACpCA,KAAK,CAA0BQ,eAAe,KAAKN,SAAS;AAEjE;;AAUA;AACA;AACA;;AA2BA;AACA;AACA"}
1
+ {"version":3,"file":"PartitionedGridModel.js","names":["isPartitionedGridModelProvider","model","isPartitionRequired","undefined","partitionColumns","partitionKeysTable","partitionMergedTable","partitionTable","isPartitionedGridModel","partitionConfig"],"sources":["../src/PartitionedGridModel.ts"],"sourcesContent":["import type { dh } from '@deephaven/jsapi-types';\nimport type IrisGridModel from './IrisGridModel';\n\nexport function isPartitionedGridModelProvider(\n model: IrisGridModel\n): model is PartitionedGridModelProvider {\n return (\n (model as PartitionedGridModel)?.isPartitionRequired !== undefined &&\n (model as PartitionedGridModel)?.partitionColumns !== undefined &&\n (model as PartitionedGridModel)?.partitionKeysTable !== undefined &&\n (model as PartitionedGridModel)?.partitionMergedTable !== undefined &&\n (model as PartitionedGridModel)?.partitionTable !== undefined\n );\n}\n\nexport function isPartitionedGridModel(\n model: IrisGridModel\n): model is PartitionedGridModel {\n return (\n isPartitionedGridModelProvider(model) &&\n (model as PartitionedGridModel).partitionConfig !== undefined\n );\n}\n\nexport interface PartitionConfig {\n /** The partition values to set on the model */\n partitions: unknown[];\n\n /** What data to display - the keys table, the merged table, or the selected partition */\n mode: 'keys' | 'merged' | 'partition';\n}\n\n/**\n * A grid model that provides key tables and partitions, cannot accept a `PartitionConfig` being set\n */\nexport interface PartitionedGridModelProvider extends IrisGridModel {\n /**\n * Retrieve the columns this model is partitioned on\n * @returns All columns to partition on\n */\n get partitionColumns(): readonly dh.Column[];\n\n /** Whether a partition is required to be set on this model */\n get isPartitionRequired(): boolean;\n\n /** Whether the table is a partition-aware source table or a partition table */\n get isPartitionAwareSourceTable(): boolean;\n\n /** Get a keys table for the partitions. Only includes the key columns. */\n partitionKeysTable: () => Promise<dh.Table>;\n\n /** Get the base table for the partitions. Includes key columns and possibly other columns, such as constituent columns */\n partitionBaseTable: () => Promise<dh.Table>;\n\n /** Get a merged table containing all partitions */\n partitionMergedTable: () => Promise<dh.Table>;\n\n /** Get a table containing the selected partition */\n partitionTable: (partitions: unknown[]) => Promise<dh.Table>;\n}\n\n/**\n * A grid model that can be partitioned on a column\n */\nexport interface PartitionedGridModel extends PartitionedGridModelProvider {\n /** Retrieve the currently set partition config */\n get partitionConfig(): PartitionConfig | null;\n\n /** Set the partition config */\n set partitionConfig(partitionConfig: PartitionConfig | null);\n}\n"],"mappings":"AAGA,OAAO,SAASA,8BAA8BA,CAC5CC,KAAoB,EACmB;EACvC,OACE,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BC,mBAAmB,MAAKC,SAAS,IAClE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BG,gBAAgB,MAAKD,SAAS,IAC/D,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BI,kBAAkB,MAAKF,SAAS,IACjE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BK,oBAAoB,MAAKH,SAAS,IACnE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA2BM,cAAc,MAAKJ,SAAS;AAEjE;AAEA,OAAO,SAASK,sBAAsBA,CACpCP,KAAoB,EACW;EAC/B,OACED,8BAA8B,CAACC,KAAK,CAAC,IACpCA,KAAK,CAA0BQ,eAAe,KAAKN,SAAS;AAEjE;;AAUA;AACA;AACA;;AA2BA;AACA;AACA","ignoreList":[]}
@@ -5,8 +5,7 @@ import { Button, LoadingSpinner } from '@deephaven/components';
5
5
  import { usePrevious } from '@deephaven/react-hooks';
6
6
  import IrisGridBottomBar from "./IrisGridBottomBar.js";
7
7
  import "./PendingDataBottomBar.css";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  var HIDE_TIMEOUT = 3000;
11
10
  var MAX_NUMBER_ROWS_SHOWN = 5;
12
11
  export function PendingDataBottomBar(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"PendingDataBottomBar.js","names":["React","useEffect","useMemo","useRef","useState","FontAwesomeIcon","vsPass","vsWarning","Button","LoadingSpinner","usePrevious","IrisGridBottomBar","jsx","_jsx","jsxs","_jsxs","HIDE_TIMEOUT","MAX_NUMBER_ROWS_SHOWN","PendingDataBottomBar","_ref","isSaving","onSave","onDiscard","discardTooltip","saveTooltip","error","pendingDataErrors","pendingDataMap","onEntering","onEntered","onExiting","onExited","isSuccessShown","setIsSuccessShown","wasSuccessShown","setWasSuccessShown","successTimeout","prevIsSaving","errorMessage","size","concat","Array","from","keys","join","trim","showSuccessMessage","current","setTimeout","hideSuccessMessage","clearTimeout","cleanupTimeout","undefined","pendingRowCount","commitIcon","className","isShown","children","icon","kind","onClick","tooltip","disabled"],"sources":["../src/PendingDataBottomBar.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsPass, vsWarning } from '@deephaven/icons';\nimport { Button, LoadingSpinner } from '@deephaven/components';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\nimport { type PendingDataErrorMap, type PendingDataMap } from './CommonTypes';\n\nconst HIDE_TIMEOUT = 3000;\n\nconst MAX_NUMBER_ROWS_SHOWN = 5;\n\nexport type PendingDataBottomBarProps = {\n onSave: () => Promise<void>;\n onDiscard: () => Promise<void>;\n discardTooltip?: string;\n saveTooltip?: string;\n isSaving?: boolean;\n error?: string | null;\n pendingDataErrors: PendingDataErrorMap;\n pendingDataMap: PendingDataMap;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport function PendingDataBottomBar({\n isSaving = false,\n onSave,\n onDiscard,\n discardTooltip,\n saveTooltip,\n error,\n pendingDataErrors,\n pendingDataMap,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: PendingDataBottomBarProps): JSX.Element {\n const [isSuccessShown, setIsSuccessShown] = useState(false);\n const [wasSuccessShown, setWasSuccessShown] = useState(false);\n const successTimeout = useRef<ReturnType<typeof setTimeout>>();\n const prevIsSaving = usePrevious(isSaving);\n const errorMessage = useMemo(() => {\n if (pendingDataErrors.size === 0) {\n return error;\n }\n if (pendingDataErrors.size <= MAX_NUMBER_ROWS_SHOWN) {\n return `Key can't be empty (on pending row${\n pendingDataErrors.size > 1 ? 's' : ''\n } ${Array.from(pendingDataErrors.keys()).join(', ').trim()})`;\n }\n return `Key can't be empty (on ${pendingDataErrors.size} rows)`;\n }, [error, pendingDataErrors]);\n\n useEffect(\n function showSuccessMessage() {\n if (\n prevIsSaving != null &&\n prevIsSaving &&\n !isSaving &&\n errorMessage == null\n ) {\n setIsSuccessShown(true);\n setWasSuccessShown(true);\n successTimeout.current = setTimeout(() => {\n setIsSuccessShown(false);\n }, HIDE_TIMEOUT);\n }\n },\n [errorMessage, isSaving, prevIsSaving]\n );\n\n useEffect(\n function hideSuccessMessage() {\n if (successTimeout.current && pendingDataMap.size > 0) {\n // A change just occurred while the success message was still being shown, just hide the success message\n clearTimeout(successTimeout.current);\n setIsSuccessShown(false);\n setWasSuccessShown(false);\n }\n },\n [pendingDataMap]\n );\n\n useEffect(function cleanupTimeout() {\n return () =>\n successTimeout.current ? clearTimeout(successTimeout.current) : undefined;\n }, []);\n\n const pendingRowCount = pendingDataMap.size;\n let commitIcon;\n if (isSaving) {\n commitIcon = <LoadingSpinner className=\"loading-spinner-vertical-align\" />;\n } else if (wasSuccessShown) {\n commitIcon = vsPass;\n }\n\n return (\n <IrisGridBottomBar\n className=\"pending-data-bottom-bar\"\n isShown={pendingRowCount > 0 || isSuccessShown || errorMessage != null}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={() => {\n setWasSuccessShown(false);\n if (onExited) {\n onExited();\n }\n }}\n >\n {errorMessage != null && errorMessage !== '' && (\n <div className=\"error-message\">\n <FontAwesomeIcon icon={vsWarning} />\n <span>{`${errorMessage}`}</span>\n </div>\n )}\n {(errorMessage == null || errorMessage === '') && (\n <div className=\"status-message\">\n {pendingRowCount > 0 && (\n <span>{`${pendingRowCount} row${\n pendingRowCount > 1 ? 's' : ''\n } pending`}</span>\n )}\n </div>\n )}\n <div className=\"buttons-container\">\n {!isSaving && !wasSuccessShown && (\n <Button kind=\"secondary\" onClick={onDiscard} tooltip={discardTooltip}>\n Discard\n </Button>\n )}\n <Button\n kind={wasSuccessShown ? 'success' : 'primary'}\n onClick={onSave}\n icon={commitIcon}\n disabled={isSaving || wasSuccessShown || errorMessage != null}\n tooltip={saveTooltip}\n >\n {isSaving && `Committing...`}\n {!isSaving && wasSuccessShown && `Success`}\n {!isSaving && !wasSuccessShown && `Commit`}\n </Button>\n </div>\n </IrisGridBottomBar>\n );\n}\n\nexport default PendingDataBottomBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"PendingDataBottomBar.js","names":["React","useEffect","useMemo","useRef","useState","FontAwesomeIcon","vsPass","vsWarning","Button","LoadingSpinner","usePrevious","IrisGridBottomBar","jsx","_jsx","jsxs","_jsxs","HIDE_TIMEOUT","MAX_NUMBER_ROWS_SHOWN","PendingDataBottomBar","_ref","isSaving","onSave","onDiscard","discardTooltip","saveTooltip","error","pendingDataErrors","pendingDataMap","onEntering","onEntered","onExiting","onExited","isSuccessShown","setIsSuccessShown","wasSuccessShown","setWasSuccessShown","successTimeout","prevIsSaving","errorMessage","size","concat","Array","from","keys","join","trim","showSuccessMessage","current","setTimeout","hideSuccessMessage","clearTimeout","cleanupTimeout","undefined","pendingRowCount","commitIcon","className","isShown","children","icon","kind","onClick","tooltip","disabled"],"sources":["../src/PendingDataBottomBar.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsPass, vsWarning } from '@deephaven/icons';\nimport { Button, LoadingSpinner } from '@deephaven/components';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\nimport { type PendingDataErrorMap, type PendingDataMap } from './CommonTypes';\n\nconst HIDE_TIMEOUT = 3000;\n\nconst MAX_NUMBER_ROWS_SHOWN = 5;\n\nexport type PendingDataBottomBarProps = {\n onSave: () => Promise<void>;\n onDiscard: () => Promise<void>;\n discardTooltip?: string;\n saveTooltip?: string;\n isSaving?: boolean;\n error?: string | null;\n pendingDataErrors: PendingDataErrorMap;\n pendingDataMap: PendingDataMap;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport function PendingDataBottomBar({\n isSaving = false,\n onSave,\n onDiscard,\n discardTooltip,\n saveTooltip,\n error,\n pendingDataErrors,\n pendingDataMap,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: PendingDataBottomBarProps): JSX.Element {\n const [isSuccessShown, setIsSuccessShown] = useState(false);\n const [wasSuccessShown, setWasSuccessShown] = useState(false);\n const successTimeout = useRef<ReturnType<typeof setTimeout>>();\n const prevIsSaving = usePrevious(isSaving);\n const errorMessage = useMemo(() => {\n if (pendingDataErrors.size === 0) {\n return error;\n }\n if (pendingDataErrors.size <= MAX_NUMBER_ROWS_SHOWN) {\n return `Key can't be empty (on pending row${\n pendingDataErrors.size > 1 ? 's' : ''\n } ${Array.from(pendingDataErrors.keys()).join(', ').trim()})`;\n }\n return `Key can't be empty (on ${pendingDataErrors.size} rows)`;\n }, [error, pendingDataErrors]);\n\n useEffect(\n function showSuccessMessage() {\n if (\n prevIsSaving != null &&\n prevIsSaving &&\n !isSaving &&\n errorMessage == null\n ) {\n setIsSuccessShown(true);\n setWasSuccessShown(true);\n successTimeout.current = setTimeout(() => {\n setIsSuccessShown(false);\n }, HIDE_TIMEOUT);\n }\n },\n [errorMessage, isSaving, prevIsSaving]\n );\n\n useEffect(\n function hideSuccessMessage() {\n if (successTimeout.current && pendingDataMap.size > 0) {\n // A change just occurred while the success message was still being shown, just hide the success message\n clearTimeout(successTimeout.current);\n setIsSuccessShown(false);\n setWasSuccessShown(false);\n }\n },\n [pendingDataMap]\n );\n\n useEffect(function cleanupTimeout() {\n return () =>\n successTimeout.current ? clearTimeout(successTimeout.current) : undefined;\n }, []);\n\n const pendingRowCount = pendingDataMap.size;\n let commitIcon;\n if (isSaving) {\n commitIcon = <LoadingSpinner className=\"loading-spinner-vertical-align\" />;\n } else if (wasSuccessShown) {\n commitIcon = vsPass;\n }\n\n return (\n <IrisGridBottomBar\n className=\"pending-data-bottom-bar\"\n isShown={pendingRowCount > 0 || isSuccessShown || errorMessage != null}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={() => {\n setWasSuccessShown(false);\n if (onExited) {\n onExited();\n }\n }}\n >\n {errorMessage != null && errorMessage !== '' && (\n <div className=\"error-message\">\n <FontAwesomeIcon icon={vsWarning} />\n <span>{`${errorMessage}`}</span>\n </div>\n )}\n {(errorMessage == null || errorMessage === '') && (\n <div className=\"status-message\">\n {pendingRowCount > 0 && (\n <span>{`${pendingRowCount} row${\n pendingRowCount > 1 ? 's' : ''\n } pending`}</span>\n )}\n </div>\n )}\n <div className=\"buttons-container\">\n {!isSaving && !wasSuccessShown && (\n <Button kind=\"secondary\" onClick={onDiscard} tooltip={discardTooltip}>\n Discard\n </Button>\n )}\n <Button\n kind={wasSuccessShown ? 'success' : 'primary'}\n onClick={onSave}\n icon={commitIcon}\n disabled={isSaving || wasSuccessShown || errorMessage != null}\n tooltip={saveTooltip}\n >\n {isSaving && `Committing...`}\n {!isSaving && wasSuccessShown && `Success`}\n {!isSaving && !wasSuccessShown && `Commit`}\n </Button>\n </div>\n </IrisGridBottomBar>\n );\n}\n\nexport default PendingDataBottomBar;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToastBottomBar.js","names":["React","useCallback","useEffect","useRef","useState","usePrevious","IrisGridBottomBar","jsx","_jsx","HIDE_TIMEOUT","ToastBottomBar","_ref","children","onEntering","onEntered","onExiting","onExited","isShown","setIsShown","timeout","prevChildren","startTimer","current","clearTimeout","setTimeout","undefined","className"],"sources":["../src/ToastBottomBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\n\nconst HIDE_TIMEOUT = 3000;\n\nexport type ToastBottomBarProps = {\n children?: React.ReactNode;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport function ToastBottomBar({\n children = null,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: ToastBottomBarProps): JSX.Element {\n const [isShown, setIsShown] = useState(false);\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const prevChildren = usePrevious(children);\n\n const startTimer = useCallback(() => {\n setIsShown(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n setIsShown(false);\n }, HIDE_TIMEOUT);\n }, [setIsShown, timeout]);\n\n useEffect(() => {\n if (prevChildren !== children && children != null) {\n startTimer();\n }\n }, [children, prevChildren, setIsShown, startTimer]);\n\n useEffect(\n () => () => (timeout.current ? clearTimeout(timeout.current) : undefined),\n []\n );\n\n return (\n <IrisGridBottomBar\n className=\"toast-bottom-bar\"\n isShown={isShown}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n {children}\n </IrisGridBottomBar>\n );\n}\n\nexport default ToastBottomBar;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACvE,SAASC,WAAW,QAAQ,wBAAwB;AAAC,OAC9CC,iBAAiB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGxB,IAAMC,YAAY,GAAG,IAAI;AAUzB,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAMO;EAAA,IANN;IAC7BC,QAAQ,GAAG,IAAI;IACfC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC;EACmB,CAAC,GAAAL,IAAA;EACpB,IAAM,CAACM,OAAO,EAAEC,UAAU,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAC7C,IAAMe,OAAO,GAAGhB,MAAM,CAAgC,CAAC;EACvD,IAAMiB,YAAY,GAAGf,WAAW,CAACO,QAAQ,CAAC;EAE1C,IAAMS,UAAU,GAAGpB,WAAW,CAAC,MAAM;IACnCiB,UAAU,CAAC,IAAI,CAAC;IAChB,IAAIC,OAAO,CAACG,OAAO,EAAE;MACnBC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC;IAC/B;IACAH,OAAO,CAACG,OAAO,GAAGE,UAAU,CAAC,MAAM;MACjCN,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,EAAET,YAAY,CAAC;EAClB,CAAC,EAAE,CAACS,UAAU,EAAEC,OAAO,CAAC,CAAC;EAEzBjB,SAAS,CAAC,MAAM;IACd,IAAIkB,YAAY,KAAKR,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACjDS,UAAU,CAAC,CAAC;IACd;EACF,CAAC,EAAE,CAACT,QAAQ,EAAEQ,YAAY,EAAEF,UAAU,EAAEG,UAAU,CAAC,CAAC;EAEpDnB,SAAS,CACP,MAAM,MAAOiB,OAAO,CAACG,OAAO,GAAGC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC,GAAGG,SAAU,EACzE,EACF,CAAC;EAED,oBACEjB,IAAA,CAACF,iBAAiB;IAChBoB,SAAS,EAAC,kBAAkB;IAC5BT,OAAO,EAAEA,OAAQ;IACjBJ,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,QAAQ,EAAEA,QAAS;IAAAJ,QAAA,EAElBA;EAAQ,CACQ,CAAC;AAExB;AAEA,eAAeF,cAAc"}
1
+ {"version":3,"file":"ToastBottomBar.js","names":["React","useCallback","useEffect","useRef","useState","usePrevious","IrisGridBottomBar","jsx","_jsx","HIDE_TIMEOUT","ToastBottomBar","_ref","children","onEntering","onEntered","onExiting","onExited","isShown","setIsShown","timeout","prevChildren","startTimer","current","clearTimeout","setTimeout","undefined","className"],"sources":["../src/ToastBottomBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\n\nconst HIDE_TIMEOUT = 3000;\n\nexport type ToastBottomBarProps = {\n children?: React.ReactNode;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport function ToastBottomBar({\n children = null,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: ToastBottomBarProps): JSX.Element {\n const [isShown, setIsShown] = useState(false);\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const prevChildren = usePrevious(children);\n\n const startTimer = useCallback(() => {\n setIsShown(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n setIsShown(false);\n }, HIDE_TIMEOUT);\n }, [setIsShown, timeout]);\n\n useEffect(() => {\n if (prevChildren !== children && children != null) {\n startTimer();\n }\n }, [children, prevChildren, setIsShown, startTimer]);\n\n useEffect(\n () => () => (timeout.current ? clearTimeout(timeout.current) : undefined),\n []\n );\n\n return (\n <IrisGridBottomBar\n className=\"toast-bottom-bar\"\n isShown={isShown}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n {children}\n </IrisGridBottomBar>\n );\n}\n\nexport default ToastBottomBar;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACvE,SAASC,WAAW,QAAQ,wBAAwB;AAAC,OAC9CC,iBAAiB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGxB,IAAMC,YAAY,GAAG,IAAI;AAUzB,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAMO;EAAA,IANN;IAC7BC,QAAQ,GAAG,IAAI;IACfC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC;EACmB,CAAC,GAAAL,IAAA;EACpB,IAAM,CAACM,OAAO,EAAEC,UAAU,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAC7C,IAAMe,OAAO,GAAGhB,MAAM,CAAgC,CAAC;EACvD,IAAMiB,YAAY,GAAGf,WAAW,CAACO,QAAQ,CAAC;EAE1C,IAAMS,UAAU,GAAGpB,WAAW,CAAC,MAAM;IACnCiB,UAAU,CAAC,IAAI,CAAC;IAChB,IAAIC,OAAO,CAACG,OAAO,EAAE;MACnBC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC;IAC/B;IACAH,OAAO,CAACG,OAAO,GAAGE,UAAU,CAAC,MAAM;MACjCN,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,EAAET,YAAY,CAAC;EAClB,CAAC,EAAE,CAACS,UAAU,EAAEC,OAAO,CAAC,CAAC;EAEzBjB,SAAS,CAAC,MAAM;IACd,IAAIkB,YAAY,KAAKR,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACjDS,UAAU,CAAC,CAAC;IACd;EACF,CAAC,EAAE,CAACT,QAAQ,EAAEQ,YAAY,EAAEF,UAAU,EAAEG,UAAU,CAAC,CAAC;EAEpDnB,SAAS,CACP,MAAM,MAAOiB,OAAO,CAACG,OAAO,GAAGC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC,GAAGG,SAAU,EACzE,EACF,CAAC;EAED,oBACEjB,IAAA,CAACF,iBAAiB;IAChBoB,SAAS,EAAC,kBAAkB;IAC5BT,OAAO,EAAEA,OAAQ;IACjBJ,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,QAAQ,EAAEA,QAAS;IAAAJ,QAAA,EAElBA;EAAQ,CACQ,CAAC;AAExB;AAEA,eAAeF,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.js","names":[],"sources":["../src/declaration.d.ts"],"sourcesContent":["declare module '*.module.scss' {\n const content: Record<string, string>;\n export default content;\n}\n\ndeclare module '*.scss';\n"],"mappings":""}
1
+ {"version":3,"file":"declaration.d.js","names":[],"sources":["../src/declaration.d.ts"],"sourcesContent":["declare module '*.module.scss' {\n const content: Record<string, string>;\n export default content;\n}\n\ndeclare module '*.scss';\n"],"mappings":"","ignoreList":[]}
@@ -5,8 +5,7 @@ import React, { Component } from 'react';
5
5
  import { Tooltip } from '@deephaven/components';
6
6
  import { DOMUtils } from '@deephaven/utils';
7
7
  import "./CustomFormatAction.css";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  /**
11
10
  * Renders menuElement option with custom format input for use in formatting context menus
12
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFormatAction.js","names":["React","Component","Tooltip","DOMUtils","jsx","_jsx","jsxs","_jsxs","CustomFormatAction","constructor","props","arguments","length","undefined","defaultProps","_defineProperty","handleInputChange","bind","handleKeyDown","inputRef","createRef","onChange","current","value","closeContextMenu","forwardedProps","closeMenu","revertToDefault","returnFocusToContextMenu","parentContextMenu","getClosestByClassName","HTMLElement","focus","event","key","stopPropagation","render","formatString","placeholder","title","menuItem","description","iconElement","className","children","htmlFor","id","type","defaultValue","ref","onKeyDown","autoComplete","autoCorrect","autoCapitalize","spellCheck","focusInput"],"sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { Tooltip } from '@deephaven/components';\nimport { DOMUtils } from '@deephaven/utils';\n\nimport './CustomFormatAction.scss';\n\ntype CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {\n forwardedProps: {\n menuItem: {\n title?: string;\n description?: string;\n };\n };\n};\n\n/**\n * Renders menuElement option with custom format input for use in formatting context menus\n *\n * TODO:\n * - capture focus when this menu action is selected via ArrowUp/ArrowDown keys\n * - dynamically update selected menu item when clicking on the input box\n */\nclass CustomFormatAction extends Component<CustomFormatActionProps> {\n static defaultProps = {\n formatString: '',\n forwardedProps: {\n menuItem: {},\n closeMenu(focusInput: boolean): void {\n // no-op\n },\n iconElement: null,\n },\n placeholder: '',\n title: '',\n onChange(value: string | null): void {\n // no-op\n },\n };\n\n constructor(\n props: CustomFormatActionProps = CustomFormatAction.defaultProps\n ) {\n super(props);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.inputRef = React.createRef();\n }\n\n inputRef: React.RefObject<HTMLInputElement>;\n\n handleInputChange(): void {\n const { onChange } = this.props;\n if (this.inputRef.current) {\n onChange(this.inputRef.current.value);\n }\n }\n\n closeContextMenu(): void {\n const { forwardedProps } = this.props;\n const { closeMenu } = forwardedProps;\n closeMenu(true);\n }\n\n revertToDefault(): void {\n const { onChange } = this.props;\n onChange(null);\n }\n\n returnFocusToContextMenu(): void {\n const parentContextMenu = DOMUtils.getClosestByClassName(\n this.inputRef.current,\n 'context-menu-container'\n );\n if (parentContextMenu instanceof HTMLElement) {\n parentContextMenu.focus();\n }\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Enter':\n event.stopPropagation();\n this.closeContextMenu();\n break;\n case 'Escape':\n event.stopPropagation();\n this.revertToDefault();\n this.closeContextMenu();\n break;\n case 'ArrowRight':\n case 'ArrowLeft':\n event.stopPropagation();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n this.returnFocusToContextMenu();\n break;\n default:\n event.stopPropagation();\n }\n }\n\n render(): JSX.Element {\n const { formatString, forwardedProps, placeholder, title } = this.props;\n const {\n menuItem: { description },\n iconElement,\n } = forwardedProps;\n return (\n <div className=\"form-group flex-grow mb-0\">\n <div className=\"custom-format-title\">\n <span className=\"icon\">{iconElement}</span>\n <label className=\"title mb-0\" htmlFor=\"custom-format-input\">\n {title}\n {description != null && <Tooltip>{description}</Tooltip>}\n </label>\n </div>\n <div className=\"pl-2 pr-2 pb-2\">\n <input\n id=\"custom-format-input\"\n className=\"form-control text-right mb-0\"\n type=\"text\"\n defaultValue={formatString}\n ref={this.inputRef}\n placeholder={placeholder}\n onKeyDown={this.handleKeyDown}\n onChange={this.handleInputChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n </div>\n </div>\n );\n }\n}\n\nexport default CustomFormatAction;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomFormatAction.js","names":["React","Component","Tooltip","DOMUtils","jsx","_jsx","jsxs","_jsxs","CustomFormatAction","constructor","props","arguments","length","undefined","defaultProps","_defineProperty","handleInputChange","bind","handleKeyDown","inputRef","createRef","onChange","current","value","closeContextMenu","forwardedProps","closeMenu","revertToDefault","returnFocusToContextMenu","parentContextMenu","getClosestByClassName","HTMLElement","focus","event","key","stopPropagation","render","formatString","placeholder","title","menuItem","description","iconElement","className","children","htmlFor","id","type","defaultValue","ref","onKeyDown","autoComplete","autoCorrect","autoCapitalize","spellCheck","focusInput"],"sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { Tooltip } from '@deephaven/components';\nimport { DOMUtils } from '@deephaven/utils';\n\nimport './CustomFormatAction.scss';\n\ntype CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {\n forwardedProps: {\n menuItem: {\n title?: string;\n description?: string;\n };\n };\n};\n\n/**\n * Renders menuElement option with custom format input for use in formatting context menus\n *\n * TODO:\n * - capture focus when this menu action is selected via ArrowUp/ArrowDown keys\n * - dynamically update selected menu item when clicking on the input box\n */\nclass CustomFormatAction extends Component<CustomFormatActionProps> {\n static defaultProps = {\n formatString: '',\n forwardedProps: {\n menuItem: {},\n closeMenu(focusInput: boolean): void {\n // no-op\n },\n iconElement: null,\n },\n placeholder: '',\n title: '',\n onChange(value: string | null): void {\n // no-op\n },\n };\n\n constructor(\n props: CustomFormatActionProps = CustomFormatAction.defaultProps\n ) {\n super(props);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.inputRef = React.createRef();\n }\n\n inputRef: React.RefObject<HTMLInputElement>;\n\n handleInputChange(): void {\n const { onChange } = this.props;\n if (this.inputRef.current) {\n onChange(this.inputRef.current.value);\n }\n }\n\n closeContextMenu(): void {\n const { forwardedProps } = this.props;\n const { closeMenu } = forwardedProps;\n closeMenu(true);\n }\n\n revertToDefault(): void {\n const { onChange } = this.props;\n onChange(null);\n }\n\n returnFocusToContextMenu(): void {\n const parentContextMenu = DOMUtils.getClosestByClassName(\n this.inputRef.current,\n 'context-menu-container'\n );\n if (parentContextMenu instanceof HTMLElement) {\n parentContextMenu.focus();\n }\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Enter':\n event.stopPropagation();\n this.closeContextMenu();\n break;\n case 'Escape':\n event.stopPropagation();\n this.revertToDefault();\n this.closeContextMenu();\n break;\n case 'ArrowRight':\n case 'ArrowLeft':\n event.stopPropagation();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n this.returnFocusToContextMenu();\n break;\n default:\n event.stopPropagation();\n }\n }\n\n render(): JSX.Element {\n const { formatString, forwardedProps, placeholder, title } = this.props;\n const {\n menuItem: { description },\n iconElement,\n } = forwardedProps;\n return (\n <div className=\"form-group flex-grow mb-0\">\n <div className=\"custom-format-title\">\n <span className=\"icon\">{iconElement}</span>\n <label className=\"title mb-0\" htmlFor=\"custom-format-input\">\n {title}\n {description != null && <Tooltip>{description}</Tooltip>}\n </label>\n </div>\n <div className=\"pl-2 pr-2 pb-2\">\n <input\n id=\"custom-format-input\"\n className=\"form-control text-right mb-0\"\n type=\"text\"\n defaultValue={formatString}\n ref={this.inputRef}\n placeholder={placeholder}\n onKeyDown={this.handleKeyDown}\n onChange={this.handleInputChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n </div>\n </div>\n );\n }\n}\n\nexport default CustomFormatAction;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeFormatContextMenu.js","names":["DateTimeColumnFormatter","TableUtils","FormatContextMenuUtils","DateTimeFormatContextMenu","getOptions","formatter","selectedFormat","currentTime","Date","formatItems","group","dateGroup","formatString","timeGroup","dateTimeGroup","presetFormatOptions","map","item","format","makeFormat","TYPE_CONTEXT_PRESET","title","getFormattedString","dataType","DATETIME","makeOption","isSameFormat","defaultOption","isDefaultSelected","_defineProperty"],"sources":["../../src/format-context-menus/DateTimeFormatContextMenu.ts"],"sourcesContent":["import {\n DateTimeColumnFormatter,\n type Formatter,\n type TableColumnFormat,\n TableUtils,\n} from '@deephaven/jsapi-utils';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass DateTimeFormatContextMenu {\n static dateGroup = 10;\n\n static timeGroup = 20;\n\n static dateTimeGroup = 30;\n\n /**\n * Creates list of formatting options for DateTime context menu\n * @param formatter Formatter instance\n * @param selectedFormat Selected format object, null for no selected format\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n formatter: Formatter,\n selectedFormat: TableColumnFormat | null\n ): FormatContextMenuOption[] {\n const currentTime = new Date();\n const formatItems = [\n {\n group: DateTimeFormatContextMenu.dateGroup,\n formatString: 'yyyy-MM-dd',\n },\n {\n group: DateTimeFormatContextMenu.dateGroup,\n formatString: 'MM-dd-yyyy',\n },\n\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss',\n },\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss.SSS',\n },\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss.SSSSSSSSS',\n },\n\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss`,\n },\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss.SSS`,\n },\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss.SSSSSSSSS`,\n },\n ];\n\n const presetFormatOptions = formatItems.map(item => {\n const format = DateTimeColumnFormatter.makeFormat(\n '',\n item.formatString,\n DateTimeColumnFormatter.TYPE_CONTEXT_PRESET\n );\n const title = formatter.getFormattedString(\n currentTime,\n TableUtils.dataType.DATETIME,\n '',\n format\n );\n\n return FormatContextMenuUtils.makeOption(\n title,\n format,\n item.group,\n DateTimeColumnFormatter.isSameFormat(format, selectedFormat)\n );\n });\n\n const defaultOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n DateTimeFormatContextMenu.dateGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n return [defaultOption, ...presetFormatOptions];\n }\n}\n\nexport default DateTimeFormatContextMenu;\n"],"mappings":";;;AAAA,SACEA,uBAAuB,EAGvBC,UAAU,QACL,wBAAwB;AAAC,OACzBC,sBAAsB;AAI7B,MAAMC,yBAAyB,CAAC;EAO9B;AACF;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,SAAoB,EACpBC,cAAwC,EACb;IAC3B,IAAMC,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC;IAC9B,IAAMC,WAAW,GAAG,CAClB;MACEC,KAAK,EAAEP,yBAAyB,CAACQ,SAAS;MAC1CC,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACQ,SAAS;MAC1CC,YAAY,EAAE;IAChB,CAAC,EAED;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EAED;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,CACF;IAED,IAAMG,mBAAmB,GAAGN,WAAW,CAACO,GAAG,CAACC,IAAI,IAAI;MAClD,IAAMC,MAAM,GAAGlB,uBAAuB,CAACmB,UAAU,CAC/C,EAAE,EACFF,IAAI,CAACL,YAAY,EACjBZ,uBAAuB,CAACoB,mBAC1B,CAAC;MACD,IAAMC,KAAK,GAAGhB,SAAS,CAACiB,kBAAkB,CACxCf,WAAW,EACXN,UAAU,CAACsB,QAAQ,CAACC,QAAQ,EAC5B,EAAE,EACFN,MACF,CAAC;MAED,OAAOhB,sBAAsB,CAACuB,UAAU,CACtCJ,KAAK,EACLH,MAAM,EACND,IAAI,CAACP,KAAK,EACVV,uBAAuB,CAAC0B,YAAY,CAACR,MAAM,EAAEZ,cAAc,CAC7D,CAAC;IACH,CAAC,CAAC;IAEF,IAAMqB,aAAa,GAAGzB,sBAAsB,CAACuB,UAAU,CACrD,SAAS,EACT,IAAI,EACJtB,yBAAyB,CAACQ,SAAS,EACnCT,sBAAsB,CAAC0B,iBAAiB,CAACtB,cAAc,CACzD,CAAC;IAED,OAAO,CAACqB,aAAa,EAAE,GAAGZ,mBAAmB,CAAC;EAChD;AACF;AAACc,eAAA,CArFK1B,yBAAyB,eACV,EAAE;AAAA0B,eAAA,CADjB1B,yBAAyB,eAGV,EAAE;AAAA0B,eAAA,CAHjB1B,yBAAyB,mBAKN,EAAE;AAkF3B,eAAeA,yBAAyB"}
1
+ {"version":3,"file":"DateTimeFormatContextMenu.js","names":["DateTimeColumnFormatter","TableUtils","FormatContextMenuUtils","DateTimeFormatContextMenu","getOptions","formatter","selectedFormat","currentTime","Date","formatItems","group","dateGroup","formatString","timeGroup","dateTimeGroup","presetFormatOptions","map","item","format","makeFormat","TYPE_CONTEXT_PRESET","title","getFormattedString","dataType","DATETIME","makeOption","isSameFormat","defaultOption","isDefaultSelected","_defineProperty"],"sources":["../../src/format-context-menus/DateTimeFormatContextMenu.ts"],"sourcesContent":["import {\n DateTimeColumnFormatter,\n type Formatter,\n type TableColumnFormat,\n TableUtils,\n} from '@deephaven/jsapi-utils';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass DateTimeFormatContextMenu {\n static dateGroup = 10;\n\n static timeGroup = 20;\n\n static dateTimeGroup = 30;\n\n /**\n * Creates list of formatting options for DateTime context menu\n * @param formatter Formatter instance\n * @param selectedFormat Selected format object, null for no selected format\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n formatter: Formatter,\n selectedFormat: TableColumnFormat | null\n ): FormatContextMenuOption[] {\n const currentTime = new Date();\n const formatItems = [\n {\n group: DateTimeFormatContextMenu.dateGroup,\n formatString: 'yyyy-MM-dd',\n },\n {\n group: DateTimeFormatContextMenu.dateGroup,\n formatString: 'MM-dd-yyyy',\n },\n\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss',\n },\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss.SSS',\n },\n {\n group: DateTimeFormatContextMenu.timeGroup,\n formatString: 'HH:mm:ss.SSSSSSSSS',\n },\n\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss`,\n },\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss.SSS`,\n },\n {\n group: DateTimeFormatContextMenu.dateTimeGroup,\n formatString: `yyyy-MM-dd HH:mm:ss.SSSSSSSSS`,\n },\n ];\n\n const presetFormatOptions = formatItems.map(item => {\n const format = DateTimeColumnFormatter.makeFormat(\n '',\n item.formatString,\n DateTimeColumnFormatter.TYPE_CONTEXT_PRESET\n );\n const title = formatter.getFormattedString(\n currentTime,\n TableUtils.dataType.DATETIME,\n '',\n format\n );\n\n return FormatContextMenuUtils.makeOption(\n title,\n format,\n item.group,\n DateTimeColumnFormatter.isSameFormat(format, selectedFormat)\n );\n });\n\n const defaultOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n DateTimeFormatContextMenu.dateGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n return [defaultOption, ...presetFormatOptions];\n }\n}\n\nexport default DateTimeFormatContextMenu;\n"],"mappings":";;;AAAA,SACEA,uBAAuB,EAGvBC,UAAU,QACL,wBAAwB;AAAC,OACzBC,sBAAsB;AAI7B,MAAMC,yBAAyB,CAAC;EAO9B;AACF;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,SAAoB,EACpBC,cAAwC,EACb;IAC3B,IAAMC,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC;IAC9B,IAAMC,WAAW,GAAG,CAClB;MACEC,KAAK,EAAEP,yBAAyB,CAACQ,SAAS;MAC1CC,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACQ,SAAS;MAC1CC,YAAY,EAAE;IAChB,CAAC,EAED;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACU,SAAS;MAC1CD,YAAY,EAAE;IAChB,CAAC,EAED;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,EACD;MACEF,KAAK,EAAEP,yBAAyB,CAACW,aAAa;MAC9CF,YAAY;IACd,CAAC,CACF;IAED,IAAMG,mBAAmB,GAAGN,WAAW,CAACO,GAAG,CAACC,IAAI,IAAI;MAClD,IAAMC,MAAM,GAAGlB,uBAAuB,CAACmB,UAAU,CAC/C,EAAE,EACFF,IAAI,CAACL,YAAY,EACjBZ,uBAAuB,CAACoB,mBAC1B,CAAC;MACD,IAAMC,KAAK,GAAGhB,SAAS,CAACiB,kBAAkB,CACxCf,WAAW,EACXN,UAAU,CAACsB,QAAQ,CAACC,QAAQ,EAC5B,EAAE,EACFN,MACF,CAAC;MAED,OAAOhB,sBAAsB,CAACuB,UAAU,CACtCJ,KAAK,EACLH,MAAM,EACND,IAAI,CAACP,KAAK,EACVV,uBAAuB,CAAC0B,YAAY,CAACR,MAAM,EAAEZ,cAAc,CAC7D,CAAC;IACH,CAAC,CAAC;IAEF,IAAMqB,aAAa,GAAGzB,sBAAsB,CAACuB,UAAU,CACrD,SAAS,EACT,IAAI,EACJtB,yBAAyB,CAACQ,SAAS,EACnCT,sBAAsB,CAAC0B,iBAAiB,CAACtB,cAAc,CACzD,CAAC;IAED,OAAO,CAACqB,aAAa,EAAE,GAAGZ,mBAAmB,CAAC;EAChD;AACF;AAACc,eAAA,CArFK1B,yBAAyB,eACV,EAAE;AAAA0B,eAAA,CADjB1B,yBAAyB,eAGV,EAAE;AAAA0B,eAAA,CAHjB1B,yBAAyB,mBAKN,EAAE;AAkF3B,eAAeA,yBAAyB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalFormatContextMenu.js","names":["DecimalColumnFormatter","FormatContextMenuUtils","DecimalFormatContextMenu","getOptions","dh","selectedFormat","onCustomFormatChange","formatItems","format","FORMAT_PERCENT","group","presetGroup","FORMAT_BASIS_POINTS","FORMAT_THOUSANDS","FORMAT_MILLIONS","FORMAT_SCIENTIFIC_NOTATION","FORMAT_ROUND","presetRoundGroup","FORMAT_ROUND_TWO_DECIMALS","FORMAT_ROUND_FOUR_DECIMALS","defaultFormatOption","makeOption","defaultGroup","isDefaultSelected","presetFormatOptions","map","item","label","isSameFormat","isCustomSelected","customFormat","makeCustomFormat","customFormatOption","makeCustomFormatOption","customGroup","DEFAULT_FORMAT_STRING","formatString","newCustomFormat","isValid","_defineProperty"],"sources":["../../src/format-context-menus/DecimalFormatContextMenu.ts"],"sourcesContent":["import {\n type DecimalColumnFormat,\n DecimalColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass DecimalFormatContextMenu {\n static defaultGroup = 10;\n\n static presetGroup = 20;\n\n static presetRoundGroup = 30;\n\n static customGroup = 40;\n\n /**\n * Creates list of formatting options for Decimal context menu\n * @param dh JSAPI instance\n * @param selectedFormat Selected format object, null for no selected format\n * @param onCustomFormatChange Callback to call when the custom format is changed\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n dh: typeof DhType,\n selectedFormat: DecimalColumnFormat,\n onCustomFormatChange: (value: DecimalColumnFormat | null) => void\n ): FormatContextMenuOption[] {\n const formatItems = [\n {\n format: DecimalColumnFormatter.FORMAT_PERCENT,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_BASIS_POINTS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_THOUSANDS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_MILLIONS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_SCIENTIFIC_NOTATION,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND_TWO_DECIMALS,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND_FOUR_DECIMALS,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n ];\n\n const defaultFormatOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n DecimalFormatContextMenu.defaultGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n const presetFormatOptions = formatItems.map(item =>\n FormatContextMenuUtils.makeOption(\n item.format.label,\n item.format,\n item.group,\n DecimalColumnFormatter.isSameFormat(item.format, selectedFormat)\n )\n );\n\n const isCustomSelected =\n FormatContextMenuUtils.isCustomSelected(selectedFormat);\n\n const customFormat = isCustomSelected\n ? selectedFormat\n : DecimalColumnFormatter.makeCustomFormat();\n\n const customFormatOption = FormatContextMenuUtils.makeCustomFormatOption(\n customFormat,\n DecimalFormatContextMenu.customGroup,\n DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n isCustomSelected,\n formatString => {\n if (formatString != null) {\n const newCustomFormat =\n DecimalColumnFormatter.makeCustomFormat(formatString);\n if (DecimalColumnFormatter.isValid(dh, newCustomFormat)) {\n onCustomFormatChange(newCustomFormat);\n }\n } else {\n onCustomFormatChange(null);\n }\n }\n );\n\n return [defaultFormatOption, ...presetFormatOptions, customFormatOption];\n }\n}\n\nexport default DecimalFormatContextMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DecimalFormatContextMenu.js","names":["DecimalColumnFormatter","FormatContextMenuUtils","DecimalFormatContextMenu","getOptions","dh","selectedFormat","onCustomFormatChange","formatItems","format","FORMAT_PERCENT","group","presetGroup","FORMAT_BASIS_POINTS","FORMAT_THOUSANDS","FORMAT_MILLIONS","FORMAT_SCIENTIFIC_NOTATION","FORMAT_ROUND","presetRoundGroup","FORMAT_ROUND_TWO_DECIMALS","FORMAT_ROUND_FOUR_DECIMALS","defaultFormatOption","makeOption","defaultGroup","isDefaultSelected","presetFormatOptions","map","item","label","isSameFormat","isCustomSelected","customFormat","makeCustomFormat","customFormatOption","makeCustomFormatOption","customGroup","DEFAULT_FORMAT_STRING","formatString","newCustomFormat","isValid","_defineProperty"],"sources":["../../src/format-context-menus/DecimalFormatContextMenu.ts"],"sourcesContent":["import {\n type DecimalColumnFormat,\n DecimalColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass DecimalFormatContextMenu {\n static defaultGroup = 10;\n\n static presetGroup = 20;\n\n static presetRoundGroup = 30;\n\n static customGroup = 40;\n\n /**\n * Creates list of formatting options for Decimal context menu\n * @param dh JSAPI instance\n * @param selectedFormat Selected format object, null for no selected format\n * @param onCustomFormatChange Callback to call when the custom format is changed\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n dh: typeof DhType,\n selectedFormat: DecimalColumnFormat,\n onCustomFormatChange: (value: DecimalColumnFormat | null) => void\n ): FormatContextMenuOption[] {\n const formatItems = [\n {\n format: DecimalColumnFormatter.FORMAT_PERCENT,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_BASIS_POINTS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_THOUSANDS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_MILLIONS,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_SCIENTIFIC_NOTATION,\n group: DecimalFormatContextMenu.presetGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND_TWO_DECIMALS,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n {\n format: DecimalColumnFormatter.FORMAT_ROUND_FOUR_DECIMALS,\n group: DecimalFormatContextMenu.presetRoundGroup,\n },\n ];\n\n const defaultFormatOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n DecimalFormatContextMenu.defaultGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n const presetFormatOptions = formatItems.map(item =>\n FormatContextMenuUtils.makeOption(\n item.format.label,\n item.format,\n item.group,\n DecimalColumnFormatter.isSameFormat(item.format, selectedFormat)\n )\n );\n\n const isCustomSelected =\n FormatContextMenuUtils.isCustomSelected(selectedFormat);\n\n const customFormat = isCustomSelected\n ? selectedFormat\n : DecimalColumnFormatter.makeCustomFormat();\n\n const customFormatOption = FormatContextMenuUtils.makeCustomFormatOption(\n customFormat,\n DecimalFormatContextMenu.customGroup,\n DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n isCustomSelected,\n formatString => {\n if (formatString != null) {\n const newCustomFormat =\n DecimalColumnFormatter.makeCustomFormat(formatString);\n if (DecimalColumnFormatter.isValid(dh, newCustomFormat)) {\n onCustomFormatChange(newCustomFormat);\n }\n } else {\n onCustomFormatChange(null);\n }\n }\n );\n\n return [defaultFormatOption, ...presetFormatOptions, customFormatOption];\n }\n}\n\nexport default DecimalFormatContextMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FormatContextMenuUtils.js","names":["React","TableColumnFormatter","CustomFormatAction","jsx","_jsx","FormatContextMenuUtils","isDefaultSelected","selectedFormat","TYPE_CONTEXT_CUSTOM","TYPE_CONTEXT_PRESET","includes","type","isCustomSelected","makeOption","title","format","group","isSelected","description","makeCustomFormatOption","placeholder","onChange","_format$formatString","label","menuElement","formatString","undefined"],"sources":["../../src/format-context-menus/FormatContextMenuUtils.tsx"],"sourcesContent":["import React from 'react';\nimport {\n type TableColumnFormat,\n TableColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport CustomFormatAction from './CustomFormatAction';\n\nexport interface FormatContextMenuOption {\n title: string;\n description: string;\n group: number;\n format: TableColumnFormat | null;\n isSelected: boolean;\n}\n\nexport interface CustomFormatOption extends FormatContextMenuOption {\n menuElement: React.ReactElement;\n}\n\nclass FormatContextMenuUtils {\n /**\n * Returns true if default option should be active in the context menu\n * @param selectedFormat selected format object or null\n */\n static isDefaultSelected(selectedFormat: TableColumnFormat | null): boolean {\n return (\n !selectedFormat ||\n ![\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n ].includes(selectedFormat.type)\n );\n }\n\n /**\n * Returns true if custom format option should be active in the context menu\n * @param selectedFormat selected format object or null\n */\n static isCustomSelected(selectedFormat: TableColumnFormat): boolean {\n return (\n selectedFormat != null &&\n selectedFormat.type === TableColumnFormatter.TYPE_CONTEXT_CUSTOM\n );\n }\n\n /**\n * Creates context menu option\n * @param title Context menu title\n * @param format Format object\n * @param group Context menu group\n * @param isSelected Is current option selected\n */\n static makeOption(\n title: string,\n format: TableColumnFormat | null,\n group: number,\n isSelected: boolean\n ): FormatContextMenuOption {\n return {\n title,\n description: title,\n group,\n format,\n isSelected,\n };\n }\n\n /**\n * Creates context menu option with an input element\n * @param format Format object\n * @param group Context menu group\n * @param placeholder Input element placeholder\n * @param isSelected Is current option selected\n * @param onChange Input element onChange callback\n */\n static makeCustomFormatOption(\n format: TableColumnFormat,\n group: number,\n placeholder: string,\n isSelected: boolean,\n onChange: (value: string | null) => void\n ): CustomFormatOption {\n return {\n title: format.label,\n description: format.label,\n format,\n group,\n isSelected,\n menuElement: (\n <CustomFormatAction\n formatString={format.formatString ?? undefined}\n title={format.label}\n placeholder={placeholder}\n onChange={onChange}\n />\n ),\n };\n }\n}\n\nexport default FormatContextMenuUtils;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,oBAAoB,QACf,wBAAwB;AAAC,OACzBC,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,MAAMC,sBAAsB,CAAC;EAC3B;AACF;AACA;AACA;EACE,OAAOC,iBAAiBA,CAACC,cAAwC,EAAW;IAC1E,OACE,CAACA,cAAc,IACf,CAAC,CACCN,oBAAoB,CAACO,mBAAmB,EACxCP,oBAAoB,CAACQ,mBAAmB,CACzC,CAACC,QAAQ,CAACH,cAAc,CAACI,IAAI,CAAC;EAEnC;;EAEA;AACF;AACA;AACA;EACE,OAAOC,gBAAgBA,CAACL,cAAiC,EAAW;IAClE,OACEA,cAAc,IAAI,IAAI,IACtBA,cAAc,CAACI,IAAI,KAAKV,oBAAoB,CAACO,mBAAmB;EAEpE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOK,UAAUA,CACfC,KAAa,EACbC,MAAgC,EAChCC,KAAa,EACbC,UAAmB,EACM;IACzB,OAAO;MACLH,KAAK;MACLI,WAAW,EAAEJ,KAAK;MAClBE,KAAK;MACLD,MAAM;MACNE;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,sBAAsBA,CAC3BJ,MAAyB,EACzBC,KAAa,EACbI,WAAmB,EACnBH,UAAmB,EACnBI,QAAwC,EACpB;IAAA,IAAAC,oBAAA;IACpB,OAAO;MACLR,KAAK,EAAEC,MAAM,CAACQ,KAAK;MACnBL,WAAW,EAAEH,MAAM,CAACQ,KAAK;MACzBR,MAAM;MACNC,KAAK;MACLC,UAAU;MACVO,WAAW,eACTpB,IAAA,CAACF,kBAAkB;QACjBuB,YAAY,GAAAH,oBAAA,GAAEP,MAAM,CAACU,YAAY,cAAAH,oBAAA,cAAAA,oBAAA,GAAII,SAAU;QAC/CZ,KAAK,EAAEC,MAAM,CAACQ,KAAM;QACpBH,WAAW,EAAEA,WAAY;QACzBC,QAAQ,EAAEA;MAAS,CACpB;IAEL,CAAC;EACH;AACF;AAEA,eAAehB,sBAAsB"}
1
+ {"version":3,"file":"FormatContextMenuUtils.js","names":["React","TableColumnFormatter","CustomFormatAction","jsx","_jsx","FormatContextMenuUtils","isDefaultSelected","selectedFormat","TYPE_CONTEXT_CUSTOM","TYPE_CONTEXT_PRESET","includes","type","isCustomSelected","makeOption","title","format","group","isSelected","description","makeCustomFormatOption","placeholder","onChange","_format$formatString","label","menuElement","formatString","undefined"],"sources":["../../src/format-context-menus/FormatContextMenuUtils.tsx"],"sourcesContent":["import React from 'react';\nimport {\n type TableColumnFormat,\n TableColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport CustomFormatAction from './CustomFormatAction';\n\nexport interface FormatContextMenuOption {\n title: string;\n description: string;\n group: number;\n format: TableColumnFormat | null;\n isSelected: boolean;\n}\n\nexport interface CustomFormatOption extends FormatContextMenuOption {\n menuElement: React.ReactElement;\n}\n\nclass FormatContextMenuUtils {\n /**\n * Returns true if default option should be active in the context menu\n * @param selectedFormat selected format object or null\n */\n static isDefaultSelected(selectedFormat: TableColumnFormat | null): boolean {\n return (\n !selectedFormat ||\n ![\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n ].includes(selectedFormat.type)\n );\n }\n\n /**\n * Returns true if custom format option should be active in the context menu\n * @param selectedFormat selected format object or null\n */\n static isCustomSelected(selectedFormat: TableColumnFormat): boolean {\n return (\n selectedFormat != null &&\n selectedFormat.type === TableColumnFormatter.TYPE_CONTEXT_CUSTOM\n );\n }\n\n /**\n * Creates context menu option\n * @param title Context menu title\n * @param format Format object\n * @param group Context menu group\n * @param isSelected Is current option selected\n */\n static makeOption(\n title: string,\n format: TableColumnFormat | null,\n group: number,\n isSelected: boolean\n ): FormatContextMenuOption {\n return {\n title,\n description: title,\n group,\n format,\n isSelected,\n };\n }\n\n /**\n * Creates context menu option with an input element\n * @param format Format object\n * @param group Context menu group\n * @param placeholder Input element placeholder\n * @param isSelected Is current option selected\n * @param onChange Input element onChange callback\n */\n static makeCustomFormatOption(\n format: TableColumnFormat,\n group: number,\n placeholder: string,\n isSelected: boolean,\n onChange: (value: string | null) => void\n ): CustomFormatOption {\n return {\n title: format.label,\n description: format.label,\n format,\n group,\n isSelected,\n menuElement: (\n <CustomFormatAction\n formatString={format.formatString ?? undefined}\n title={format.label}\n placeholder={placeholder}\n onChange={onChange}\n />\n ),\n };\n }\n}\n\nexport default FormatContextMenuUtils;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,oBAAoB,QACf,wBAAwB;AAAC,OACzBC,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,MAAMC,sBAAsB,CAAC;EAC3B;AACF;AACA;AACA;EACE,OAAOC,iBAAiBA,CAACC,cAAwC,EAAW;IAC1E,OACE,CAACA,cAAc,IACf,CAAC,CACCN,oBAAoB,CAACO,mBAAmB,EACxCP,oBAAoB,CAACQ,mBAAmB,CACzC,CAACC,QAAQ,CAACH,cAAc,CAACI,IAAI,CAAC;EAEnC;;EAEA;AACF;AACA;AACA;EACE,OAAOC,gBAAgBA,CAACL,cAAiC,EAAW;IAClE,OACEA,cAAc,IAAI,IAAI,IACtBA,cAAc,CAACI,IAAI,KAAKV,oBAAoB,CAACO,mBAAmB;EAEpE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOK,UAAUA,CACfC,KAAa,EACbC,MAAgC,EAChCC,KAAa,EACbC,UAAmB,EACM;IACzB,OAAO;MACLH,KAAK;MACLI,WAAW,EAAEJ,KAAK;MAClBE,KAAK;MACLD,MAAM;MACNE;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,sBAAsBA,CAC3BJ,MAAyB,EACzBC,KAAa,EACbI,WAAmB,EACnBH,UAAmB,EACnBI,QAAwC,EACpB;IAAA,IAAAC,oBAAA;IACpB,OAAO;MACLR,KAAK,EAAEC,MAAM,CAACQ,KAAK;MACnBL,WAAW,EAAEH,MAAM,CAACQ,KAAK;MACzBR,MAAM;MACNC,KAAK;MACLC,UAAU;MACVO,WAAW,eACTpB,IAAA,CAACF,kBAAkB;QACjBuB,YAAY,GAAAH,oBAAA,GAAEP,MAAM,CAACU,YAAY,cAAAH,oBAAA,cAAAA,oBAAA,GAAII,SAAU;QAC/CZ,KAAK,EAAEC,MAAM,CAACQ,KAAM;QACpBH,WAAW,EAAEA,WAAY;QACzBC,QAAQ,EAAEA;MAAS,CACpB;IAEL,CAAC;EACH;AACF;AAEA,eAAehB,sBAAsB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerFormatContextMenu.js","names":["IntegerColumnFormatter","FormatContextMenuUtils","IntegerFormatContextMenu","getOptions","dh","selectedFormat","onCustomFormatChange","formatItems","format","FORMAT_THOUSANDS","group","presetGroup","FORMAT_MILLIONS","FORMAT_SCIENTIFIC_NOTATION","defaultFormatOption","makeOption","defaultGroup","isDefaultSelected","presetFormatOptions","map","item","label","isSameFormat","isCustomSelected","customFormat","makeCustomFormat","customFormatOption","makeCustomFormatOption","customGroup","DEFAULT_FORMAT_STRING","formatString","newCustomFormat","isValid","_defineProperty"],"sources":["../../src/format-context-menus/IntegerFormatContextMenu.ts"],"sourcesContent":["import {\n type IntegerColumnFormat,\n IntegerColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass IntegerFormatContextMenu {\n static defaultGroup = 10;\n\n static presetGroup = 20;\n\n static customGroup = 30;\n\n /**\n * Creates list of formatting options for Integer context menu\n * @param dh JSAPI instance\n * @param selectedFormat Selected format object, null for no selected format\n * @param onCustomFormatChange Callback to call when the custom format is changed\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n dh: typeof DhType,\n selectedFormat: IntegerColumnFormat,\n onCustomFormatChange: (value: IntegerColumnFormat | null) => void\n ): FormatContextMenuOption[] {\n const formatItems = [\n {\n format: IntegerColumnFormatter.FORMAT_THOUSANDS,\n group: IntegerFormatContextMenu.presetGroup,\n },\n {\n format: IntegerColumnFormatter.FORMAT_MILLIONS,\n group: IntegerFormatContextMenu.presetGroup,\n },\n {\n format: IntegerColumnFormatter.FORMAT_SCIENTIFIC_NOTATION,\n group: IntegerFormatContextMenu.presetGroup,\n },\n ];\n\n const defaultFormatOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n IntegerFormatContextMenu.defaultGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n const presetFormatOptions = formatItems.map(item =>\n FormatContextMenuUtils.makeOption(\n item.format.label,\n item.format,\n item.group,\n IntegerColumnFormatter.isSameFormat(item.format, selectedFormat)\n )\n );\n\n const isCustomSelected =\n FormatContextMenuUtils.isCustomSelected(selectedFormat);\n\n const customFormat = isCustomSelected\n ? selectedFormat\n : IntegerColumnFormatter.makeCustomFormat();\n\n const customFormatOption = FormatContextMenuUtils.makeCustomFormatOption(\n customFormat,\n IntegerFormatContextMenu.customGroup,\n IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n isCustomSelected,\n formatString => {\n if (formatString != null) {\n const newCustomFormat =\n IntegerColumnFormatter.makeCustomFormat(formatString);\n if (IntegerColumnFormatter.isValid(dh, newCustomFormat)) {\n onCustomFormatChange(newCustomFormat);\n }\n } else {\n onCustomFormatChange(null);\n }\n }\n );\n\n return [defaultFormatOption, ...presetFormatOptions, customFormatOption];\n }\n}\n\nexport default IntegerFormatContextMenu;\n"],"mappings":";;;AAAA,SAEEA,sBAAsB,QACjB,wBAAwB;AAAC,OAEzBC,sBAAsB;AAI7B,MAAMC,wBAAwB,CAAC;EAO7B;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,EAAiB,EACjBC,cAAmC,EACnCC,oBAAiE,EACtC;IAC3B,IAAMC,WAAW,GAAG,CAClB;MACEC,MAAM,EAAER,sBAAsB,CAACS,gBAAgB;MAC/CC,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,EACD;MACEH,MAAM,EAAER,sBAAsB,CAACY,eAAe;MAC9CF,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,EACD;MACEH,MAAM,EAAER,sBAAsB,CAACa,0BAA0B;MACzDH,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,CACF;IAED,IAAMG,mBAAmB,GAAGb,sBAAsB,CAACc,UAAU,CAC3D,SAAS,EACT,IAAI,EACJb,wBAAwB,CAACc,YAAY,EACrCf,sBAAsB,CAACgB,iBAAiB,CAACZ,cAAc,CACzD,CAAC;IAED,IAAMa,mBAAmB,GAAGX,WAAW,CAACY,GAAG,CAACC,IAAI,IAC9CnB,sBAAsB,CAACc,UAAU,CAC/BK,IAAI,CAACZ,MAAM,CAACa,KAAK,EACjBD,IAAI,CAACZ,MAAM,EACXY,IAAI,CAACV,KAAK,EACVV,sBAAsB,CAACsB,YAAY,CAACF,IAAI,CAACZ,MAAM,EAAEH,cAAc,CACjE,CACF,CAAC;IAED,IAAMkB,gBAAgB,GACpBtB,sBAAsB,CAACsB,gBAAgB,CAAClB,cAAc,CAAC;IAEzD,IAAMmB,YAAY,GAAGD,gBAAgB,GACjClB,cAAc,GACdL,sBAAsB,CAACyB,gBAAgB,CAAC,CAAC;IAE7C,IAAMC,kBAAkB,GAAGzB,sBAAsB,CAAC0B,sBAAsB,CACtEH,YAAY,EACZtB,wBAAwB,CAAC0B,WAAW,EACpC5B,sBAAsB,CAAC6B,qBAAqB,EAC5CN,gBAAgB,EAChBO,YAAY,IAAI;MACd,IAAIA,YAAY,IAAI,IAAI,EAAE;QACxB,IAAMC,eAAe,GACnB/B,sBAAsB,CAACyB,gBAAgB,CAACK,YAAY,CAAC;QACvD,IAAI9B,sBAAsB,CAACgC,OAAO,CAAC5B,EAAE,EAAE2B,eAAe,CAAC,EAAE;UACvDzB,oBAAoB,CAACyB,eAAe,CAAC;QACvC;MACF,CAAC,MAAM;QACLzB,oBAAoB,CAAC,IAAI,CAAC;MAC5B;IACF,CACF,CAAC;IAED,OAAO,CAACQ,mBAAmB,EAAE,GAAGI,mBAAmB,EAAEQ,kBAAkB,CAAC;EAC1E;AACF;AAACO,eAAA,CA7EK/B,wBAAwB,kBACN,EAAE;AAAA+B,eAAA,CADpB/B,wBAAwB,iBAGP,EAAE;AAAA+B,eAAA,CAHnB/B,wBAAwB,iBAKP,EAAE;AA0EzB,eAAeA,wBAAwB"}
1
+ {"version":3,"file":"IntegerFormatContextMenu.js","names":["IntegerColumnFormatter","FormatContextMenuUtils","IntegerFormatContextMenu","getOptions","dh","selectedFormat","onCustomFormatChange","formatItems","format","FORMAT_THOUSANDS","group","presetGroup","FORMAT_MILLIONS","FORMAT_SCIENTIFIC_NOTATION","defaultFormatOption","makeOption","defaultGroup","isDefaultSelected","presetFormatOptions","map","item","label","isSameFormat","isCustomSelected","customFormat","makeCustomFormat","customFormatOption","makeCustomFormatOption","customGroup","DEFAULT_FORMAT_STRING","formatString","newCustomFormat","isValid","_defineProperty"],"sources":["../../src/format-context-menus/IntegerFormatContextMenu.ts"],"sourcesContent":["import {\n type IntegerColumnFormat,\n IntegerColumnFormatter,\n} from '@deephaven/jsapi-utils';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport FormatContextMenuUtils, {\n type FormatContextMenuOption,\n} from './FormatContextMenuUtils';\n\nclass IntegerFormatContextMenu {\n static defaultGroup = 10;\n\n static presetGroup = 20;\n\n static customGroup = 30;\n\n /**\n * Creates list of formatting options for Integer context menu\n * @param dh JSAPI instance\n * @param selectedFormat Selected format object, null for no selected format\n * @param onCustomFormatChange Callback to call when the custom format is changed\n * @returns Array of formatting options for the context menu\n */\n static getOptions(\n dh: typeof DhType,\n selectedFormat: IntegerColumnFormat,\n onCustomFormatChange: (value: IntegerColumnFormat | null) => void\n ): FormatContextMenuOption[] {\n const formatItems = [\n {\n format: IntegerColumnFormatter.FORMAT_THOUSANDS,\n group: IntegerFormatContextMenu.presetGroup,\n },\n {\n format: IntegerColumnFormatter.FORMAT_MILLIONS,\n group: IntegerFormatContextMenu.presetGroup,\n },\n {\n format: IntegerColumnFormatter.FORMAT_SCIENTIFIC_NOTATION,\n group: IntegerFormatContextMenu.presetGroup,\n },\n ];\n\n const defaultFormatOption = FormatContextMenuUtils.makeOption(\n 'Default',\n null,\n IntegerFormatContextMenu.defaultGroup,\n FormatContextMenuUtils.isDefaultSelected(selectedFormat)\n );\n\n const presetFormatOptions = formatItems.map(item =>\n FormatContextMenuUtils.makeOption(\n item.format.label,\n item.format,\n item.group,\n IntegerColumnFormatter.isSameFormat(item.format, selectedFormat)\n )\n );\n\n const isCustomSelected =\n FormatContextMenuUtils.isCustomSelected(selectedFormat);\n\n const customFormat = isCustomSelected\n ? selectedFormat\n : IntegerColumnFormatter.makeCustomFormat();\n\n const customFormatOption = FormatContextMenuUtils.makeCustomFormatOption(\n customFormat,\n IntegerFormatContextMenu.customGroup,\n IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n isCustomSelected,\n formatString => {\n if (formatString != null) {\n const newCustomFormat =\n IntegerColumnFormatter.makeCustomFormat(formatString);\n if (IntegerColumnFormatter.isValid(dh, newCustomFormat)) {\n onCustomFormatChange(newCustomFormat);\n }\n } else {\n onCustomFormatChange(null);\n }\n }\n );\n\n return [defaultFormatOption, ...presetFormatOptions, customFormatOption];\n }\n}\n\nexport default IntegerFormatContextMenu;\n"],"mappings":";;;AAAA,SAEEA,sBAAsB,QACjB,wBAAwB;AAAC,OAEzBC,sBAAsB;AAI7B,MAAMC,wBAAwB,CAAC;EAO7B;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,EAAiB,EACjBC,cAAmC,EACnCC,oBAAiE,EACtC;IAC3B,IAAMC,WAAW,GAAG,CAClB;MACEC,MAAM,EAAER,sBAAsB,CAACS,gBAAgB;MAC/CC,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,EACD;MACEH,MAAM,EAAER,sBAAsB,CAACY,eAAe;MAC9CF,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,EACD;MACEH,MAAM,EAAER,sBAAsB,CAACa,0BAA0B;MACzDH,KAAK,EAAER,wBAAwB,CAACS;IAClC,CAAC,CACF;IAED,IAAMG,mBAAmB,GAAGb,sBAAsB,CAACc,UAAU,CAC3D,SAAS,EACT,IAAI,EACJb,wBAAwB,CAACc,YAAY,EACrCf,sBAAsB,CAACgB,iBAAiB,CAACZ,cAAc,CACzD,CAAC;IAED,IAAMa,mBAAmB,GAAGX,WAAW,CAACY,GAAG,CAACC,IAAI,IAC9CnB,sBAAsB,CAACc,UAAU,CAC/BK,IAAI,CAACZ,MAAM,CAACa,KAAK,EACjBD,IAAI,CAACZ,MAAM,EACXY,IAAI,CAACV,KAAK,EACVV,sBAAsB,CAACsB,YAAY,CAACF,IAAI,CAACZ,MAAM,EAAEH,cAAc,CACjE,CACF,CAAC;IAED,IAAMkB,gBAAgB,GACpBtB,sBAAsB,CAACsB,gBAAgB,CAAClB,cAAc,CAAC;IAEzD,IAAMmB,YAAY,GAAGD,gBAAgB,GACjClB,cAAc,GACdL,sBAAsB,CAACyB,gBAAgB,CAAC,CAAC;IAE7C,IAAMC,kBAAkB,GAAGzB,sBAAsB,CAAC0B,sBAAsB,CACtEH,YAAY,EACZtB,wBAAwB,CAAC0B,WAAW,EACpC5B,sBAAsB,CAAC6B,qBAAqB,EAC5CN,gBAAgB,EAChBO,YAAY,IAAI;MACd,IAAIA,YAAY,IAAI,IAAI,EAAE;QACxB,IAAMC,eAAe,GACnB/B,sBAAsB,CAACyB,gBAAgB,CAACK,YAAY,CAAC;QACvD,IAAI9B,sBAAsB,CAACgC,OAAO,CAAC5B,EAAE,EAAE2B,eAAe,CAAC,EAAE;UACvDzB,oBAAoB,CAACyB,eAAe,CAAC;QACvC;MACF,CAAC,MAAM;QACLzB,oBAAoB,CAAC,IAAI,CAAC;MAC5B;IACF,CACF,CAAC;IAED,OAAO,CAACQ,mBAAmB,EAAE,GAAGI,mBAAmB,EAAEQ,kBAAkB,CAAC;EAC1E;AACF;AAACO,eAAA,CA7EK/B,wBAAwB,kBACN,EAAE;AAAA+B,eAAA,CADpB/B,wBAAwB,iBAGP,EAAE;AAAA+B,eAAA,CAHnB/B,wBAAwB,iBAKP,EAAE;AA0EzB,eAAeA,wBAAwB","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ var _TextAlignmentFormatContextMenu;
1
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -14,27 +15,28 @@ class TextAlignmentFormatContextMenu {
14
15
  return dhRightAlign;
15
16
  }
16
17
  }
18
+ _TextAlignmentFormatContextMenu = TextAlignmentFormatContextMenu;
17
19
  _defineProperty(TextAlignmentFormatContextMenu, "defaultGroup", 10);
18
20
  _defineProperty(TextAlignmentFormatContextMenu, "alignmentGroup", 20);
19
21
  _defineProperty(TextAlignmentFormatContextMenu, "alignmentOptions", [{
20
22
  title: 'Default',
21
23
  alignment: null,
22
- group: TextAlignmentFormatContextMenu.defaultGroup
24
+ group: _TextAlignmentFormatContextMenu.defaultGroup
23
25
  }, {
24
26
  title: 'Left Align',
25
27
  alignment: 'left',
26
28
  icon: dhLeftAlign,
27
- group: TextAlignmentFormatContextMenu.alignmentGroup
29
+ group: _TextAlignmentFormatContextMenu.alignmentGroup
28
30
  }, {
29
31
  title: 'Center Align',
30
32
  alignment: 'center',
31
33
  icon: dhCenterAlign,
32
- group: TextAlignmentFormatContextMenu.alignmentGroup
34
+ group: _TextAlignmentFormatContextMenu.alignmentGroup
33
35
  }, {
34
36
  title: 'Right Align',
35
37
  alignment: 'right',
36
38
  icon: dhRightAlign,
37
- group: TextAlignmentFormatContextMenu.alignmentGroup
39
+ group: _TextAlignmentFormatContextMenu.alignmentGroup
38
40
  }]);
39
41
  export default TextAlignmentFormatContextMenu;
40
42
  //# sourceMappingURL=TextAlignmentFormatContextMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextAlignmentFormatContextMenu.js","names":["dhLeftAlign","dhCenterAlign","dhRightAlign","TextAlignmentFormatContextMenu","getIconForAlignment","alignment","_defineProperty","title","group","defaultGroup","icon","alignmentGroup"],"sources":["../../src/format-context-menus/TextAlignmentFormatContextMenu.ts"],"sourcesContent":["import {\n type IconDefinition,\n dhLeftAlign,\n dhCenterAlign,\n dhRightAlign,\n} from '@deephaven/icons';\n\ninterface TextAlignmentOptions {\n title: string;\n alignment: CanvasTextAlign | null;\n group: number;\n icon?: IconDefinition;\n}\n\nclass TextAlignmentFormatContextMenu {\n static defaultGroup = 10;\n\n static alignmentGroup = 20;\n\n static readonly alignmentOptions: ReadonlyArray<TextAlignmentOptions> = [\n {\n title: 'Default',\n alignment: null,\n group: TextAlignmentFormatContextMenu.defaultGroup,\n },\n {\n title: 'Left Align',\n alignment: 'left',\n icon: dhLeftAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n {\n title: 'Center Align',\n alignment: 'center',\n icon: dhCenterAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n {\n title: 'Right Align',\n alignment: 'right',\n icon: dhRightAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n ];\n\n /**\n * Gets the associated icon for a given alignment\n * @param alignment The text alignment\n * @returns The corresponding icon definition\n */\n static getIconForAlignment(alignment: CanvasTextAlign): IconDefinition {\n if (alignment === 'center') return dhCenterAlign;\n if (alignment === 'left') return dhLeftAlign;\n return dhRightAlign;\n }\n}\n\nexport default TextAlignmentFormatContextMenu;\nexport type { TextAlignmentOptions };\n"],"mappings":";;;AAAA,SAEEA,WAAW,EACXC,aAAa,EACbC,YAAY,QACP,kBAAkB;AASzB,MAAMC,8BAA8B,CAAC;EA+BnC;AACF;AACA;AACA;AACA;EACE,OAAOC,mBAAmBA,CAACC,SAA0B,EAAkB;IACrE,IAAIA,SAAS,KAAK,QAAQ,EAAE,OAAOJ,aAAa;IAChD,IAAII,SAAS,KAAK,MAAM,EAAE,OAAOL,WAAW;IAC5C,OAAOE,YAAY;EACrB;AACF;AAACI,eAAA,CAzCKH,8BAA8B,kBACZ,EAAE;AAAAG,eAAA,CADpBH,8BAA8B,oBAGV,EAAE;AAAAG,eAAA,CAHtBH,8BAA8B,sBAKsC,CACtE;EACEI,KAAK,EAAE,SAAS;EAChBF,SAAS,EAAE,IAAI;EACfG,KAAK,EAAEL,8BAA8B,CAACM;AACxC,CAAC,EACD;EACEF,KAAK,EAAE,YAAY;EACnBF,SAAS,EAAE,MAAM;EACjBK,IAAI,EAAEV,WAAW;EACjBQ,KAAK,EAAEL,8BAA8B,CAACQ;AACxC,CAAC,EACD;EACEJ,KAAK,EAAE,cAAc;EACrBF,SAAS,EAAE,QAAQ;EACnBK,IAAI,EAAET,aAAa;EACnBO,KAAK,EAAEL,8BAA8B,CAACQ;AACxC,CAAC,EACD;EACEJ,KAAK,EAAE,aAAa;EACpBF,SAAS,EAAE,OAAO;EAClBK,IAAI,EAAER,YAAY;EAClBM,KAAK,EAAEL,8BAA8B,CAACQ;AACxC,CAAC,CACF;AAcH,eAAeR,8BAA8B"}
1
+ {"version":3,"file":"TextAlignmentFormatContextMenu.js","names":["dhLeftAlign","dhCenterAlign","dhRightAlign","TextAlignmentFormatContextMenu","getIconForAlignment","alignment","_TextAlignmentFormatContextMenu","_defineProperty","title","group","defaultGroup","icon","alignmentGroup"],"sources":["../../src/format-context-menus/TextAlignmentFormatContextMenu.ts"],"sourcesContent":["import {\n type IconDefinition,\n dhLeftAlign,\n dhCenterAlign,\n dhRightAlign,\n} from '@deephaven/icons';\n\ninterface TextAlignmentOptions {\n title: string;\n alignment: CanvasTextAlign | null;\n group: number;\n icon?: IconDefinition;\n}\n\nclass TextAlignmentFormatContextMenu {\n static defaultGroup = 10;\n\n static alignmentGroup = 20;\n\n static readonly alignmentOptions: ReadonlyArray<TextAlignmentOptions> = [\n {\n title: 'Default',\n alignment: null,\n group: TextAlignmentFormatContextMenu.defaultGroup,\n },\n {\n title: 'Left Align',\n alignment: 'left',\n icon: dhLeftAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n {\n title: 'Center Align',\n alignment: 'center',\n icon: dhCenterAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n {\n title: 'Right Align',\n alignment: 'right',\n icon: dhRightAlign,\n group: TextAlignmentFormatContextMenu.alignmentGroup,\n },\n ];\n\n /**\n * Gets the associated icon for a given alignment\n * @param alignment The text alignment\n * @returns The corresponding icon definition\n */\n static getIconForAlignment(alignment: CanvasTextAlign): IconDefinition {\n if (alignment === 'center') return dhCenterAlign;\n if (alignment === 'left') return dhLeftAlign;\n return dhRightAlign;\n }\n}\n\nexport default TextAlignmentFormatContextMenu;\nexport type { TextAlignmentOptions };\n"],"mappings":";;;;AAAA,SAEEA,WAAW,EACXC,aAAa,EACbC,YAAY,QACP,kBAAkB;AASzB,MAAMC,8BAA8B,CAAC;EA+BnC;AACF;AACA;AACA;AACA;EACE,OAAOC,mBAAmBA,CAACC,SAA0B,EAAkB;IACrE,IAAIA,SAAS,KAAK,QAAQ,EAAE,OAAOJ,aAAa;IAChD,IAAII,SAAS,KAAK,MAAM,EAAE,OAAOL,WAAW;IAC5C,OAAOE,YAAY;EACrB;AACF;AAACI,+BAAA,GAzCKH,8BAA8B;AAAAI,eAAA,CAA9BJ,8BAA8B,kBACZ,EAAE;AAAAI,eAAA,CADpBJ,8BAA8B,oBAGV,EAAE;AAAAI,eAAA,CAHtBJ,8BAA8B,sBAKsC,CACtE;EACEK,KAAK,EAAE,SAAS;EAChBH,SAAS,EAAE,IAAI;EACfI,KAAK,EAAEN,+BAA8B,CAACO;AACxC,CAAC,EACD;EACEF,KAAK,EAAE,YAAY;EACnBH,SAAS,EAAE,MAAM;EACjBM,IAAI,EAAEX,WAAW;EACjBS,KAAK,EAAEN,+BAA8B,CAACS;AACxC,CAAC,EACD;EACEJ,KAAK,EAAE,cAAc;EACrBH,SAAS,EAAE,QAAQ;EACnBM,IAAI,EAAEV,aAAa;EACnBQ,KAAK,EAAEN,+BAA8B,CAACS;AACxC,CAAC,EACD;EACEJ,KAAK,EAAE,aAAa;EACpBH,SAAS,EAAE,OAAO;EAClBM,IAAI,EAAET,YAAY;EAClBO,KAAK,EAAEN,+BAA8B,CAACS;AACxC,CAAC,CACF;AAcH,eAAeT,8BAA8B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","DateTimeFormatContextMenu","DecimalFormatContextMenu","IntegerFormatContextMenu","TextAlignmentFormatContextMenu"],"sources":["../../src/format-context-menus/index.ts"],"sourcesContent":["export { default as DateTimeFormatContextMenu } from './DateTimeFormatContextMenu';\nexport { default as DecimalFormatContextMenu } from './DecimalFormatContextMenu';\nexport { default as IntegerFormatContextMenu } from './IntegerFormatContextMenu';\nexport { default as TextAlignmentFormatContextMenu } from './TextAlignmentFormatContextMenu';\n"],"mappings":"SAASA,OAAO,IAAIC,yBAAyB;AAAA,SACpCD,OAAO,IAAIE,wBAAwB;AAAA,SACnCF,OAAO,IAAIG,wBAAwB;AAAA,SACnCH,OAAO,IAAII,8BAA8B"}
1
+ {"version":3,"file":"index.js","names":["default","DateTimeFormatContextMenu","DecimalFormatContextMenu","IntegerFormatContextMenu","TextAlignmentFormatContextMenu"],"sources":["../../src/format-context-menus/index.ts"],"sourcesContent":["export { default as DateTimeFormatContextMenu } from './DateTimeFormatContextMenu';\nexport { default as DecimalFormatContextMenu } from './DecimalFormatContextMenu';\nexport { default as IntegerFormatContextMenu } from './IntegerFormatContextMenu';\nexport { default as TextAlignmentFormatContextMenu } from './TextAlignmentFormatContextMenu';\n"],"mappings":"SAASA,OAAO,IAAIC,yBAAyB;AAAA,SACpCD,OAAO,IAAIE,wBAAwB;AAAA,SACnCF,OAAO,IAAIG,wBAAwB;AAAA,SACnCH,OAAO,IAAII,8BAA8B","ignoreList":[]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils","IrisGridCellRendererUtils"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './LazyIrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport * from './mousehandlers';\nexport * from './ColumnHeaderGroup';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * from './PartitionedGridModel';\nexport * from './IrisGrid';\nexport type { default as IrisGridType } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport * from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport * from './IrisGridTableModelTemplate';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { createDefaultIrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport * from './IrisGridThemeProvider';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport * from './IrisGridUtils';\nexport * from './IrisGridMetricCalculator';\nexport * from './IrisGridRenderer';\nexport * from './IrisGridCacheUtils';\nexport { default as IrisGridCellRendererUtils } from './IrisGridCellRendererUtils';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA;AAAA;AAAA,SAMXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAI5BD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,aAAa;AAAA;AAAA,SAExBH,OAAO,IAAII,kBAAkB;AAAA;AAAA,SAE7BJ,OAAO,IAAIK,6BAA6B;AAAA,SACxCL,OAAO,IAAIM,sBAAsB;AAAA,SACjCN,OAAO,IAAIO,0BAA0B;AAAA;AAAA;AAAA,SAGrCP,OAAO,IAAIQ,oBAAoB;AAAA,SAC/BC,0BAA0B;AAAA;AAAA,SAG1BT,OAAO,IAAIU,iBAAiB;AAAA,SAC5BV,OAAO,IAAIW,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,SAKxBX,OAAO,IAAIY,yBAAyB"}
1
+ {"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils","IrisGridCellRendererUtils"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './LazyIrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport * from './mousehandlers';\nexport * from './ColumnHeaderGroup';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * from './PartitionedGridModel';\nexport * from './IrisGrid';\nexport type { default as IrisGridType } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport * from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport * from './IrisGridTableModelTemplate';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { createDefaultIrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport * from './IrisGridThemeProvider';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport * from './IrisGridUtils';\nexport * from './IrisGridMetricCalculator';\nexport * from './IrisGridRenderer';\nexport * from './IrisGridCacheUtils';\nexport { default as IrisGridCellRendererUtils } from './IrisGridCellRendererUtils';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA;AAAA;AAAA,SAMXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAI5BD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,aAAa;AAAA;AAAA,SAExBH,OAAO,IAAII,kBAAkB;AAAA;AAAA,SAE7BJ,OAAO,IAAIK,6BAA6B;AAAA,SACxCL,OAAO,IAAIM,sBAAsB;AAAA,SACjCN,OAAO,IAAIO,0BAA0B;AAAA;AAAA;AAAA,SAGrCP,OAAO,IAAIQ,oBAAoB;AAAA,SAC/BC,0BAA0B;AAAA;AAAA,SAG1BT,OAAO,IAAIU,iBAAiB;AAAA,SAC5BV,OAAO,IAAIW,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,SAKxBX,OAAO,IAAIY,yBAAyB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ClearFilterKeyHandler.js","names":["KeyHandler","IrisGridShortcuts","ClearFilterKeyHandler","constructor","irisGrid","_defineProperty","onDown","event","TABLE","CLEAR_FILTERS","matchesEvent","clearAllFilters"],"sources":["../../src/key-handlers/ClearFilterKeyHandler.ts"],"sourcesContent":["import { type KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport type IrisGrid from '../IrisGrid';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ClearFilterKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.CLEAR_FILTERS.matchesEvent(event)) {\n this.irisGrid.clearAllFilters();\n return true;\n }\n return false;\n }\n}\n\nexport default ClearFilterKeyHandler;\n"],"mappings":";;;AACA,SAASA,UAAU,QAAQ,iBAAiB;AAAC,OAEtCC,iBAAiB;AAExB,MAAMC,qBAAqB,SAASF,UAAU,CAAC;EAG7CG,WAAWA,CAACC,QAAkB,EAAE;IAC9B,KAAK,CAAC,CAAC;IAACC,eAAA;IAER,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EAC1B;EAEAE,MAAMA,CAACC,KAAoB,EAAW;IACpC,IAAIN,iBAAiB,CAACO,KAAK,CAACC,aAAa,CAACC,YAAY,CAACH,KAAK,CAAC,EAAE;MAC7D,IAAI,CAACH,QAAQ,CAACO,eAAe,CAAC,CAAC;MAC/B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;AACF;AAEA,eAAeT,qBAAqB"}
1
+ {"version":3,"file":"ClearFilterKeyHandler.js","names":["KeyHandler","IrisGridShortcuts","ClearFilterKeyHandler","constructor","irisGrid","_defineProperty","onDown","event","TABLE","CLEAR_FILTERS","matchesEvent","clearAllFilters"],"sources":["../../src/key-handlers/ClearFilterKeyHandler.ts"],"sourcesContent":["import { type KeyboardEvent } from 'react';\nimport { KeyHandler } from '@deephaven/grid';\nimport type IrisGrid from '../IrisGrid';\nimport IrisGridShortcuts from '../IrisGridShortcuts';\n\nclass ClearFilterKeyHandler extends KeyHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n onDown(event: KeyboardEvent): boolean {\n if (IrisGridShortcuts.TABLE.CLEAR_FILTERS.matchesEvent(event)) {\n this.irisGrid.clearAllFilters();\n return true;\n }\n return false;\n }\n}\n\nexport default ClearFilterKeyHandler;\n"],"mappings":";;;AACA,SAASA,UAAU,QAAQ,iBAAiB;AAAC,OAEtCC,iBAAiB;AAExB,MAAMC,qBAAqB,SAASF,UAAU,CAAC;EAG7CG,WAAWA,CAACC,QAAkB,EAAE;IAC9B,KAAK,CAAC,CAAC;IAACC,eAAA;IAER,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EAC1B;EAEAE,MAAMA,CAACC,KAAoB,EAAW;IACpC,IAAIN,iBAAiB,CAACO,KAAK,CAACC,aAAa,CAACC,YAAY,CAACH,KAAK,CAAC,EAAE;MAC7D,IAAI,CAACH,QAAQ,CAACO,eAAe,CAAC,CAAC;MAC/B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;AACF;AAEA,eAAeT,qBAAqB","ignoreList":[]}