@mailstep/design-system 0.7.47-beta.8 → 0.7.47
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/package.json +1 -1
- package/ui/Blocks/CommonGrid/CommonGrid.d.ts +2 -2
- package/ui/Blocks/CommonGrid/CommonGrid.js +2 -3
- package/ui/Blocks/CommonGrid/components/ColumnFilterCell.d.ts +6 -2
- package/ui/Blocks/CommonGrid/components/ColumnFilterCell.js +2 -2
- package/ui/Blocks/CommonGrid/components/DataCell.d.ts +1 -0
- package/ui/Blocks/CommonGrid/components/DataCell.js +2 -2
- package/ui/Blocks/CommonGrid/components/DataRow.d.ts +2 -3
- package/ui/Blocks/CommonGrid/components/DataRow.js +4 -21
- package/ui/Blocks/CommonGrid/components/FilterRow.d.ts +1 -1
- package/ui/Blocks/CommonGrid/components/FilterRow.js +5 -29
- package/ui/Blocks/CommonGrid/components/Filters/ActionsFilter/ActionsFilter.d.ts +10 -0
- package/ui/Blocks/CommonGrid/components/Filters/ActionsFilter/ActionsFilter.js +14 -0
- package/ui/Blocks/CommonGrid/components/Filters/ActionsFilter/index.d.ts +2 -0
- package/ui/Blocks/CommonGrid/components/Filters/ActionsFilter/index.js +2 -0
- package/ui/Blocks/CommonGrid/components/GroupRow.d.ts +1 -1
- package/ui/Blocks/CommonGrid/components/GroupRow.js +2 -4
- package/ui/Blocks/CommonGrid/components/HeadRow.js +3 -3
- package/ui/Blocks/CommonGrid/components/gridCells/Date.js +1 -1
- package/ui/Blocks/CommonGrid/components/gridCells/DateTime.js +1 -1
- package/ui/Blocks/CommonGrid/components/gridCells/EnumInCell.js +1 -1
- package/ui/Blocks/CommonGrid/components/gridCells/RowActionsCell.d.ts +3 -1
- package/ui/Blocks/CommonGrid/components/gridCells/RowActionsCell.js +3 -20
- package/ui/Blocks/CommonGrid/components/gridCells/StringJoin.js +1 -1
- package/ui/Blocks/CommonGrid/hooks/useEditReadAsColumn.d.ts +0 -1
- package/ui/Blocks/CommonGrid/hooks/useEditReadAsColumn.js +20 -27
- package/ui/Blocks/CommonGrid/hooks/useToggleAllCheckbox.d.ts +2 -2
- package/ui/Blocks/CommonGrid/hooks/useToggleAllCheckbox.js +3 -3
- package/ui/Blocks/CommonGrid/storybook/stories/complexWithPaginationAndRedux.stories.js +4 -1
- package/ui/Blocks/CommonGrid/styles.d.ts +1 -1
- package/ui/Blocks/CommonGrid/styles.js +2 -2
- package/ui/Blocks/CommonGrid/types.d.ts +2 -1
- package/ui/Blocks/CommonGrid/utils/index.d.ts +1 -2
- package/ui/Blocks/CommonGrid/utils/index.js +12 -15
- package/ui/index.es.js +21983 -21991
- package/ui/index.umd.js +708 -702
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DropResult } from 'react-beautiful-dnd';
|
|
2
|
-
import { CommonGridProps, FiltersConfig, ColumnDefinition } from './types';
|
|
2
|
+
import type { CommonGridProps, FiltersConfig, ColumnDefinition } from './types';
|
|
3
3
|
type Props = CommonGridProps & {
|
|
4
4
|
filters?: FiltersConfig;
|
|
5
5
|
handleDragEnd: (item: DropResult) => void;
|
|
@@ -7,5 +7,5 @@ type Props = CommonGridProps & {
|
|
|
7
7
|
hasGroups: boolean;
|
|
8
8
|
hasFilters: boolean;
|
|
9
9
|
};
|
|
10
|
-
declare const CommonGrid: ({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction,
|
|
10
|
+
declare const CommonGrid: ({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters }: Props) => JSX.Element;
|
|
11
11
|
export default CommonGrid;
|
|
@@ -40,7 +40,7 @@ var CommonGrid = function (_a) {
|
|
|
40
40
|
// redux props
|
|
41
41
|
gridSelectors = _a.gridSelectors, gridActions = _a.gridActions,
|
|
42
42
|
// input props
|
|
43
|
-
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction,
|
|
43
|
+
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps, hasGroups = _a.hasGroups, hasFilters = _a.hasFilters;
|
|
44
44
|
var _c = gridSelectors.uxState, uxState = _c === void 0 ? defaultUxState : _c, _d = gridSelectors.columnsWidth, columnsWidth = _d === void 0 ? defaultColumnsWidth : _d, columnsWidthVariant = gridSelectors.columnsWidthVariant, _e = gridSelectors.page, page = _e === void 0 ? 1 : _e, filter = gridSelectors.filter, sorting = gridSelectors.sorting, _f = gridSelectors.rowsPerPage, rowsPerPage = _f === void 0 ? 10 : _f;
|
|
45
45
|
var clearUxState = gridActions.clearUxState, handleUxChange = gridActions.handleUxChange, _g = gridActions.addFilter, addFilter = _g === void 0 ? defaultVoidFunction : _g, _h = gridActions.addSorting, addSorting = _h === void 0 ? defaultVoidFunction : _h, _j = gridActions.setColumnWidth, setColumnWidth = _j === void 0 ? defaultVoidFunction : _j;
|
|
46
46
|
var handleRowsKeyDown = useRowsKeyControls(rowsData, uxState, handleUxChange);
|
|
@@ -62,13 +62,12 @@ var CommonGrid = function (_a) {
|
|
|
62
62
|
var commonGridRef = React.useCallback(function (node) {
|
|
63
63
|
gridBoxRef.current = node;
|
|
64
64
|
}, []);
|
|
65
|
-
console.log(actionColumnDefinition);
|
|
66
65
|
return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, isLoading: isLoading, totalColumnsWidth: totalColumnsWidth, floatingChildren: GridMessage && (_jsx(Row, { className: "dataRow", align: "center", children: _jsx(MessageCell, { align: "center", className: "gridMessage ".concat(messageClass), width: window.innerWidth, children: GridMessage }) })), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [hasGroups && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onAddSort: addSorting, columnLayout: columnLayout, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups, handleDragEnd: handleDragEnd }), hasFilters && (_jsx(FilterRow, { filters: filters, comparators: comparators, columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onChange: addFilter, filterValues: filter, displayColumnsWidth: displayColumnsWidth, groups: groups, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange }))] }), _jsx("div", { className: "body flx_1", style: rowsStyles, tabIndex: -1, onKeyDown: handleRowsKeyDown, children: !isLoading &&
|
|
67
66
|
rowsData &&
|
|
68
67
|
displayColumnsDefinitions &&
|
|
69
68
|
rowsData.map(function (row, index) {
|
|
70
69
|
var rowIndex = rowsPerPage * page + (index + 1) - rowsPerPage;
|
|
71
|
-
return (_jsx(DataRow, { rowData: row, rowIndex: rowIndex, uxState: uxState, isEven: hasColouredRows && (index + 1) % 2 === 0, allowRowSelect: allowRowSelect, allowRowSelectOnAction: allowRowSelectOnAction, onRowAction: onRowAction, onUxChange: handleUxChange, onRowClick: onRowClick, columns: displayColumnsDefinitions,
|
|
70
|
+
return (_jsx(DataRow, { rowData: row, rowIndex: rowIndex, uxState: uxState, isEven: hasColouredRows && (index + 1) % 2 === 0, allowRowSelect: allowRowSelect, allowRowSelectOnAction: allowRowSelectOnAction, onRowAction: onRowAction, onUxChange: handleUxChange, onRowClick: onRowClick, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups }, row.id));
|
|
72
71
|
}) })] }) }), floatingButtonProps && _jsx(FloatingButton, __assign({}, floatingButtonProps))] }));
|
|
73
72
|
};
|
|
74
73
|
export default CommonGrid;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColumnDefinition, GridActionsType, FiltersConfig, CustomComparators, Group } from '../types';
|
|
1
|
+
import type { ColumnDefinition, GridActionsType, FiltersConfig, CustomComparators, Group, ActionColumn, UxState, RowProps } from '../types';
|
|
2
2
|
type Props = {
|
|
3
3
|
onChange: Required<GridActionsType>['addFilter'];
|
|
4
4
|
value?: any;
|
|
@@ -8,6 +8,10 @@ type Props = {
|
|
|
8
8
|
filters?: FiltersConfig;
|
|
9
9
|
group?: Group;
|
|
10
10
|
comparators?: CustomComparators;
|
|
11
|
+
actionColumn?: ActionColumn;
|
|
12
|
+
rowsData: RowProps[];
|
|
13
|
+
uxState: UxState;
|
|
14
|
+
handleUxChange: GridActionsType['handleUxChange'];
|
|
11
15
|
};
|
|
12
|
-
declare const ColumnFilterCell: ({ onChange, value, others, displayColumnWidth, filters, column: columnDefinition, group, comparators }: Props) => JSX.Element;
|
|
16
|
+
declare const ColumnFilterCell: ({ onChange, value, others, displayColumnWidth, filters, column: columnDefinition, group, comparators, actionColumn, rowsData, uxState, handleUxChange }: Props) => JSX.Element;
|
|
13
17
|
export default ColumnFilterCell;
|
|
@@ -17,7 +17,7 @@ import { x } from '@xstyled/styled-components';
|
|
|
17
17
|
import OverlayComponent from './FilterDropdown';
|
|
18
18
|
import { Cell } from './Table';
|
|
19
19
|
var ColumnFilterCell = function (_a) {
|
|
20
|
-
var onChange = _a.onChange, value = _a.value, others = _a.others, displayColumnWidth = _a.displayColumnWidth, filters = _a.filters, columnDefinition = _a.column, group = _a.group, comparators = _a.comparators;
|
|
20
|
+
var onChange = _a.onChange, value = _a.value, others = _a.others, displayColumnWidth = _a.displayColumnWidth, filters = _a.filters, columnDefinition = _a.column, group = _a.group, comparators = _a.comparators, actionColumn = _a.actionColumn, rowsData = _a.rowsData, uxState = _a.uxState, handleUxChange = _a.handleUxChange;
|
|
21
21
|
var cellSizeProps = getCellSizeProps(columnDefinition, displayColumnWidth);
|
|
22
22
|
var handleAddFilter = useAddFilter(onChange);
|
|
23
23
|
var handleChange = React.useCallback(function (event, others) {
|
|
@@ -35,6 +35,6 @@ var ColumnFilterCell = function (_a) {
|
|
|
35
35
|
console.error("ERROR, using unknown filter type ".concat(filterType));
|
|
36
36
|
return (_jsx(x.div, { children: _jsx("span", { children: "".concat(filterType, " filter") }) }));
|
|
37
37
|
}
|
|
38
|
-
return (_jsx(Cell, __assign({ className: cellClassName }, cellSizeProps, { children: _jsx(x.div, { children: _jsx(RenderComponent, __assign({ "data-test": columnDefinition.name, name: columnDefinition.name, onChange: handleChange, value: value, others: others, OverlayComponent: OverlayComponent, comparators: defaultComparators }, filterConfig === null || filterConfig === void 0 ? void 0 : filterConfig.defaultExtraProps, columnDefinition.filterExtraProps, (filterType == 'options' && { options: columnDefinition.filterOptions }))) }) })));
|
|
38
|
+
return (_jsx(Cell, __assign({ className: cellClassName }, cellSizeProps, { children: _jsx(x.div, { children: _jsx(RenderComponent, __assign({ "data-test": columnDefinition.name, name: columnDefinition.name, onChange: handleChange, value: value, others: others, OverlayComponent: OverlayComponent, comparators: defaultComparators, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange }, filterConfig === null || filterConfig === void 0 ? void 0 : filterConfig.defaultExtraProps, columnDefinition.filterExtraProps, (filterType == 'options' && { options: columnDefinition.filterOptions }))) }) })));
|
|
39
39
|
};
|
|
40
40
|
export default ColumnFilterCell;
|
|
@@ -6,6 +6,7 @@ type DataCellPros = {
|
|
|
6
6
|
onRowAction?: (id: string, field: string, value: any, rowData?: RowProps) => void;
|
|
7
7
|
displayColumnWidth: number;
|
|
8
8
|
group: Group;
|
|
9
|
+
rowIndex: number;
|
|
9
10
|
};
|
|
10
11
|
declare const MemoDataCell: React.NamedExoticComponent<DataCellPros>;
|
|
11
12
|
export default MemoDataCell;
|
|
@@ -15,14 +15,14 @@ import get from 'lodash/fp/get';
|
|
|
15
15
|
import { TextCell } from './Table';
|
|
16
16
|
import { getCellSizeProps, getGroupClassNames, getStickyCollClassNames } from '../utils';
|
|
17
17
|
var DataCell = function (_a) {
|
|
18
|
-
var column = _a.column, group = _a.group, rowData = _a.rowData, onRowAction = _a.onRowAction, displayColumnWidth = _a.displayColumnWidth;
|
|
18
|
+
var column = _a.column, group = _a.group, rowData = _a.rowData, onRowAction = _a.onRowAction, displayColumnWidth = _a.displayColumnWidth, rowIndex = _a.rowIndex;
|
|
19
19
|
var Wrapper = column.fixedSize ? 'div' : TextCell;
|
|
20
20
|
var wrapperBaseProps = column.fixedSize
|
|
21
21
|
? { style: __assign(__assign({}, getCellSizeProps(column, displayColumnWidth)), { alignSelf: 'center' }) }
|
|
22
22
|
: getCellSizeProps(column, displayColumnWidth);
|
|
23
23
|
var cellClassName = "cell".concat(getStickyCollClassNames(!!column.sticky, column.stickTo), " ").concat(getGroupClassNames(group));
|
|
24
24
|
if (column.cellComponent) {
|
|
25
|
-
return (_jsx(Wrapper, __assign({ className: cellClassName }, wrapperBaseProps, { children: _jsx(column.cellComponent, { rowData: rowData, onRowAction: onRowAction, column: column }) })));
|
|
25
|
+
return (_jsx(Wrapper, __assign({ className: cellClassName }, wrapperBaseProps, { children: _jsx(column.cellComponent, { rowData: rowData, onRowAction: onRowAction, column: column, rowIndex: rowIndex }) })));
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
return (_jsx(Wrapper, __assign({ className: cellClassName }, wrapperBaseProps, { children: column.formatRowValue ? column.formatRowValue(rowData) : get(column.name, rowData) })));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { ColumnDefinition,
|
|
1
|
+
import type { ColumnDefinition, RowProps, UxState, GridSelectorsType, Group } from '../types';
|
|
2
2
|
type DataRowProps = {
|
|
3
3
|
columns: ColumnDefinition[];
|
|
4
|
-
actionColumn?: ActionColumn;
|
|
5
4
|
rowData: RowProps;
|
|
6
5
|
rowIndex: number;
|
|
7
6
|
uxState: UxState;
|
|
@@ -15,5 +14,5 @@ type DataRowProps = {
|
|
|
15
14
|
groups: Group[];
|
|
16
15
|
isEven?: boolean;
|
|
17
16
|
};
|
|
18
|
-
declare const DataRow: ({ columns,
|
|
17
|
+
declare const DataRow: ({ columns, rowData, rowIndex, uxState, allowRowSelect, allowRowSelectOnAction, onUxChange, onRowClick, onRowAction, displayColumnsWidth, groups, isEven }: DataRowProps) => JSX.Element;
|
|
19
18
|
export default DataRow;
|
|
@@ -1,25 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
2
|
import React from 'react';
|
|
14
3
|
import { rowClassSymbol } from '../types';
|
|
15
|
-
import { getActionCellSizeProps } from '../utils';
|
|
16
|
-
import { x } from '@xstyled/styled-components';
|
|
17
4
|
import MemoDataCell from './DataCell';
|
|
18
|
-
import {
|
|
5
|
+
import { StyledDataRow } from './Table';
|
|
19
6
|
import { useTimeMeasurement } from './utils';
|
|
20
7
|
var DataRow = function (_a) {
|
|
21
8
|
var _b;
|
|
22
|
-
var columns = _a.columns,
|
|
9
|
+
var columns = _a.columns, rowData = _a.rowData, rowIndex = _a.rowIndex, uxState = _a.uxState, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onUxChange = _a.onUxChange, onRowClick = _a.onRowClick, onRowAction = _a.onRowAction, displayColumnsWidth = _a.displayColumnsWidth, groups = _a.groups, isEven = _a.isEven;
|
|
23
10
|
var isChecked = !!((_b = uxState.checkedRows) === null || _b === void 0 ? void 0 : _b[rowData.id]);
|
|
24
11
|
var handleRowAction = React.useCallback(function (id, field, value, rowData) {
|
|
25
12
|
onRowAction === null || onRowAction === void 0 ? void 0 : onRowAction(id, field, value, rowData);
|
|
@@ -51,10 +38,6 @@ var DataRow = function (_a) {
|
|
|
51
38
|
return classes.join(' ');
|
|
52
39
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
40
|
}, [isChecked, uxState, rowData]);
|
|
54
|
-
|
|
55
|
-
var actionColumnStyle = React.useMemo(function () {
|
|
56
|
-
return actionColumn ? __assign({}, getActionCellSizeProps(actionColumn)) : {};
|
|
57
|
-
}, [actionColumn]);
|
|
58
|
-
return (_jsxs(StyledDataRow, { className: rowClassName, hasRowClick: !!onRowClick, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, isEven: !!isEven, children: [actionColumn && (_jsx(_Fragment, { children: (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbers) && (_jsx(Cell, { className: "cell", style: actionColumnStyle, children: _jsx(x.div, { children: rowIndex }) })) })), columns.map(function (column, key) { return (_jsx(MemoDataCell, { column: column, rowData: rowData, onRowAction: handleRowAction, displayColumnWidth: displayColumnsWidth[column.name], group: groups === null || groups === void 0 ? void 0 : groups[key] }, column.name)); })] }));
|
|
41
|
+
return (_jsx(StyledDataRow, { className: rowClassName, hasRowClick: !!onRowClick, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, isEven: !!isEven, children: columns.map(function (column, key) { return (_jsx(MemoDataCell, { column: column, rowData: rowData, rowIndex: rowIndex, onRowAction: handleRowAction, displayColumnWidth: displayColumnsWidth[column.name], group: groups === null || groups === void 0 ? void 0 : groups[key] }, column.name)); }) }));
|
|
59
42
|
};
|
|
60
43
|
export default DataRow;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Settings, ColumnDefinition as ColumnDefinitionType, ActionColumn, GridActionsType, GridSelectorsType, Group, CustomComparators, FiltersConfig, UxState, RowProps } from '../types';
|
|
1
|
+
import type { Settings, ColumnDefinition as ColumnDefinitionType, ActionColumn, GridActionsType, GridSelectorsType, Group, CustomComparators, FiltersConfig, UxState, RowProps } from '../types';
|
|
2
2
|
type Props = {
|
|
3
3
|
columns: ColumnDefinitionType[];
|
|
4
4
|
actionColumn?: ActionColumn;
|
|
@@ -1,36 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import Checkbox from '../../../Forms/Checkbox';
|
|
15
|
-
import { useToggleAllCheckbox } from '../hooks/useToggleAllCheckbox';
|
|
16
|
-
import { getActionCellSizeProps, getFilterName } from '../utils';
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { getFilterName } from '../utils';
|
|
17
3
|
import get from 'lodash/fp/get';
|
|
18
4
|
import throttle from 'lodash/throttle';
|
|
19
5
|
import ColumnFilterCell from './ColumnFilterCell';
|
|
20
|
-
import { Row
|
|
6
|
+
import { Row } from './Table';
|
|
21
7
|
var FilterRow = function (_a) {
|
|
22
|
-
var _b,
|
|
23
|
-
var columns = _a.columns, groups = _a.groups, actionColumn = _a.actionColumn, onChange = _a.onChange, _d = _a.filterValues, filterValues = _d === void 0 ? {} : _d, displayColumnsWidth = _a.displayColumnsWidth, filters = _a.filters, comparators = _a.comparators, handleUxChange = _a.handleUxChange, rowsData = _a.rowsData, uxState = _a.uxState;
|
|
8
|
+
var columns = _a.columns, groups = _a.groups, actionColumn = _a.actionColumn, onChange = _a.onChange, _b = _a.filterValues, filterValues = _b === void 0 ? {} : _b, displayColumnsWidth = _a.displayColumnsWidth, filters = _a.filters, comparators = _a.comparators, handleUxChange = _a.handleUxChange, rowsData = _a.rowsData, uxState = _a.uxState;
|
|
24
9
|
var handleOnChange = throttle(onChange, 500);
|
|
25
|
-
|
|
26
|
-
return actionColumn ? __assign({}, getActionCellSizeProps(actionColumn)) : {};
|
|
27
|
-
}, [actionColumn]);
|
|
28
|
-
var _e = useToggleAllCheckbox(rowsData, uxState, handleUxChange), allChecked = _e[0], toggleCheckbox = _e[1];
|
|
29
|
-
var displayCheckbox = ((_b = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _b === void 0 ? void 0 : _b.length) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.forceCheckboxes);
|
|
30
|
-
var displayRowNumberLabel = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbers;
|
|
31
|
-
var rowsNumberLabel = (_c = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbersLabel) !== null && _c !== void 0 ? _c : '#';
|
|
32
|
-
return (_jsxs(Row, { className: "filterRow", children: [displayCheckbox && (_jsx(Cell, { className: "cell sticky sticky-left", style: actionColumnStyle, children: _jsx(Checkbox, { checked: allChecked, onChange: toggleCheckbox, label: "" }, "check-all") })), displayRowNumberLabel && (_jsx(Cell, { className: "cell", style: actionColumnStyle, children: _jsx("div", { children: rowsNumberLabel }) })), !!(!displayCheckbox && !displayRowNumberLabel && actionColumn) && (_jsx(Cell, { className: "cell sticky sticky-left", style: actionColumnStyle })), columns
|
|
33
|
-
.filter(function (column) { return !column.sticky; })
|
|
34
|
-
.map(function (column, index) { return (_jsx(ColumnFilterCell, { column: column, onChange: handleOnChange, value: get([getFilterName(column), 'value'], filterValues), others: get([getFilterName(column), 'others'], filterValues), displayColumnWidth: displayColumnsWidth[column.name], filters: filters, comparators: comparators, group: groups === null || groups === void 0 ? void 0 : groups[index] }, index)); })] }));
|
|
10
|
+
return (_jsx(Row, { className: "filterRow", children: columns.map(function (column, index) { return (_jsx(ColumnFilterCell, { column: column, actionColumn: actionColumn, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange, onChange: handleOnChange, value: get([getFilterName(column), 'value'], filterValues), others: get([getFilterName(column), 'others'], filterValues), displayColumnWidth: displayColumnsWidth[column.name], filters: filters, comparators: comparators, group: groups === null || groups === void 0 ? void 0 : groups[index] }, index)); }) }));
|
|
35
11
|
};
|
|
36
12
|
export default FilterRow;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { ActionColumn, GridActionsType, RowProps, UxState } from '../../../types';
|
|
3
|
+
type Props = {
|
|
4
|
+
actionColumn?: ActionColumn;
|
|
5
|
+
rowsData?: RowProps[];
|
|
6
|
+
uxState?: UxState;
|
|
7
|
+
handleUxChange?: GridActionsType['handleUxChange'];
|
|
8
|
+
};
|
|
9
|
+
declare const ActionsFilter: FC<Props>;
|
|
10
|
+
export default ActionsFilter;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Checkbox from '../../../../../Forms/Checkbox';
|
|
3
|
+
import { useToggleAllCheckbox } from '../../../hooks/useToggleAllCheckbox';
|
|
4
|
+
import { x } from '@xstyled/styled-components';
|
|
5
|
+
var ActionsFilter = function (_a) {
|
|
6
|
+
var _b, _c;
|
|
7
|
+
var actionColumn = _a.actionColumn, rowsData = _a.rowsData, uxState = _a.uxState, handleUxChange = _a.handleUxChange;
|
|
8
|
+
var _d = useToggleAllCheckbox(rowsData, uxState, handleUxChange), allChecked = _d[0], toggleCheckbox = _d[1];
|
|
9
|
+
var displayRowNumberLabel = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbers;
|
|
10
|
+
var rowsNumberLabel = (_b = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbersLabel) !== null && _b !== void 0 ? _b : '#';
|
|
11
|
+
var displayCheckbox = ((_c = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _c === void 0 ? void 0 : _c.length) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.forceCheckboxes);
|
|
12
|
+
return (_jsxs(x.div, { display: "flex", alignItems: "center", justifyContent: "space-between", gap: "16px", pl: "4px", children: [displayCheckbox && (_jsx(x.div, { w: "100%", children: _jsx(Checkbox, { checked: allChecked, onChange: toggleCheckbox, label: "" }, "check-all") })), displayRowNumberLabel && (_jsx(x.div, { w: "100%", pr: "12px", display: "flex", justifyContent: "center", children: rowsNumberLabel }))] }));
|
|
13
|
+
};
|
|
14
|
+
export default ActionsFilter;
|
|
@@ -10,9 +10,8 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
12
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import
|
|
13
|
+
import { getCellSizeProps, getGroupClassNames, getStickyCollClassNames } from '../utils';
|
|
14
14
|
import { Row, Cell } from './Table';
|
|
15
|
-
import { getCellSizeProps, getActionCellSizeProps, getGroupClassNames, getStickyCollClassNames } from '../utils';
|
|
16
15
|
var GroupCell = function (_a) {
|
|
17
16
|
var column = _a.column, group = _a.group, displayColumnWidth = _a.displayColumnWidth;
|
|
18
17
|
var cellSizeProps = getCellSizeProps(column, displayColumnWidth);
|
|
@@ -21,7 +20,6 @@ var GroupCell = function (_a) {
|
|
|
21
20
|
};
|
|
22
21
|
var GroupRow = function (_a) {
|
|
23
22
|
var actionColumn = _a.actionColumn, columns = _a.columns, groups = _a.groups, displayColumnsWidth = _a.displayColumnsWidth;
|
|
24
|
-
|
|
25
|
-
return (_jsxs(Row, { className: "group-row", children: [actionColumn && _jsx(Cell, { className: "cell", style: actionColumnStyle }, "actions"), groups.map(function (group, key) { return (_jsx(GroupCell, { column: columns[key], group: group, displayColumnWidth: displayColumnsWidth[columns[key].name] }, key)); })] }));
|
|
23
|
+
return (_jsxs(Row, { className: "group-row", children: [actionColumn && _jsx(Cell, { className: "cell", flexBasis: actionColumn.flexBasis, flexGrow: 0, flexShrink: 0 }, "actions"), groups.map(function (group, key) { return (_jsx(GroupCell, { column: columns[key], group: group, displayColumnWidth: displayColumnsWidth[columns[key].name] }, key)); })] }));
|
|
26
24
|
};
|
|
27
25
|
export default GroupRow;
|
|
@@ -9,10 +9,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx,
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
13
|
import React, { useEffect, useState } from 'react';
|
|
14
14
|
import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
|
|
15
|
-
import {
|
|
15
|
+
import { getCellSizeProps, getGroupClassNames, getSortName, getStickyCollClassNames } from '../utils';
|
|
16
16
|
import ColumnTitle from './ColumnTitle';
|
|
17
17
|
import Resize from './Resize';
|
|
18
18
|
import { Row, Cell } from './Table';
|
|
@@ -42,7 +42,7 @@ var HeadRow = function (_a) {
|
|
|
42
42
|
var onSetSort = React.useCallback(function (name, systemName) { return function (value) {
|
|
43
43
|
onAddSort && onAddSort(systemName || name, value);
|
|
44
44
|
}; }, [onAddSort]);
|
|
45
|
-
return (_jsx(_Fragment, { children: showUIElements && (_jsx(DragDropContext, { onDragEnd: handleDragEnd, children: _jsx(Droppable, { droppableId: "droppable", direction: "horizontal", isDropDisabled: isDragDisabled, isCombineEnabled: false, ignoreContainerClipping: false, children: function (droppableProvided) { return (_jsxs(Row, __assign({ className: "headRow", accountForScrollbar: false, ref: droppableProvided.innerRef }, droppableProvided.droppableProps, { children: [
|
|
45
|
+
return (_jsx(_Fragment, { children: showUIElements && (_jsx(DragDropContext, { onDragEnd: handleDragEnd, children: _jsx(Droppable, { droppableId: "droppable", direction: "horizontal", isDropDisabled: isDragDisabled, isCombineEnabled: false, ignoreContainerClipping: false, children: function (droppableProvided) { return (_jsxs(Row, __assign({ className: "headRow", accountForScrollbar: false, ref: droppableProvided.innerRef }, droppableProvided.droppableProps, { children: [getStickyComponent(columns, 'left', displayColumnsWidth), columns
|
|
46
46
|
.filter(function (item) { return !item.sticky; })
|
|
47
47
|
.map(function (column, index) { return (_jsx(Draggable, { draggableId: column.name, index: index, isDragDisabled: isDragDisabled || column.sticky, children: function (_a) {
|
|
48
48
|
var _b;
|
|
@@ -4,5 +4,5 @@ import { DateTime } from 'luxon';
|
|
|
4
4
|
export var DateCell = function (_a) {
|
|
5
5
|
var rowData = _a.rowData, column = _a.column;
|
|
6
6
|
var value = get(column.name, rowData);
|
|
7
|
-
return value ? _jsx("span", {
|
|
7
|
+
return value ? _jsx("span", { children: DateTime.fromISO(value).toFormat('dd. MM. yyyy') }) : null;
|
|
8
8
|
};
|
|
@@ -9,5 +9,5 @@ export var DateTimeCell = function (_a) {
|
|
|
9
9
|
var rowData = _a.rowData, column = _a.column;
|
|
10
10
|
var value = get(column.name, rowData);
|
|
11
11
|
var dateTimeFormat = ((_b = column === null || column === void 0 ? void 0 : column.passProps) !== null && _b !== void 0 ? _b : defaultProps).dateTimeFormat;
|
|
12
|
-
return value ? _jsx("span", {
|
|
12
|
+
return value ? _jsx("span", { children: DateTime.fromISO(value).toFormat(dateTimeFormat) }) : null;
|
|
13
13
|
};
|
|
@@ -28,6 +28,6 @@ export var EnumInCell = function (_a) {
|
|
|
28
28
|
}, [appearanceMap, value]);
|
|
29
29
|
if (!finalLabel)
|
|
30
30
|
return null;
|
|
31
|
-
return (_jsx(Center, { children: _jsx(HighlightBox, __assign({
|
|
31
|
+
return (_jsx(Center, { children: _jsx(HighlightBox, __assign({}, coloringProp, { size: size, prefix: "grid", children: finalLabel })) }));
|
|
32
32
|
};
|
|
33
33
|
var templateObject_1;
|
|
@@ -3,8 +3,10 @@ import type { DataCellProps, ActionColumn, UxState, GridActionsType } from '../.
|
|
|
3
3
|
type Props = DataCellProps<{
|
|
4
4
|
id: string;
|
|
5
5
|
}> & {
|
|
6
|
+
addRowNumbers?: boolean;
|
|
7
|
+
rowIndex?: number;
|
|
6
8
|
actionColumnDefinition?: ActionColumn;
|
|
7
|
-
|
|
9
|
+
checkedRows?: UxState['checkedRows'];
|
|
8
10
|
onUxChange?: GridActionsType['handleUxChange'];
|
|
9
11
|
withCheckboxes?: boolean;
|
|
10
12
|
};
|
|
@@ -9,17 +9,15 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { useCallback, useMemo } from 'react';
|
|
14
14
|
import Checkbox from '../../../../Forms/Checkbox';
|
|
15
15
|
import { x } from '@xstyled/styled-components';
|
|
16
16
|
import { isFunction } from 'lodash/fp';
|
|
17
17
|
import { IconButtonInCell } from './IconButtonInCell';
|
|
18
18
|
export var RowActionsCell = function (_a) {
|
|
19
|
-
var actionColumnDefinition = _a.actionColumnDefinition, rowData = _a.rowData,
|
|
19
|
+
var actionColumnDefinition = _a.actionColumnDefinition, rowData = _a.rowData, addRowNumbers = _a.addRowNumbers, rowIndex = _a.rowIndex, checkedRows = _a.checkedRows, withCheckboxes = _a.withCheckboxes, onUxChange = _a.onUxChange, onRowAction = _a.onRowAction;
|
|
20
20
|
var rowDataId = rowData === null || rowData === void 0 ? void 0 : rowData.id;
|
|
21
|
-
// @TODO this should be in parent component
|
|
22
|
-
var checkedRows = uxState === null || uxState === void 0 ? void 0 : uxState.checkedRows;
|
|
23
21
|
var canEdit = isFunction(actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.canRowEdit)
|
|
24
22
|
? actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.canRowEdit(rowData)
|
|
25
23
|
: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.canRowEdit;
|
|
@@ -53,20 +51,5 @@ export var RowActionsCell = function (_a) {
|
|
|
53
51
|
onClick();
|
|
54
52
|
}
|
|
55
53
|
}, [onClick]);
|
|
56
|
-
|
|
57
|
-
var actionOptions = [];
|
|
58
|
-
if (withCheckboxes) {
|
|
59
|
-
actionOptions.push(_jsx(x.div, { w: "100%", h: "100%", display: "flex", children: _jsx(Checkbox, { checked: isChecked, onChange: onCheckboxChange, label: "" }) }));
|
|
60
|
-
}
|
|
61
|
-
if (canEdit) {
|
|
62
|
-
actionOptions.push(_jsx(IconButtonInCell, { icon: "pen", onClick: handleOnClick, linkTo: linkTo }, "edit"));
|
|
63
|
-
}
|
|
64
|
-
if (!canEdit && canRead) {
|
|
65
|
-
actionOptions.push(_jsx(IconButtonInCell, { icon: "chevronRight", onClick: handleOnClick, linkTo: linkTo }, "read"));
|
|
66
|
-
}
|
|
67
|
-
return actionOptions;
|
|
68
|
-
}, [canEdit, canRead, handleOnClick, linkTo, isChecked, withCheckboxes, onCheckboxChange]);
|
|
69
|
-
if (actions.length === 0)
|
|
70
|
-
return null;
|
|
71
|
-
return (_jsx(x.div, { w: "100%", display: "flex", alignItems: "center", gap: "16px", children: actions }));
|
|
54
|
+
return (_jsxs(x.div, { w: "100%", display: "flex", gap: "16px", pl: "4px", pr: "4px", children: [withCheckboxes && (_jsx(x.div, { w: "100%", children: _jsx(Checkbox, { checked: isChecked, onChange: onCheckboxChange, label: "" }) })), addRowNumbers && (_jsx(x.div, { display: "flex", alignItems: "center", justifyContent: "center", pr: "8px", w: "100%", children: rowIndex })), canEdit && _jsx(IconButtonInCell, { icon: "pen", onClick: handleOnClick, linkTo: linkTo }, "edit"), !canEdit && canRead && _jsx(IconButtonInCell, { icon: "chevronRight", onClick: handleOnClick, linkTo: linkTo }, "read")] }));
|
|
72
55
|
};
|
|
@@ -3,5 +3,5 @@ import get from 'lodash/fp/get';
|
|
|
3
3
|
export var StringJoinCell = function (_a) {
|
|
4
4
|
var rowData = _a.rowData, column = _a.column;
|
|
5
5
|
var values = get(column.name, rowData);
|
|
6
|
-
return values && values.length ? _jsx("span", {
|
|
6
|
+
return values && values.length ? _jsx("span", { children: values.join(', ') }) : null;
|
|
7
7
|
};
|
|
@@ -3,7 +3,6 @@ type ExcludedProps = 'components' | 'filters' | 'onBatchAction' | 'extraControlB
|
|
|
3
3
|
type Props = Omit<CommonGridProps, ExcludedProps>;
|
|
4
4
|
type UseEditReadAsColumnHook = {
|
|
5
5
|
columnsDefinitions: CommonGridProps['columnsDefinitions'];
|
|
6
|
-
actionColumnDefinition: CommonGridProps['actionColumnDefinition'];
|
|
7
6
|
onRowAction: CommonGridProps['onRowAction'];
|
|
8
7
|
};
|
|
9
8
|
declare const useEditReadAsColumn: (props: Props) => UseEditReadAsColumnHook;
|
|
@@ -14,23 +14,6 @@ import { EditReadPosition } from '../types';
|
|
|
14
14
|
var useEditReadAsColumn = function (props) {
|
|
15
15
|
var _a;
|
|
16
16
|
var onRowAction = props.onRowAction, actionColumnDefinition = props.actionColumnDefinition, columnsDefinitions = props.columnsDefinitions, gridSelectors = props.gridSelectors, gridActions = props.gridActions, onRowEditClick = props.onRowEditClick, onRowReadClick = props.onRowReadClick;
|
|
17
|
-
var modifiedActionColumnDefinition = useMemo(function () {
|
|
18
|
-
var _a;
|
|
19
|
-
if ((actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.forceCheckboxes) || ((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
20
|
-
// note: this also removes actions, because we render action trigger outside the grid anyway
|
|
21
|
-
return {
|
|
22
|
-
flexBasis: (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.flexBasis) || 88,
|
|
23
|
-
forceCheckboxes: true,
|
|
24
|
-
addRowNumbers: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.addRowNumbers,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
else if (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.addRowNumbers) {
|
|
28
|
-
return { flexBasis: 40, addRowNumbers: true };
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
}, [actionColumnDefinition]);
|
|
34
17
|
var modifiedOnRowAction = useCallback(function (id, field, value, rowData) {
|
|
35
18
|
if (field === 'row_edit' || field === 'row_read') {
|
|
36
19
|
if (field === 'row_edit' && onRowEditClick)
|
|
@@ -42,17 +25,16 @@ var useEditReadAsColumn = function (props) {
|
|
|
42
25
|
return onRowAction(id, field, value, rowData);
|
|
43
26
|
}
|
|
44
27
|
}, [onRowAction, onRowEditClick, onRowReadClick]);
|
|
45
|
-
var
|
|
46
|
-
var canRowRead = (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.canRowRead) !== undefined;
|
|
47
|
-
var stickTo = (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.stickTo) || 'left';
|
|
48
|
-
var flexBasis = (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.flexBasis) || 88;
|
|
28
|
+
var _b = actionColumnDefinition || {}, canRowEdit = _b.canRowEdit, canRowRead = _b.canRowRead, addRowNumbers = _b.addRowNumbers, _c = _b.stickTo, stickTo = _c === void 0 ? 'left' : _c, _d = _b.flexBasis, flexBasis = _d === void 0 ? 88 : _d;
|
|
49
29
|
var withCheckboxes = !!((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length) || (actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.forceCheckboxes);
|
|
50
30
|
var modifiedColumnsDefinitions = useMemo(function () {
|
|
51
|
-
|
|
31
|
+
var _a;
|
|
32
|
+
if (canRowEdit || canRowRead || withCheckboxes || addRowNumbers) {
|
|
52
33
|
var editReadColumnDefinition = {
|
|
53
|
-
name: '
|
|
34
|
+
name: 'actions',
|
|
54
35
|
flexBasis: flexBasis,
|
|
55
|
-
filtering:
|
|
36
|
+
filtering: withCheckboxes || addRowNumbers,
|
|
37
|
+
filteringType: 'actions',
|
|
56
38
|
sorting: false,
|
|
57
39
|
sticky: true,
|
|
58
40
|
stickTo: stickTo,
|
|
@@ -60,7 +42,8 @@ var useEditReadAsColumn = function (props) {
|
|
|
60
42
|
cellComponent: withProps({
|
|
61
43
|
actionColumnDefinition: actionColumnDefinition,
|
|
62
44
|
withCheckboxes: withCheckboxes,
|
|
63
|
-
|
|
45
|
+
addRowNumbers: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.addRowNumbers,
|
|
46
|
+
checkedRows: (_a = gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.uxState) === null || _a === void 0 ? void 0 : _a.checkedRows,
|
|
64
47
|
onUxChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.handleUxChange
|
|
65
48
|
})(RowActionsCell)
|
|
66
49
|
};
|
|
@@ -74,10 +57,20 @@ var useEditReadAsColumn = function (props) {
|
|
|
74
57
|
else {
|
|
75
58
|
return columnsDefinitions;
|
|
76
59
|
}
|
|
77
|
-
}, [
|
|
60
|
+
}, [
|
|
61
|
+
addRowNumbers,
|
|
62
|
+
flexBasis,
|
|
63
|
+
stickTo,
|
|
64
|
+
canRowEdit,
|
|
65
|
+
canRowRead,
|
|
66
|
+
columnsDefinitions,
|
|
67
|
+
withCheckboxes,
|
|
68
|
+
gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.uxState,
|
|
69
|
+
actionColumnDefinition,
|
|
70
|
+
gridActions === null || gridActions === void 0 ? void 0 : gridActions.handleUxChange
|
|
71
|
+
]);
|
|
78
72
|
return {
|
|
79
73
|
columnsDefinitions: modifiedColumnsDefinitions,
|
|
80
|
-
actionColumnDefinition: actionColumnDefinition,
|
|
81
74
|
onRowAction: modifiedOnRowAction
|
|
82
75
|
};
|
|
83
76
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { RowProps, GridActionsType, UxState } from '../types';
|
|
1
|
+
import type { RowProps, GridActionsType, UxState } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* hook for checkbox that select and unselects all row
|
|
4
4
|
* returns [checked state, toggleAllHandler()] for checkbox
|
|
5
5
|
*/
|
|
6
6
|
type ToggleAllCheckboxRet = [boolean, () => void];
|
|
7
|
-
export declare const useToggleAllCheckbox: (rowsData
|
|
7
|
+
export declare const useToggleAllCheckbox: (rowsData?: RowProps[], uxState?: UxState, handleUxChange?: GridActionsType['handleUxChange']) => ToggleAllCheckboxRet;
|
|
8
8
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useMemo, useCallback } from 'react';
|
|
2
2
|
export var useToggleAllCheckbox = function (rowsData, uxState, handleUxChange) {
|
|
3
|
-
var allChecked = useMemo(function () { return (rowsData || []).length >= 1 && rowsData.every(function (row) { var _a; return (_a = uxState.checkedRows) === null || _a === void 0 ? void 0 : _a[row.id]; }); }, [rowsData, uxState.checkedRows]);
|
|
3
|
+
var allChecked = useMemo(function () { return rowsData && (rowsData || []).length >= 1 && rowsData.every(function (row) { var _a; return (_a = uxState === null || uxState === void 0 ? void 0 : uxState.checkedRows) === null || _a === void 0 ? void 0 : _a[row.id]; }); }, [rowsData, uxState === null || uxState === void 0 ? void 0 : uxState.checkedRows]);
|
|
4
4
|
var toggleAllHandler = useCallback(function () {
|
|
5
5
|
var checkedRows = {};
|
|
6
6
|
// if check all is not check, we check all
|
|
@@ -9,7 +9,7 @@ export var useToggleAllCheckbox = function (rowsData, uxState, handleUxChange) {
|
|
|
9
9
|
checkedRows[row.id] = true;
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
|
-
handleUxChange
|
|
12
|
+
handleUxChange === null || handleUxChange === void 0 ? void 0 : handleUxChange('checkedRows', checkedRows);
|
|
13
13
|
}, [handleUxChange, rowsData, allChecked]);
|
|
14
|
-
return [allChecked, toggleAllHandler];
|
|
14
|
+
return [!!allChecked, toggleAllHandler];
|
|
15
15
|
};
|
|
@@ -10,7 +10,10 @@ import { ReduxGrid, createRandomData, enumValues, gridDummyActions } from '../ut
|
|
|
10
10
|
import withRedux from '../utils/withRedux';
|
|
11
11
|
var ActionColumnButtons = {
|
|
12
12
|
flexBasis: 80,
|
|
13
|
-
forceCheckboxes: true
|
|
13
|
+
forceCheckboxes: true,
|
|
14
|
+
addRowNumbers: false,
|
|
15
|
+
canRowEdit: true,
|
|
16
|
+
canRowRead: false
|
|
14
17
|
};
|
|
15
18
|
var FilterSetter = function (_a) {
|
|
16
19
|
var gridActions = _a.gridActions;
|
|
@@ -7,7 +7,7 @@ export declare const CommonGridWrap: import("styled-components").StyledComponent
|
|
|
7
7
|
withPagination: boolean;
|
|
8
8
|
}, "color">;
|
|
9
9
|
export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
|
|
10
|
-
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction,
|
|
10
|
+
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters }: import("./types").CommonGridProps & {
|
|
11
11
|
filters?: import("./types").FiltersConfig | undefined;
|
|
12
12
|
handleDragEnd: (item: import("react-beautiful-dnd").DropResult) => void;
|
|
13
13
|
displayColumnsDefinitions: import("./types").ColumnDefinition[];
|