@uxf/data-grid 4.0.0-beta.13 → 4.0.0-beta.15
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/DataGrid.js +33 -24
- package/README.md +18 -0
- package/index.d.ts +1 -0
- package/index.js +2 -1
- package/package.json +1 -1
- package/tailwindui/components/circle-button.js +5 -4
- package/types.d.ts +5 -1
- package/useCallbackRef.d.ts +2 -0
- package/useCallbackRef.js +7 -0
package/DataGrid.js
CHANGED
|
@@ -86,13 +86,19 @@ var defaultKeyExtractor = function (r) {
|
|
|
86
86
|
};
|
|
87
87
|
// eslint-disable-next-line react/require-optimization
|
|
88
88
|
var DataGrid = function (props) {
|
|
89
|
-
var _a, _b, _c, _d, _e, _f;
|
|
90
|
-
var
|
|
91
|
-
var
|
|
92
|
-
var _m =
|
|
89
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
90
|
+
var rowHeight = (_a = props.rowHeight) !== null && _a !== void 0 ? _a : 44;
|
|
91
|
+
var headerRowHeight = (_b = props.headerRowHeight) !== null && _b !== void 0 ? _b : 36;
|
|
92
|
+
var _m = props.ui, ToolbarContainer = _m.ToolbarContainer, LinearProgress = _m.LinearProgress, Container = _m.Container, FilterList = _m.FilterList, Pagination = _m.Pagination, SelectedRowsToolbar = _m.SelectedRowsToolbar, NoRowsFallback = _m.NoRowsFallback, SelectRowCheckbox = _m.SelectRowCheckbox;
|
|
93
|
+
var _o = __read((0, react_1.useReducer)(props.debug ? reducer_1.debugReducer : reducer_1.reducer, (0, reducer_1.getInitialState)(props.schema, props.initialState)), 2), state = _o[0], dispatch = _o[1];
|
|
94
|
+
var _p = __read((0, react_1.useState)(false), 2), mounted = _p[0], setMounted = _p[1];
|
|
93
95
|
(0, react_1.useEffect)(function () {
|
|
94
96
|
setMounted(true);
|
|
95
97
|
}, []);
|
|
98
|
+
// TODO @vejvis - tady vyřešit problém se závislostma v useCallbacku
|
|
99
|
+
var schema = props.schema;
|
|
100
|
+
var gridName = props.gridName;
|
|
101
|
+
var loader = props.loader;
|
|
96
102
|
var onReload = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
103
|
var request, response, e_1;
|
|
98
104
|
return __generator(this, function (_a) {
|
|
@@ -122,6 +128,11 @@ var DataGrid = function (props) {
|
|
|
122
128
|
}
|
|
123
129
|
});
|
|
124
130
|
}); }, [state, schema, gridName, loader]);
|
|
131
|
+
if (props.callbackRef) {
|
|
132
|
+
props.callbackRef.current = {
|
|
133
|
+
reload: onReload,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
125
136
|
(0, react_1.useEffect)(function () {
|
|
126
137
|
onReload();
|
|
127
138
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -137,13 +148,12 @@ var DataGrid = function (props) {
|
|
|
137
148
|
var onFilter = (0, react_1.useCallback)(function (value) {
|
|
138
149
|
dispatch((0, actions_1.filter)(value));
|
|
139
150
|
}, [dispatch]);
|
|
140
|
-
var rows = (
|
|
151
|
+
var rows = (_d = (_c = state.response) === null || _c === void 0 ? void 0 : _c.result) !== null && _d !== void 0 ? _d : [];
|
|
141
152
|
var columns = (0, useColumns_1.useColumns)(props, onReload);
|
|
142
153
|
var contentHeight = typeof rowHeight === "function"
|
|
143
154
|
? rows.reduce(function (prev, curr) { return prev + rowHeight(curr); })
|
|
144
|
-
: (
|
|
145
|
-
var renderedToolbarPlugins = toolbarPlugins
|
|
146
|
-
.map(function (Plugin, index) {
|
|
155
|
+
: (rowHeight + 1) * rows.length;
|
|
156
|
+
var renderedToolbarPlugins = (_f = (_e = props.toolbarPlugins) === null || _e === void 0 ? void 0 : _e.map(function (Plugin, index) {
|
|
147
157
|
var _a;
|
|
148
158
|
return (react_1.default.createElement(Plugin, { key: index, props: props, state: state, dispatch: dispatch, reload: onReload, fulltext: {
|
|
149
159
|
value: (_a = state.request.search) !== null && _a !== void 0 ? _a : "",
|
|
@@ -155,29 +165,28 @@ var DataGrid = function (props) {
|
|
|
155
165
|
onReset: function () { return null; },
|
|
156
166
|
onFilter: function (f) { return dispatch((0, actions_1.filter)(f)); },
|
|
157
167
|
filtersData: state.request.f,
|
|
158
|
-
FilterInput: ui.FilterInput,
|
|
168
|
+
FilterInput: props.ui.FilterInput,
|
|
159
169
|
}, hiddenColumns: {
|
|
160
170
|
value: props.hiddenColumns,
|
|
161
171
|
onChange: props.onChangeHiddenColumns,
|
|
162
|
-
}, schema: schema }));
|
|
163
|
-
})
|
|
164
|
-
.filter(function (i) { return !!i; });
|
|
172
|
+
}, schema: props.schema }));
|
|
173
|
+
}).filter(function (i) { return !!i; })) !== null && _f !== void 0 ? _f : [];
|
|
165
174
|
var components = (0, react_1.useMemo)(function () {
|
|
166
175
|
return {
|
|
167
|
-
checkboxFormatter:
|
|
168
|
-
noRowsFallback: react_1.default.createElement(
|
|
176
|
+
checkboxFormatter: SelectRowCheckbox,
|
|
177
|
+
noRowsFallback: react_1.default.createElement(NoRowsFallback, { error: state.error, loading: !!state.loading }),
|
|
169
178
|
};
|
|
170
|
-
}, [
|
|
171
|
-
return (react_1.default.createElement(
|
|
172
|
-
renderedToolbarPlugins.length > 0 && (react_1.default.createElement(
|
|
173
|
-
react_1.default.createElement(
|
|
174
|
-
react_1.default.createElement(
|
|
179
|
+
}, [SelectRowCheckbox, NoRowsFallback, state.error, state.loading]);
|
|
180
|
+
return (react_1.default.createElement(Container, { mb: props.mb, mt: props.mt, ml: props.ml, mr: props.mr, mx: props.mx, my: props.my, m: props.m, noBorder: props.noBorder },
|
|
181
|
+
renderedToolbarPlugins.length > 0 && (react_1.default.createElement(ToolbarContainer, { noBorder: props.noBorder }, renderedToolbarPlugins)),
|
|
182
|
+
react_1.default.createElement(LinearProgress, { loading: !!state.loading }),
|
|
183
|
+
react_1.default.createElement(FilterList, { dispatch: dispatch, onFilter: onFilter, filters: props.schema.filters, filtersData: state.request.f, FilterListItem: props.ui.FilterListItem, noBorder: props.noBorder }),
|
|
175
184
|
mounted && (react_1.default.createElement(react_data_grid_1.default, { style: {
|
|
176
185
|
border: 0,
|
|
177
186
|
borderRadius: 4,
|
|
178
187
|
height: contentHeight + headerRowHeight + (rows.length === 0 ? 44 : 0),
|
|
179
188
|
overflowY: "hidden",
|
|
180
|
-
}, className: "rdg-light", columns: columns, rows: (
|
|
189
|
+
}, className: "rdg-light", columns: columns, rows: (_h = (_g = state.response) === null || _g === void 0 ? void 0 : _g.result) !== null && _h !== void 0 ? _h : [], enableVirtualization: false, onSortColumnsChange: function (sortColumns) {
|
|
181
190
|
if (sortColumns.length > 0) {
|
|
182
191
|
var sc = sortColumns[0];
|
|
183
192
|
dispatch((0, actions_1.sort)(sc.columnKey, sc.direction.toLowerCase()));
|
|
@@ -187,9 +196,9 @@ var DataGrid = function (props) {
|
|
|
187
196
|
}
|
|
188
197
|
}, sortColumns: state.request.sort && state.request.dir
|
|
189
198
|
? [{ columnKey: state.request.sort, direction: state.request.dir.toUpperCase() }]
|
|
190
|
-
: [], rowHeight: rowHeight, headerRowHeight: headerRowHeight, rowClass: rowClass, rowKeyGetter: keyExtractor, selectedRows: selectedRows, onSelectedRowsChange: onChangeSelectedRows, components: components })),
|
|
191
|
-
react_1.default.createElement(
|
|
192
|
-
react_1.default.createElement(
|
|
199
|
+
: [], rowHeight: rowHeight, headerRowHeight: headerRowHeight, rowClass: props.rowClass, rowKeyGetter: (_j = props.keyExtractor) !== null && _j !== void 0 ? _j : defaultKeyExtractor, selectedRows: props.selectedRows, onSelectedRowsChange: props.onChangeSelectedRows, components: components })),
|
|
200
|
+
react_1.default.createElement(Pagination, { page: state.request.page, perPage: state.request.perPage, count: (_l = (_k = state.response) === null || _k === void 0 ? void 0 : _k.count) !== null && _l !== void 0 ? _l : 0, onChangePage: function (page) { return dispatch((0, actions_1.changePage)(page)); }, onChangeRowsPerPage: function (perPage) { return dispatch((0, actions_1.changePerPage)(perPage)); } }),
|
|
201
|
+
react_1.default.createElement(SelectedRowsToolbar, { selectedRows: props.selectedRows, onChangeSelectedRows: props.onChangeSelectedRows, Actions: props.ui.SelectedRowsToolbarActions, reload: onReload })));
|
|
193
202
|
};
|
|
194
203
|
exports.DataGrid = DataGrid;
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRGF0YUdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQXFGO0FBQ3JGLDJDQVd5QjtBQUN6QiwyQ0FBeUU7QUFFekUsaUNBQXNEO0FBQ3RELG9FQUE0QztBQUM1QywyQ0FBMEM7QUFFMUMsSUFBTSxtQkFBbUIsR0FBaUIsVUFBQSxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixzREFBc0Q7QUFDL0MsSUFBTSxRQUFRLEdBQUcsVUFBeUMsS0FBaUM7O0lBQzlGLElBQU0sU0FBUyxHQUFHLE1BQUEsS0FBSyxDQUFDLFNBQVMsbUNBQUksRUFBRSxDQUFDO0lBQ3hDLElBQU0sZUFBZSxHQUFHLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksRUFBRSxDQUFDO0lBQzlDLElBQUEsS0FTRixLQUFLLENBQUMsRUFBRSxFQVJSLGdCQUFnQixzQkFBQSxFQUNoQixjQUFjLG9CQUFBLEVBQ2QsU0FBUyxlQUFBLEVBQ1QsVUFBVSxnQkFBQSxFQUNWLFVBQVUsZ0JBQUEsRUFDVixtQkFBbUIseUJBQUEsRUFDbkIsY0FBYyxvQkFBQSxFQUNkLGlCQUFpQix1QkFDVCxDQUFDO0lBRVAsSUFBQSxLQUFBLE9BQW9CLElBQUEsa0JBQVUsRUFDaEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsc0JBQVksQ0FBQyxDQUFDLENBQUMsaUJBQU8sRUFDcEMsSUFBQSx5QkFBZSxFQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUNwRCxJQUFBLEVBSE0sS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUdyQixDQUFDO0lBQ0ksSUFBQSxLQUFBLE9BQXdCLElB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
|
package/README.md
CHANGED
|
@@ -122,6 +122,23 @@ const schema: Schema<GridType> = {
|
|
|
122
122
|
<DataGrid<GridType> schema={schema}/>
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
## Přenačtení datagridu z rodičovské komponenty
|
|
126
|
+
```tsx
|
|
127
|
+
import { DataGrid } from "@uxf/data-grid/tailwindui";
|
|
128
|
+
import { useCallbackRef } from "@uxf/data-grid"
|
|
129
|
+
|
|
130
|
+
const Page: React.FC = () => {
|
|
131
|
+
const callbackRef = useCallbackRef();
|
|
132
|
+
|
|
133
|
+
return (
|
|
134
|
+
<>
|
|
135
|
+
<DataGrid schema={schema} loader={loader} callbackRef={callbackRef}/>
|
|
136
|
+
<button onClick={() => callbackRef.current?.reload()}>RELOAD</button>
|
|
137
|
+
</>
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
125
142
|
## Seznam props
|
|
126
143
|
|
|
127
144
|
| Název | Typ | Popis |
|
|
@@ -129,6 +146,7 @@ const schema: Schema<GridType> = {
|
|
|
129
146
|
| schema (required) | `Schema` | |
|
|
130
147
|
| loader (required) | `Loader` | |
|
|
131
148
|
| ui (required in core DataGrid) | `UIComponents` | |
|
|
149
|
+
| callbackRef | `CallbackRef` | |
|
|
132
150
|
| gridName | `string` | |
|
|
133
151
|
| title | `string` | |
|
|
134
152
|
| initialState | `Request` or `string` | |
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -13,7 +13,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.encodeFilter = exports.decodeFilter = void 0;
|
|
14
14
|
__exportStar(require("./DataGrid"), exports);
|
|
15
15
|
__exportStar(require("./types"), exports);
|
|
16
|
+
__exportStar(require("./useCallbackRef"), exports);
|
|
16
17
|
var utils_1 = require("./utils");
|
|
17
18
|
Object.defineProperty(exports, "decodeFilter", { enumerable: true, get: function () { return utils_1.decodeFilter; } });
|
|
18
19
|
Object.defineProperty(exports, "encodeFilter", { enumerable: true, get: function () { return utils_1.encodeFilter; } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwwQ0FBd0I7QUFDeEIsbURBQWlDO0FBRWpDLGlDQUFxRDtBQUE1QyxxR0FBQSxZQUFZLE9BQUE7QUFBRSxxR0FBQSxZQUFZLE9BQUEifQ==
|
package/package.json
CHANGED
|
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.CircleButton = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var CircleButton = function (props) {
|
|
9
|
-
var _a = props.className, className = _a === void 0 ? "" : _a, onClick = props.onClick, title = props.title, children = props.children, light = props.light;
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
var _a = props.className, className = _a === void 0 ? "" : _a, onClick = props.onClick, title = props.title, children = props.children, light = props.light, href = props.href;
|
|
10
|
+
var preparedClassName = (light ? "text-white hover:bg-gray-700 " : "text-gray-600 hover:bg-gray-200 ") +
|
|
11
|
+
("inline-flex items-center p-2 rounded-full bg-transparent focus:outline-none focus:ring-primary-500 " + className);
|
|
12
|
+
return href ? (react_1.default.createElement("a", { type: "button", title: title, href: href, className: preparedClassName }, children)) : (react_1.default.createElement("button", { onClick: onClick, type: "button", title: title, className: preparedClassName }, children));
|
|
12
13
|
};
|
|
13
14
|
exports.CircleButton = CircleButton;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWlsd2luZHVpL2NvbXBvbmVudHMvY2lyY2xlLWJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXlDO0FBV2xDLElBQU0sWUFBWSxHQUFnQyxVQUFBLEtBQUs7SUFDbEQsSUFBQSxLQUEwRCxLQUFLLFVBQWpELEVBQWQsU0FBUyxtQkFBRyxFQUFFLEtBQUEsRUFBRSxPQUFPLEdBQW1DLEtBQUssUUFBeEMsRUFBRSxLQUFLLEdBQTRCLEtBQUssTUFBakMsRUFBRSxRQUFRLEdBQWtCLEtBQUssU0FBdkIsRUFBRSxLQUFLLEdBQVcsS0FBSyxNQUFoQixFQUFFLElBQUksR0FBSyxLQUFLLEtBQVYsQ0FBVztJQUN4RSxJQUFNLGlCQUFpQixHQUNuQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLGtDQUFrQyxDQUFDO1NBQzlFLHdHQUFzRyxTQUFXLENBQUEsQ0FBQztJQUV0SCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixxQ0FBRyxJQUFJLEVBQUMsUUFBUSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLElBQ2xFLFFBQVEsQ0FDVCxDQUNQLENBQUMsQ0FBQyxDQUFDLENBQ0EsMENBQVEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsUUFBUSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixJQUM3RSxRQUFRLENBQ0osQ0FDWixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBZlcsUUFBQSxZQUFZLGdCQWV2QiJ9
|
package/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { ComponentType, Dispatch, ReactElement, ReactNode } from "react";
|
|
1
|
+
import React, { ComponentType, Dispatch, MutableRefObject, ReactElement, ReactNode } from "react";
|
|
2
2
|
import { CheckboxFormatterProps, DataGridProps as RDGProps } from "react-data-grid";
|
|
3
3
|
export declare type BaseGridType = {
|
|
4
4
|
columns: any;
|
|
@@ -10,6 +10,9 @@ export declare type KeyExtractor = (row: ResultItem) => number;
|
|
|
10
10
|
export declare type CsvDownloadHandler = (request: Request) => void;
|
|
11
11
|
export declare type ChangeHiddenColumnsHandler = (hiddenColumns: string[]) => void;
|
|
12
12
|
export declare type Loader = (gridName: string | undefined, request: Request, encodedRequest: string) => Promise<Response>;
|
|
13
|
+
export declare type CallbackRef = {
|
|
14
|
+
reload: () => Promise<void>;
|
|
15
|
+
};
|
|
13
16
|
export declare type Config<C extends BaseGridType["columns"]> = {
|
|
14
17
|
columns: Partial<{
|
|
15
18
|
[columnName in keyof C]: {
|
|
@@ -42,6 +45,7 @@ export declare type UIComponents<GridType extends BaseGridType, R> = {
|
|
|
42
45
|
SelectedRowsToolbarActions?: SelectedRowsToolbarActionsComponent;
|
|
43
46
|
} & ActionCellWithRequiredWidth<R>;
|
|
44
47
|
export declare type DataGridBaseProps<GridType extends BaseGridType, R> = {
|
|
48
|
+
callbackRef?: MutableRefObject<CallbackRef | undefined>;
|
|
45
49
|
schema: Schema<GridType>;
|
|
46
50
|
loader: Loader;
|
|
47
51
|
gridName?: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCallbackRef = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var useCallbackRef = function () { return (0, react_1.useRef)(); };
|
|
6
|
+
exports.useCallbackRef = useCallbackRef;
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ2FsbGJhY2tSZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXNlQ2FsbGJhY2tSZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBR3hCLElBQU0sY0FBYyxHQUFHLGNBQU0sT0FBQSxJQUFBLGNBQU0sR0FBZSxFQUFyQixDQUFxQixDQUFDO0FBQTdDLFFBQUEsY0FBYyxrQkFBK0IifQ==
|