@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 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, onReload } = useDataGridFetching(loader, schema, "grid-name", state);
83
+ const { isLoading, error, data, reload } = useDataGridFetching(loader, schema, "grid-name", state);
83
84
 
84
85
  return (
85
86
  <DataGrid
86
- onReload={onReload}
87
+ reload={reload}
87
88
  state={state}
88
89
  actions={actions}
89
90
  data={data}
@@ -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 {};
@@ -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 react_2 = __importDefault(require("react"));
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 (react_2.default.createElement(react_1.FloatingPortal, null,
18
- react_2.default.createElement(dialog_1.Dialog, { className: "uxf-dg-modal", onClose: props.onClose, open: props.isOpen, variant: "drawer-right" },
19
- react_2.default.createElement(modal_header_1.ModalHeader, { onClose: props.onClose, title: props.title }),
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, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
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, onReload: onReload, 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, 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, onReload: props.onReload, rowClass: props.rowClass, rowHeight: props.rowHeight, 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, 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
  }
@@ -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, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
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, onReload: onReload, rowHeight: "auto", schema: schemaWithFrontendConfig, state: state }),
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, onReload: props.onReload, rowClass: props.rowClass, rowHeight: props.rowHeight === "auto" ? undefined : props.rowHeight, 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, 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
  }
@@ -94,13 +94,13 @@ function Default() {
94
94
  },
95
95
  },
96
96
  });
97
- const { isLoading, error, data, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)({
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, onReload: onReload, schema: schemaWithFrontendConfig, state: state }),
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
  }
@@ -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 = __importDefault(require("react"));
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
- return (0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.to)
18
- ? props.onChange(undefined)
19
- : props.onChange({ ...props.value, from: value !== null && value !== void 0 ? value : undefined });
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
- return (0, is_nil_1.isNil)(value) && (0, is_nil_1.isNil)((_a = props.value) === null || _a === void 0 ? void 0 : _a.from)
24
- ? props.onChange(undefined)
25
- : props.onChange({ ...props.value, to: value !== null && value !== void 0 ? value : undefined });
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: (_d = (_c = props.value) === null || _c === void 0 ? void 0 : _c.from) !== null && _d !== void 0 ? _d : null }),
29
- react_1.default.createElement(date_picker_input_1.DatePickerInput, { isClearable: true, label: `${props.filter.label} (do)`, minDate: (_e = props.value) === null || _e === void 0 ? void 0 : _e.from, name: props.filter.name, onChange: onChangeTo, placeholder: (_f = props.filter.config) === null || _f === void 0 ? void 0 : _f.placeholder, value: (_h = (_g = props.value) === null || _g === void 0 ? void 0 : _g.to) !== null && _h !== void 0 ? _h : null })));
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
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 = __importStar(require("react"));
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
- var _a;
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: () => setIsOpen(true), size: "sm", title: "Filtrovat", variant: "secondary" },
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(drawer_1.Drawer, { isOpen: isOpen, onClose: () => setIsOpen(false), title: (_a = props.drawerTitle) !== null && _a !== void 0 ? _a : "Filtrování" },
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
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 = __importStar(require("react"));
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
- var _a;
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: () => setIsOpen(true), size: "sm", title: "Nastaven\u00ED sloupc\u016F", variant: "secondary" },
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(drawer_1.Drawer, { isOpen: isOpen, onClose: () => setIsOpen(false), title: (_a = props.drawerTitle) !== null && _a !== void 0 ? _a : "Sloupce" },
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.45.1",
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.45.0",
35
- "@uxf/core-react": "11.45.0",
36
- "@uxf/ui": "11.45.1",
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: () => void;
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
- onReload?: () => void;
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: () => { var _a; return (_a = props.onReload) === null || _a === void 0 ? void 0 : _a.call(props); }, state: props.state })),
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
@@ -148,7 +148,11 @@
148
148
  &--datetime,
149
149
  &--interval {
150
150
  display: grid;
151
- gap: theme("spacing.4");
151
+ gap: theme("spacing.2") theme("spacing.4");
152
+ }
153
+
154
+ &--date,
155
+ &--interval {
152
156
  grid-template-columns: repeat(2, 1fr);
153
157
  }
154
158
  }
@@ -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 { onReload, schema, isRowSelectable, bodyCells, actionCell } = props;
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: () => onReload === null || onReload === void 0 ? void 0 : onReload(), row: p.row, value: p.row[p.column.key] }));
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: async () => onReload === null || onReload === void 0 ? void 0 : onReload(), row: p.row }),
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, onReload, state.userConfig.columns]);
85
+ }, [userConfigColumns, actionCell, schema.columns, bodyCells, isRowSelectable, reload, state.userConfig.columns]);
86
86
  }
@@ -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
- onReload?: () => void;
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;
@@ -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: () => { var _a; return (_a = props.onReload) === null || _a === void 0 ? void 0 : _a.call(props); }, row: row, value: row[column.name] })));
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) && (react_1.default.createElement(props.actionCell.Component, { reload: () => { var _a; return (_a = props.onReload) === null || _a === void 0 ? void 0 : _a.call(props); }, row: row }))))))));
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
  }
@@ -7,7 +7,7 @@ export interface DataGridTableProps<Row> extends DataGridControl {
7
7
  data: Row[];
8
8
  isLoading?: boolean;
9
9
  error?: any | Nullish;
10
- onReload?: () => void;
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
  }
@@ -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: () => void;
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: () => void;
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<void>;
7
+ reload: () => Promise<any>;
8
8
  };
9
9
  export type Config<C extends BaseGridType["columns"]> = {
10
10
  columns: Partial<{
@@ -12,7 +12,7 @@ export interface DataGridFetchingResult<Row> {
12
12
  isLoading: boolean;
13
13
  error?: any;
14
14
  data: Response<Row> | null;
15
- onReload: () => void;
15
+ reload: () => Promise<any>;
16
16
  }
17
17
  export interface UseDataGridFetchingConfig {
18
18
  loader?: Loader;
@@ -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
- onReload: reload,
38
+ reload,
39
39
  };
40
40
  }