@elliemae/ds-datagrids 2.0.0-next.10 → 2.0.0-next.11

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 (198) hide show
  1. package/cjs/DSDataGrid.js +246 -243
  2. package/cjs/DataGridImpl.js +16 -8
  3. package/cjs/PaginatedDataGrid.js +5 -0
  4. package/cjs/columns/IconColumn.js +19 -17
  5. package/cjs/columns/NumberColumn.js +2 -4
  6. package/cjs/components/BodyCell.js +17 -10
  7. package/cjs/components/BodyList.js +7 -0
  8. package/cjs/components/ColumnVisibilityMenuOption.js +10 -6
  9. package/cjs/components/ColumnsOptionsMenuSection.js +34 -28
  10. package/cjs/components/EmptyState.js +19 -17
  11. package/cjs/components/HeaderCell.js +14 -8
  12. package/cjs/components/List.js +5 -0
  13. package/cjs/components/ListItem.js +7 -0
  14. package/cjs/components/NoResults.js +5 -0
  15. package/cjs/components/RowsLoader.js +5 -4
  16. package/cjs/components/Table.js +5 -0
  17. package/cjs/components/TableBody.js +5 -0
  18. package/cjs/components/TableHeader.js +5 -0
  19. package/cjs/components/footer/addOptionalFooterComponents.js +5 -4
  20. package/cjs/components/header/PrimaryControls.js +20 -15
  21. package/cjs/components/header/addOptionalHeaderComponents.js +4 -3
  22. package/cjs/components/renderers/defaultClassedRenderers.js +33 -21
  23. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +46 -35
  24. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +9 -5
  25. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +2 -3
  26. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +10 -8
  27. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +13 -6
  28. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +3 -3
  29. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +22 -17
  30. package/cjs/plugins/column-sizing/useColumnSizeService.js +9 -0
  31. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +56 -40
  32. package/cjs/plugins/column-sizing/utils.js +10 -6
  33. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +9 -4
  34. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +20 -21
  35. package/cjs/plugins/editable/EditableComponents/ComboBox.js +7 -3
  36. package/cjs/plugins/editable/EditableComponents/TextBox.js +20 -14
  37. package/cjs/plugins/editable/EditablePlugin.js +15 -15
  38. package/cjs/plugins/editable/decorateEditable.js +18 -11
  39. package/cjs/plugins/editable/getEditorComponent.js +45 -34
  40. package/cjs/plugins/expandable-grid/ExpandableColumn.js +57 -50
  41. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +37 -26
  42. package/cjs/plugins/expandable-grid/ExpandedRow.js +28 -18
  43. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +16 -10
  44. package/cjs/plugins/expandable-grid/useExpandGridState.js +3 -8
  45. package/cjs/plugins/export-data/ExportDataPlugin.js +23 -10
  46. package/cjs/plugins/filterable/FilterablePlugin.js +7 -6
  47. package/cjs/plugins/filterable/addFilterToColumn.js +5 -0
  48. package/cjs/plugins/filterable/components/FilterableHeader.js +35 -27
  49. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +38 -32
  50. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +26 -22
  51. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +119 -154
  52. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +28 -20
  53. package/cjs/plugins/filterable/filterableFormatter.js +15 -10
  54. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +16 -4
  55. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +7 -4
  56. package/cjs/plugins/filterable/helper.js +16 -7
  57. package/cjs/plugins/filterable/useFilterableState.js +11 -5
  58. package/cjs/plugins/grouping-by/GroupingByPlugin.js +2 -0
  59. package/cjs/plugins/grouping-grid/GroupingPlugin.js +9 -0
  60. package/cjs/plugins/grouping-grid/walkStrategy.js +11 -9
  61. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +7 -1
  62. package/cjs/plugins/pagination/PaginationPlugin.js +9 -2
  63. package/cjs/plugins/pagination/components/Pagination.js +10 -9
  64. package/cjs/plugins/pagination/components/Paginator.js +8 -7
  65. package/cjs/plugins/pagination/components/PerPageDropdown.js +20 -13
  66. package/cjs/plugins/pagination/helper.js +10 -7
  67. package/cjs/plugins/pagination/usePaginationState.js +7 -3
  68. package/cjs/plugins/resizable/ResizablePlugin.js +5 -4
  69. package/cjs/plugins/resizable/decorateResizable.js +14 -8
  70. package/cjs/plugins/resizable/useResizeHandle.js +21 -16
  71. package/cjs/plugins/resizable/utils.js +8 -5
  72. package/cjs/plugins/row-dnd/DndRowsPlugin.js +23 -16
  73. package/cjs/plugins/selectable/SelectablePlugin.js +10 -8
  74. package/cjs/plugins/selectable/addSelectableColumn.js +24 -16
  75. package/cjs/plugins/selectable/helper.js +12 -3
  76. package/cjs/plugins/selectable/selectableFormatter.js +80 -71
  77. package/cjs/plugins/selectable/useSelectableState.js +24 -11
  78. package/cjs/plugins/sortable/SortablePlugin.js +8 -7
  79. package/cjs/plugins/sortable/sortHeaderFormatter.js +14 -15
  80. package/cjs/plugins/sortable/sortTree.js +13 -3
  81. package/cjs/plugins/sortable/sorter.js +151 -134
  82. package/cjs/plugins/sortable/useSortableState.js +7 -0
  83. package/cjs/plugins/toolbar/RowRenderer.js +7 -2
  84. package/cjs/plugins/toolbar/ToolbarTrigger.js +15 -10
  85. package/cjs/plugins/virtualization/AutoHeightList.js +10 -8
  86. package/cjs/plugins/virtualization/VirtualizationPlugin.js +32 -25
  87. package/cjs/plugins/virtualization/VirtualizedBody.js +18 -9
  88. package/cjs/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  89. package/cjs/renders/CellWithAddons.js +20 -18
  90. package/cjs/renders/styled.js +3 -2
  91. package/cjs/utilities/getPluginsFromProps.js +5 -1
  92. package/cjs/utilities/getScrollbarSize.js +2 -1
  93. package/cjs/utilities/normalizeData.js +7 -1
  94. package/esm/DSDataGrid.js +246 -243
  95. package/esm/DataGridImpl.js +16 -8
  96. package/esm/PaginatedDataGrid.js +5 -0
  97. package/esm/columns/IconColumn.js +18 -16
  98. package/esm/columns/NumberColumn.js +2 -4
  99. package/esm/components/BodyCell.js +17 -10
  100. package/esm/components/BodyList.js +7 -0
  101. package/esm/components/ColumnVisibilityMenuOption.js +10 -6
  102. package/esm/components/ColumnsOptionsMenuSection.js +34 -28
  103. package/esm/components/EmptyState.js +18 -15
  104. package/esm/components/HeaderCell.js +14 -8
  105. package/esm/components/List.js +5 -0
  106. package/esm/components/ListItem.js +7 -0
  107. package/esm/components/NoResults.js +5 -0
  108. package/esm/components/RowsLoader.js +5 -4
  109. package/esm/components/Table.js +5 -0
  110. package/esm/components/TableBody.js +5 -0
  111. package/esm/components/TableHeader.js +5 -0
  112. package/esm/components/footer/addOptionalFooterComponents.js +5 -4
  113. package/esm/components/header/PrimaryControls.js +20 -14
  114. package/esm/components/header/addOptionalHeaderComponents.js +4 -3
  115. package/esm/components/renderers/defaultClassedRenderers.js +33 -21
  116. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +46 -35
  117. package/esm/plugins/column-dnd/DndColumnsPlugin.js +6 -2
  118. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -1
  119. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +9 -7
  120. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +12 -5
  121. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -1
  122. package/esm/plugins/column-sizing/ext-points/getTableProps.js +21 -15
  123. package/esm/plugins/column-sizing/useColumnSizeService.js +9 -0
  124. package/esm/plugins/column-sizing/useStylesheetHelpers.js +54 -38
  125. package/esm/plugins/column-sizing/utils.js +8 -4
  126. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +6 -1
  127. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +15 -11
  128. package/esm/plugins/editable/EditableComponents/ComboBox.js +6 -1
  129. package/esm/plugins/editable/EditableComponents/TextBox.js +19 -12
  130. package/esm/plugins/editable/EditablePlugin.js +13 -12
  131. package/esm/plugins/editable/decorateEditable.js +16 -8
  132. package/esm/plugins/editable/getEditorComponent.js +49 -38
  133. package/esm/plugins/expandable-grid/ExpandableColumn.js +56 -47
  134. package/esm/plugins/expandable-grid/ExpandablePlugin.js +33 -20
  135. package/esm/plugins/expandable-grid/ExpandedRow.js +27 -17
  136. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +15 -9
  137. package/esm/plugins/expandable-grid/useExpandGridState.js +1 -2
  138. package/esm/plugins/export-data/ExportDataPlugin.js +22 -9
  139. package/esm/plugins/filterable/FilterablePlugin.js +5 -4
  140. package/esm/plugins/filterable/addFilterToColumn.js +5 -0
  141. package/esm/plugins/filterable/components/FilterableHeader.js +31 -22
  142. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +38 -31
  143. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +26 -21
  144. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +118 -152
  145. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +27 -18
  146. package/esm/plugins/filterable/filterableFormatter.js +15 -10
  147. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +14 -2
  148. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js +7 -4
  149. package/esm/plugins/filterable/helper.js +10 -1
  150. package/esm/plugins/filterable/useFilterableState.js +11 -5
  151. package/esm/plugins/grouping-by/GroupingByPlugin.js +2 -0
  152. package/esm/plugins/grouping-grid/GroupingPlugin.js +9 -0
  153. package/esm/plugins/grouping-grid/walkStrategy.js +11 -9
  154. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +7 -1
  155. package/esm/plugins/pagination/PaginationPlugin.js +8 -1
  156. package/esm/plugins/pagination/components/Pagination.js +10 -9
  157. package/esm/plugins/pagination/components/Paginator.js +8 -7
  158. package/esm/plugins/pagination/components/PerPageDropdown.js +17 -9
  159. package/esm/plugins/pagination/helper.js +10 -7
  160. package/esm/plugins/pagination/usePaginationState.js +6 -1
  161. package/esm/plugins/resizable/ResizablePlugin.js +4 -3
  162. package/esm/plugins/resizable/decorateResizable.js +14 -8
  163. package/esm/plugins/resizable/useResizeHandle.js +21 -16
  164. package/esm/plugins/resizable/utils.js +6 -3
  165. package/esm/plugins/row-dnd/DndRowsPlugin.js +21 -13
  166. package/esm/plugins/selectable/SelectablePlugin.js +9 -7
  167. package/esm/plugins/selectable/addSelectableColumn.js +24 -16
  168. package/esm/plugins/selectable/helper.js +10 -1
  169. package/esm/plugins/selectable/selectableFormatter.js +79 -68
  170. package/esm/plugins/selectable/useSelectableState.js +19 -5
  171. package/esm/plugins/sortable/SortablePlugin.js +5 -4
  172. package/esm/plugins/sortable/sortHeaderFormatter.js +12 -11
  173. package/esm/plugins/sortable/sortTree.js +13 -3
  174. package/esm/plugins/sortable/sorter.js +151 -134
  175. package/esm/plugins/sortable/useSortableState.js +7 -0
  176. package/esm/plugins/toolbar/RowRenderer.js +6 -1
  177. package/esm/plugins/toolbar/ToolbarTrigger.js +14 -8
  178. package/esm/plugins/virtualization/AutoHeightList.js +6 -3
  179. package/esm/plugins/virtualization/VirtualizationPlugin.js +31 -24
  180. package/esm/plugins/virtualization/VirtualizedBody.js +14 -5
  181. package/esm/plugins/virtualization/VirtualizedBodyRow.js +8 -7
  182. package/esm/renders/CellWithAddons.js +15 -14
  183. package/esm/renders/styled.js +1 -1
  184. package/esm/utilities/getPluginsFromProps.js +5 -1
  185. package/esm/utilities/getScrollbarSize.js +2 -1
  186. package/esm/utilities/normalizeData.js +7 -1
  187. package/package.json +19 -18
  188. package/types/components/BodyCell.d.ts +1 -1
  189. package/types/components/HeaderCell.d.ts +1 -1
  190. package/types/plugins/column-sizing/columnMeasurerTransformer.d.ts +1 -1
  191. package/types/plugins/column-sizing/ext-points/getTableProps.d.ts +1 -1
  192. package/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +1 -1
  193. package/types/plugins/expandable-grid/useExpandGridState.d.ts +4 -4
  194. package/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +1 -1
  195. package/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +1 -1
  196. package/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +1 -1
  197. package/types/plugins/filterable/helper.d.ts +15 -3
  198. package/types/plugins/pagination/components/PerPageDropdown.d.ts +1 -1
