@elliemae/ds-datagrids 2.0.0-next.7 → 2.0.0-rc.2

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
@@ -5,27 +5,29 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
7
  var lodash = require('lodash');
8
- var Grid = require('@elliemae/ds-basic/Grid');
9
- var DSTruncatedTooltipText = require('@elliemae/ds-basic/TruncatedTooltipText');
8
+ var Grid = require('@elliemae/ds-grid');
9
+ var DSTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
10
  var styled = require('./styled.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
14
14
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
15
16
  var DSTruncatedTooltipText__default = /*#__PURE__*/_interopDefaultLegacy(DSTruncatedTooltipText);
16
17
 
17
- const CellWithAddons = ({
18
- leftAddon,
19
- keepLeftPadding,
20
- rightAddon,
21
- badgeAddon,
22
- highLight,
23
- isEdit,
24
- editComponent,
25
- value,
26
- neutralText,
27
- metaData
28
- }) => {
18
+ const CellWithAddons = _ref => {
19
+ let {
20
+ leftAddon,
21
+ keepLeftPadding,
22
+ rightAddon,
23
+ badgeAddon,
24
+ highLight,
25
+ isEdit,
26
+ editComponent,
27
+ value,
28
+ neutralText,
29
+ metaData
30
+ } = _ref;
29
31
  const hasLeftAddon = !!leftAddon || keepLeftPadding;
30
32
  const hasRightAddon = !!rightAddon && !isEdit;
31
33
  const cols = [1];
@@ -38,21 +40,21 @@ const CellWithAddons = ({
38
40
  hasRightAddon: hasRightAddon,
39
41
  badgeAddon: badgeAddon,
40
42
  highLight: highLight
41
- }, void 0, /*#__PURE__*/_jsx__default["default"](Grid.Grid, {
43
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
42
44
  height: "100%",
43
45
  cols: cols
44
- }, void 0, hasLeftAddon && /*#__PURE__*/_jsx__default["default"](Grid.Grid, {
46
+ }, void 0, hasLeftAddon && /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
45
47
  alignItems: "center",
46
48
  pl: "xxs",
47
49
  pr: "xxs",
48
50
  width: keepLeftPadding ? '32px' : undefined
49
- }, void 0, hasLeftAddon && leftAddon), /*#__PURE__*/_jsx__default["default"](Grid.Grid, {
51
+ }, void 0, hasLeftAddon && leftAddon), /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
50
52
  alignItems: "center"
51
53
  }, void 0, /*#__PURE__*/_jsx__default["default"](styled.ValueWrapper, {
52
54
  grayText: shouldBeGray
53
55
  }, void 0, isEdit ? editComponent : /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText__default["default"], {
54
56
  value: value
55
- }))), hasRightAddon && /*#__PURE__*/_jsx__default["default"](Grid.Grid, {
57
+ }))), hasRightAddon && /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
56
58
  alignItems: "center",
57
59
  pl: "xxs"
58
60
  }, void 0, rightAddon)));
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var styled = require('styled-components');
6
- var Grid = require('@elliemae/ds-basic/Grid');
6
+ var Grid = require('@elliemae/ds-grid');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
11
12
 
12
13
  const m = '0.61538rem';
13
14
  const m2 = '1.23076rem';
@@ -17,7 +18,7 @@ const CellWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
17
18
  const ValueWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
18
19
  componentId: "sc-1n8exyf-1"
19
20
  })(["display:flex;align-items:center;overflow:hidden;& > span{display:inline-flex;align-items:center;}", ""], props => props.grayText ? "color: ".concat(props.theme.colors.neutral['500'], ";") : '');
20
- const CellContainer = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
21
+ const CellContainer = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
21
22
  componentId: "sc-1n8exyf-2"
22
23
  })(["padding-left:", ";padding-right:", ";position:relative;"], m, m);
23
24
 
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/esnext.async-iterator.for-each.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.for-each.js');
3
6
  var DndRowsPlugin = require('../plugins/row-dnd/DndRowsPlugin.js');
4
7
  var DndColumnsPlugin = require('../plugins/column-dnd/DndColumnsPlugin.js');
5
8
  var InfiniteScrollPlugin = require('../plugins/infinite-scrolling/InfiniteScrollPlugin.js');
@@ -29,7 +32,8 @@ const mapPropToPlugin = {
29
32
  groupedRows: GroupingPlugin.GroupingPlugin,
30
33
  dragAndDropRows: DndRowsPlugin.DndRowsPlugin
31
34
  };
