@uxf/data-grid 11.45.1 → 11.47.0
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/README.md +3 -2
- package/_components/drawer.d.ts +1 -2
- package/_components/drawer.js +4 -7
- package/data-grid-custom-example.stories.js +3 -3
- package/data-grid-v2.js +2 -2
- package/data-grid-v2.stories.js +2 -2
- package/data-grid.js +2 -2
- package/data-grid.stories.js +2 -2
- package/filter-handler/date.js +62 -12
- package/filters-button/filters-button.js +11 -28
- package/hidden-columns-button/hidden-columns-button.js +11 -28
- package/package.json +4 -4
- package/selected-rows-toolbar/selected-rows-toolbar.d.ts +2 -2
- package/selected-rows-toolbar/selected-rows-toolbar.js +1 -1
- package/selected-rows-toolbar/selected-rows-toolbar.stories.js +2 -1
- package/styles.css +5 -1
- package/table/hooks/use-react-data-grid-columns.js +4 -4
- package/table/table.stories.js +2 -1
- package/table/types.d.ts +1 -1
- package/table-v2/table-v2.js +2 -2
- package/table-v2/table-v2.stories.js +2 -1
- package/table-v2/types.d.ts +1 -1
- package/toolbar-customs/toolbar-customs.d.ts +2 -0
- package/toolbar-customs/toolbar-customs.js +2 -2
- package/types/components.d.ts +2 -2
- package/types/core.d.ts +1 -1
- package/use-data-grid-fetching/use-data-grid-fetching.d.ts +1 -1
- package/use-data-grid-fetching/use-data-grid-fetching.js +2 -2
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ yarn upgrade @uxf/core@latest @uxf/ui@latest @uxf/data-grid@latest
|
|
|
34
34
|
@import url("@uxf/ui/pagination/pagination.css");
|
|
35
35
|
@import url("@uxf/ui/select/select.css");
|
|
36
36
|
@import url("@uxf/ui/toggle/toggle.css");
|
|
37
|
+
@import url("@uxf/ui/tabs/tabs.css");
|
|
37
38
|
|
|
38
39
|
/* must be after component css files */
|
|
39
40
|
@import url("@uxf/data-grid/styles.css");
|
|
@@ -79,11 +80,11 @@ import { useDataGridFetching } from "@uxf/data-grid/use-data-grid-fetching";
|
|
|
79
80
|
|
|
80
81
|
function BasicExample() {
|
|
81
82
|
const { state, actions } = useDataGridControl({ schema });
|
|
82
|
-
const { isLoading, error, data,
|
|
83
|
+
const { isLoading, error, data, reload } = useDataGridFetching(loader, schema, "grid-name", state);
|
|
83
84
|
|
|
84
85
|
return (
|
|
85
86
|
<DataGrid
|
|
86
|
-
|
|
87
|
+
reload={reload}
|
|
87
88
|
state={state}
|
|
88
89
|
actions={actions}
|
|
89
90
|
data={data}
|
package/_components/drawer.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
2
|
interface DrawerProps {
|
|
3
3
|
title?: ReactNode;
|
|
4
|
-
children?: ReactNode;
|
|
5
|
-
isOpen: boolean;
|
|
6
4
|
onClose: () => void;
|
|
5
|
+
children?: ReactNode;
|
|
7
6
|
}
|
|
8
7
|
export declare function Drawer(props: DrawerProps): React.JSX.Element | null;
|
|
9
8
|
export {};
|
package/_components/drawer.js
CHANGED
|
@@ -4,18 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Drawer = Drawer;
|
|
7
|
-
const react_1 = require("@floating-ui/react");
|
|
8
7
|
const use_is_mounted_1 = require("@uxf/core-react/hooks/use-is-mounted");
|
|
9
|
-
const dialog_1 = require("@uxf/ui/dialog");
|
|
10
8
|
const modal_header_1 = require("@uxf/ui/modal-header");
|
|
11
|
-
const
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
12
10
|
function Drawer(props) {
|
|
13
11
|
const isMounted = (0, use_is_mounted_1.useIsMounted)();
|
|
14
12
|
if (!isMounted) {
|
|
15
13
|
return null;
|
|
16
14
|
}
|
|
17
|
-
return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
react_2.default.createElement("div", { className: "uxf-data-grid__drawer-content" }, props.children))));
|
|
15
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
|
+
react_1.default.createElement(modal_header_1.ModalHeader, { onClose: props.onClose, title: props.title }),
|
|
17
|
+
react_1.default.createElement("div", { className: "uxf-data-grid__drawer-content" }, props.children)));
|
|
21
18
|
}
|
|
@@ -35,7 +35,7 @@ function DataGrid() {
|
|
|
35
35
|
const toolbarCustomButtons = [];
|
|
36
36
|
/** END implement me */
|
|
37
37
|
const control = (0, use_data_grid_control_1.useDataGridControl)({ schema });
|
|
38
|
-
const { isLoading, error, data,
|
|
38
|
+
const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
|
|
39
39
|
loader: loader_1.loader,
|
|
40
40
|
schema,
|
|
41
41
|
state: control.state,
|
|
@@ -49,10 +49,10 @@ function DataGrid() {
|
|
|
49
49
|
react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: toolbarCustomButtons })),
|
|
50
50
|
react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: isLoading }),
|
|
51
51
|
react_1.default.createElement(filter_list_1.DataGridFilterList, { ...control, filterHandlers: filterHandlers, schema: schema }),
|
|
52
|
-
react_1.default.createElement(table_v2_1.DataGridTableV2, { ...control, actionCell: actionCell, bodyCells: bodyCells, data: (_a = data === null || data === void 0 ? void 0 : data.result) !== null && _a !== void 0 ? _a : empty_array_1.EMPTY_ARRAY, error: error, isLoading: isLoading,
|
|
52
|
+
react_1.default.createElement(table_v2_1.DataGridTableV2, { ...control, actionCell: actionCell, bodyCells: bodyCells, data: (_a = data === null || data === void 0 ? void 0 : data.result) !== null && _a !== void 0 ? _a : empty_array_1.EMPTY_ARRAY, error: error, isLoading: isLoading, reload: reload, schema: schema }),
|
|
53
53
|
react_1.default.createElement(footer_1.DataGridFooter, null,
|
|
54
54
|
react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { ...control }),
|
|
55
55
|
react_1.default.createElement(row_counts_1.DataGridRowCounts, { ...control, count: (_b = data === null || data === void 0 ? void 0 : data.count) !== null && _b !== void 0 ? _b : 0, totalCount: (_c = data === null || data === void 0 ? void 0 : data.totalCount) !== null && _c !== void 0 ? _c : 0 }),
|
|
56
56
|
react_1.default.createElement(pagination_1.DataGridPagination, { ...control, count: (_d = data === null || data === void 0 ? void 0 : data.count) !== null && _d !== void 0 ? _d : 0 }))),
|
|
57
|
-
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { ...control })));
|
|
57
|
+
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { ...control, reload: reload })));
|
|
58
58
|
}
|
package/data-grid-v2.js
CHANGED
|
@@ -33,10 +33,10 @@ function DataGridV2(props) {
|
|
|
33
33
|
react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: props.customActions })),
|
|
34
34
|
react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: props.isLoading }),
|
|
35
35
|
react_1.default.createElement(filter_list_1.DataGridFilterList, { actions: props.actions, filterHandlers: (_b = props.filterHandlers) !== null && _b !== void 0 ? _b : filter_handler_1.defaultFilterHandlers, schema: props.schema, state: props.state }),
|
|
36
|
-
react_1.default.createElement(table_v2_1.DataGridTableV2, { NoRowsFallback: (_c = props.NoRowsFallback) !== null && _c !== void 0 ? _c : no_rows_fallback_1.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_d = props.bodyCells) !== null && _d !== void 0 ? _d : body_cell_1.BodyCells, data: (_f = (_e = props.data) === null || _e === void 0 ? void 0 : _e.result) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor,
|
|
36
|
+
react_1.default.createElement(table_v2_1.DataGridTableV2, { NoRowsFallback: (_c = props.NoRowsFallback) !== null && _c !== void 0 ? _c : no_rows_fallback_1.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_d = props.bodyCells) !== null && _d !== void 0 ? _d : body_cell_1.BodyCells, data: (_f = (_e = props.data) === null || _e === void 0 ? void 0 : _e.result) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor, reload: props.reload, rowClass: props.rowClass, rowHeight: props.rowHeight, schema: props.schema, state: props.state }),
|
|
37
37
|
react_1.default.createElement(footer_1.DataGridFooter, null,
|
|
38
38
|
react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { actions: props.actions, state: props.state }),
|
|
39
39
|
react_1.default.createElement(row_counts_1.DataGridRowCounts, { count: (_h = (_g = props.data) === null || _g === void 0 ? void 0 : _g.count) !== null && _h !== void 0 ? _h : 0, state: props.state, totalCount: (_k = (_j = props.data) === null || _j === void 0 ? void 0 : _j.totalCount) !== null && _k !== void 0 ? _k : 0 }),
|
|
40
40
|
react_1.default.createElement(pagination_1.DataGridPagination, { actions: props.actions, count: (_m = (_l = props.data) === null || _l === void 0 ? void 0 : _l.count) !== null && _m !== void 0 ? _m : 0, showFirstButton: true, showLastButton: true, size: "sm", state: props.state }))),
|
|
41
|
-
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, state: props.state })));
|
|
41
|
+
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, reload: props.reload, state: props.state })));
|
|
42
42
|
}
|
package/data-grid-v2.stories.js
CHANGED
|
@@ -80,13 +80,13 @@ const FILTER_BEHAVIOR_OPTIONS = [
|
|
|
80
80
|
function Default() {
|
|
81
81
|
const [filterBehavior, setFilterBehavior] = (0, react_1.useState)("filtersPerTab");
|
|
82
82
|
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({ schema: schema_1.schema });
|
|
83
|
-
const { isLoading, error, data,
|
|
83
|
+
const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
|
|
84
84
|
loader: loader_1.loader,
|
|
85
85
|
schema: schema_1.schema,
|
|
86
86
|
state,
|
|
87
87
|
});
|
|
88
88
|
return (react_1.default.createElement("div", { className: "p-10" },
|
|
89
89
|
react_1.default.createElement(radio_group_1.RadioGroup, { label: "Chov\u00E1n\u00ED p\u0159ep\u00EDn\u00E1n\u00ED tab\u016F", name: "filterBehavior", onChange: (value) => setFilterBehavior(value), options: FILTER_BEHAVIOR_OPTIONS, value: filterBehavior }),
|
|
90
|
-
react_1.default.createElement(data_grid_v2_1.DataGridV2, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, isLoading: isLoading, isRowSelectable: true, onCsvDownload: console.log,
|
|
90
|
+
react_1.default.createElement(data_grid_v2_1.DataGridV2, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, isLoading: isLoading, isRowSelectable: true, onCsvDownload: console.log, reload: reload, rowHeight: "auto", schema: schemaWithFrontendConfig, state: state }),
|
|
91
91
|
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
92
92
|
}
|
package/data-grid.js
CHANGED
|
@@ -33,10 +33,10 @@ function DataGrid(props) {
|
|
|
33
33
|
react_1.default.createElement(toolbar_customs_1.DataGridToolbarCustoms, { buttons: props.customActions })),
|
|
34
34
|
react_1.default.createElement(linear_progress_1.DataGridLinearProgress, { isLoading: props.isLoading }),
|
|
35
35
|
react_1.default.createElement(filter_list_1.DataGridFilterList, { actions: props.actions, filterHandlers: (_b = props.filterHandlers) !== null && _b !== void 0 ? _b : filter_handler_1.defaultFilterHandlers, schema: props.schema, state: props.state }),
|
|
36
|
-
react_1.default.createElement(table_1.DataGridTable, { NoRowsFallback: (_c = props.NoRowsFallback) !== null && _c !== void 0 ? _c : no_rows_fallback_1.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_d = props.bodyCells) !== null && _d !== void 0 ? _d : body_cell_1.BodyCells, data: (_f = (_e = props.data) === null || _e === void 0 ? void 0 : _e.result) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor,
|
|
36
|
+
react_1.default.createElement(table_1.DataGridTable, { NoRowsFallback: (_c = props.NoRowsFallback) !== null && _c !== void 0 ? _c : no_rows_fallback_1.NoRowsFallback, actionCell: props.actionCell, actions: props.actions, bodyCells: (_d = props.bodyCells) !== null && _d !== void 0 ? _d : body_cell_1.BodyCells, data: (_f = (_e = props.data) === null || _e === void 0 ? void 0 : _e.result) !== null && _f !== void 0 ? _f : empty_array_1.EMPTY_ARRAY, error: props.error, headerRowHeight: props.headerRowHeight, isLoading: props.isLoading, isRowSelectable: props.isRowSelectable, keyExtractor: props.keyExtractor, reload: props.reload, rowClass: props.rowClass, rowHeight: props.rowHeight === "auto" ? undefined : props.rowHeight, schema: props.schema, state: props.state }),
|
|
37
37
|
react_1.default.createElement(footer_1.DataGridFooter, null,
|
|
38
38
|
react_1.default.createElement(rows_per_page_select_1.DataGridRowsPerPageSelect, { actions: props.actions, state: props.state }),
|
|
39
39
|
react_1.default.createElement(row_counts_1.DataGridRowCounts, { count: (_h = (_g = props.data) === null || _g === void 0 ? void 0 : _g.count) !== null && _h !== void 0 ? _h : 0, state: props.state, totalCount: (_k = (_j = props.data) === null || _j === void 0 ? void 0 : _j.totalCount) !== null && _k !== void 0 ? _k : 0 }),
|
|
40
40
|
react_1.default.createElement(pagination_1.DataGridPagination, { actions: props.actions, count: (_m = (_l = props.data) === null || _l === void 0 ? void 0 : _l.count) !== null && _m !== void 0 ? _m : 0, showFirstButton: true, showLastButton: true, size: "sm", state: props.state }))),
|
|
41
|
-
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, state: props.state })));
|
|
41
|
+
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: (_o = props.SelectedRowsToolbarActions) !== null && _o !== void 0 ? _o : DefaultSelectedRowsToolbarActions, actions: props.actions, reload: props.reload, state: props.state })));
|
|
42
42
|
}
|
package/data-grid.stories.js
CHANGED
|
@@ -94,13 +94,13 @@ function Default() {
|
|
|
94
94
|
},
|
|
95
95
|
},
|
|
96
96
|
});
|
|
97
|
-
const { isLoading, error, data,
|
|
97
|
+
const { isLoading, error, data, reload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
|
|
98
98
|
loader: loader_1.loader,
|
|
99
99
|
schema: schema_1.schema,
|
|
100
100
|
state,
|
|
101
101
|
});
|
|
102
102
|
return (react_1.default.createElement("div", { className: "p-10" },
|
|
103
103
|
react_1.default.createElement(radio_group_1.RadioGroup, { label: "Chov\u00E1n\u00ED p\u0159ep\u00EDn\u00E1n\u00ED tab\u016F", name: "filterBehavior", onChange: (value) => setFilterBehavior(value), options: FILTER_BEHAVIOR_OPTIONS, value: filterBehavior, variant: "row" }),
|
|
104
|
-
react_1.default.createElement(data_grid_1.DataGrid, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, isLoading: isLoading, isRowSelectable: true, onCsvDownload: console.log,
|
|
104
|
+
react_1.default.createElement(data_grid_1.DataGrid, { actionCell: actionCell, actions: actions, changeTabFilterBehavior: filterBehavior !== null && filterBehavior !== void 0 ? filterBehavior : "filtersPerTab", data: data, error: error, isLoading: isLoading, isRowSelectable: true, onCsvDownload: console.log, reload: reload, schema: schemaWithFrontendConfig, state: state }),
|
|
105
105
|
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
106
106
|
}
|
package/filter-handler/date.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -8,25 +31,52 @@ const is_nil_1 = require("@uxf/core/utils/is-nil");
|
|
|
8
31
|
const chip_1 = require("@uxf/ui/chip");
|
|
9
32
|
const date_picker_input_1 = require("@uxf/ui/date-picker-input");
|
|
10
33
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
11
|
-
const react_1 =
|
|
34
|
+
const react_1 = __importStar(require("react"));
|
|
12
35
|
const filterHandler = {
|
|
13
36
|
Input(props) {
|
|
14
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
37
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
38
|
+
const [date, setDate] = (0, react_1.useState)();
|
|
15
39
|
const onChangeFrom = (value) => {
|
|
16
|
-
var _a;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
40
|
+
var _a, _b;
|
|
41
|
+
if ((0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.to)) {
|
|
42
|
+
props.onChange(undefined);
|
|
43
|
+
setDate(null);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if ((0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isValid()) {
|
|
47
|
+
props.onChange({ ...props.value, from: value !== null && value !== void 0 ? value : undefined });
|
|
48
|
+
setDate(null);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
setDate({ from: value, to: ((_b = props.value) === null || _b === void 0 ? void 0 : _b.to) || null });
|
|
52
|
+
if ((0, is_nil_1.isNil)(value)) {
|
|
53
|
+
props.onChange({ ...props.value, from: undefined });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
20
57
|
};
|
|
21
58
|
const onChangeTo = (value) => {
|
|
22
|
-
var _a;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
59
|
+
var _a, _b;
|
|
60
|
+
if ((0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.from)) {
|
|
61
|
+
props.onChange(undefined);
|
|
62
|
+
setDate(null);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
if ((0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isValid()) {
|
|
66
|
+
props.onChange({ ...props.value, to: value !== null && value !== void 0 ? value : undefined });
|
|
67
|
+
setDate(null);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
setDate({ from: ((_b = props.value) === null || _b === void 0 ? void 0 : _b.from) || null, to: value });
|
|
71
|
+
if ((0, is_nil_1.isNil)(value)) {
|
|
72
|
+
props.onChange({ ...props.value, to: undefined });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
26
76
|
};
|
|
27
77
|
return (react_1.default.createElement("div", { className: "uxf-data-grid__filter uxf-data-grid__filter--date" },
|
|
28
|
-
react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (od)`, maxDate: (_a = props.value) === null || _a === void 0 ? void 0 : _a.to, name: props.filter.name, onChange: onChangeFrom, placeholder: (_b = props.filter.config) === null || _b === void 0 ? void 0 : _b.placeholder, value: (
|
|
29
|
-
react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (do)`, minDate: (
|
|
78
|
+
react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (od)`, maxDate: (_a = props.value) === null || _a === void 0 ? void 0 : _a.to, name: props.filter.name, onChange: onChangeFrom, placeholder: (_b = props.filter.config) === null || _b === void 0 ? void 0 : _b.placeholder, value: (_e = (_c = date === null || date === void 0 ? void 0 : date.from) !== null && _c !== void 0 ? _c : (_d = props.value) === null || _d === void 0 ? void 0 : _d.from) !== null && _e !== void 0 ? _e : null }),
|
|
79
|
+
react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (do)`, minDate: (_f = props.value) === null || _f === void 0 ? void 0 : _f.from, name: props.filter.name, onChange: onChangeTo, placeholder: (_g = props.filter.config) === null || _g === void 0 ? void 0 : _g.placeholder, value: (_k = (_h = date === null || date === void 0 ? void 0 : date.to) !== null && _h !== void 0 ? _h : (_j = props.value) === null || _j === void 0 ? void 0 : _j.to) !== null && _k !== void 0 ? _k : null })));
|
|
30
80
|
},
|
|
31
81
|
ListItem: function (props) {
|
|
32
82
|
var _a, _b;
|
|
@@ -1,44 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
5
|
};
|
|
26
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
7
|
exports.DataGridFiltersButton = DataGridFiltersButton;
|
|
28
8
|
const button_1 = require("@uxf/ui/button");
|
|
9
|
+
const dialog_1 = require("@uxf/ui/dialog/dialog");
|
|
29
10
|
const icon_1 = require("@uxf/ui/icon");
|
|
30
|
-
const react_1 =
|
|
11
|
+
const react_1 = __importDefault(require("react"));
|
|
31
12
|
const drawer_1 = require("../_components/drawer");
|
|
32
13
|
const filters_1 = require("../filters");
|
|
33
14
|
function DataGridFiltersButton(props) {
|
|
34
|
-
|
|
35
|
-
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
15
|
+
const { openDialog, DialogProvider, closeDialog } = (0, dialog_1.useDialog)();
|
|
36
16
|
if (props.schema.filters.length === 0) {
|
|
37
17
|
return null;
|
|
38
18
|
}
|
|
39
19
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
40
|
-
react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__plugin-button", isIconButton: true, onClick: () =>
|
|
20
|
+
react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__plugin-button", isIconButton: true, onClick: () => {
|
|
21
|
+
var _a;
|
|
22
|
+
return openDialog(react_1.default.createElement(drawer_1.Drawer, { onClose: closeDialog, title: (_a = props.drawerTitle) !== null && _a !== void 0 ? _a : "Filtrování" },
|
|
23
|
+
react_1.default.createElement(filters_1.DataGridFilters, { actions: props.actions, filterHandlers: props.filterHandlers, schema: props.schema, state: props.state })));
|
|
24
|
+
}, size: "sm", title: "Filtrovat", variant: "secondary" },
|
|
41
25
|
react_1.default.createElement(icon_1.Icon, { name: "filter" })),
|
|
42
|
-
react_1.default.createElement(
|
|
43
|
-
react_1.default.createElement(filters_1.DataGridFilters, { actions: props.actions, filterHandlers: props.filterHandlers, schema: props.schema, state: props.state }))));
|
|
26
|
+
react_1.default.createElement(DialogProvider, { className: "uxf-dg-modal", variant: "drawer-right" })));
|
|
44
27
|
}
|
|
@@ -1,41 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
5
|
};
|
|
26
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
7
|
exports.DataGridHiddenColumnsButton = DataGridHiddenColumnsButton;
|
|
28
8
|
const button_1 = require("@uxf/ui/button");
|
|
9
|
+
const dialog_1 = require("@uxf/ui/dialog/dialog");
|
|
29
10
|
const icon_1 = require("@uxf/ui/icon");
|
|
30
|
-
const react_1 =
|
|
11
|
+
const react_1 = __importDefault(require("react"));
|
|
31
12
|
const drawer_1 = require("../_components/drawer");
|
|
32
13
|
const hidden_columns_1 = require("../hidden-columns");
|
|
33
14
|
function DataGridHiddenColumnsButton(props) {
|
|
34
|
-
|
|
35
|
-
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
15
|
+
const { openDialog, DialogProvider, closeDialog } = (0, dialog_1.useDialog)();
|
|
36
16
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
37
|
-
react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__plugin-button", isIconButton: true, onClick: () =>
|
|
17
|
+
react_1.default.createElement(button_1.Button, { className: "uxf-data-grid__plugin-button", isIconButton: true, onClick: () => {
|
|
18
|
+
var _a;
|
|
19
|
+
return openDialog(react_1.default.createElement(drawer_1.Drawer, { onClose: closeDialog, title: (_a = props.drawerTitle) !== null && _a !== void 0 ? _a : "Sloupce" },
|
|
20
|
+
react_1.default.createElement(hidden_columns_1.DataGridHiddenColumns, { actions: props.actions, schema: props.schema, state: props.state })));
|
|
21
|
+
}, size: "sm", title: "Nastaven\u00ED sloupc\u016F", variant: "secondary" },
|
|
38
22
|
react_1.default.createElement(icon_1.Icon, { name: "table-columns" })),
|
|
39
|
-
react_1.default.createElement(
|
|
40
|
-
react_1.default.createElement(hidden_columns_1.DataGridHiddenColumns, { actions: props.actions, schema: props.schema, state: props.state }))));
|
|
23
|
+
react_1.default.createElement(DialogProvider, { className: "uxf-dg-modal", variant: "drawer-right" })));
|
|
41
24
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/data-grid",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.47.0",
|
|
4
4
|
"description": "UXF DataGrid",
|
|
5
5
|
"homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
|
|
6
6
|
"main": "index.js",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"typecheck": "tsc --noEmit --skipLibCheck"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@uxf/core": "11.
|
|
35
|
-
"@uxf/core-react": "11.
|
|
36
|
-
"@uxf/ui": "11.
|
|
34
|
+
"@uxf/core": "11.47.0",
|
|
35
|
+
"@uxf/core-react": "11.47.0",
|
|
36
|
+
"@uxf/ui": "11.47.0",
|
|
37
37
|
"dayjs": "1.11.13",
|
|
38
38
|
"deepmerge": "4.3.1",
|
|
39
39
|
"fast-glob": "3.3.2",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { FC } from "react";
|
|
2
2
|
import { DataGridControl } from "../use-data-grid-control";
|
|
3
3
|
export interface SelectedRowsToolbarActionsProps extends DataGridControl {
|
|
4
|
-
reload: () =>
|
|
4
|
+
reload: () => Promise<any>;
|
|
5
5
|
}
|
|
6
6
|
export type SelectedRowsToolbarActionsComponent = FC<SelectedRowsToolbarActionsProps>;
|
|
7
7
|
export interface DataGridSelectedRowsToolbarProps extends DataGridControl {
|
|
8
8
|
Actions?: SelectedRowsToolbarActionsComponent;
|
|
9
|
-
|
|
9
|
+
reload: () => Promise<any>;
|
|
10
10
|
}
|
|
11
11
|
export declare function DataGridSelectedRowsToolbar(props: DataGridSelectedRowsToolbarProps): React.JSX.Element | null;
|
|
@@ -26,6 +26,6 @@ function DataGridSelectedRowsToolbar(props) {
|
|
|
26
26
|
react_1.default.createElement("div", { className: "uxf-data-grid__selected-rows-toolbar" },
|
|
27
27
|
react_1.default.createElement("p", null, getText(props.state.selectedRows.length)),
|
|
28
28
|
react_1.default.createElement("div", { className: "uxf-data-grid__selected-rows-toolbar-actions" },
|
|
29
|
-
props.Actions && (react_1.default.createElement(props.Actions, { actions: props.actions, reload:
|
|
29
|
+
props.Actions && (react_1.default.createElement(props.Actions, { actions: props.actions, reload: props.reload, state: props.state })),
|
|
30
30
|
react_1.default.createElement(button_1.Button, { onClick: () => props.actions.setSelectedRows([]) }, "Zru\u0161it v\u00FDb\u011Br")))));
|
|
31
31
|
}
|
|
@@ -33,11 +33,12 @@ const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
|
33
33
|
const selected_rows_toolbar_1 = require("./selected-rows-toolbar");
|
|
34
34
|
function Default() {
|
|
35
35
|
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({ schema: schema_1.schema });
|
|
36
|
+
const reload = () => new Promise(() => null);
|
|
36
37
|
(0, react_1.useEffect)(() => {
|
|
37
38
|
actions.setSelectedRows([{ id: 1 }, { id: 2 }]);
|
|
38
39
|
}, [actions]);
|
|
39
40
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
40
41
|
react_1.default.createElement(selected_rows_toolbar_1.DataGridSelectedRowsToolbar, { Actions: () => (react_1.default.createElement(button_1.Button, { isIconButton: true },
|
|
41
|
-
react_1.default.createElement(icon_1.Icon, { name: "camera" }))), actions: actions, state: state }),
|
|
42
|
+
react_1.default.createElement(icon_1.Icon, { name: "camera" }))), actions: actions, reload: reload, state: state }),
|
|
42
43
|
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
43
44
|
}
|
package/styles.css
CHANGED
|
@@ -28,7 +28,7 @@ const cx_1 = require("@uxf/core/utils/cx");
|
|
|
28
28
|
const react_1 = __importStar(require("react"));
|
|
29
29
|
const react_data_grid_1 = require("react-data-grid");
|
|
30
30
|
function useReactDataGridColumns(props, state) {
|
|
31
|
-
const {
|
|
31
|
+
const { reload, schema, isRowSelectable, bodyCells, actionCell } = props;
|
|
32
32
|
const userConfigColumns = state.userConfig.columns;
|
|
33
33
|
return (0, react_1.useMemo)(() => {
|
|
34
34
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
@@ -66,7 +66,7 @@ function useReactDataGridColumns(props, state) {
|
|
|
66
66
|
label: p.column.name,
|
|
67
67
|
sort: p.column.sortable,
|
|
68
68
|
type: columnType,
|
|
69
|
-
}, reload:
|
|
69
|
+
}, reload: reload, row: p.row, value: p.row[p.column.key] }));
|
|
70
70
|
},
|
|
71
71
|
});
|
|
72
72
|
}
|
|
@@ -78,9 +78,9 @@ function useReactDataGridColumns(props, state) {
|
|
|
78
78
|
headerCellClass: "uxf-data-grid__action-cell",
|
|
79
79
|
cellClass: "uxf-data-grid__action-cell",
|
|
80
80
|
width: actionCell.width,
|
|
81
|
-
renderCell: (p) => react_1.default.createElement(actionCell.Component, { reload:
|
|
81
|
+
renderCell: (p) => react_1.default.createElement(actionCell.Component, { reload: reload, row: p.row }),
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
return columns;
|
|
85
|
-
}, [userConfigColumns, actionCell, schema.columns, bodyCells, isRowSelectable,
|
|
85
|
+
}, [userConfigColumns, actionCell, schema.columns, bodyCells, isRowSelectable, reload, state.userConfig.columns]);
|
|
86
86
|
}
|
package/table/table.stories.js
CHANGED
|
@@ -13,7 +13,8 @@ const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
|
13
13
|
const table_1 = require("./table");
|
|
14
14
|
function Default() {
|
|
15
15
|
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({ schema: schema_1.schema });
|
|
16
|
+
const reload = () => new Promise(() => null);
|
|
16
17
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
17
|
-
react_1.default.createElement(table_1.DataGridTable, { actions: actions, bodyCells: body_cell_1.BodyCells, data: data_1.data, error: undefined, isLoading: true, isRowSelectable: true, schema: schema_1.schema, state: state }),
|
|
18
|
+
react_1.default.createElement(table_1.DataGridTable, { actions: actions, bodyCells: body_cell_1.BodyCells, data: data_1.data, error: undefined, isLoading: true, isRowSelectable: true, reload: reload, schema: schema_1.schema, state: state }),
|
|
18
19
|
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
19
20
|
}
|
package/table/types.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface DataGridTableProps<Row> extends DataGridControl {
|
|
|
9
9
|
data: Row[];
|
|
10
10
|
isLoading?: boolean;
|
|
11
11
|
error?: any | Nullish;
|
|
12
|
-
|
|
12
|
+
reload: () => Promise<any>;
|
|
13
13
|
rowHeight?: number | ((row: Row) => number);
|
|
14
14
|
headerRowHeight?: number;
|
|
15
15
|
rowClass?: (row: Row) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
|
package/table-v2/table-v2.js
CHANGED
|
@@ -69,7 +69,7 @@ function DataGridTableV2(props) {
|
|
|
69
69
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
70
70
|
(_d = (_b = (_a = props.bodyCells) === null || _a === void 0 ? void 0 : _a[column.type]) !== null && _b !== void 0 ? _b : (_c = props.bodyCells) === null || _c === void 0 ? void 0 : _c.default) !== null && _d !== void 0 ? _d : DefaultBodyCell;
|
|
71
71
|
return (react_1.default.createElement(components_1.Table.Cell, { column: column, key: column.name },
|
|
72
|
-
react_1.default.createElement(BodyCell, { column: column, reload:
|
|
72
|
+
react_1.default.createElement(BodyCell, { column: column, reload: props.reload, row: row, value: row[column.name] })));
|
|
73
73
|
}),
|
|
74
|
-
(0, is_not_nil_1.isNotNil)(props.actionCell) &&
|
|
74
|
+
(0, is_not_nil_1.isNotNil)(props.actionCell) && react_1.default.createElement(props.actionCell.Component, { reload: props.reload, row: row })))))));
|
|
75
75
|
}
|
|
@@ -14,8 +14,9 @@ const use_data_grid_control_1 = require("../use-data-grid-control");
|
|
|
14
14
|
const table_v2_1 = require("./table-v2");
|
|
15
15
|
function Default() {
|
|
16
16
|
const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)({ schema: schema_1.schema, isDebug: true });
|
|
17
|
+
const reload = () => new Promise(() => null);
|
|
17
18
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
18
19
|
react_1.default.createElement(hidden_columns_button_1.DataGridHiddenColumnsButton, { actions: actions, schema: schema_1.schema, state: state }),
|
|
19
|
-
react_1.default.createElement(table_v2_1.DataGridTableV2, { actionCell: { width: 150, Component: () => react_1.default.createElement("div", null, "ActionCell") }, actions: actions, bodyCells: body_cell_1.BodyCells, data: data_1.data, error: undefined, isLoading: true, isRowSelectable: true, schema: schema_1.schema, state: state }),
|
|
20
|
+
react_1.default.createElement(table_v2_1.DataGridTableV2, { actionCell: { width: 150, Component: () => react_1.default.createElement("div", null, "ActionCell") }, actions: actions, bodyCells: body_cell_1.BodyCells, data: data_1.data, error: undefined, isLoading: true, isRowSelectable: true, reload: reload, schema: schema_1.schema, state: state }),
|
|
20
21
|
react_1.default.createElement(json_renderer_1.JsonRenderer, { value: state })));
|
|
21
22
|
}
|
package/table-v2/types.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface DataGridTableProps<Row> extends DataGridControl {
|
|
|
7
7
|
data: Row[];
|
|
8
8
|
isLoading?: boolean;
|
|
9
9
|
error?: any | Nullish;
|
|
10
|
-
|
|
10
|
+
reload: () => Promise<any>;
|
|
11
11
|
rowHeight?: number | ((row: Row) => number) | "auto";
|
|
12
12
|
headerRowHeight?: number;
|
|
13
13
|
rowClass?: (row: Row) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ButtonVariant } from "@uxf/ui/button";
|
|
2
|
+
import { NextLink } from "@uxf/ui/utils/next-link";
|
|
2
3
|
import React, { ReactElement } from "react";
|
|
3
4
|
export interface DataGridToolbarCustomsProps {
|
|
4
5
|
buttons?: {
|
|
5
6
|
label: string | ReactElement;
|
|
6
7
|
onClick?: () => void;
|
|
7
8
|
href?: string;
|
|
9
|
+
as?: NextLink | "a";
|
|
8
10
|
variant?: ButtonVariant;
|
|
9
11
|
}[];
|
|
10
12
|
}
|
|
@@ -15,6 +15,6 @@ function DataGridToolbarCustoms(props) {
|
|
|
15
15
|
}
|
|
16
16
|
const firstButton = props.buttons.at(0);
|
|
17
17
|
return (react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs" },
|
|
18
|
-
react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-mobile" }, (0, is_not_nil_1.isNotNil)(firstButton) ? (react_1.default.createElement(button_1.Button, { href: firstButton.href, onClick: firstButton.onClick, size: "sm", variant: firstButton.variant }, firstButton.label)) : (react_1.default.createElement(button_list_1.ButtonList, { buttons: props.buttons, openButton: { variant: "secondary" }, size: "sm", visibleButtonsCount: 1 }))),
|
|
19
|
-
react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-desktop" }, props.buttons.map((button, index) => (react_1.default.createElement(button_1.Button, { href: button.href, key: index, onClick: button.onClick, size: "sm", variant: button.variant }, button.label))))));
|
|
18
|
+
react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-mobile" }, (0, is_not_nil_1.isNotNil)(firstButton) ? (react_1.default.createElement(button_1.Button, { as: firstButton.as, href: firstButton.href, onClick: firstButton.onClick, size: "sm", variant: firstButton.variant }, firstButton.label)) : (react_1.default.createElement(button_list_1.ButtonList, { buttons: props.buttons, openButton: { variant: "secondary" }, size: "sm", visibleButtonsCount: 1 }))),
|
|
19
|
+
react_1.default.createElement("div", { className: "uxf-data-grid__toolbar-customs-desktop" }, props.buttons.map((button, index) => (react_1.default.createElement(button_1.Button, { as: button.as, href: button.href, key: index, onClick: button.onClick, size: "sm", variant: button.variant }, button.label))))));
|
|
20
20
|
}
|
package/types/components.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ComponentType, FC } from "react";
|
|
|
2
2
|
import { BaseGridType, Columns, Filter } from "./schema";
|
|
3
3
|
export interface ActionCellProps<R> {
|
|
4
4
|
row: R;
|
|
5
|
-
reload: () =>
|
|
5
|
+
reload: () => Promise<any>;
|
|
6
6
|
}
|
|
7
7
|
export type ActionCellComponent<R> = FC<ActionCellProps<R>>;
|
|
8
8
|
export type DataGridActionCell<Row> = {
|
|
@@ -13,7 +13,7 @@ export interface BodyCellProps<C, R> {
|
|
|
13
13
|
value: any;
|
|
14
14
|
column: C;
|
|
15
15
|
row: R;
|
|
16
|
-
reload: () =>
|
|
16
|
+
reload: () => Promise<any>;
|
|
17
17
|
}
|
|
18
18
|
export type BodyCellComponent<C extends BaseGridType["columns"], R> = ComponentType<BodyCellProps<Columns<C>, R>>;
|
|
19
19
|
export type BodyCellComponents<C, R> = {
|
package/types/core.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type KeyExtractor = (row: ResultItem) => number;
|
|
|
4
4
|
export type CsvDownloadHandler = (request: Request) => void;
|
|
5
5
|
export type Loader = (gridName: string | undefined, request: Request, encodedRequest: string) => Promise<Response>;
|
|
6
6
|
export type CallbackRef = {
|
|
7
|
-
reload: () => Promise<
|
|
7
|
+
reload: () => Promise<any>;
|
|
8
8
|
};
|
|
9
9
|
export type Config<C extends BaseGridType["columns"]> = {
|
|
10
10
|
columns: Partial<{
|
|
@@ -14,7 +14,7 @@ function useDataGridFetching(config) {
|
|
|
14
14
|
const stateRequest = JSON.parse(stringStateRequest);
|
|
15
15
|
const request = (0, utils_1.createRequest)(stateRequest, { isWithTabCounts: config.isWithTabCounts });
|
|
16
16
|
setIsLoading(true);
|
|
17
|
-
loader(config.schema.name, request, (0, utils_1.encodeFilter)(request))
|
|
17
|
+
return loader(config.schema.name, request, (0, utils_1.encodeFilter)(request))
|
|
18
18
|
.then((response) => {
|
|
19
19
|
setData(response);
|
|
20
20
|
setError(null);
|
|
@@ -35,6 +35,6 @@ function useDataGridFetching(config) {
|
|
|
35
35
|
data,
|
|
36
36
|
isLoading,
|
|
37
37
|
error,
|
|
38
|
-
|
|
38
|
+
reload,
|
|
39
39
|
};
|
|
40
40
|
}
|