package/cjs/DSDataGrid.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
7
  var reactDesc = require('react-desc');
8
- var DSTruncatedTooltipText = require('@elliemae/ds-basic/TruncatedTooltipText');
8
+ var DSTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
9
9
  var DataGridImpl = require('./DataGridImpl.js');
10
10
  var rowSizes = require('./rowSizes.js');
11
11
 
@@ -13,248 +13,251 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
13
 
14
14
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
15
 
16
- const DSDataGrids = ({
17
- containerProps = {},
18
- instanceRef,
19
- className = '',
20
- // data
21
- columns = [],
22
- rows = [],
23
- rowKey = 'id',
24
- // features
25
- infiniteScrolling = false,
26
- editable = false,
27
- sortable = false,
28
- sortEmptyLast = false,
29
- paginated = false,
30
- dragAndDropRows = false,
31
- selectable = false,
32
- resizeableColumns = false,
33
- searchFilters = false,
34
- dragAndDropColumns = false,
35
- useTreeData = false,
36
- autoScrollToId,
37
- // virtualization props
38
- overscanCount = 10,
39
- // feature state
40
- selectAll = false,
41
- // todo: change to isAllSelected
42
- selectedRows = [],
43
- filters = undefined,
44
- onAddFilter = () => null,
45
- onRemoveFilter = () => null,
46
- onFiltersChange = () => null,
47
- showFilterBar = true,
48
- multiSelectFilterOptions = [{
49
- id: 'true',
50
- label: 'Selected'
51
- }, {
52
- id: 'false',
53
- label: 'Not selected'
54
- }],
55
- multiSelectFilterLabels = undefined,
56
- multiSelectFilterLabel = 'Selection',
57
- aggregations = {},
58
- groupingColumn = undefined,
59
- sortingColumns = {},
60
- // pagination
61
- minPerPage = 0,
62
- maxPerPage = 50,
63
- onPerPageChange = () => null,
64
- onPageChange = () => null,
65
- paginationStep = 2,
66
- pagination = {
67
- page: 1,
68
- perPage: 10
69
- },
70
- // visual
71
- showHeader = true,
72
- fixedHeader = true,
73
- wrapText = false,
74
- height = undefined,
75
- minColumnWidth = 100,
76
- showRowsLoader = false,
77
- visibleColumns = undefined,
78
- // this enforces visibility of columns
79
- showSelectHighlight = false,
80
- showSelectColumn = true,
81
- selectColumnSortable = true,
82
- selectColumnFilterable = false,
83
- selectionColumnDefinition = {},
84
- filterBarOptions = undefined,
85
- // searchGrid = false,
86
- renderToolbar = undefined,
87
- toolbarDelayClose = 400,
88
- renderFilterToolbar = undefined,
89
- multiSelectComponent = undefined,
90
- // todo: deprecate this
91
- noResultsRender,
92
- noResultsPlaceholder,
93
- fluidHeight = false,
94
- customHandlers = {},
95
- // grouping feature
96
- groupedBy = undefined,
97
- // callbacks
98
- onDefaultFiltersLoad = () => null,
99
- onReorder = () => null,
100
- onMoveRowEnd = () => null,
101
- onMoveRowStart = () => null,
102
- onMoveColumnOver = () => null,
103
- onMoveColumnStart = () => null,
104
- onMoveColumnEnd = () => null,
105
- onColumnResize = () => null,
106
- onExpandChange = () => null,
107
- onToggleExpand = () => null,
108
- onExpandRow = () => null,
109
- onFilter = () => null,
110
- onSort = () => null,
111
- onColumnRowEdited = () => null,
112
- onColumnRowEdit = () => null,
113
- onSelectRow = () => null,
114
- onSelectAll = () => null,
115
- onInfiniteScrolling = () => null,
116
- onFilterMenuClose = () => null,
117
- onFilterMenuOpen = () => null,
118
- getData = undefined,
119
- // todo: change to onGetMoreData
120
- serverSideData = false,
121
- isDataSorted = false,
122
- isDataFiltered = false,
123
- virtualized = true,
124
- numRowsVisible = undefined,
125
- isColumnEditable = column => column.editable,
126
- // grouped props
127
- groupedRows = false,
128
- groupedRowsRenderHeader = undefined,
129
- // expandable props
130
- renderExpandedDetails = () => null,
131
- detailColumns,
132
- expandable = false,
133
- getChildrenRows = row => row.children,
134
- expandableSubrowsVisible = 7,
135
- renderRowDetails = () => null,
136
- getExpandedRowSize = undefined,
137
- getExpandedRowMinSize,
138
- rowSize = rowSizes.RowSizesOptions.normal,
139
- subRowSize = rowSizes.RowSizesOptions.normal,
140
- bindColumnsSizeTo = undefined,
141
- bindRowSizeTo = undefined,
142
- onToggleShowAllRows,
143
- expandedRows,
144
- autoHeight = false,
145
- noColumnsPlaceholder,
146
- plugins = [],
147
- normalizeDataKeys = false
148
- }) => /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText.TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx__default["default"](DataGridImpl, {
149
- aggregations: aggregations,
150
- autoHeight: autoHeight && !fluidHeight,
151
- autoScrollToId: autoScrollToId,
152
- bindColumnsSizeTo: bindColumnsSizeTo,
153
- bindRowSizeTo: bindRowSizeTo,
154
- className: className,
155
- columns: columns,
156
- containerProps: containerProps,
157
- customHandlers: customHandlers,
158
- detailColumns: detailColumns,
159
- dragAndDropColumns: dragAndDropColumns,
160
- dragAndDropRows: dragAndDropRows,
161
- editable: editable,
162
- expandable: expandable,
163
- expandableSubrowsVisible: expandableSubrowsVisible,
164
- expandedRows: expandedRows,
165
- filterBarOptions: filterBarOptions,
166
- filters: filters,
167
- fixedHeader: fixedHeader,
168
- fluidHeight: fluidHeight,
169
- getChildrenRows: getChildrenRows,
170
- getData: getData,
171
- getExpandedRowMinSize: getExpandedRowMinSize,
172
- getExpandedRowSize: getExpandedRowSize,
173
- groupedBy: groupedBy,
174
- groupedRows: groupedRows,
175
- groupedRowsRenderHeader: groupedRowsRenderHeader,
176
- groupingColumn: groupingColumn,
177
- height: height,
178
- infiniteScrolling: infiniteScrolling,
179
- instanceRef: instanceRef,
180
- isColumnEditable: isColumnEditable,
181
- isDataFiltered: isDataFiltered,
182
- isDataSorted: isDataSorted,
183
- maxPerPage: maxPerPage,
184
- minColumnWidth: minColumnWidth,
185
- minPerPage: minPerPage,
186
- multiSelectComponent: multiSelectComponent,
187
- multiSelectFilterLabel: multiSelectFilterLabel,
188
- multiSelectFilterLabels: multiSelectFilterLabels,
189
- multiSelectFilterOptions: multiSelectFilterOptions,
190
- noColumnsPlaceholder: noColumnsPlaceholder,
191
- noResultsPlaceholder: noResultsPlaceholder,
192
- noResultsRender: noResultsRender,
193
- normalizeDataKeys: normalizeDataKeys,
194
- numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
195
- ,
196
- onAddFilter: onAddFilter,
197
- onColumnResize: onColumnResize,
198
- onColumnRowEdit: onColumnRowEdit,
199
- onColumnRowEdited: onColumnRowEdited,
200
- onExpandRow: onExpandRow,
201
- onExpandChange: onExpandChange,
202
- onFilter: onFilter,
203
- onFiltersChange: onFiltersChange,
204
- onFilterMenuClose: onFilterMenuClose,
205
- onFilterMenuOpen: onFilterMenuOpen,
206
- onDefaultFiltersLoad: onDefaultFiltersLoad,
207
- onInfiniteScrolling: onInfiniteScrolling,
208
- onMoveColumnEnd: onMoveColumnEnd,
209
- onMoveColumnOver: onMoveColumnOver,
210
- onMoveColumnStart: onMoveColumnStart,
211
- onMoveRowEnd: onMoveRowEnd,
212
- onMoveRowStart: onMoveRowStart,
213
- onPageChange: onPageChange,
214
- onPerPageChange: onPerPageChange,
215
- onRemoveFilter: onRemoveFilter,
216
- onReorder: onReorder,
217
- onSelectAll: onSelectAll,
218
- onSelectRow: onSelectRow,
219
- onSort: onSort,
220
- onToggleExpand: onToggleExpand,
221
- onToggleShowAllRows: onToggleShowAllRows,
222
- overscanCount: overscanCount,
223
- paginated: paginated,
224
- pagination: pagination,
225
- paginationStep: paginationStep,
226
- plugins: plugins,
227
- renderExpandedDetails: renderExpandedDetails,
228
- renderFilterToolbar: renderFilterToolbar,
229
- renderRowDetails: renderRowDetails,
230
- renderToolbar: renderToolbar,
231
- resizeableColumns: resizeableColumns,
232
- rowKey: rowKey,
233
- rows: rows,
234
- rowSize: rowSize,
235
- searchFilters: searchFilters,
236
- selectable: selectable,
237
- selectAll: selectAll,
238
- selectColumnFilterable: selectColumnFilterable,
239
- selectColumnSortable: selectColumnSortable,
240
- selectedRows: selectedRows,
241
- selectionColumnDefinition: selectionColumnDefinition,
242
- serverSideData: serverSideData,
243
- showFilterBar: showFilterBar,
244
- showHeader: showHeader,
245
- showRowsLoader: showRowsLoader,
246
- showSelectColumn: showSelectColumn,
247
- showSelectHighlight: showSelectHighlight,
248
- sortable: sortable,
249
- sortEmptyLast: sortEmptyLast,
250
- sortingColumns: sortingColumns,
251
- subrowSize: subRowSize,
252
- toolbarDelayClose: toolbarDelayClose,
253
- useTreeData: useTreeData,
254
- virtualized: virtualized,
255
- visibleColumns: visibleColumns,
256
- wrapText: wrapText
257
- }));
16
+ const DSDataGrids = _ref => {
17
+ let {
18
+ containerProps = {},
19
+ instanceRef,
20
+ className = '',
21
+ // data
22
+ columns = [],
23
+ rows = [],
24
+ rowKey = 'id',
25
+ // features
26
+ infiniteScrolling = false,
27
+ editable = false,
28
+ sortable = false,
29
+ sortEmptyLast = false,
30
+ paginated = false,
31
+ dragAndDropRows = false,
32
+ selectable = false,
33
+ resizeableColumns = false,
34
+ searchFilters = false,
35
+ dragAndDropColumns = false,
36
+ useTreeData = false,
37
+ autoScrollToId,
38
+ // virtualization props
39
+ overscanCount = 10,
40
+ // feature state
41
+ selectAll = false,
42
+ // todo: change to isAllSelected
43
+ selectedRows = [],
44
+ filters = undefined,
45
+ onAddFilter = () => null,
46
+ onRemoveFilter = () => null,
47
+ onFiltersChange = () => null,
48
+ showFilterBar = true,
49
+ multiSelectFilterOptions = [{
50
+ id: 'true',
51
+ label: 'Selected'
52
+ }, {
53
+ id: 'false',
54
+ label: 'Not selected'
55
+ }],
56
+ multiSelectFilterLabels = undefined,
57
+ multiSelectFilterLabel = 'Selection',
58
+ aggregations = {},
59
+ groupingColumn = undefined,
60
+ sortingColumns = {},
61
+ // pagination
62
+ minPerPage = 0,
63
+ maxPerPage = 50,
64
+ onPerPageChange = () => null,
65
+ onPageChange = () => null,
66
+ paginationStep = 2,
67
+ pagination = {
68
+ page: 1,
69
+ perPage: 10
70
+ },
71
+ // visual
72
+ showHeader = true,
73
+ fixedHeader = true,
74
+ wrapText = false,
75
+ height = undefined,
76
+ minColumnWidth = 100,
77
+ showRowsLoader = false,
78
+ visibleColumns = undefined,
79
+ // this enforces visibility of columns
80
+ showSelectHighlight = false,
81
+ showSelectColumn = true,
82
+ selectColumnSortable = true,
83
+ selectColumnFilterable = false,
84
+ selectionColumnDefinition = {},
85
+ filterBarOptions = undefined,
86
+ // searchGrid = false,
87
+ renderToolbar = undefined,
88
+ toolbarDelayClose = 400,
89
+ renderFilterToolbar = undefined,
90
+ multiSelectComponent = undefined,
91
+ // todo: deprecate this
92
+ noResultsRender,
93
+ noResultsPlaceholder,
94
+ fluidHeight = false,
95
+ customHandlers = {},
96
+ // grouping feature
97
+ groupedBy = undefined,
98
+ // callbacks
99
+ onDefaultFiltersLoad = () => null,
100
+ onReorder = () => null,
101
+ onMoveRowEnd = () => null,
102
+ onMoveRowStart = () => null,
103
+ onMoveColumnOver = () => null,
104
+ onMoveColumnStart = () => null,
105
+ onMoveColumnEnd = () => null,
106
+ onColumnResize = () => null,
107
+ onExpandChange = () => null,
108
+ onToggleExpand = () => null,
109
+ onExpandRow = () => null,
110
+ onFilter = () => null,
111
+ onSort = () => null,
112
+ onColumnRowEdited = () => null,
113
+ onColumnRowEdit = () => null,
114
+ onSelectRow = () => null,
115
+ onSelectAll = () => null,
116
+ onInfiniteScrolling = () => null,
117
+ onFilterMenuClose = () => null,
118
+ onFilterMenuOpen = () => null,
119
+ getData = undefined,
120
+ // todo: change to onGetMoreData
121
+ serverSideData = false,
122
+ isDataSorted = false,
123
+ isDataFiltered = false,
124
+ virtualized = true,
125
+ numRowsVisible = undefined,
126
+ isColumnEditable = column => column.editable,
127
+ // grouped props
128
+ groupedRows = false,
129
+ groupedRowsRenderHeader = undefined,
130
+ // expandable props
131
+ renderExpandedDetails = () => null,
132
+ detailColumns,
133
+ expandable = false,
134
+ getChildrenRows = row => row.children,
135
+ expandableSubrowsVisible = 7,
136
+ renderRowDetails = () => null,
137
+ getExpandedRowSize = undefined,
138
+ getExpandedRowMinSize,
139
+ rowSize = rowSizes.RowSizesOptions.normal,
140
+ subRowSize = rowSizes.RowSizesOptions.normal,
141
+ bindColumnsSizeTo = undefined,
142
+ bindRowSizeTo = undefined,
143
+ onToggleShowAllRows,
144
+ expandedRows,
145
+ autoHeight = false,
146
+ noColumnsPlaceholder,
147
+ plugins = [],
148
+ normalizeDataKeys = false
149
+ } = _ref;
150
+ return /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText.TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx__default["default"](DataGridImpl, {
151
+ aggregations: aggregations,
152
+ autoHeight: autoHeight && !fluidHeight,
153
+ autoScrollToId: autoScrollToId,
154
+ bindColumnsSizeTo: bindColumnsSizeTo,
155
+ bindRowSizeTo: bindRowSizeTo,
156
+ className: className,
157
+ columns: columns,
158
+ containerProps: containerProps,
159
+ customHandlers: customHandlers,
160
+ detailColumns: detailColumns,
161
+ dragAndDropColumns: dragAndDropColumns,
162
+ dragAndDropRows: dragAndDropRows,
163
+ editable: editable,
164
+ expandable: expandable,
165
+ expandableSubrowsVisible: expandableSubrowsVisible,
166
+ expandedRows: expandedRows,
167
+ filterBarOptions: filterBarOptions,
168
+ filters: filters,
169
+ fixedHeader: fixedHeader,
170
+ fluidHeight: fluidHeight,
171
+ getChildrenRows: getChildrenRows,
172
+ getData: getData,
173
+ getExpandedRowMinSize: getExpandedRowMinSize,
174
+ getExpandedRowSize: getExpandedRowSize,
175
+ groupedBy: groupedBy,
176
+ groupedRows: groupedRows,
177
+ groupedRowsRenderHeader: groupedRowsRenderHeader,
178
+ groupingColumn: groupingColumn,
179
+ height: height,
180
+ infiniteScrolling: infiniteScrolling,
181
+ instanceRef: instanceRef,
182
+ isColumnEditable: isColumnEditable,
183
+ isDataFiltered: isDataFiltered,
184
+ isDataSorted: isDataSorted,
185
+ maxPerPage: maxPerPage,
186
+ minColumnWidth: minColumnWidth,
187
+ minPerPage: minPerPage,
188
+ multiSelectComponent: multiSelectComponent,
189
+ multiSelectFilterLabel: multiSelectFilterLabel,
190
+ multiSelectFilterLabels: multiSelectFilterLabels,
191
+ multiSelectFilterOptions: multiSelectFilterOptions,
192
+ noColumnsPlaceholder: noColumnsPlaceholder,
193
+ noResultsPlaceholder: noResultsPlaceholder,
194
+ noResultsRender: noResultsRender,
195
+ normalizeDataKeys: normalizeDataKeys,
196
+ numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
197
+ ,
198
+ onAddFilter: onAddFilter,
199
+ onColumnResize: onColumnResize,
200
+ onColumnRowEdit: onColumnRowEdit,
201
+ onColumnRowEdited: onColumnRowEdited,
202
+ onExpandRow: onExpandRow,
203
+ onExpandChange: onExpandChange,
204
+ onFilter: onFilter,
205
+ onFiltersChange: onFiltersChange,
206
+ onFilterMenuClose: onFilterMenuClose,
207
+ onFilterMenuOpen: onFilterMenuOpen,
208
+ onDefaultFiltersLoad: onDefaultFiltersLoad,
209
+ onInfiniteScrolling: onInfiniteScrolling,
210
+ onMoveColumnEnd: onMoveColumnEnd,
211
+ onMoveColumnOver: onMoveColumnOver,
212
+ onMoveColumnStart: onMoveColumnStart,
213
+ onMoveRowEnd: onMoveRowEnd,
214
+ onMoveRowStart: onMoveRowStart,
215
+ onPageChange: onPageChange,
216
+ onPerPageChange: onPerPageChange,
217
+ onRemoveFilter: onRemoveFilter,
218
+ onReorder: onReorder,
219
+ onSelectAll: onSelectAll,
220
+ onSelectRow: onSelectRow,
221
+ onSort: onSort,
222
+ onToggleExpand: onToggleExpand,
223
+ onToggleShowAllRows: onToggleShowAllRows,
224
+ overscanCount: overscanCount,
225
+ paginated: paginated,
226
+ pagination: pagination,
227
+ paginationStep: paginationStep,
228
+ plugins: plugins,
229
+ renderExpandedDetails: renderExpandedDetails,
230
+ renderFilterToolbar: renderFilterToolbar,
231
+ renderRowDetails: renderRowDetails,
232
+ renderToolbar: renderToolbar,
233
+ resizeableColumns: resizeableColumns,
234
+ rowKey: rowKey,
235
+ rows: rows,
236
+ rowSize: rowSize,
237
+ searchFilters: searchFilters,
238
+ selectable: selectable,
239
+ selectAll: selectAll,
240
+ selectColumnFilterable: selectColumnFilterable,
241
+ selectColumnSortable: selectColumnSortable,
242
+ selectedRows: selectedRows,
243
+ selectionColumnDefinition: selectionColumnDefinition,
244
+ serverSideData: serverSideData,
245
+ showFilterBar: showFilterBar,
246
+ showHeader: showHeader,
247
+ showRowsLoader: showRowsLoader,
248
+ showSelectColumn: showSelectColumn,
249
+ showSelectHighlight: showSelectHighlight,
250
+ sortable: sortable,
251
+ sortEmptyLast: sortEmptyLast,
252
+ sortingColumns: sortingColumns,
253
+ subrowSize: subRowSize,
254
+ toolbarDelayClose: toolbarDelayClose,
255
+ useTreeData: useTreeData,
256
+ virtualized: virtualized,
257
+ visibleColumns: visibleColumns,
258
+ wrapText: wrapText
259
+ }));
260
+ };
258
261
 