32
- function getPluginsFromProps(props, omit = {}) {
35
+ function getPluginsFromProps(props) {
36
+ let omit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
37
  const plugins = [];
34
38
  Object.keys(mapPropToPlugin).forEach(key => {
35
39
  if (props[key] && !omit[key]) plugins.push(mapPropToPlugin[key]);
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function getScrollbarWidth(compensatePixels = 0) {
5
+ function getScrollbarWidth() {
6
+ let compensatePixels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
6
7
  // Creating invisible container
7
8
  const outer = document.createElement('div');
8
9
  outer.style.visibility = 'hidden';
@@ -3,7 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.map.js');
7
+ require('core-js/modules/esnext.iterator.map.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.for-each.js');
6
11
  require('core-js/modules/es.string.replace.js');
12
+ require('core-js/modules/esnext.async-iterator.filter.js');
13
+ require('core-js/modules/esnext.iterator.filter.js');
7
14
 
8
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
16
 
@@ -12,7 +19,6 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
12
19
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
20
 
14
21
  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; }
15
-
16
22
  const normalizeRows = rows => rows.map(row => {
17
23
  Object.keys(row).forEach(key => row[normalizeText(key)] = row[key]);
18
24
  return row;
package/esm/DSDataGrid.js CHANGED
@@ -1,252 +1,255 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import 'react';
3
3
  import { PropTypes, describe } from 'react-desc';
4
- import { TooltipTextProvider } from '@elliemae/ds-basic/TruncatedTooltipText';
4
+ import { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';
5
5
  import DataGridImpl from './DataGridImpl.js';
6
6
  import { RowSizesOptionsArr, RowSizesOptions } from './rowSizes.js';
7
7
 
8
- const DSDataGrids = ({
9
- containerProps = {},
10
- instanceRef,
11
- className = '',
12
- // data
13
- columns = [],
14
- rows = [],
15
- rowKey = 'id',
16
- // features
17
- infiniteScrolling = false,
18
- editable = false,
19
- sortable = false,
20
- sortEmptyLast = false,
21
- paginated = false,
22
- dragAndDropRows = false,
23
- selectable = false,
24
- resizeableColumns = false,
25
- searchFilters = false,
26
- dragAndDropColumns = false,
27
- useTreeData = false,
28
- autoScrollToId,
29
- // virtualization props
30
- overscanCount = 10,
31
- // feature state
32
- selectAll = false,
33
- // todo: change to isAllSelected
34
- selectedRows = [],
35
- filters = undefined,
36
- onAddFilter = () => null,
37
- onRemoveFilter = () => null,
38
- onFiltersChange = () => null,
39
- showFilterBar = true,
40
- multiSelectFilterOptions = [{
41
- id: 'true',
42
- label: 'Selected'
43
- }, {
44
- id: 'false',
45
- label: 'Not selected'
46
- }],
47
- multiSelectFilterLabels = undefined,
48
- multiSelectFilterLabel = 'Selection',
49
- aggregations = {},
50
- groupingColumn = undefined,
51
- sortingColumns = {},
52
- // pagination
53
- minPerPage = 0,
54
- maxPerPage = 50,
55
- onPerPageChange = () => null,
56
- onPageChange = () => null,
57
- paginationStep = 2,
58
- pagination = {
59
- page: 1,
60
- perPage: 10
61
- },
62
- // visual
63
- showHeader = true,
64
- fixedHeader = true,
65
- wrapText = false,
66
- height = undefined,
67
- minColumnWidth = 100,
68
- showRowsLoader = false,
69
- visibleColumns = undefined,
70
- // this enforces visibility of columns
71
- showSelectHighlight = false,
72
- showSelectColumn = true,
73
- selectColumnSortable = true,
74
- selectColumnFilterable = false,
75
- selectionColumnDefinition = {},
76
- filterBarOptions = undefined,
77
- // searchGrid = false,
78
- renderToolbar = undefined,
79
- toolbarDelayClose = 400,
80
- renderFilterToolbar = undefined,
81
- multiSelectComponent = undefined,
82
- // todo: deprecate this
83
- noResultsRender,
84
- noResultsPlaceholder,
85
- fluidHeight = false,
86
- customHandlers = {},
87
- // grouping feature
88
- groupedBy = undefined,
89
- // callbacks
90
- onDefaultFiltersLoad = () => null,
91
- onReorder = () => null,
92
- onMoveRowEnd = () => null,
93
- onMoveRowStart = () => null,
94
- onMoveColumnOver = () => null,
95
- onMoveColumnStart = () => null,
96
- onMoveColumnEnd = () => null,
97
- onColumnResize = () => null,
98
- onExpandChange = () => null,
99
- onToggleExpand = () => null,
100
- onExpandRow = () => null,
101
- onFilter = () => null,
102
- onSort = () => null,
103
- onColumnRowEdited = () => null,
104
- onColumnRowEdit = () => null,
105
- onSelectRow = () => null,
106
- onSelectAll = () => null,
107
- onInfiniteScrolling = () => null,
108
- onFilterMenuClose = () => null,
109
- onFilterMenuOpen = () => null,
110
- getData = undefined,
111
- // todo: change to onGetMoreData
112
- serverSideData = false,
113
- isDataSorted = false,
114
- isDataFiltered = false,
115
- virtualized = true,
116
- numRowsVisible = undefined,
117
- isColumnEditable = column => column.editable,
118
- // grouped props
119
- groupedRows = false,
120
- groupedRowsRenderHeader = undefined,
121
- // expandable props
122
- renderExpandedDetails = () => null,
123
- detailColumns,
124
- expandable = false,
125
- getChildrenRows = row => row.children,
126
- expandableSubrowsVisible = 7,
127
- renderRowDetails = () => null,
128
- getExpandedRowSize = undefined,
129
- getExpandedRowMinSize,
130
- rowSize = RowSizesOptions.normal,
131
- subRowSize = RowSizesOptions.normal,
132
- bindColumnsSizeTo = undefined,
133
- bindRowSizeTo = undefined,
134
- onToggleShowAllRows,
135
- expandedRows,
136
- autoHeight = false,
137
- noColumnsPlaceholder,
138
- plugins = [],
139
- normalizeDataKeys = false
140
- }) => /*#__PURE__*/_jsx(TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx(DataGridImpl, {
141
- aggregations: aggregations,
142
- autoHeight: autoHeight && !fluidHeight,
143
- autoScrollToId: autoScrollToId,
144
- bindColumnsSizeTo: bindColumnsSizeTo,
145
- bindRowSizeTo: bindRowSizeTo,
146
- className: className,
147
- columns: columns,
148
- containerProps: containerProps,
149
- customHandlers: customHandlers,
150
- detailColumns: detailColumns,
151
- dragAndDropColumns: dragAndDropColumns,
152
- dragAndDropRows: dragAndDropRows,
153
- editable: editable,
154
- expandable: expandable,
155
- expandableSubrowsVisible: expandableSubrowsVisible,
156
- expandedRows: expandedRows,
157
- filterBarOptions: filterBarOptions,
158
- filters: filters,
159
- fixedHeader: fixedHeader,
160
- fluidHeight: fluidHeight,
161
- getChildrenRows: getChildrenRows,
162
- getData: getData,
163
- getExpandedRowMinSize: getExpandedRowMinSize,
164
- getExpandedRowSize: getExpandedRowSize,
165
- groupedBy: groupedBy,
166
- groupedRows: groupedRows,
167
- groupedRowsRenderHeader: groupedRowsRenderHeader,
168
- groupingColumn: groupingColumn,
169
- height: height,
170
- infiniteScrolling: infiniteScrolling,
171
- instanceRef: instanceRef,
172
- isColumnEditable: isColumnEditable,
173
- isDataFiltered: isDataFiltered,
174
- isDataSorted: isDataSorted,
175
- maxPerPage: maxPerPage,
176
- minColumnWidth: minColumnWidth,
177
- minPerPage: minPerPage,
178
- multiSelectComponent: multiSelectComponent,
179
- multiSelectFilterLabel: multiSelectFilterLabel,
180
- multiSelectFilterLabels: multiSelectFilterLabels,
181
- multiSelectFilterOptions: multiSelectFilterOptions,
182
- noColumnsPlaceholder: noColumnsPlaceholder,
183
- noResultsPlaceholder: noResultsPlaceholder,
184
- noResultsRender: noResultsRender,
185
- normalizeDataKeys: normalizeDataKeys,
186
- numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
187
- ,
188
- onAddFilter: onAddFilter,
189
- onColumnResize: onColumnResize,
190
- onColumnRowEdit: onColumnRowEdit,
191
- onColumnRowEdited: onColumnRowEdited,
192
- onExpandRow: onExpandRow,
193
- onExpandChange: onExpandChange,
194
- onFilter: onFilter,
195
- onFiltersChange: onFiltersChange,
196
- onFilterMenuClose: onFilterMenuClose,
197
- onFilterMenuOpen: onFilterMenuOpen,
198
- onDefaultFiltersLoad: onDefaultFiltersLoad,
199
- onInfiniteScrolling: onInfiniteScrolling,
200
- onMoveColumnEnd: onMoveColumnEnd,
201
- onMoveColumnOver: onMoveColumnOver,
202
- onMoveColumnStart: onMoveColumnStart,
203
- onMoveRowEnd: onMoveRowEnd,
204
- onMoveRowStart: onMoveRowStart,
205
- onPageChange: onPageChange,
206
- onPerPageChange: onPerPageChange,
207
- onRemoveFilter: onRemoveFilter,
208
- onReorder: onReorder,
209
- onSelectAll: onSelectAll,
210
- onSelectRow: onSelectRow,
211
- onSort: onSort,
212
- onToggleExpand: onToggleExpand,
213
- onToggleShowAllRows: onToggleShowAllRows,
214
- overscanCount: overscanCount,
215
- paginated: paginated,
216
- pagination: pagination,
217
- paginationStep: paginationStep,
218
- plugins: plugins,
219
- renderExpandedDetails: renderExpandedDetails,
220
- renderFilterToolbar: renderFilterToolbar,
221
- renderRowDetails: renderRowDetails,
222
- renderToolbar: renderToolbar,
223
- resizeableColumns: resizeableColumns,
224
- rowKey: rowKey,
225
- rows: rows,
226
- rowSize: rowSize,
227
- searchFilters: searchFilters,
228
- selectable: selectable,
229
- selectAll: selectAll,
230
- selectColumnFilterable: selectColumnFilterable,
231
- selectColumnSortable: selectColumnSortable,
232
- selectedRows: selectedRows,
233
- selectionColumnDefinition: selectionColumnDefinition,
234
- serverSideData: serverSideData,
235
- showFilterBar: showFilterBar,
236
- showHeader: showHeader,
237
- showRowsLoader: showRowsLoader,
238
- showSelectColumn: showSelectColumn,
239
- showSelectHighlight: showSelectHighlight,
240
- sortable: sortable,
241
- sortEmptyLast: sortEmptyLast,
242
- sortingColumns: sortingColumns,
243
- subrowSize: subRowSize,
244
- toolbarDelayClose: toolbarDelayClose,
245
- useTreeData: useTreeData,
246
- virtualized: virtualized,
247
- visibleColumns: visibleColumns,
248
- wrapText: wrapText
249
- }));
8
+ const DSDataGrids = _ref => {
9
+ let {
10
+ containerProps = {},
11
+ instanceRef,
12
+ className = '',
13
+ // data
14
+ columns = [],
15
+ rows = [],
16
+ rowKey = 'id',
17
+ // features
18
+ infiniteScrolling = false,
19
+ editable = false,
20
+ sortable = false,
21
+ sortEmptyLast = false,
22
+ paginated = false,
23
+ dragAndDropRows = false,
24
+ selectable = false,
25
+ resizeableColumns = false,
26
+ searchFilters = false,
27
+ dragAndDropColumns = false,
28
+ useTreeData = false,
29
+ autoScrollToId,
30
+ // virtualization props
31
+ overscanCount = 10,
32
+ // feature state
33
+ selectAll = false,
34
+ // todo: change to isAllSelected
35
+ selectedRows = [],
36
+ filters = undefined,
37
+ onAddFilter = () => null,
38
+ onRemoveFilter = () => null,
39
+ onFiltersChange = () => null,
40
+ showFilterBar = true,
41
+ multiSelectFilterOptions = [{
42
+ id: 'true',
43
+ label: 'Selected'
44
+ }, {
45
+ id: 'false',
46
+ label: 'Not selected'
47
+ }],
48
+ multiSelectFilterLabels = undefined,
49
+ multiSelectFilterLabel = 'Selection',
50
+ aggregations = {},
51
+ groupingColumn = undefined,
52
+ sortingColumns = {},
53
+ // pagination
54
+ minPerPage = 0,
55
+ maxPerPage = 50,
56
+ onPerPageChange = () => null,
57
+ onPageChange = () => null,
58
+ paginationStep = 2,
59
+ pagination = {
60
+ page: 1,
61
+ perPage: 10
62
+ },
63
+ // visual
64
+ showHeader = true,
65
+ fixedHeader = true,
66
+ wrapText = false,
67
+ height = undefined,
68
+ minColumnWidth = 100,
69
+ showRowsLoader = false,
70
+ visibleColumns = undefined,
71
+ // this enforces visibility of columns
72
+ showSelectHighlight = false,
73
+ showSelectColumn = true,
74
+ selectColumnSortable = true,
75
+ selectColumnFilterable = false,
76
+ selectionColumnDefinition = {},
77
+ filterBarOptions = undefined,
78
+ // searchGrid = false,
79
+ renderToolbar = undefined,
80
+ toolbarDelayClose = 400,
81
+ renderFilterToolbar = undefined,
82
+ multiSelectComponent = undefined,
83
+ // todo: deprecate this
84
+ noResultsRender,
85
+ noResultsPlaceholder,
86
+ fluidHeight = false,
87
+ customHandlers = {},
88
+ // grouping feature
89
+ groupedBy = undefined,
90
+ // callbacks
91
+ onDefaultFiltersLoad = () => null,
92
+ onReorder = () => null,
93
+ onMoveRowEnd = () => null,
94
+ onMoveRowStart = () => null,
95
+ onMoveColumnOver = () => null,
96
+ onMoveColumnStart = () => null,
97
+ onMoveColumnEnd = () => null,
98
+ onColumnResize = () => null,
99
+ onExpandChange = () => null,
100
+ onToggleExpand = () => null,
101
+ onExpandRow = () => null,
102
+ onFilter = () => null,
103
+ onSort = () => null,
104
+ onColumnRowEdited = () => null,
105
+ onColumnRowEdit = () => null,
106
+ onSelectRow = () => null,
107
+ onSelectAll = () => null,
108
+ onInfiniteScrolling = () => null,
109
+ onFilterMenuClose = () => null,
110
+ onFilterMenuOpen = () => null,
111
+ getData = undefined,
112
+ // todo: change to onGetMoreData
113
+ serverSideData = false,
114
+ isDataSorted = false,
115
+ isDataFiltered = false,
116
+ virtualized = true,
117
+ numRowsVisible = undefined,
118
+ isColumnEditable = column => column.editable,
119
+ // grouped props
120
+ groupedRows = false,
121
+ groupedRowsRenderHeader = undefined,
122
+ // expandable props
123
+ renderExpandedDetails = () => null,
124
+ detailColumns,
125
+ expandable = false,
126
+ getChildrenRows = row => row.children,
127
+ expandableSubrowsVisible = 7,
128
+ renderRowDetails = () => null,
129
+ getExpandedRowSize = undefined,
130
+ getExpandedRowMinSize,
131
+ rowSize = RowSizesOptions.normal,
132
+ subRowSize = RowSizesOptions.normal,
133
+ bindColumnsSizeTo = undefined,
134
+ bindRowSizeTo = undefined,
135
+ onToggleShowAllRows,
136
+ expandedRows,
137
+ autoHeight = false,
138
+ noColumnsPlaceholder,
139
+ plugins = [],
140
+ normalizeDataKeys = false
141
+ } = _ref;
142
+ return /*#__PURE__*/_jsx(TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx(DataGridImpl, {
143
+ aggregations: aggregations,
144
+ autoHeight: autoHeight && !fluidHeight,
145
+ autoScrollToId: autoScrollToId,
146
+ bindColumnsSizeTo: bindColumnsSizeTo,
147
+ bindRowSizeTo: bindRowSizeTo,
148
+ className: className,
149
+ columns: columns,
150
+ containerProps: containerProps,
151
+ customHandlers: customHandlers,
152
+ detailColumns: detailColumns,
153
+ dragAndDropColumns: dragAndDropColumns,
154
+ dragAndDropRows: dragAndDropRows,
155
+ editable: editable,
156
+ expandable: expandable,
157
+ expandableSubrowsVisible: expandableSubrowsVisible,
158
+ expandedRows: expandedRows,
159
+ filterBarOptions: filterBarOptions,
160
+ filters: filters,
161
+ fixedHeader: fixedHeader,
162
+ fluidHeight: fluidHeight,
163
+ getChildrenRows: getChildrenRows,
164
+ getData: getData,
165
+ getExpandedRowMinSize: getExpandedRowMinSize,
166
+ getExpandedRowSize: getExpandedRowSize,
167
+ groupedBy: groupedBy,
168
+ groupedRows: groupedRows,
169
+ groupedRowsRenderHeader: groupedRowsRenderHeader,
170
+ groupingColumn: groupingColumn,
171
+ height: height,
172
+ infiniteScrolling: infiniteScrolling,
173
+ instanceRef: instanceRef,
174
+ isColumnEditable: isColumnEditable,
175
+ isDataFiltered: isDataFiltered,
176
+ isDataSorted: isDataSorted,
177
+ maxPerPage: maxPerPage,
178
+ minColumnWidth: minColumnWidth,
179
+ minPerPage: minPerPage,
180
+ multiSelectComponent: multiSelectComponent,
181
+ multiSelectFilterLabel: multiSelectFilterLabel,
182
+ multiSelectFilterLabels: multiSelectFilterLabels,
183
+ multiSelectFilterOptions: multiSelectFilterOptions,
184
+ noColumnsPlaceholder: noColumnsPlaceholder,
185
+ noResultsPlaceholder: noResultsPlaceholder,
186
+ noResultsRender: noResultsRender,
187
+ normalizeDataKeys: normalizeDataKeys,
188
+ numRowsVisible: numRowsVisible // if defined, fluidHeight is disabled
189
+ ,
190
+ onAddFilter: onAddFilter,
191
+ onColumnResize: onColumnResize,
192
+ onColumnRowEdit: onColumnRowEdit,
193
+ onColumnRowEdited: onColumnRowEdited,
194
+ onExpandRow: onExpandRow,
195
+ onExpandChange: onExpandChange,
196
+ onFilter: onFilter,
197
+ onFiltersChange: onFiltersChange,
198
+ onFilterMenuClose: onFilterMenuClose,
199
+ onFilterMenuOpen: onFilterMenuOpen,
200
+ onDefaultFiltersLoad: onDefaultFiltersLoad,
201
+ onInfiniteScrolling: onInfiniteScrolling,
202
+ onMoveColumnEnd: onMoveColumnEnd,
203
+ onMoveColumnOver: onMoveColumnOver,
204
+ onMoveColumnStart: onMoveColumnStart,
205
+ onMoveRowEnd: onMoveRowEnd,
206
+ onMoveRowStart: onMoveRowStart,
207
+ onPageChange: onPageChange,
208
+ onPerPageChange: onPerPageChange,
209
+ onRemoveFilter: onRemoveFilter,
210
+ onReorder: onReorder,
211
+ onSelectAll: onSelectAll,
212
+ onSelectRow: onSelectRow,
213
+ onSort: onSort,
214
+ onToggleExpand: onToggleExpand,
215
+ onToggleShowAllRows: onToggleShowAllRows,
216
+ overscanCount: overscanCount,
217
+ paginated: paginated,
218
+ pagination: pagination,
219
+ paginationStep: paginationStep,
220
+ plugins: plugins,
221
+ renderExpandedDetails: renderExpandedDetails,
222
+ renderFilterToolbar: renderFilterToolbar,
223
+ renderRowDetails: renderRowDetails,
224
+ renderToolbar: renderToolbar,
225
+ resizeableColumns: resizeableColumns,
226
+ rowKey: rowKey,
227
+ rows: rows,
228
+ rowSize: rowSize,
229
+ searchFilters: searchFilters,
230
+ selectable: selectable,
231
+ selectAll: selectAll,
232
+ selectColumnFilterable: selectColumnFilterable,
233
+ selectColumnSortable: selectColumnSortable,
234
+ selectedRows: selectedRows,
235
+ selectionColumnDefinition: selectionColumnDefinition,
236
+ serverSideData: serverSideData,
237
+ showFilterBar: showFilterBar,
238
+ showHeader: showHeader,
239
+ showRowsLoader: showRowsLoader,
240
+ showSelectColumn: showSelectColumn,
241
+ showSelectHighlight: showSelectHighlight,
242
+ sortable: sortable,
243
+ sortEmptyLast: sortEmptyLast,
244
+ sortingColumns: sortingColumns,
245
+ subrowSize: subRowSize,
246
+ toolbarDelayClose: toolbarDelayClose,
247
+ useTreeData: useTreeData,
248
+ virtualized: virtualized,
249
+ visibleColumns: visibleColumns,
250
+ wrapText: wrapText
251
+ }));
252
+ };
250
253
 
251
254
  const props = {
252
255
  /** ref to the instance of the datagrid, handle it imperatively */