@elliemae/ds-data-table 2.0.0-rc.1 → 2.0.0-rc.13
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.
- package/cjs/DataTableSchema.js +21 -12
- package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +16 -0
- package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +24 -2
- package/cjs/addons/Filters/Components/DateRangeFilter/index.js +4 -1
- package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +25 -3
- package/cjs/addons/Filters/Components/SingleDateFilter/index.js +4 -1
- package/cjs/addons/Filters/Components/index.js +0 -2
- package/cjs/addons/Filters/index.js +0 -2
- package/cjs/configs/usePaginationConfig.js +1 -1
- package/cjs/configs/useRowFlattenization.js +3 -3
- package/cjs/exported-related/EditableCell.js +13 -7
- package/cjs/exported-related/FilterPopover.js +17 -3
- package/cjs/exported-related/FilterTypes.js +0 -1
- package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +0 -2
- package/cjs/exported-related/Filters/index.js +0 -2
- package/cjs/exported-related/index.js +0 -2
- package/cjs/helpers/refs-helpers.js +2 -2
- package/cjs/index.js +0 -2
- package/cjs/parts/FilterBar/FiltersBar.js +0 -2
- package/cjs/parts/FilterBar/components/index.js +0 -2
- package/cjs/parts/Filters/index.js +10 -12
- package/cjs/parts/Headers/HeaderCellGroup.js +4 -3
- package/cjs/parts/Headers/index.js +1 -1
- package/cjs/parts/Headers/useHeaderCellHandlers.js +4 -2
- package/cjs/parts/HoC/withConditionalDnDColumnContext.js +37 -16
- package/cjs/parts/HoC/withConditionalDnDRowContext.js +11 -12
- package/cjs/parts/HoC/withConditionalDnDSortableContext.js +1 -1
- package/cjs/parts/HoC/withDnDSortableColumnContext.js +5 -19
- package/cjs/parts/HoC/withDnDSortableRowContext.js +3 -17
- package/cjs/parts/Row.js +10 -10
- package/cjs/parts/Rows.js +1 -1
- package/cjs/parts/index.js +1 -1
- package/cjs/styled.js +18 -13
- package/esm/DataTableSchema.js +21 -12
- package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +16 -0
- package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +24 -2
- package/esm/addons/Filters/Components/DateRangeFilter/index.js +4 -1
- package/esm/addons/Filters/Components/NumberRangeFilter/index.js +25 -3
- package/esm/addons/Filters/Components/SingleDateFilter/index.js +4 -1
- package/esm/addons/Filters/Components/index.js +0 -1
- package/esm/addons/Filters/index.js +0 -1
- package/esm/configs/usePaginationConfig.js +1 -1
- package/esm/configs/useRowFlattenization.js +3 -3
- package/esm/exported-related/EditableCell.js +13 -7
- package/esm/exported-related/FilterPopover.js +17 -3
- package/esm/exported-related/FilterTypes.js +0 -1
- package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +0 -2
- package/esm/exported-related/Filters/index.js +0 -1
- package/esm/exported-related/index.js +0 -1
- package/esm/helpers/refs-helpers.js +2 -2
- package/esm/index.js +0 -1
- package/esm/parts/FilterBar/FiltersBar.js +0 -2
- package/esm/parts/FilterBar/components/index.js +0 -1
- package/esm/parts/Filters/index.js +0 -2
- package/esm/parts/Headers/HeaderCellGroup.js +4 -4
- package/esm/parts/Headers/index.js +2 -2
- package/esm/parts/Headers/useHeaderCellHandlers.js +4 -2
- package/esm/parts/HoC/withConditionalDnDColumnContext.js +38 -17
- package/esm/parts/HoC/withConditionalDnDRowContext.js +12 -13
- package/esm/parts/HoC/withConditionalDnDSortableContext.js +1 -1
- package/esm/parts/HoC/withDnDSortableColumnContext.js +6 -20
- package/esm/parts/HoC/withDnDSortableRowContext.js +4 -18
- package/esm/parts/Row.js +7 -10
- package/esm/styled.js +18 -13
- package/package.json +26 -103
- package/types/DataTable.d.ts +245 -43
- package/types/DataTableSchema.d.ts +245 -43
- package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
- package/types/addons/Filters/Components/index.d.ts +0 -1
- package/types/exported-related/FilterTypes.d.ts +0 -1
- package/types/exported-related/Filters/index.d.ts +0 -1
- package/types/helpers/refs-helpers.d.ts +1 -1
- package/types/parts/FilterBar/components/index.d.ts +0 -1
- package/types/parts/FilterBar/styled.d.ts +165 -30
- package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
- package/types/parts/Row.d.ts +2 -1
- package/types/styled.d.ts +21 -19
- package/types/types/props.d.ts +2 -2
- package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -92
- package/cjs/exported-related/Filters/textFilterFn.js +0 -14
- package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -76
- package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -141
- package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
- package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -55
- package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
- package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -109
- package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -87
- package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -98
- package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -139
- package/cjs/helpers/dndkit/tree/types.js +0 -2
- package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -75
- package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
- package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -139
- package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -54
- package/cjs/helpers/dndkit/types.js +0 -2
- package/cjs/helpers/dndkit/utilities.js +0 -52
- package/cjs/parts/FilterBar/components/TextPill.js +0 -42
- package/cjs/parts/HoC/DragOverlayContext.js +0 -11
- package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -84
- package/esm/exported-related/Filters/textFilterFn.js +0 -10
- package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -72
- package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -133
- package/esm/helpers/dndkit/hierarchy/types.js +0 -1
- package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -51
- package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
- package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -103
- package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -83
- package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -94
- package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -131
- package/esm/helpers/dndkit/tree/types.js +0 -1
- package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -71
- package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
- package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -133
- package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -50
- package/esm/helpers/dndkit/types.js +0 -1
- package/esm/helpers/dndkit/utilities.js +0 -47
- package/esm/parts/FilterBar/components/TextPill.js +0 -34
- package/esm/parts/HoC/DragOverlayContext.js +0 -7
- package/types/addons/Filters/Components/TextInputFilter/index.d.ts +0 -3
- package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
- package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
- package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
- package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
- package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
- package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
- package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
- package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
- package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
- package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
- package/types/helpers/dndkit/tree/types.d.ts +0 -83
- package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
- package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
- package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
- package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
- package/types/helpers/dndkit/types.d.ts +0 -20
- package/types/helpers/dndkit/utilities.d.ts +0 -7
- package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
- package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
package/cjs/DataTableSchema.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var reactDesc = require('react-desc');
|
|
6
6
|
|
|
7
7
|
/* eslint-disable max-lines */
|
|
8
|
-
const outOfTheBoxFilterType = reactDesc.PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-
|
|
8
|
+
const outOfTheBoxFilterType = reactDesc.PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-single-date', 'ds-filter-date-range', 'ds-filter-number-range']);
|
|
9
9
|
const textWrappingType = reactDesc.PropTypes.oneOf(['wrap', 'wrap-all', 'truncate']);
|
|
10
10
|
const rowVariantType = reactDesc.PropTypes.oneOf(['ds_header_group_row', 'ds_primary_row', 'ds_secondary_row']);
|
|
11
11
|
const columnPropTypes = {
|
|
@@ -68,20 +68,29 @@ const DataTableSchema = {
|
|
|
68
68
|
})).description('Any extra option you want in the dropdownmenu of the filter bar')
|
|
69
69
|
}).description('Props for the filter bar'),
|
|
70
70
|
onFiltersChange: reactDesc.PropTypes.func.description('Function invoked when filters change'),
|
|
71
|
-
pagination: reactDesc.PropTypes.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
onPageChange: reactDesc.PropTypes.func.description('Function invoked when the page is changed'),
|
|
78
|
-
onPreviousPage: reactDesc.PropTypes.func.description('Function invoked when the previous button is pressed'),
|
|
79
|
-
onNextPage: reactDesc.PropTypes.func.description('Function invoked when next button is pressed'),
|
|
80
|
-
pageCount: reactDesc.PropTypes.number.description('How many pages are there. By default it will be calculated based on the ammount of rows you have'),
|
|
71
|
+
pagination: reactDesc.PropTypes.shape({
|
|
72
|
+
pageCount: reactDesc.PropTypes.number.description('How many pages are there'),
|
|
73
|
+
pageIndex: reactDesc.PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),
|
|
74
|
+
canPreviousPage: reactDesc.PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),
|
|
75
|
+
canNextPage: reactDesc.PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),
|
|
76
|
+
pageSize: reactDesc.PropTypes.number.description('The current page size').defaultValue(10),
|
|
81
77
|
showPerPageSelector: reactDesc.PropTypes.bool.description('Whether to show the page selector').defaultValue(true),
|
|
78
|
+
perPageOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.number, reactDesc.PropTypes.shape({
|
|
79
|
+
dsId: reactDesc.PropTypes.string,
|
|
80
|
+
value: reactDesc.PropTypes.number,
|
|
81
|
+
label: reactDesc.PropTypes.string,
|
|
82
|
+
type: reactDesc.PropTypes.oneOf(['single'])
|
|
83
|
+
})])).description('The available options for page size').defaultValue([10]),
|
|
84
|
+
perPageStep: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(5),
|
|
85
|
+
minPerPage: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(0),
|
|
86
|
+
maxPerPage: reactDesc.PropTypes.number.description('Step for the per page options').defaultValue(100),
|
|
87
|
+
onPageSizeChange: reactDesc.PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),
|
|
88
|
+
onPreviousPage: reactDesc.PropTypes.func.description('Function invoked when the previous button is pressed').defaultValue(() => null),
|
|
89
|
+
onPageChange: reactDesc.PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),
|
|
90
|
+
onNextPage: reactDesc.PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),
|
|
82
91
|
pageDetails: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.string).description('Details to provide for each page').defaultValue([]),
|
|
83
92
|
pageDetailsTitle: reactDesc.PropTypes.string.description('The title of the details (usually a column of your dataset)').defaultValue('')
|
|
84
|
-
})
|
|
93
|
+
}).description('Object containing the data for the pagination'),
|
|
85
94
|
colsLayoutStyle: reactDesc.PropTypes.oneOf(['auto', 'fixed']).description('Whether the datatable fills its container or not'),
|
|
86
95
|
hiddenColumns: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.string).description('IDs of columns not to render'),
|
|
87
96
|
dragAndDropRows: reactDesc.PropTypes.bool.description('Whether to turn on the d&d feature for the rows').defaultValue(false),
|
|
@@ -79,15 +79,31 @@ const TextEditableCell = props => {
|
|
|
79
79
|
rowIndex
|
|
80
80
|
});
|
|
81
81
|
}, [value, onCellValueChange, cell.column.id, cell.row.index]);
|
|
82
|
+
const handleOnKeyDown = React.useCallback(e => {
|
|
83
|
+
if (e.code === 'Enter') {
|
|
84
|
+
cell.ref.current.focus(); // will exec on blur callback from input and save new value
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (e.code === 'Escape') {
|
|
88
|
+
setValue(cell.value);
|
|
89
|
+
const auxRef = cell.ref.current; // this prevent the on blur
|
|
90
|
+
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
auxRef.focus();
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}, [cell]);
|
|
82
96
|
return /*#__PURE__*/_jsx__default["default"](EditableCell.EditableCell, {
|
|
83
97
|
StandardRender: DefaultCellRender,
|
|
84
98
|
EditableRenderer: /*#__PURE__*/_jsx__default["default"](StyledInput, {
|
|
85
99
|
value: value,
|
|
100
|
+
onKeyDown: handleOnKeyDown,
|
|
86
101
|
onChange: handleOnChange,
|
|
87
102
|
onBlur: handleOnBlur,
|
|
88
103
|
autoFocus: true
|
|
89
104
|
}),
|
|
90
105
|
cell: cell,
|
|
106
|
+
setValue: setValue,
|
|
91
107
|
isRowSelected: isRowSelected
|
|
92
108
|
});
|
|
93
109
|
};
|
|
@@ -41,6 +41,8 @@ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
|
|
|
41
41
|
require('moment');
|
|
42
42
|
require('core-js/modules/esnext.async-iterator.some.js');
|
|
43
43
|
require('core-js/modules/esnext.iterator.some.js');
|
|
44
|
+
require('../../../../redux/reducers/headersReducers/headersReducers.js');
|
|
45
|
+
var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
|
|
44
46
|
|
|
45
47
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
46
48
|
|
|
@@ -92,6 +94,20 @@ const CurrencyRangeFilter = props => {
|
|
|
92
94
|
onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
|
|
93
95
|
};
|
|
94
96
|
|
|
97
|
+
const {
|
|
98
|
+
patchHeader
|
|
99
|
+
} = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
|
|
100
|
+
|
|
101
|
+
const closePopover = e => {
|
|
102
|
+
if (e.code === 'Escape') {
|
|
103
|
+
patchHeader(column.id, {
|
|
104
|
+
hideFilterMenu: true,
|
|
105
|
+
hideFilterButton: false
|
|
106
|
+
});
|
|
107
|
+
innerRef.current.focus();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
95
111
|
const idPreffix = 'datatable-currency-range';
|
|
96
112
|
return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
|
|
97
113
|
reduxHeader: reduxHeader,
|
|
@@ -116,7 +132,10 @@ const CurrencyRangeFilter = props => {
|
|
|
116
132
|
onChange: handleFromChange,
|
|
117
133
|
placeholder: "0.00",
|
|
118
134
|
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
|
|
119
|
-
autoFocus: true
|
|
135
|
+
autoFocus: true,
|
|
136
|
+
onKeyDown: e => {
|
|
137
|
+
closePopover(e);
|
|
138
|
+
}
|
|
120
139
|
})), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
|
|
121
140
|
label: "Max",
|
|
122
141
|
inputID: "".concat(idPreffix, "-max-").concat(column.id)
|
|
@@ -130,7 +149,10 @@ const CurrencyRangeFilter = props => {
|
|
|
130
149
|
value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
|
|
131
150
|
onChange: handleToChange,
|
|
132
151
|
placeholder: "0.00",
|
|
133
|
-
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number)
|
|
152
|
+
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
|
|
153
|
+
onKeyDown: e => {
|
|
154
|
+
closePopover(e);
|
|
155
|
+
}
|
|
134
156
|
}))),
|
|
135
157
|
triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
|
|
136
158
|
customStyles: {
|
|
@@ -89,7 +89,10 @@ const DateRangeFilter = props => {
|
|
|
89
89
|
width: "260px",
|
|
90
90
|
"data-testid": constants.DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
|
|
91
91
|
}, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
|
|
92
|
-
p: "xxs"
|
|
92
|
+
p: "xxs",
|
|
93
|
+
style: {
|
|
94
|
+
background: 'white'
|
|
95
|
+
}
|
|
93
96
|
}, void 0, /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateRangePicker, {
|
|
94
97
|
fromDate: startDate,
|
|
95
98
|
onFromDateChange: setStartDate,
|
|
@@ -41,6 +41,8 @@ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
|
|
|
41
41
|
require('moment');
|
|
42
42
|
require('core-js/modules/esnext.async-iterator.some.js');
|
|
43
43
|
require('core-js/modules/esnext.iterator.some.js');
|
|
44
|
+
require('../../../../redux/reducers/headersReducers/headersReducers.js');
|
|
45
|
+
var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
|
|
44
46
|
|
|
45
47
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
46
48
|
|
|
@@ -95,13 +97,27 @@ const NumberRangeFilter = props => {
|
|
|
95
97
|
onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
|
|
96
98
|
};
|
|
97
99
|
|
|
100
|
+
const {
|
|
101
|
+
patchHeader
|
|
102
|
+
} = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
|
|
103
|
+
|
|
104
|
+
const closePopover = e => {
|
|
105
|
+
if (e.code === 'Escape') {
|
|
106
|
+
patchHeader(column.id, {
|
|
107
|
+
hideFilterMenu: true,
|
|
108
|
+
hideFilterButton: false
|
|
109
|
+
});
|
|
110
|
+
innerRef.current.focus();
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
98
114
|
const idPreffix = 'datatable-number-range';
|
|
99
115
|
return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
|
|
100
116
|
reduxHeader: reduxHeader,
|
|
101
117
|
column: column,
|
|
102
118
|
columnId: column.id,
|
|
103
119
|
menuContent: /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
|
|
104
|
-
"data-testid": constants.DATA_TESTID.
|
|
120
|
+
"data-testid": constants.DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER,
|
|
105
121
|
gutter: "xxxs",
|
|
106
122
|
padding: "xxs",
|
|
107
123
|
cols: ['auto', 'auto']
|
|
@@ -119,7 +135,10 @@ const NumberRangeFilter = props => {
|
|
|
119
135
|
onChange: handleFromChange,
|
|
120
136
|
placeholder: "0",
|
|
121
137
|
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
|
|
122
|
-
autoFocus: true
|
|
138
|
+
autoFocus: true,
|
|
139
|
+
onKeyDown: e => {
|
|
140
|
+
closePopover(e);
|
|
141
|
+
}
|
|
123
142
|
})), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
|
|
124
143
|
label: "High",
|
|
125
144
|
inputID: "".concat(idPreffix, "-high-").concat(column.id)
|
|
@@ -133,7 +152,10 @@ const NumberRangeFilter = props => {
|
|
|
133
152
|
value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
|
|
134
153
|
onChange: handleToChange,
|
|
135
154
|
placeholder: "0",
|
|
136
|
-
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number)
|
|
155
|
+
mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
|
|
156
|
+
onKeyDown: e => {
|
|
157
|
+
closePopover(e);
|
|
158
|
+
}
|
|
137
159
|
}))),
|
|
138
160
|
triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
|
|
139
161
|
customStyles: {
|
|
@@ -79,7 +79,10 @@ const SingleDateFilter = props => {
|
|
|
79
79
|
"data-testid": constants.DATA_TESTID.DATA_TABLE_SINGLE_DATE_CONTROLLER,
|
|
80
80
|
width: "260px"
|
|
81
81
|
}, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
|
|
82
|
-
p: "xxs"
|
|
82
|
+
p: "xxs",
|
|
83
|
+
style: {
|
|
84
|
+
background: 'white'
|
|
85
|
+
}
|
|
83
86
|
}, void 0, /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateTimePicker, {
|
|
84
87
|
date: date,
|
|
85
88
|
onDateChange: setDate,
|
|
@@ -9,7 +9,6 @@ var index$3 = require('./CurrencyRangeFilter/index.js');
|
|
|
9
9
|
var SingleSelectFilter = require('./SelectFilter/SingleSelectFilter.js');
|
|
10
10
|
var MultiSelectFilter = require('./SelectFilter/MultiSelectFilter.js');
|
|
11
11
|
var index$4 = require('./SingleDateFilter/index.js');
|
|
12
|
-
var index$5 = require('./TextInputFilter/index.js');
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
|
|
@@ -20,4 +19,3 @@ exports.CurrencyRangeFilter = index$3.CurrencyRangeFilter;
|
|
|
20
19
|
exports.SingleSelectFilter = SingleSelectFilter.SingleSelectFilter;
|
|
21
20
|
exports.MultiSelectFilter = MultiSelectFilter.MultiSelectFilter;
|
|
22
21
|
exports.SingleDateFilter = index$4.SingleDateFilter;
|
|
23
|
-
exports.TextInputFilter = index$5.TextInputFilter;
|
|
@@ -9,7 +9,6 @@ var index$3 = require('./Components/CurrencyRangeFilter/index.js');
|
|
|
9
9
|
var SingleSelectFilter = require('./Components/SelectFilter/SingleSelectFilter.js');
|
|
10
10
|
var MultiSelectFilter = require('./Components/SelectFilter/MultiSelectFilter.js');
|
|
11
11
|
var index$4 = require('./Components/SingleDateFilter/index.js');
|
|
12
|
-
var index$5 = require('./Components/TextInputFilter/index.js');
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
|
|
@@ -20,4 +19,3 @@ exports.CurrencyRangeFilter = index$3.CurrencyRangeFilter;
|
|
|
20
19
|
exports.SingleSelectFilter = SingleSelectFilter.SingleSelectFilter;
|
|
21
20
|
exports.MultiSelectFilter = MultiSelectFilter.MultiSelectFilter;
|
|
22
21
|
exports.SingleDateFilter = index$4.SingleDateFilter;
|
|
23
|
-
exports.TextInputFilter = index$5.TextInputFilter;
|
|
@@ -24,7 +24,7 @@ const usePaginationConfig = (props, flattenedData) => {
|
|
|
24
24
|
onPreviousPage = emptyFunc,
|
|
25
25
|
onNextPage = emptyFunc,
|
|
26
26
|
onPageChange = emptyFunc,
|
|
27
|
-
pageCount = Math.
|
|
27
|
+
pageCount = Math.ceil(flattenedData.length / pageSize),
|
|
28
28
|
perPageStep = 5,
|
|
29
29
|
minPerPage = 0,
|
|
30
30
|
maxPerPage = 100,
|
|
@@ -25,7 +25,7 @@ const flatten = function (data, expandedRows, uniqueRowAccessor) {
|
|
|
25
25
|
const id = (parentId ? "".concat(parentId, ".") : '') + index.toString();
|
|
26
26
|
const uid = getIdFromUniqueRowAccessor.getIdFromUniqueRowAccessor(uniqueRowAccessor, {
|
|
27
27
|
id,
|
|
28
|
-
original: row
|
|
28
|
+
original: row !== null && row !== void 0 ? row : {}
|
|
29
29
|
});
|
|
30
30
|
const isExpanded = expandedRows[uid];
|
|
31
31
|
const rowToPush = {
|
|
@@ -37,11 +37,11 @@ const flatten = function (data, expandedRows, uniqueRowAccessor) {
|
|
|
37
37
|
parentIndex,
|
|
38
38
|
depth,
|
|
39
39
|
isExpanded,
|
|
40
|
-
original: row
|
|
40
|
+
original: row !== null && row !== void 0 ? row : {}
|
|
41
41
|
};
|
|
42
42
|
result.push(rowToPush); // If we have subrows and we are expanded
|
|
43
43
|
|
|
44
|
-
if (row.subRows && expandedRows[uid] && depth <= maxDepth) {
|
|
44
|
+
if (row !== null && row !== void 0 && row.subRows && expandedRows[uid] && depth <= maxDepth) {
|
|
45
45
|
row.subRows.forEach((subRow, i) => doit(subRow, i, uid, rowToPush.realIndex, depth + 1));
|
|
46
46
|
}
|
|
47
47
|
};
|
|
@@ -19,7 +19,8 @@ const EditableCell = props => {
|
|
|
19
19
|
StandardRender,
|
|
20
20
|
EditableRenderer,
|
|
21
21
|
cell,
|
|
22
|
-
isRowSelected
|
|
22
|
+
isRowSelected,
|
|
23
|
+
setValue
|
|
23
24
|
} = props;
|
|
24
25
|
const {
|
|
25
26
|
virtualListHelpers
|
|
@@ -41,20 +42,25 @@ const EditableCell = props => {
|
|
|
41
42
|
}
|
|
42
43
|
}, [isEditing]);
|
|
43
44
|
const handleOnKeyDown = React.useCallback(e => {
|
|
44
|
-
if (isEditing)
|
|
45
|
+
if (isEditing) {
|
|
46
|
+
e.stopPropagation();
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
if (['Enter', 'Escape'].includes(e.code)) {
|
|
49
|
+
setIsEditing(false);
|
|
50
|
+
}
|
|
51
|
+
} else if (['Enter', 'Space'].includes(e.code)) {
|
|
47
52
|
handleCellClick(e);
|
|
48
53
|
}
|
|
49
|
-
}, [isEditing, handleCellClick]);
|
|
54
|
+
}, [isEditing, handleCellClick, setIsEditing]);
|
|
50
55
|
const handleOnBlur = React.useCallback(event => {
|
|
51
56
|
if (isEditing && !event.currentTarget.contains(event.relatedTarget)) {
|
|
52
57
|
// Not triggered when swapping focus between children
|
|
53
58
|
setIsEditing(false);
|
|
54
59
|
}
|
|
55
60
|
}, [isEditing]);
|
|
61
|
+
const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];
|
|
56
62
|
return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledEditableContainer, {
|
|
57
|
-
cols:
|
|
63
|
+
cols: cols,
|
|
58
64
|
tabIndex: isRowSelected && !isEditing ? 0 : -1,
|
|
59
65
|
ref: cell.ref,
|
|
60
66
|
onClick: handleCellClick,
|
|
@@ -62,14 +68,14 @@ const EditableCell = props => {
|
|
|
62
68
|
onBlur: handleOnBlur,
|
|
63
69
|
shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
|
|
64
70
|
role: "cell",
|
|
65
|
-
"aria-
|
|
71
|
+
"aria-labelledby": isEditing ? undefined : cell.id,
|
|
66
72
|
children: [!isEditing ? StandardRender : EditableRenderer, !isEditing && (_StyledPencilIcon || (_StyledPencilIcon = /*#__PURE__*/_jsx__default["default"](styled.StyledPencilIcon, {}))), /*#__PURE__*/_jsx__default["default"]("span", {
|
|
67
73
|
id: cell.id,
|
|
68
74
|
style: {
|
|
69
75
|
display: 'none'
|
|
70
76
|
},
|
|
71
77
|
"aria-hidden": "true"
|
|
72
|
-
}, void 0, "
|
|
78
|
+
}, void 0, cell.value, ", editable cell. To edit the content's of this cell, press the Enter key")]
|
|
73
79
|
});
|
|
74
80
|
};
|
|
75
81
|
|
|
@@ -52,6 +52,9 @@ const FilterButton = /*#__PURE__*/styled__default["default"].span.withConfig({
|
|
|
52
52
|
const Button = /*#__PURE__*/styled__default["default"](DSButton__default["default"]).withConfig({
|
|
53
53
|
componentId: "sc-16i88ut-1"
|
|
54
54
|
})(["position:relative;justify-self:flex-end;"]);
|
|
55
|
+
const PopperContent = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
56
|
+
componentId: "sc-16i88ut-2"
|
|
57
|
+
})(["background-color:'#fff';"]);
|
|
55
58
|
const FilterPopover = _ref2 => {
|
|
56
59
|
var _column$ref$current$o, _column$ref, _column$ref$current;
|
|
57
60
|
|
|
@@ -152,9 +155,20 @@ const FilterPopover = _ref2 => {
|
|
|
152
155
|
minWidth: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
|
|
153
156
|
}),
|
|
154
157
|
placementOrderPreference: ['bottom-end']
|
|
155
|
-
}, void 0, /*#__PURE__*/jsxRuntime.jsx(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
}, void 0, /*#__PURE__*/jsxRuntime.jsx(PopperContent, {
|
|
159
|
+
onKeyDown: e => {
|
|
160
|
+
if (e.code === 'Tab') {
|
|
161
|
+
setTimeout(() => {
|
|
162
|
+
var _popperRef$current;
|
|
163
|
+
|
|
164
|
+
if (!(popperRef !== null && popperRef !== void 0 && (_popperRef$current = popperRef.current) !== null && _popperRef$current !== void 0 && _popperRef$current.contains(document.activeElement))) {
|
|
165
|
+
patchHeader(columnId, {
|
|
166
|
+
hideFilterMenu: true,
|
|
167
|
+
hideFilterButton: false
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
158
172
|
},
|
|
159
173
|
ref: popperRef,
|
|
160
174
|
children: menuContent
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const FILTER_TYPES = {
|
|
6
6
|
SELECT: 'ds-filter-select',
|
|
7
7
|
MULTI_SELECT: 'ds-filter-multi-select',
|
|
8
|
-
TEXT: 'ds-filter-text',
|
|
9
8
|
SINGLE_DATE: 'ds-filter-single-date',
|
|
10
9
|
DATE_RANGE: 'ds-filter-date-range',
|
|
11
10
|
DATE_SWITCHER: 'ds-filter-date-switcher',
|
|
@@ -7,7 +7,6 @@ require('core-js/modules/esnext.iterator.constructor.js');
|
|
|
7
7
|
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
8
|
var singleSelectFilterFn = require('./singleSelectFilterFn.js');
|
|
9
9
|
var multiSelectFilterFn = require('./multiSelectFilterFn.js');
|
|
10
|
-
var textFilterFn = require('./textFilterFn.js');
|
|
11
10
|
var singleDateFilterFn = require('./singleDateFilterFn.js');
|
|
12
11
|
var dateRangeFilterFn = require('./dateRangeFilterFn.js');
|
|
13
12
|
var dateSwitcherFilterFn = require('./dateSwitcherFilterFn.js');
|
|
@@ -19,7 +18,6 @@ var FilterTypes = require('../FilterTypes.js');
|
|
|
19
18
|
const filterMapper = {
|
|
20
19
|
[FilterTypes.FILTER_TYPES.SELECT]: singleSelectFilterFn.singleSelectFilterFn,
|
|
21
20
|
[FilterTypes.FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn.multiSelectFilterFn,
|
|
22
|
-
[FilterTypes.FILTER_TYPES.TEXT]: textFilterFn.textFilterFn,
|
|
23
21
|
[FilterTypes.FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn.singleDateFilterFn,
|
|
24
22
|
[FilterTypes.FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn.dateRangeFilterFn,
|
|
25
23
|
[FilterTypes.FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn.dateSwitcherFilterFn,
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var applyOutOfTheBoxFilters = require('./applyOutOfTheBoxFilters.js');
|
|
6
|
-
var textFilterFn = require('./textFilterFn.js');
|
|
7
6
|
var singleDateFilterFn = require('./singleDateFilterFn.js');
|
|
8
7
|
var singleSelectFilterFn = require('./singleSelectFilterFn.js');
|
|
9
8
|
var multiSelectFilterFn = require('./multiSelectFilterFn.js');
|
|
@@ -14,7 +13,6 @@ var dateRangeFilterFn = require('./dateRangeFilterFn.js');
|
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
|
|
17
|
-
exports.textFilterFn = textFilterFn.textFilterFn;
|
|
18
16
|
exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
|
|
19
17
|
exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
|
|
20
18
|
exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
|
|
@@ -9,7 +9,6 @@ var groupBy = require('./groupBy.js');
|
|
|
9
9
|
var FilterTypes = require('./FilterTypes.js');
|
|
10
10
|
var RowVariants = require('./RowVariants.js');
|
|
11
11
|
var applyOutOfTheBoxFilters = require('./Filters/applyOutOfTheBoxFilters.js');
|
|
12
|
-
var textFilterFn = require('./Filters/textFilterFn.js');
|
|
13
12
|
var singleDateFilterFn = require('./Filters/singleDateFilterFn.js');
|
|
14
13
|
var singleSelectFilterFn = require('./Filters/singleSelectFilterFn.js');
|
|
15
14
|
var multiSelectFilterFn = require('./Filters/multiSelectFilterFn.js');
|
|
@@ -28,7 +27,6 @@ exports.ROW_VARIANTS = RowVariants.ROW_VARIANTS;
|
|
|
28
27
|
exports.ROW_VARIANT_COMPACT_KEY = RowVariants.ROW_VARIANT_COMPACT_KEY;
|
|
29
28
|
exports.ROW_VARIANT_KEY = RowVariants.ROW_VARIANT_KEY;
|
|
30
29
|
exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
|
|
31
|
-
exports.textFilterFn = textFilterFn.textFilterFn;
|
|
32
30
|
exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
|
|
33
31
|
exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
|
|
34
32
|
exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
|
|
@@ -15,8 +15,8 @@ const setMultipleRefs = function () {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
const filteredRefs = refs.filter(Boolean);
|
|
18
|
-
if (!filteredRefs.length) return null;
|
|
19
|
-
if (filteredRefs.length === 0) return
|
|
18
|
+
if (!filteredRefs.length) return () => null;
|
|
19
|
+
if (filteredRefs.length === 0) return () => null;
|
|
20
20
|
return newRef => {
|
|
21
21
|
filteredRefs.forEach(refToBeUpdated => {
|
|
22
22
|
if (typeof refToBeUpdated === 'function') {
|
package/cjs/index.js
CHANGED
|
@@ -10,7 +10,6 @@ var groupBy = require('./exported-related/groupBy.js');
|
|
|
10
10
|
var FilterTypes = require('./exported-related/FilterTypes.js');
|
|
11
11
|
var RowVariants = require('./exported-related/RowVariants.js');
|
|
12
12
|
var applyOutOfTheBoxFilters = require('./exported-related/Filters/applyOutOfTheBoxFilters.js');
|
|
13
|
-
var textFilterFn = require('./exported-related/Filters/textFilterFn.js');
|
|
14
13
|
var singleDateFilterFn = require('./exported-related/Filters/singleDateFilterFn.js');
|
|
15
14
|
var singleSelectFilterFn = require('./exported-related/Filters/singleSelectFilterFn.js');
|
|
16
15
|
var multiSelectFilterFn = require('./exported-related/Filters/multiSelectFilterFn.js');
|
|
@@ -31,7 +30,6 @@ exports.ROW_VARIANTS = RowVariants.ROW_VARIANTS;
|
|
|
31
30
|
exports.ROW_VARIANT_COMPACT_KEY = RowVariants.ROW_VARIANT_COMPACT_KEY;
|
|
32
31
|
exports.ROW_VARIANT_KEY = RowVariants.ROW_VARIANT_KEY;
|
|
33
32
|
exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters.applyOutOfTheBoxFilters;
|
|
34
|
-
exports.textFilterFn = textFilterFn.textFilterFn;
|
|
35
33
|
exports.singleDateFilterFn = singleDateFilterFn.singleDateFilterFn;
|
|
36
34
|
exports.singleSelectFilterFn = singleSelectFilterFn.singleSelectFilterFn;
|
|
37
35
|
exports.multiSelectFilterFn = multiSelectFilterFn.multiSelectFilterFn;
|
|
@@ -49,7 +49,6 @@ var MultiSelectPill = require('./components/MultiSelectPill.js');
|
|
|
49
49
|
var NumberRangePill = require('./components/NumberRangePill.js');
|
|
50
50
|
var SelectPill = require('./components/SelectPill.js');
|
|
51
51
|
var SingleDatePill = require('./components/SingleDatePill.js');
|
|
52
|
-
var TextPill = require('./components/TextPill.js');
|
|
53
52
|
var styled = require('./styled.js');
|
|
54
53
|
|
|
55
54
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -62,7 +61,6 @@ var _MoreOptionsVert;
|
|
|
62
61
|
const pillRenderMapper = {
|
|
63
62
|
[FilterTypes.FILTER_TYPES.SELECT]: SelectPill.SelectPill,
|
|
64
63
|
[FilterTypes.FILTER_TYPES.MULTI_SELECT]: MultiSelectPill.MultiSelectPill,
|
|
65
|
-
[FilterTypes.FILTER_TYPES.TEXT]: TextPill.TextPill,
|
|
66
64
|
[FilterTypes.FILTER_TYPES.SINGLE_DATE]: SingleDatePill.SingleDatePill,
|
|
67
65
|
[FilterTypes.FILTER_TYPES.DATE_RANGE]: DateRangePill.DateRangePill,
|
|
68
66
|
[FilterTypes.FILTER_TYPES.DATE_SWITCHER]: DateSwitcherPill.DateSwitcherPill,
|
|
@@ -8,7 +8,6 @@ var MultiSelectPill = require('./MultiSelectPill.js');
|
|
|
8
8
|
var NumberRangePill = require('./NumberRangePill.js');
|
|
9
9
|
var SelectPill = require('./SelectPill.js');
|
|
10
10
|
var SingleDatePill = require('./SingleDatePill.js');
|
|
11
|
-
var TextPill = require('./TextPill.js');
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
|
|
@@ -18,4 +17,3 @@ exports.MultiSelectPill = MultiSelectPill.MultiSelectPill;
|
|
|
18
17
|
exports.NumberRangePill = NumberRangePill.NumberRangePill;
|
|
19
18
|
exports.SelectPill = SelectPill.SelectPill;
|
|
20
19
|
exports.SingleDatePill = SingleDatePill.SingleDatePill;
|
|
21
|
-
exports.TextPill = TextPill.TextPill;
|
|
@@ -12,14 +12,13 @@ require('core-js/modules/web.dom-collections.iterator.js');
|
|
|
12
12
|
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
13
13
|
require('core-js/modules/esnext.iterator.for-each.js');
|
|
14
14
|
var React = require('react');
|
|
15
|
-
var index$
|
|
16
|
-
var index$
|
|
17
|
-
var index$
|
|
18
|
-
var index$
|
|
15
|
+
var index$1 = require('../../addons/Filters/Components/DateRangeFilter/index.js');
|
|
16
|
+
var index$2 = require('../../addons/Filters/Components/DateSwitcherFilter/index.js');
|
|
17
|
+
var index$3 = require('../../addons/Filters/Components/NumberRangeFilter/index.js');
|
|
18
|
+
var index$4 = require('../../addons/Filters/Components/CurrencyRangeFilter/index.js');
|
|
19
19
|
var SingleSelectFilter = require('../../addons/Filters/Components/SelectFilter/SingleSelectFilter.js');
|
|
20
20
|
var MultiSelectFilter = require('../../addons/Filters/Components/SelectFilter/MultiSelectFilter.js');
|
|
21
|
-
var index
|
|
22
|
-
var index = require('../../addons/Filters/Components/TextInputFilter/index.js');
|
|
21
|
+
var index = require('../../addons/Filters/Components/SingleDateFilter/index.js');
|
|
23
22
|
require('@babel/runtime/helpers/jsx');
|
|
24
23
|
require('@elliemae/ds-button');
|
|
25
24
|
require('@elliemae/ds-popperjs');
|
|
@@ -63,12 +62,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
63
62
|
const FilterMapper = {
|
|
64
63
|
[FilterTypes.FILTER_TYPES.SELECT]: SingleSelectFilter.SingleSelectFilter,
|
|
65
64
|
[FilterTypes.FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter.MultiSelectFilter,
|
|
66
|
-
[FilterTypes.FILTER_TYPES.
|
|
67
|
-
[FilterTypes.FILTER_TYPES.
|
|
68
|
-
[FilterTypes.FILTER_TYPES.
|
|
69
|
-
[FilterTypes.FILTER_TYPES.
|
|
70
|
-
[FilterTypes.FILTER_TYPES.
|
|
71
|
-
[FilterTypes.FILTER_TYPES.CURRENCY_RANGE]: index$5.CurrencyRangeFilter
|
|
65
|
+
[FilterTypes.FILTER_TYPES.SINGLE_DATE]: index.SingleDateFilter,
|
|
66
|
+
[FilterTypes.FILTER_TYPES.DATE_RANGE]: index$1.DateRangeFilter,
|
|
67
|
+
[FilterTypes.FILTER_TYPES.DATE_SWITCHER]: index$2.DateSwitcherFilter,
|
|
68
|
+
[FilterTypes.FILTER_TYPES.NUMBER_RANGE]: index$3.NumberRangeFilter,
|
|
69
|
+
[FilterTypes.FILTER_TYPES.CURRENCY_RANGE]: index$4.CurrencyRangeFilter
|
|
72
70
|
};
|
|
73
71
|
const FilterMapItem = props => {
|
|
74
72
|
const {
|
|
@@ -63,7 +63,7 @@ const HeaderCellGroupComp = _ref => {
|
|
|
63
63
|
const children = header.columns;
|
|
64
64
|
const isDragging = draggableProps && draggableProps.isDragging || isDraggingParent;
|
|
65
65
|
const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
|
|
66
|
-
const ChildGroup = isDragOverlay ?
|
|
66
|
+
const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;
|
|
67
67
|
const colSpan = (_children$length = children === null || children === void 0 ? void 0 : children.length) !== null && _children$length !== void 0 ? _children$length : 1;
|
|
68
68
|
return /*#__PURE__*/jsxRuntime.jsxs(StyledWrapper, {
|
|
69
69
|
ref: draggableProps ? draggableProps.setNodeRef : null,
|
|
@@ -93,7 +93,8 @@ const HeaderCellGroupComp = _ref => {
|
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
// We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function
|
|
96
|
-
const
|
|
97
|
-
const
|
|
96
|
+
const HeaderCellGroup = HeaderCellGroupComp;
|
|
97
|
+
const HeaderCellGroupSortable = withDnDSortableColumnContext.withDnDSortableColumnContext(HeaderCellGroupComp);
|
|
98
98
|
|
|
99
99
|
exports.HeaderCellGroup = HeaderCellGroup;
|
|
100
|
+
exports["default"] = HeaderCellGroupSortable;
|
|
@@ -35,7 +35,7 @@ const HeadersComp = () => {
|
|
|
35
35
|
cols: gridLayout,
|
|
36
36
|
colsLayoutStyle: colsLayoutStyle,
|
|
37
37
|
isExpandable: isExpandable
|
|
38
|
-
}, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default["default"](HeaderCellGroup
|
|
38
|
+
}, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default["default"](HeaderCellGroup["default"], {
|
|
39
39
|
header: h,
|
|
40
40
|
isLast: index === visibleColumns.length - 1
|
|
41
41
|
}, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
|
|
@@ -45,7 +45,9 @@ const useHeaderCellHandlers = _ref => {
|
|
|
45
45
|
patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
|
|
46
46
|
}, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
|
|
47
47
|
const onMouseLeave = React.useCallback(() => {
|
|
48
|
-
|
|
48
|
+
var _headerRef$current;
|
|
49
|
+
|
|
50
|
+
if (!(headerRef !== null && headerRef !== void 0 && (_headerRef$current = headerRef.current) !== null && _headerRef$current !== void 0 && _headerRef$current.contains(document.activeElement))) {
|
|
49
51
|
patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));
|
|
50
52
|
}
|
|
51
53
|
}, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
|
|
@@ -80,7 +82,7 @@ const useHeaderCellHandlers = _ref => {
|
|
|
80
82
|
}, [column.canSort, column.id, onColumnSortChange, patchHeader, reduxHeader, hasFilter, hasDnD, dragHandleRef, filterIconRef]);
|
|
81
83
|
const onFocus = React.useCallback(e => {
|
|
82
84
|
// Don't do anything if focus wasn't placed in the element (bubling issues)
|
|
83
|
-
if (e.target === headerRef.current) {
|
|
85
|
+
if (e.target === (headerRef === null || headerRef === void 0 ? void 0 : headerRef.current)) {
|
|
84
86
|
patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
|
|
85
87
|
}
|
|
86
88
|
}, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
|