259
262
  const props = {
260
263
  /** ref to the instance of the datagrid, handle it imperatively */
@@ -20,6 +20,13 @@ require('core-js/modules/esnext.set.some.js');
20
20
  require('core-js/modules/esnext.set.symmetric-difference.js');
21
21
  require('core-js/modules/esnext.set.union.js');
22
22
  require('core-js/modules/web.dom-collections.iterator.js');
23
+ require('core-js/modules/esnext.async-iterator.map.js');
24
+ require('core-js/modules/esnext.iterator.map.js');
25
+ require('core-js/modules/esnext.async-iterator.filter.js');
26
+ require('core-js/modules/esnext.iterator.constructor.js');
27
+ require('core-js/modules/esnext.iterator.filter.js');
28
+ require('core-js/modules/esnext.async-iterator.for-each.js');
29
+ require('core-js/modules/esnext.iterator.for-each.js');
23
30
  var React = require('react');
24
31
  var utils = require('@elliemae/ds-shared/utils');
25
32
  var useDataGrid = require('@elliemae/ds-shared/useDataGrid');
@@ -52,17 +59,18 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
52
59
 
53
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
54
61
 
55
- const isFluid = ({
56
- autoHeight,
57
- paginated,
58
- numRowsVisible
59
- }) => {
62
+ const isFluid = _ref => {
63
+ let {
64
+ autoHeight,
65
+ paginated,
66
+ numRowsVisible
67
+ } = _ref;
60
68
  if (autoHeight) return false;
61
69
  if (paginated) return false;
62
70
  return !numRowsVisible;
63
71
  };
64
72
 
65
- function DataGridImpl(_ref) {
73
+ function DataGridImpl(_ref2) {
66
74
  let {
67
75
  className,
68
76
  renderers,
@@ -71,8 +79,8 @@ function DataGridImpl(_ref) {
71
79
  containerProps,
72
80
  plugins: pluginsProp,
73
81
  normalizeDataKeys
74
- } = _ref,
75
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
82
+ } = _ref2,
83
+ otherProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
76
84
 
77
85
  const {
78
86
  noResultsPlaceholder = _EmptyState || (_EmptyState = /*#__PURE__*/_jsx__default["default"](EmptyState.EmptyState, {})),
@@ -1,5 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
3
8
  var _jsx = require('@babel/runtime/helpers/jsx');
4
9
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
10
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -2,8 +2,8 @@
2
2
 
3
3
  var _jsx = require('@babel/runtime/helpers/jsx');
4
4
  var React = require('react');
5
- var utils = require('@elliemae/ds-utilities/utils');
6
- var DSButton = require('@elliemae/ds-basic/Button');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
+ var DSButton = require('@elliemae/ds-button');
7
7
  var dsClassnames = require('@elliemae/ds-classnames');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -36,27 +36,29 @@ const addColorToIcon = (icon, intentColor) => {
36
36
  });
37
37
  };
38
38
 
39
- function createColumn({
40
- property,
41
- label,
42
- headerIcon,
43
- getRowIcon = () => null,
44
- isVisited = () => null,
45
- intent = Intents.SUCCESS,
46
- width = 60,
47
- onClick,
48
- visible,
49
- resizable,
50
- sortable,
51
- searchable
52
- }) {
39
+ function createColumn(_ref) {
40
+ let {
41
+ property,
42
+ label,
43
+ headerIcon,
44
+ getRowIcon = () => null,
45
+ isVisited = () => null,
46
+ intent = Intents.SUCCESS,
47
+ width = 60,
48
+ onClick,
49
+ visible,
50
+ resizable,
51
+ sortable,
52
+ searchable
53
+ } = _ref;
54
+
53
55
  const formatter = (value, extraParams) => {
54
56
  const icon = getRowIcon(value, extraParams);
55
57
 
56
58
  const onClickHandler = e => onClick(e, extraParams);
57
59
 
58
60
  return /*#__PURE__*/_jsx__default["default"](ValueWrapper, {
59
- className: utils.cx("icc-".concat(intent), isVisited(value, extraParams))
61
+ className: dsUtilities.cx("icc-".concat(intent), isVisited(value, extraParams))
60
62
  }, void 0, icon && addColorToIcon(icon, IntentIconColors[intent]), onClick && typeof value !== 'undefined' ? /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
61
63
  buttonType: "text",
62
64
  intent: intent,
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
- function createNumberColumn({
4
- label,
5
- property
6
- }) {}
3
+ function createNumberColumn(_ref) {
4
+ }
7
5
 
8
6
  module.exports = createNumberColumn;