@uxf/data-grid 3.0.0-beta.7 → 3.1.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/DataGrid.d.ts +4 -4
- package/DataGrid.js +134 -42
- package/README.md +71 -5
- package/components/ActionCellBase.d.ts +2 -0
- package/components/ActionCellBase.js +82 -12
- package/components/BodyCellBase.d.ts +1 -1
- package/components/BodyCellBase.js +9 -30
- package/components/BodyCellWrapper.js +4 -2
- package/components/Drawer.js +2 -2
- package/components/FilterInputBase.d.ts +1 -1
- package/components/FilterInputBase.js +3 -2
- package/components/FilterListItemBase.d.ts +1 -1
- package/components/FilterListItemBase.js +1 -1
- package/components/Filters.d.ts +2 -2
- package/components/Filters.js +8 -5
- package/components/FiltersList.d.ts +3 -2
- package/components/FiltersList.js +6 -7
- package/components/HiddenColumns.d.ts +10 -0
- package/components/HiddenColumns.js +79 -0
- package/components/Paper.d.ts +2 -2
- package/package.json +12 -7
- package/store/actions.d.ts +7 -0
- package/store/actions.js +11 -2
- package/store/reducer.d.ts +1 -1
- package/store/reducer.js +7 -1
- package/types.d.ts +77 -32
- package/utils/utils.d.ts +2 -2
- package/utils/utils.js +6 -4
|
@@ -27,7 +27,7 @@ var FilterInputBase = function (props) {
|
|
|
27
27
|
switch (filter.type) {
|
|
28
28
|
case "select":
|
|
29
29
|
return (react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },
|
|
30
|
-
react_1.default.createElement(Autocomplete_1.default, { options: (_a = filter.options) !== null && _a !== void 0 ? _a : [], renderInput: function (params) { return react_1.default.createElement(TextField_1.default, __assign({}, params, { label: filter.label, size: "small", fullWidth: true })); }, getOptionLabel: function (o) { return o.label; }, onChange: function (_,
|
|
30
|
+
react_1.default.createElement(Autocomplete_1.default, { options: (_a = filter.options) !== null && _a !== void 0 ? _a : [], renderInput: function (params) { return react_1.default.createElement(TextField_1.default, __assign({}, params, { label: filter.label, size: "small", fullWidth: true })); }, getOptionLabel: function (o) { return o.label; }, onChange: function (_, v) { var _a; return onFilter({ name: filter.name, value: (_a = v === null || v === void 0 ? void 0 : v.value) !== null && _a !== void 0 ? _a : null }); }, value: (_c = (_b = filter.options) === null || _b === void 0 ? void 0 : _b.find(function (o) { return o.value === (value === null || value === void 0 ? void 0 : value.value); })) !== null && _c !== void 0 ? _c : null })));
|
|
31
31
|
case "boolean":
|
|
32
32
|
return (react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },
|
|
33
33
|
react_1.default.createElement(FormControlLabel_1.default, { control: react_1.default.createElement(Checkbox_1.default, { value: !!(value === null || value === void 0 ? void 0 : value.value), onChange: function (e) { return onFilter({ name: filter.name, value: e.target.checked }); } }), label: filter.label })));
|
|
@@ -35,9 +35,10 @@ var FilterInputBase = function (props) {
|
|
|
35
35
|
return (react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },
|
|
36
36
|
react_1.default.createElement(TextField_1.default, { value: (_d = value === null || value === void 0 ? void 0 : value.value) !== null && _d !== void 0 ? _d : "", onChange: function (e) { var _a; return onFilter({ name: filter.name, value: (_a = e.target.value) !== null && _a !== void 0 ? _a : "" }); }, label: filter.label, size: "small", fullWidth: true })));
|
|
37
37
|
default:
|
|
38
|
+
// eslint-disable-next-line no-console
|
|
38
39
|
console.warn("Unknown filter type '" + filter.type + "'.");
|
|
39
40
|
return null;
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
43
|
exports.FilterInputBase = FilterInputBase;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVySW5wdXRCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRmlsdGVySW5wdXRCYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUFzRDtBQUN0RCxvRUFBOEM7QUFDOUMsb0ZBQThEO0FBQzlELHNFQUFnRDtBQUNoRCxnREFBMEI7QUFDMUIsNERBQXNDO0FBRy9CLElBQU0sZUFBZSxHQUE4QixVQUFBLEtBQUs7O0lBQ25ELElBQUEsTUFBTSxHQUFzQixLQUFLLE9BQTNCLEVBQUUsUUFBUSxHQUFZLEtBQUssU0FBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVc7SUFFMUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ2pCLEtBQUssUUFBUTtZQUNULE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNiLDhCQUFDLHNCQUFZLElBQ1QsT0FBTyxFQUFFLE1BQUEsTUFBTSxDQUFDLE9BQU8sbUNBQUksRUFBRSxFQUM3QixXQUFXLEVBQUUsVUFBQSxNQUFNLElBQUksT0FBQSw4QkFBQyxtQkFBUyxlQUFLLE1BQU0sSUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsT0FBTyxFQUFDLFNBQVMsVUFBRyxFQUFyRSxDQUFxRSxFQUM1RixjQUFjLEVBQUUsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxFQUFQLENBQU8sRUFDNUIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxFQUFFLENBQUMsWUFBSyxPQUFBLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFBLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRSxLQUFLLG1DQUFJLElBQUksRUFBRSxDQUFDLENBQUEsRUFBQSxFQUM1RSxLQUFLLEVBQUUsTUFBQSxNQUFBLE1BQU0sQ0FBQyxPQUFPLDBDQUFFLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxLQUFLLE1BQUssS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssQ0FBQSxFQUF4QixDQUF3QixDQUFDLG1DQUFJLElBQUksR0FDcEUsQ0FDQyxDQUNWLENBQUM7UUFDTixLQUFLLFNBQVM7WUFDVixPQUFPLENBQ0gsOEJBQUMsY0FBSSxJQUFDLElBQUksUUFBQyxFQUFFLEVBQUUsRUFBRTtnQkFDYiw4QkFBQywwQkFBZ0IsSUFDYixPQUFPLEVBQ0gsOEJBQUMsa0JBQVEsSUFDTCxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssQ0FBQSxFQUNyQixRQUFRLEVBQUUsVUFBQSxDQUFDLElBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUF4RCxDQUF3RCxHQUN6RSxFQUVOLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUNyQixDQUNDLENBQ1YsQ0FBQztRQUNOLEtBQUssTUFBTTtZQUNQLE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNiLDhCQUFDLG1CQUFTLElBQ04sS0FBSyxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssbUNBQUksRUFBRSxFQUN6QixRQUFRLEVBQUUsVUFBQSxDQUFDLFlBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBQSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssbUNBQUksRUFBRSxFQUFFLENBQUMsQ0FBQSxFQUFBLEVBQzNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUNuQixJQUFJLEVBQUMsT0FBTyxFQUNaLFNBQVMsU0FDWCxDQUNDLENBQ1YsQ0FBQztRQUNOO1lBQ0ksc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQXdCLE1BQU0sQ0FBQyxJQUFJLE9BQUksQ0FBQyxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO0tBQ25CO0FBQ0wsQ0FBQyxDQUFDO0FBL0NXLFFBQUEsZUFBZSxtQkErQzFCIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { FilterListItemComponent } from "../types";
|
|
2
|
-
export declare const FilterListItemBase: FilterListItemComponent
|
|
2
|
+
export declare const FilterListItemBase: FilterListItemComponent<any>;
|
|
@@ -17,4 +17,4 @@ var FilterListItemBase = function (props) {
|
|
|
17
17
|
return (react_1.default.createElement(Chip_1.default, { label: filter.label + ": " + value.value, variant: "outlined", onDelete: function () { return onFilter({ name: filter.name, value: null }); } }));
|
|
18
18
|
};
|
|
19
19
|
exports.FilterListItemBase = FilterListItemBase;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyTGlzdEl0ZW1CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRmlsdGVyTGlzdEl0ZW1CYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBMEI7QUFFMUIsNERBQXNDO0FBRS9CLElBQU0sa0JBQWtCLEdBQWlDLFVBQUEsS0FBSztJQUN6RCxJQUFBLE1BQU0sR0FBc0IsS0FBSyxPQUEzQixFQUFFLEtBQUssR0FBZSxLQUFLLE1BQXBCLEVBQUUsUUFBUSxHQUFLLEtBQUssU0FBVixDQUFXO0lBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ2QsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDM0IsT0FBTyxDQUNILDhCQUFDLGNBQUksSUFDRCxLQUFLLEVBQUUsS0FBRyxNQUFNLENBQUMsS0FBTyxFQUN4QixPQUFPLEVBQUMsVUFBVSxFQUNsQixRQUFRLEVBQUUsY0FBTSxPQUFBLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUE1QyxDQUE0QyxHQUM5RCxDQUNMLENBQUM7S0FDTDtJQUVELE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQ0QsS0FBSyxFQUFLLE1BQU0sQ0FBQyxLQUFLLFVBQUssS0FBSyxDQUFDLEtBQU8sRUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFDbEIsUUFBUSxFQUFFLGNBQU0sT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBNUMsQ0FBNEMsR0FDOUQsQ0FDTCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBeEJXLFFBQUEsa0JBQWtCLHNCQXdCN0IifQ==
|
package/components/Filters.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import React from "react";
|
|
|
2
2
|
import { Filter, FilterInputComponent, RequestFilter } from "../types";
|
|
3
3
|
interface FiltersProps {
|
|
4
4
|
dispatch: (action: any) => void;
|
|
5
|
-
filters: Filter<any>[];
|
|
5
|
+
filters: Filter<any, any>[];
|
|
6
6
|
filtersData: RequestFilter[];
|
|
7
7
|
gridName: string | null;
|
|
8
|
-
FilterInput: FilterInputComponent
|
|
8
|
+
FilterInput: FilterInputComponent<any>;
|
|
9
9
|
}
|
|
10
10
|
export declare const Filters: React.FC<FiltersProps>;
|
|
11
11
|
export {};
|
package/components/Filters.js
CHANGED
|
@@ -39,19 +39,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
};
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.Filters = void 0;
|
|
42
|
+
var FilterList_1 = __importDefault(require("@mui/icons-material/FilterList"));
|
|
42
43
|
var Grid_1 = __importDefault(require("@mui/material/Grid"));
|
|
43
|
-
var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
|
|
44
44
|
var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
|
|
45
|
-
var
|
|
45
|
+
var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
|
|
46
46
|
var react_1 = __importStar(require("react"));
|
|
47
|
-
var Drawer_1 = require("./Drawer");
|
|
48
47
|
var actions_1 = require("../store/actions");
|
|
48
|
+
var Drawer_1 = require("./Drawer");
|
|
49
49
|
var Filters = function (props) {
|
|
50
50
|
var filters = props.filters, dispatch = props.dispatch, filtersData = props.filtersData, gridName = props.gridName, FilterInput = props.FilterInput;
|
|
51
51
|
var _a = __read((0, react_1.useState)(false), 2), isOpen = _a[0], setIsOpen = _a[1];
|
|
52
|
+
if (filters.length === 0) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
52
55
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
53
56
|
react_1.default.createElement(Tooltip_1.default, { title: "Filtrovat" },
|
|
54
|
-
react_1.default.createElement(IconButton_1.default, { onClick: function () { return setIsOpen(true); } },
|
|
57
|
+
react_1.default.createElement(IconButton_1.default, { onClick: function () { return setIsOpen(true); }, sx: { ml: 1 } },
|
|
55
58
|
react_1.default.createElement(FilterList_1.default, null))),
|
|
56
59
|
react_1.default.createElement(Drawer_1.Drawer, { open: isOpen, onClose: function () { return setIsOpen(false); }, title: "Filtry" },
|
|
57
60
|
react_1.default.createElement(Grid_1.default, { container: true, spacing: 2 }, filters.map(function (filter) {
|
|
@@ -60,4 +63,4 @@ var Filters = function (props) {
|
|
|
60
63
|
})))));
|
|
61
64
|
};
|
|
62
65
|
exports.Filters = Filters;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbHRlcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEVBQTREO0FBQzVELDREQUFzQztBQUN0Qyx3RUFBa0Q7QUFDbEQsa0VBQTRDO0FBQzVDLDZDQUF3QztBQUN4Qyw0Q0FBMEQ7QUFFMUQsbUNBQWtDO0FBVTNCLElBQU0sT0FBTyxHQUEyQixVQUFBLEtBQUs7SUFDeEMsSUFBQSxPQUFPLEdBQW1ELEtBQUssUUFBeEQsRUFBRSxRQUFRLEdBQXlDLEtBQUssU0FBOUMsRUFBRSxXQUFXLEdBQTRCLEtBQUssWUFBakMsRUFBRSxRQUFRLEdBQWtCLEtBQUssU0FBdkIsRUFBRSxXQUFXLEdBQUssS0FBSyxZQUFWLENBQVc7SUFDbEUsSUFBQSxLQUFBLE9BQXNCLElBQUEsZ0JBQVEsRUFBQyxLQUFLLENBQUMsSUFBQSxFQUFwQyxNQUFNLFFBQUEsRUFBRSxTQUFTLFFBQW1CLENBQUM7SUFFNUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxDQUNIO1FBQ0ksOEJBQUMsaUJBQU8sSUFBQyxLQUFLLEVBQUMsV0FBVztZQUN0Qiw4QkFBQyxvQkFBVSxJQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFmLENBQWUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNyRCw4QkFBQyxvQkFBYyxPQUFHLENBQ1QsQ0FDUDtRQUNWLDhCQUFDLGVBQU0sSUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFoQixDQUFnQixFQUFFLEtBQUssRUFBQyxRQUFRO1lBQ2pFLDhCQUFDLGNBQUksSUFBQyxTQUFTLFFBQUMsT0FBTyxFQUFFLENBQUMsSUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07O2dCQUFJLE9BQUEsQ0FDbkIsOEJBQUMsV0FBVyxJQUNSLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxNQUFBLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQXRCLENBQXNCLENBQUMsbUNBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQzFGLFFBQVEsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLFFBQVEsQ0FBQyxJQUFBLGdCQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBekIsQ0FBeUIsR0FDMUMsQ0FDTCxDQUFBO2FBQUEsQ0FBQyxDQUNDLENBQ0YsQ0FDVixDQUNOLENBQUM7QUFDTixDQUFDLENBQUM7QUE5QlcsUUFBQSxPQUFPLFdBOEJsQiJ9
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Filter, RequestFilter } from "../types";
|
|
2
|
+
import { Filter, FilterListItemComponent, RequestFilter } from "../types";
|
|
3
3
|
interface FiltersListProps {
|
|
4
4
|
dispatch: (action: any) => void;
|
|
5
|
-
filters: Filter<any>[];
|
|
5
|
+
filters: Filter<any, any>[];
|
|
6
6
|
filtersData: RequestFilter[];
|
|
7
|
+
FilterListItem: FilterListItemComponent<any>;
|
|
7
8
|
}
|
|
8
9
|
export declare const FiltersList: React.FC<FiltersListProps>;
|
|
9
10
|
export {};
|
|
@@ -27,22 +27,21 @@ var Box_1 = __importDefault(require("@mui/material/Box"));
|
|
|
27
27
|
var Grid_1 = __importDefault(require("@mui/material/Grid"));
|
|
28
28
|
var react_1 = __importStar(require("react"));
|
|
29
29
|
var actions_1 = require("../store/actions");
|
|
30
|
-
var FilterListItemBase_1 = require("./FilterListItemBase");
|
|
31
30
|
var FiltersList = function (props) {
|
|
32
|
-
var filters = props.filters, filtersData = props.filtersData, dispatch = props.dispatch;
|
|
31
|
+
var filters = props.filters, filtersData = props.filtersData, dispatch = props.dispatch, FilterListItem = props.FilterListItem;
|
|
33
32
|
var onFilter = (0, react_1.useCallback)(function (v) {
|
|
34
33
|
dispatch((0, actions_1.filter)(v));
|
|
35
34
|
}, [dispatch]);
|
|
36
35
|
return (react_1.default.createElement(Box_1.default, { sx: { p: 2, pt: 0 } },
|
|
37
|
-
react_1.default.createElement(Grid_1.default, { container: true, spacing: 1 }, filters.map(function (
|
|
36
|
+
react_1.default.createElement(Grid_1.default, { container: true, spacing: 1 }, filters.map(function (f1) {
|
|
38
37
|
var _a;
|
|
39
|
-
var value = (_a = filtersData.find(function (
|
|
38
|
+
var value = (_a = filtersData.find(function (f2) { return f2.name === f1.name; })) !== null && _a !== void 0 ? _a : { name: f1.name, value: null };
|
|
40
39
|
if (!value.value) {
|
|
41
40
|
return null;
|
|
42
41
|
}
|
|
43
|
-
return (react_1.default.createElement(Grid_1.default, { item: true },
|
|
44
|
-
react_1.default.createElement(
|
|
42
|
+
return (react_1.default.createElement(Grid_1.default, { item: true, key: "" + f1.name },
|
|
43
|
+
react_1.default.createElement(FilterListItem, { filter: f1, value: value, onFilter: onFilter })));
|
|
45
44
|
}))));
|
|
46
45
|
};
|
|
47
46
|
exports.FiltersList = FiltersList;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyc0xpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJzTGlzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUFvQztBQUNwQyw0REFBc0M7QUFDdEMsNkNBQTJDO0FBQzNDLDRDQUEwQztBQVVuQyxJQUFNLFdBQVcsR0FBK0IsVUFBQSxLQUFLO0lBQ2hELElBQUEsT0FBTyxHQUE0QyxLQUFLLFFBQWpELEVBQUUsV0FBVyxHQUErQixLQUFLLFlBQXBDLEVBQUUsUUFBUSxHQUFxQixLQUFLLFNBQTFCLEVBQUUsY0FBYyxHQUFLLEtBQUssZUFBVixDQUFXO0lBQ2pFLElBQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsRUFDeEIsVUFBQSxDQUFDO1FBQ0csUUFBUSxDQUFDLElBQUEsZ0JBQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUMsRUFDRCxDQUFDLFFBQVEsQ0FBQyxDQUNiLENBQUM7SUFFRixPQUFPLENBQ0gsOEJBQUMsYUFBRyxJQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtRQUNwQiw4QkFBQyxjQUFJLElBQUMsU0FBUyxRQUFDLE9BQU8sRUFBRSxDQUFDLElBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxFQUFFOztZQUNYLElBQU0sS0FBSyxHQUFHLE1BQUEsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLElBQUksRUFBbkIsQ0FBbUIsQ0FBQyxtQ0FBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUU1RixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxDQUNILDhCQUFDLGNBQUksSUFBQyxJQUFJLFFBQUMsR0FBRyxFQUFFLEtBQUcsRUFBRSxDQUFDLElBQU07Z0JBQ3hCLDhCQUFDLGNBQWMsSUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBSSxDQUM3RCxDQUNWLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDQyxDQUNMLENBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQTVCVyxRQUFBLFdBQVcsZUE0QnRCIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Column } from "../types";
|
|
3
|
+
interface HiddenColumnsProps {
|
|
4
|
+
dispatch: (action: any) => void;
|
|
5
|
+
columns: Array<Column<any, any>>;
|
|
6
|
+
hiddenColumns: string[];
|
|
7
|
+
onChangeHiddenColumns: (hiddenColumns: string[]) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const HiddenColumns: React.FC<HiddenColumnsProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
22
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
23
|
+
if (!m) return o;
|
|
24
|
+
var i = m.call(o), r, ar = [], e;
|
|
25
|
+
try {
|
|
26
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
27
|
+
}
|
|
28
|
+
catch (error) { e = { error: error }; }
|
|
29
|
+
finally {
|
|
30
|
+
try {
|
|
31
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
32
|
+
}
|
|
33
|
+
finally { if (e) throw e.error; }
|
|
34
|
+
}
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.HiddenColumns = void 0;
|
|
51
|
+
var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
|
|
52
|
+
var Grid_1 = __importDefault(require("@mui/material/Grid"));
|
|
53
|
+
var Switch_1 = __importDefault(require("@mui/material/Switch"));
|
|
54
|
+
var FormControlLabel_1 = __importDefault(require("@mui/material/FormControlLabel"));
|
|
55
|
+
var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
|
|
56
|
+
var react_1 = __importStar(require("react"));
|
|
57
|
+
var ViewColumn_1 = __importDefault(require("@mui/icons-material/ViewColumn"));
|
|
58
|
+
var Drawer_1 = require("./Drawer");
|
|
59
|
+
var HiddenColumns = function (props) {
|
|
60
|
+
var columns = props.columns, hiddenColumns = props.hiddenColumns, onChangeHiddenColumns = props.onChangeHiddenColumns;
|
|
61
|
+
var _a = __read((0, react_1.useState)(false), 2), isOpen = _a[0], setIsOpen = _a[1];
|
|
62
|
+
var onChange = function (column) { return function () {
|
|
63
|
+
if (hiddenColumns.includes(column.name)) {
|
|
64
|
+
onChangeHiddenColumns(hiddenColumns.filter(function (cn) { return cn !== column.name; }));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
onChangeHiddenColumns(__spreadArray(__spreadArray([], __read(hiddenColumns), false), [column.name], false));
|
|
68
|
+
}
|
|
69
|
+
}; };
|
|
70
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
71
|
+
react_1.default.createElement(Tooltip_1.default, { title: "Zobrazit sloupce" },
|
|
72
|
+
react_1.default.createElement(IconButton_1.default, { onClick: function () { return setIsOpen(true); } },
|
|
73
|
+
react_1.default.createElement(ViewColumn_1.default, null))),
|
|
74
|
+
react_1.default.createElement(Drawer_1.Drawer, { title: "Zobrazit sloupce", open: isOpen, onClose: function () { return setIsOpen(false); }, anchor: "right" },
|
|
75
|
+
react_1.default.createElement(Grid_1.default, { container: true, spacing: 1 }, columns.map(function (column) { return (react_1.default.createElement(Grid_1.default, { item: true, xs: 12, key: column.name },
|
|
76
|
+
react_1.default.createElement(FormControlLabel_1.default, { key: column.name, control: react_1.default.createElement(Switch_1.default, { checked: !hiddenColumns.includes(column.name), onChange: onChange(column), name: column.name, color: "primary" }), label: column.label }))); })))));
|
|
77
|
+
};
|
|
78
|
+
exports.HiddenColumns = HiddenColumns;
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlkZGVuQ29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0hpZGRlbkNvbHVtbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQTRDO0FBQzVDLDREQUFzQztBQUN0QyxnRUFBMEM7QUFDMUMsb0ZBQThEO0FBQzlELHdFQUFrRDtBQUNsRCw2Q0FBd0M7QUFDeEMsOEVBQTREO0FBRTVELG1DQUFrQztBQVMzQixJQUFNLGFBQWEsR0FBaUMsVUFBQSxLQUFLO0lBQ3BELElBQUEsT0FBTyxHQUEyQyxLQUFLLFFBQWhELEVBQUUsYUFBYSxHQUE0QixLQUFLLGNBQWpDLEVBQUUscUJBQXFCLEdBQUssS0FBSyxzQkFBVixDQUFXO0lBQzFELElBQUEsS0FBQSxPQUFzQixJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLElBQUEsRUFBcEMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFtQixDQUFDO0lBRTVDLElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBd0IsSUFBSyxPQUFBO1FBQzNDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckMscUJBQXFCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFsQixDQUFrQixDQUFDLENBQUMsQ0FBQztTQUN6RTthQUFNO1lBQ0gscUJBQXFCLHdDQUFLLGFBQWEsWUFBRSxNQUFNLENBQUMsSUFBSSxVQUFFLENBQUM7U0FDMUQ7SUFDTCxDQUFDLEVBTjhDLENBTTlDLENBQUM7SUFDRixPQUFPLENBQ0g7UUFDSSw4QkFBQyxpQkFBTyxJQUFDLEtBQUssRUFBQyxrQkFBa0I7WUFDN0IsOEJBQUMsb0JBQVUsSUFBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBZixDQUFlO2dCQUN0Qyw4QkFBQyxvQkFBYyxPQUFHLENBQ1QsQ0FDUDtRQUNWLDhCQUFDLGVBQU0sSUFBQyxLQUFLLEVBQUMsa0JBQWtCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBTSxPQUFBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBaEIsQ0FBZ0IsRUFBRSxNQUFNLEVBQUMsT0FBTztZQUMxRiw4QkFBQyxjQUFJLElBQUMsU0FBUyxRQUFDLE9BQU8sRUFBRSxDQUFDLElBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxDQUNuQiw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUMvQiw4QkFBQywwQkFBZ0IsSUFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksRUFDaEIsT0FBTyxFQUNILDhCQUFDLGdCQUFNLElBQ0gsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQzdDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNqQixLQUFLLEVBQUMsU0FBUyxHQUNqQixFQUVOLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUNyQixDQUNDLENBQ1YsRUFmc0IsQ0FldEIsQ0FBQyxDQUNDLENBQ0YsQ0FDVixDQUNOLENBQUM7QUFDTixDQUFDLENBQUM7QUF4Q1csUUFBQSxhQUFhLGlCQXdDeEIifQ==
|
package/components/Paper.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export declare const Paper: import("@mui/system").StyledComponent<{
|
|
|
7
7
|
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme> | undefined;
|
|
8
8
|
variant?: "elevation" | "outlined" | undefined;
|
|
9
9
|
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
10
|
-
ref?: ((instance: HTMLDivElement | null) => void) |
|
|
11
|
-
}, keyof import("@mui/material/OverridableComponent").CommonProps | "
|
|
10
|
+
ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
|
|
11
|
+
}, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "sx" | "elevation" | "square" | "variant"> & {
|
|
12
12
|
theme?: import("@mui/material/styles").Theme | undefined;
|
|
13
13
|
as?: import("react").ElementType<any> | undefined;
|
|
14
14
|
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme> | undefined;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/data-grid",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Redux DataGrid",
|
|
5
5
|
"homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
|
|
6
|
-
"main": "
|
|
7
|
-
"typings": "
|
|
8
|
-
"module": "
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"typings": "index.d.ts",
|
|
8
|
+
"module": "index.js",
|
|
9
9
|
"publishConfig": {
|
|
10
10
|
"access": "public"
|
|
11
11
|
},
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"clean": "rm -rf ./dist",
|
|
25
25
|
"compile": "tsc -P tsconfig.build.json",
|
|
26
26
|
"dev": "parcel demo/index.html",
|
|
27
|
+
"lint": "./node_modules/.bin/eslint -c .eslintrc.js \"./**/*.ts*\"",
|
|
27
28
|
"test": "npm run-script typecheck",
|
|
28
29
|
"test:update": "npm run-script typecheck && jest --coverage -u",
|
|
29
30
|
"typecheck": "tsc --noEmit --skipLibCheck"
|
|
@@ -40,15 +41,16 @@
|
|
|
40
41
|
"react-dom": "^17.0.2"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
44
|
+
"polished": "^4.1.3",
|
|
43
45
|
"react-data-grid": "^7.0.0-beta.5"
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
48
|
"@emotion/react": "^11.4.1",
|
|
47
49
|
"@emotion/styled": "^11.3.0",
|
|
48
|
-
"@mui/icons-material": "^5.0.0
|
|
49
|
-
"@mui/material": "^5.0.0
|
|
50
|
+
"@mui/icons-material": "^5.0.0",
|
|
51
|
+
"@mui/material": "^5.0.0",
|
|
50
52
|
"@types/jest": "^26.0.19",
|
|
51
|
-
"@types/react": "^17.0.
|
|
53
|
+
"@types/react": "^17.0.22",
|
|
52
54
|
"@types/react-dom": "^17.0.0",
|
|
53
55
|
"@types/react-test-renderer": "^16.9.4",
|
|
54
56
|
"@typescript-eslint/eslint-plugin": "^4.11.0",
|
|
@@ -56,6 +58,9 @@
|
|
|
56
58
|
"@uxf/eslint-config": "^1.0.3",
|
|
57
59
|
"babel-polyfill": "^6.26.0",
|
|
58
60
|
"eslint": "^7.32.0",
|
|
61
|
+
"eslint-plugin-import": "^2.25.2",
|
|
62
|
+
"eslint-plugin-jsx-a11y": "^6.4.1",
|
|
63
|
+
"eslint-plugin-react": "^7.26.0",
|
|
59
64
|
"jest": "^26.6.3",
|
|
60
65
|
"parcel-bundler": "^1.12.5",
|
|
61
66
|
"prettier": "^1.18.2",
|
package/store/actions.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ export declare const sort: (columnName: string, direction: SortDirection) => {
|
|
|
15
15
|
columnName: string;
|
|
16
16
|
direction: SortDirection;
|
|
17
17
|
};
|
|
18
|
+
export declare const sortClear: () => {
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
18
21
|
export declare const changePage: (page: number) => {
|
|
19
22
|
type: string;
|
|
20
23
|
page: number;
|
|
@@ -30,3 +33,7 @@ export declare const changePerPage: (perPage: number) => {
|
|
|
30
33
|
type: string;
|
|
31
34
|
perPage: number;
|
|
32
35
|
};
|
|
36
|
+
export declare const search: (term: string) => {
|
|
37
|
+
type: string;
|
|
38
|
+
fullText: string;
|
|
39
|
+
};
|
package/store/actions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.changePerPage = exports.filterReset = exports.filter = exports.changePage = exports.sort = exports.reloadFailed = exports.reloadDone = exports.reload = void 0;
|
|
3
|
+
exports.search = exports.changePerPage = exports.filterReset = exports.filter = exports.changePage = exports.sortClear = exports.sort = exports.reloadFailed = exports.reloadDone = exports.reload = void 0;
|
|
4
4
|
var reload = function () { return ({ type: "RELOAD" }); };
|
|
5
5
|
exports.reload = reload;
|
|
6
6
|
var reloadDone = function (response) { return ({
|
|
@@ -19,6 +19,10 @@ var sort = function (columnName, direction) { return ({
|
|
|
19
19
|
direction: direction,
|
|
20
20
|
}); };
|
|
21
21
|
exports.sort = sort;
|
|
22
|
+
var sortClear = function () { return ({
|
|
23
|
+
type: "SORT_CLEAR",
|
|
24
|
+
}); };
|
|
25
|
+
exports.sortClear = sortClear;
|
|
22
26
|
var changePage = function (page) { return ({ type: "CHANGE_PAGE", page: page }); };
|
|
23
27
|
exports.changePage = changePage;
|
|
24
28
|
var filter = function (filterValue) { return ({
|
|
@@ -33,4 +37,9 @@ var changePerPage = function (perPage) { return ({
|
|
|
33
37
|
perPage: perPage,
|
|
34
38
|
}); };
|
|
35
39
|
exports.changePerPage = changePerPage;
|
|
36
|
-
|
|
40
|
+
var search = function (term) { return ({
|
|
41
|
+
type: "FULLTEXT",
|
|
42
|
+
fullText: term,
|
|
43
|
+
}); };
|
|
44
|
+
exports.search = search;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLElBQU0sTUFBTSxHQUFHLGNBQU0sT0FBQSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQXBCLENBQW9CLENBQUM7QUFBcEMsUUFBQSxNQUFNLFVBQThCO0FBRTFDLElBQU0sVUFBVSxHQUFHLFVBQUMsUUFBa0IsSUFBSyxPQUFBLENBQUM7SUFDL0MsSUFBSSxFQUFFLGFBQWE7SUFDbkIsUUFBUSxVQUFBO0NBQ1gsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxVQUFVLGNBR3BCO0FBRUksSUFBTSxZQUFZLEdBQUcsVUFBQyxLQUFVLElBQUssT0FBQSxDQUFDO0lBQ3pDLElBQUksRUFBRSxlQUFlO0lBQ3JCLEtBQUssT0FBQTtDQUNSLENBQUMsRUFIMEMsQ0FHMUMsQ0FBQztBQUhVLFFBQUEsWUFBWSxnQkFHdEI7QUFFSSxJQUFNLElBQUksR0FBRyxVQUFDLFVBQWtCLEVBQUUsU0FBd0IsSUFBSyxPQUFBLENBQUM7SUFDbkUsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLFlBQUE7SUFDVixTQUFTLFdBQUE7Q0FDWixDQUFDLEVBSm9FLENBSXBFLENBQUM7QUFKVSxRQUFBLElBQUksUUFJZDtBQUVJLElBQU0sU0FBUyxHQUFHLGNBQU0sT0FBQSxDQUFDO0lBQzVCLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUMsRUFGNkIsQ0FFN0IsQ0FBQztBQUZVLFFBQUEsU0FBUyxhQUVuQjtBQUVJLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBQS9ELFFBQUEsVUFBVSxjQUFxRDtBQUVyRSxJQUFNLE1BQU0sR0FBRyxVQUFDLFdBQTBCLElBQUssT0FBQSxDQUFDO0lBQ25ELElBQUksRUFBRSxRQUFRO0lBQ2QsV0FBVyxhQUFBO0NBQ2QsQ0FBQyxFQUhvRCxDQUdwRCxDQUFDO0FBSFUsUUFBQSxNQUFNLFVBR2hCO0FBRUksSUFBTSxXQUFXLEdBQUcsY0FBTSxPQUFBLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztBQUEvQyxRQUFBLFdBQVcsZUFBb0M7QUFFckQsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFlLElBQUssT0FBQSxDQUFDO0lBQy9DLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxTQUFBO0NBQ1YsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxhQUFhLGlCQUd2QjtBQUVJLElBQU0sTUFBTSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQztJQUNyQyxJQUFJLEVBQUUsVUFBVTtJQUNoQixRQUFRLEVBQUUsSUFBSTtDQUNqQixDQUFDLEVBSHNDLENBR3RDLENBQUM7QUFIVSxRQUFBLE1BQU0sVUFHaEIifQ==
|
package/store/reducer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Reducer } from "react";
|
|
2
2
|
import { Schema, Request, DataGridState } from "../types";
|
|
3
|
-
export declare const getInitialState: (schema: Schema
|
|
3
|
+
export declare const getInitialState: (schema: Schema<any>, init?: string | Request | undefined) => DataGridState;
|
|
4
4
|
export declare const reducer: Reducer<DataGridState, any>;
|
package/store/reducer.js
CHANGED
|
@@ -63,6 +63,7 @@ var reducer = function (state, action) {
|
|
|
63
63
|
case "CHANGE_PER_PAGE":
|
|
64
64
|
return __assign(__assign({}, state), { perPage: action.perPage });
|
|
65
65
|
case "FILTER":
|
|
66
|
+
// eslint-disable-next-line no-case-declarations
|
|
66
67
|
var filterValue_1 = action.filterValue;
|
|
67
68
|
return __assign(__assign({}, state), { page: 0, f: state.f.find(function (f) { return f.name === filterValue_1.name; })
|
|
68
69
|
? state.f.map(function (f) { return (f.name === filterValue_1.name ? filterValue_1 : f); })
|
|
@@ -71,10 +72,15 @@ var reducer = function (state, action) {
|
|
|
71
72
|
return __assign(__assign({}, state), { page: 0, f: [] });
|
|
72
73
|
case "SORT":
|
|
73
74
|
return __assign(__assign({}, state), { sort: action.columnName, dir: action.direction });
|
|
75
|
+
case "SORT_CLEAR":
|
|
76
|
+
return __assign(__assign({}, state), { sort: null, dir: null });
|
|
77
|
+
case "FULLTEXT":
|
|
78
|
+
return __assign(__assign({}, state), { fullText: action.fullText });
|
|
74
79
|
default:
|
|
80
|
+
// eslint-disable-next-line no-console
|
|
75
81
|
console.warn("Unknown datagrid action.", action);
|
|
76
82
|
return state;
|
|
77
83
|
}
|
|
78
84
|
};
|
|
79
85
|
exports.reducer = reducer;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHdDQUE4QztBQUV2QyxJQUFNLGVBQWUsR0FBRyxVQUFDLE1BQW1CLEVBQUUsSUFBdUI7O0lBQ3hFLElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUEsb0JBQVksRUFBQyxJQUFJLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUcsT0FBTztRQUNILENBQUMsRUFBRSxNQUFBLFlBQVksQ0FBQyxDQUFDLG1DQUFJLEVBQUU7UUFDdkIsSUFBSSxFQUFFLE1BQUEsWUFBWSxDQUFDLElBQUksbUNBQUksQ0FBQztRQUM1QixHQUFHLEVBQUUsTUFBQSxZQUFZLENBQUMsR0FBRyxtQ0FBSSxNQUFNLENBQUMsR0FBRztRQUNuQyxJQUFJLEVBQUUsTUFBQSxZQUFZLENBQUMsSUFBSSxtQ0FBSSxNQUFNLENBQUMsSUFBSTtRQUN0QyxPQUFPLEVBQUUsTUFBQSxZQUFZLENBQUMsT0FBTyxtQ0FBSSxNQUFNLENBQUMsT0FBTztLQUNsRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBVFcsUUFBQSxlQUFlLG1CQVMxQjtBQUVLLElBQU0sT0FBTyxHQUFnQyxVQUFDLEtBQUssRUFBRSxNQUFNO0lBQzlELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNqQixLQUFLLFFBQVE7WUFDVCw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLElBQUksSUFDZjtRQUNOLEtBQUssYUFBYTtZQUNkLDZCQUNPLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUMzQjtRQUNOLEtBQUssZUFBZTtZQUNoQiw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLEtBQUssRUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFDckI7UUFDTixLQUFLLGFBQWE7WUFDZCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQ25CO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsNkJBQ08sS0FBSyxLQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUN6QjtRQUNOLEtBQUssUUFBUTtZQUNULGdEQUFnRDtZQUNoRCxJQUFNLGFBQVcsR0FBa0IsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUN0RCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLENBQUMsRUFDUCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQVcsQ0FBQyxJQUFJLEVBQTNCLENBQTJCLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUEvQyxDQUErQyxDQUFDO29CQUNuRSxDQUFDLHdDQUFLLEtBQUssQ0FBQyxDQUFDLFlBQUUsYUFBVyxTQUFDLElBQ2pDO1FBQ04sS0FBSyxjQUFjO1lBQ2YsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxDQUFDLEVBQ1AsQ0FBQyxFQUFFLEVBQUUsSUFDUDtRQUNOLEtBQUssTUFBTTtZQUNQLDZCQUNPLEtBQUssS0FDUixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFDdkIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQ3ZCO1FBQ04sS0FBSyxZQUFZO1lBQ2IsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxJQUFJLEVBQ1YsR0FBRyxFQUFFLElBQUksSUFDWDtRQUNOLEtBQUssVUFBVTtZQUNYLDZCQUNPLEtBQUssS0FDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFDM0I7UUFDTjtZQUNJLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELE9BQU8sS0FBSyxDQUFDO0tBQ3BCO0FBQ0wsQ0FBQyxDQUFDO0FBbkVXLFFBQUEsT0FBTyxXQW1FbEIifQ==
|
package/types.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { TextFieldProps } from "@mui/material";
|
|
1
2
|
import { ComponentType, ReactElement, ReactNode } from "react";
|
|
2
3
|
import { DataGridProps as RDGProps } from "react-data-grid";
|
|
4
|
+
export declare type BaseGridType = {
|
|
5
|
+
columns: any;
|
|
6
|
+
filters: any;
|
|
7
|
+
};
|
|
3
8
|
export declare type SortDirection = "asc" | "desc";
|
|
4
9
|
export declare type SelectableRows = "none" | "single" | "multiple";
|
|
5
10
|
export declare type ResultItem = any;
|
|
@@ -7,10 +12,25 @@ export declare type KeyExtractor = (row: ResultItem) => string;
|
|
|
7
12
|
export declare type CsvDownloadHandler = (request: Request) => void;
|
|
8
13
|
export declare type ChangeHiddenColumnsHandler = (hiddenColumns: string[]) => void;
|
|
9
14
|
export declare type Loader = (gridName: string | undefined, request: Request, encodedRequest: string) => Promise<Response>;
|
|
10
|
-
export
|
|
15
|
+
export declare type Config<C extends BaseGridType["columns"]> = {
|
|
16
|
+
columns: Partial<{
|
|
17
|
+
[columnName in keyof C]: {
|
|
18
|
+
width?: number;
|
|
19
|
+
hidden?: boolean;
|
|
20
|
+
};
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
export declare type ActionCellWithRequiredWidth<R extends any> = {
|
|
24
|
+
ActionCell?: ActionCellComponent<R>;
|
|
25
|
+
actionCellWidth: number;
|
|
26
|
+
} | {
|
|
27
|
+
ActionCell?: never;
|
|
28
|
+
actionCellWidth?: never;
|
|
29
|
+
};
|
|
30
|
+
export declare type DataGridProps<GridType extends BaseGridType, R extends any> = {
|
|
11
31
|
gridName?: string;
|
|
12
32
|
title?: ReactNode;
|
|
13
|
-
schema: Schema
|
|
33
|
+
schema: Schema<GridType>;
|
|
14
34
|
keyExtractor?: KeyExtractor;
|
|
15
35
|
loader: Loader;
|
|
16
36
|
initialState?: Request | string;
|
|
@@ -20,25 +40,38 @@ export interface DataGridProps<R extends any> {
|
|
|
20
40
|
search?: boolean;
|
|
21
41
|
print?: boolean;
|
|
22
42
|
onCsvDownload?: CsvDownloadHandler;
|
|
23
|
-
BodyCell?: BodyCellComponent<R>;
|
|
24
|
-
HeadCell?: HeadCellComponent<R>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
43
|
+
BodyCell?: BodyCellComponent<GridType["columns"], R>;
|
|
44
|
+
HeadCell?: HeadCellComponent<GridType["columns"], R>;
|
|
45
|
+
FilterInput?: FilterInputComponent<GridType["filters"]>;
|
|
46
|
+
FilterListItem?: FilterListItemComponent<GridType["filters"]>;
|
|
47
|
+
ToolbarContent?: ToolbarContentComponent;
|
|
28
48
|
Footer?: import("react").ReactNode;
|
|
29
49
|
locale?: "cs" | "en";
|
|
30
50
|
onChangeSelectedRows?: (selectedRows: R[]) => void;
|
|
31
51
|
selectedRows?: R[];
|
|
32
52
|
onOpen?: (row: R) => void;
|
|
53
|
+
getOpenUrl?: (row: R) => string | null | undefined;
|
|
33
54
|
onEdit?: (row: R) => void;
|
|
55
|
+
getEditUrl?: (row: R) => string | null | undefined;
|
|
34
56
|
onRemove?: (row: R) => void;
|
|
35
57
|
noBorder?: boolean;
|
|
36
58
|
rowHeight?: RDGProps<any>["rowHeight"];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
59
|
+
headerRowHeight?: RDGProps<any>["headerRowHeight"];
|
|
60
|
+
ml?: number;
|
|
61
|
+
mt?: number;
|
|
62
|
+
mr?: number;
|
|
63
|
+
mb?: number;
|
|
64
|
+
defaultConfig?: Config<GridType["columns"]>;
|
|
65
|
+
FullTextInputProps?: Partial<TextFieldProps>;
|
|
66
|
+
rowClass?: (row: R) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
|
|
67
|
+
} & ActionCellWithRequiredWidth<R>;
|
|
68
|
+
export declare type Columns<C extends BaseGridType["columns"]> = {
|
|
69
|
+
[K in keyof C]: Column<K, C[K]>;
|
|
70
|
+
}[keyof C];
|
|
71
|
+
export declare type Column<Name, Type> = {
|
|
72
|
+
name: Name;
|
|
40
73
|
label: string | ReactElement;
|
|
41
|
-
type
|
|
74
|
+
type: Type;
|
|
42
75
|
sort?: boolean;
|
|
43
76
|
hint?: string;
|
|
44
77
|
print?: boolean;
|
|
@@ -46,24 +79,27 @@ export interface Column<T = string> {
|
|
|
46
79
|
minWidth?: number;
|
|
47
80
|
maxWidth?: number;
|
|
48
81
|
frozen?: boolean;
|
|
49
|
-
}
|
|
82
|
+
};
|
|
50
83
|
export interface FilterOption {
|
|
51
84
|
value: string | number;
|
|
52
85
|
label: string;
|
|
53
86
|
}
|
|
54
|
-
export declare type
|
|
55
|
-
|
|
56
|
-
|
|
87
|
+
export declare type Filters<F extends BaseGridType["filters"]> = {
|
|
88
|
+
[K in keyof F]: Filter<K, F[K]>;
|
|
89
|
+
}[keyof F];
|
|
90
|
+
export interface Filter<N, T> {
|
|
91
|
+
name: N;
|
|
57
92
|
label: string;
|
|
58
93
|
type?: T;
|
|
59
94
|
options?: FilterOption[];
|
|
60
95
|
}
|
|
61
|
-
export interface Schema {
|
|
62
|
-
columns:
|
|
63
|
-
filters:
|
|
96
|
+
export interface Schema<GritType extends BaseGridType> {
|
|
97
|
+
columns: Columns<GritType["columns"]>[];
|
|
98
|
+
filters: Filters<GritType["filters"]>[];
|
|
64
99
|
sort: string;
|
|
65
100
|
dir: SortDirection;
|
|
66
101
|
perPage: number;
|
|
102
|
+
fullText?: boolean;
|
|
67
103
|
}
|
|
68
104
|
export interface RequestFilter<T = any> {
|
|
69
105
|
name: string;
|
|
@@ -77,52 +113,61 @@ export interface Request {
|
|
|
77
113
|
dir?: SortDirection;
|
|
78
114
|
page?: number;
|
|
79
115
|
perPage?: number;
|
|
116
|
+
search?: string;
|
|
80
117
|
}
|
|
81
118
|
export interface Response {
|
|
82
119
|
totalCount: number;
|
|
83
120
|
count: number;
|
|
84
121
|
result: ResultItem[];
|
|
85
122
|
}
|
|
86
|
-
export interface
|
|
87
|
-
|
|
123
|
+
export interface ToolbarContentProps {
|
|
124
|
+
filtersData: RequestFilter[];
|
|
125
|
+
onFilter: (value: RequestFilter) => void;
|
|
126
|
+
}
|
|
127
|
+
export declare type ToolbarContentComponent = ComponentType<ToolbarContentProps>;
|
|
128
|
+
export interface BodyCellProps<C, R> {
|
|
129
|
+
column: C;
|
|
88
130
|
row: R;
|
|
89
131
|
reload: () => Promise<void>;
|
|
90
132
|
}
|
|
91
|
-
export declare type BodyCellComponent<
|
|
92
|
-
export interface ActionCellProps<R
|
|
133
|
+
export declare type BodyCellComponent<C extends BaseGridType["columns"], R> = ComponentType<BodyCellProps<Columns<C>, R>>;
|
|
134
|
+
export interface ActionCellProps<R> {
|
|
93
135
|
row: R;
|
|
94
136
|
onOpen?: (row: R) => void;
|
|
137
|
+
getOpenUrl?: (row: R) => string | null | undefined;
|
|
95
138
|
onEdit?: (row: R) => void;
|
|
139
|
+
getEditUrl?: (row: R) => string | null | undefined;
|
|
96
140
|
onRemove?: (row: R) => void;
|
|
97
141
|
reload: () => Promise<void>;
|
|
98
142
|
}
|
|
99
143
|
export declare type ActionCellComponent<R extends any> = ComponentType<ActionCellProps<R>>;
|
|
100
|
-
export interface HeadCellProps<R extends any> extends BodyCellProps<R> {
|
|
144
|
+
export interface HeadCellProps<C extends Column<any, any>, R extends any> extends BodyCellProps<C, R> {
|
|
101
145
|
sort: boolean;
|
|
102
146
|
sortDirection: SortDirection;
|
|
103
147
|
onSort: (sortDirection: SortDirection) => void;
|
|
104
148
|
}
|
|
105
|
-
export declare type HeadCellComponent<R extends any> = ComponentType<HeadCellProps<R>>;
|
|
106
|
-
export interface FilterListItemProps<T extends any> {
|
|
107
|
-
filter:
|
|
149
|
+
export declare type HeadCellComponent<C extends BaseGridType["columns"], R extends any> = ComponentType<HeadCellProps<Columns<C>, R>>;
|
|
150
|
+
export interface FilterListItemProps<F extends Filter<any, any>, T extends any> {
|
|
151
|
+
filter: F;
|
|
108
152
|
value: RequestFilter<T>;
|
|
109
153
|
onFilter: (value: RequestFilter<T>) => void;
|
|
110
154
|
}
|
|
111
|
-
export declare type FilterListItemComponent<T = any> = ComponentType<FilterListItemProps<T>>;
|
|
112
|
-
export interface FilterInputProps<T extends any> {
|
|
155
|
+
export declare type FilterListItemComponent<F extends BaseGridType["filters"], T = any> = ComponentType<FilterListItemProps<Filters<F>, T>>;
|
|
156
|
+
export interface FilterInputProps<F extends Filter<any, any>, T extends any> {
|
|
113
157
|
gridName: string | null;
|
|
114
|
-
filter:
|
|
158
|
+
filter: F;
|
|
115
159
|
value?: RequestFilter<T>;
|
|
116
160
|
onFilter: (value: RequestFilter<T>) => void;
|
|
117
161
|
}
|
|
118
|
-
export declare type FilterInputComponent<T = any> = ComponentType<FilterInputProps<T>>;
|
|
162
|
+
export declare type FilterInputComponent<F extends BaseGridType["filters"], T = any> = ComponentType<FilterInputProps<Filters<F>, T>>;
|
|
119
163
|
export interface DataGridState {
|
|
120
164
|
loading?: boolean;
|
|
121
165
|
response?: Response;
|
|
122
166
|
f: RequestFilter[];
|
|
123
|
-
sort: string;
|
|
124
|
-
dir: SortDirection;
|
|
167
|
+
sort: string | null;
|
|
168
|
+
dir: SortDirection | null;
|
|
125
169
|
page: number;
|
|
126
170
|
perPage: number;
|
|
127
171
|
error?: any;
|
|
172
|
+
fullText?: string;
|
|
128
173
|
}
|
package/utils/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataGridState, Request } from "../types";
|
|
1
|
+
import { DataGridState, Request, SortDirection } from "../types";
|
|
2
2
|
export declare function decodeFilter(filterString: string): null | Request;
|
|
3
3
|
export declare function encodeFilter(request: Request): string;
|
|
4
|
-
export declare function createRequest(state: DataGridState): Request;
|
|
4
|
+
export declare function createRequest(state: DataGridState, defaultSort: string, defaultDir: SortDirection): Request;
|