@uxf/data-grid 3.0.0-beta.6 → 3.0.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.
@@ -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 (_, value) { var _a; return onFilter({ name: filter.name, value: (_a = value === null || value === void 0 ? void 0 : value.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 })));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVySW5wdXRCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRmlsdGVySW5wdXRCYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUFzRDtBQUN0RCxvRUFBOEM7QUFDOUMsb0ZBQThEO0FBQzlELHNFQUFnRDtBQUNoRCxnREFBMEI7QUFDMUIsNERBQXNDO0FBRy9CLElBQU0sZUFBZSxHQUF5QixVQUFBLEtBQUs7O0lBQzlDLElBQUEsTUFBTSxHQUFzQixLQUFLLE9BQTNCLEVBQUUsUUFBUSxHQUFZLEtBQUssU0FBakIsRUFBRSxLQUFLLEdBQUssS0FBSyxNQUFWLENBQVc7SUFFMUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ2pCLEtBQUssUUFBUTtZQUNULE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNiLDhCQUFDLHNCQUFZLElBQ1QsT0FBTyxFQUFFLE1BQUEsTUFBTSxDQUFDLE9BQU8sbUNBQUksRUFBRSxFQUM3QixXQUFXLEVBQUUsVUFBQSxNQUFNLElBQUksT0FBQSw4QkFBQyxtQkFBUyxlQUFLLE1BQU0sSUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsT0FBTyxFQUFDLFNBQVMsVUFBRyxFQUFyRSxDQUFxRSxFQUM1RixjQUFjLEVBQUUsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxFQUFQLENBQU8sRUFDNUIsUUFBUSxFQUFFLFVBQUMsQ0FBQyxFQUFFLEtBQUssWUFBSyxPQUFBLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxLQUFLLG1DQUFJLElBQUksRUFBRSxDQUFDLENBQUEsRUFBQSxFQUNwRixLQUFLLEVBQUUsTUFBQSxNQUFBLE1BQU0sQ0FBQyxPQUFPLDBDQUFFLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxLQUFLLE1BQUssS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssQ0FBQSxFQUF4QixDQUF3QixDQUFDLG1DQUFJLElBQUksR0FDcEUsQ0FDQyxDQUNWLENBQUM7UUFDTixLQUFLLFNBQVM7WUFDVixPQUFPLENBQ0gsOEJBQUMsY0FBSSxJQUFDLElBQUksUUFBQyxFQUFFLEVBQUUsRUFBRTtnQkFDYiw4QkFBQywwQkFBZ0IsSUFDYixPQUFPLEVBQ0gsOEJBQUMsa0JBQVEsSUFDTCxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssQ0FBQSxFQUNyQixRQUFRLEVBQUUsVUFBQSxDQUFDLElBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUF4RCxDQUF3RCxHQUN6RSxFQUVOLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUNyQixDQUNDLENBQ1YsQ0FBQztRQUNOLEtBQUssTUFBTTtZQUNQLE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNiLDhCQUFDLG1CQUFTLElBQ04sS0FBSyxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssbUNBQUksRUFBRSxFQUN6QixRQUFRLEVBQUUsVUFBQSxDQUFDLFlBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBQSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssbUNBQUksRUFBRSxFQUFFLENBQUMsQ0FBQSxFQUFBLEVBQzNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUNuQixJQUFJLEVBQUMsT0FBTyxFQUNaLFNBQVMsU0FDWCxDQUNDLENBQ1YsQ0FBQztRQUNOO1lBQ0ksT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBd0IsTUFBTSxDQUFDLElBQUksT0FBSSxDQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUM7S0FDbkI7QUFDTCxDQUFDLENBQUM7QUE5Q1csUUFBQSxlQUFlLG1CQThDMUIifQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyTGlzdEl0ZW1CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRmlsdGVyTGlzdEl0ZW1CYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBMEI7QUFFMUIsNERBQXNDO0FBRS9CLElBQU0sa0JBQWtCLEdBQTRCLFVBQUEsS0FBSztJQUNwRCxJQUFBLE1BQU0sR0FBc0IsS0FBSyxPQUEzQixFQUFFLEtBQUssR0FBZSxLQUFLLE1BQXBCLEVBQUUsUUFBUSxHQUFLLEtBQUssU0FBVixDQUFXO0lBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ2QsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDM0IsT0FBTyxDQUNILDhCQUFDLGNBQUksSUFDRCxLQUFLLEVBQUUsS0FBRyxNQUFNLENBQUMsS0FBTyxFQUN4QixPQUFPLEVBQUMsVUFBVSxFQUNsQixRQUFRLEVBQUUsY0FBTSxPQUFBLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUE1QyxDQUE0QyxHQUM5RCxDQUNMLENBQUM7S0FDTDtJQUVELE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQ0QsS0FBSyxFQUFLLE1BQU0sQ0FBQyxLQUFLLFVBQUssS0FBSyxDQUFDLEtBQU8sRUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFDbEIsUUFBUSxFQUFFLGNBQU0sT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBNUMsQ0FBNEMsR0FDOUQsQ0FDTCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBeEJXLFFBQUEsa0JBQWtCLHNCQXdCN0IifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyTGlzdEl0ZW1CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRmlsdGVyTGlzdEl0ZW1CYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBMEI7QUFFMUIsNERBQXNDO0FBRS9CLElBQU0sa0JBQWtCLEdBQWlDLFVBQUEsS0FBSztJQUN6RCxJQUFBLE1BQU0sR0FBc0IsS0FBSyxPQUEzQixFQUFFLEtBQUssR0FBZSxLQUFLLE1BQXBCLEVBQUUsUUFBUSxHQUFLLEtBQUssU0FBVixDQUFXO0lBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ2QsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDM0IsT0FBTyxDQUNILDhCQUFDLGNBQUksSUFDRCxLQUFLLEVBQUUsS0FBRyxNQUFNLENBQUMsS0FBTyxFQUN4QixPQUFPLEVBQUMsVUFBVSxFQUNsQixRQUFRLEVBQUUsY0FBTSxPQUFBLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUE1QyxDQUE0QyxHQUM5RCxDQUNMLENBQUM7S0FDTDtJQUVELE9BQU8sQ0FDSCw4QkFBQyxjQUFJLElBQ0QsS0FBSyxFQUFLLE1BQU0sQ0FBQyxLQUFLLFVBQUssS0FBSyxDQUFDLEtBQU8sRUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFDbEIsUUFBUSxFQUFFLGNBQU0sT0FBQSxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBNUMsQ0FBNEMsR0FDOUQsQ0FDTCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBeEJXLFFBQUEsa0JBQWtCLHNCQXdCN0IifQ==
@@ -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 {};
@@ -39,20 +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 FilterList_1 = __importDefault(require("@mui/icons-material/FilterList"));
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");
49
- var FilterInputBase_1 = require("./FilterInputBase");
48
+ var Drawer_1 = require("./Drawer");
50
49
  var Filters = function (props) {
51
- var filters = props.filters, dispatch = props.dispatch, filtersData = props.filtersData, gridName = props.gridName, _a = props.FilterInput, FilterInput = _a === void 0 ? FilterInputBase_1.FilterInputBase : _a;
52
- var _b = __read((0, react_1.useState)(false), 2), isOpen = _b[0], setIsOpen = _b[1];
50
+ var filters = props.filters, dispatch = props.dispatch, filtersData = props.filtersData, gridName = props.gridName, FilterInput = props.FilterInput;
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
+ }
53
55
  return (react_1.default.createElement(react_1.default.Fragment, null,
54
56
  react_1.default.createElement(Tooltip_1.default, { title: "Filtrovat" },
55
- 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 } },
56
58
  react_1.default.createElement(FilterList_1.default, null))),
57
59
  react_1.default.createElement(Drawer_1.Drawer, { open: isOpen, onClose: function () { return setIsOpen(false); }, title: "Filtry" },
58
60
  react_1.default.createElement(Grid_1.default, { container: true, spacing: 2 }, filters.map(function (filter) {
@@ -61,4 +63,4 @@ var Filters = function (props) {
61
63
  })))));
62
64
  };
63
65
  exports.Filters = Filters;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbHRlcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQXNDO0FBQ3RDLGtFQUE0QztBQUM1Qyx3RUFBa0Q7QUFDbEQsOEVBQTREO0FBQzVELDZDQUF3QztBQUV4QyxtQ0FBa0M7QUFDbEMsNENBQTBEO0FBQzFELHFEQUFvRDtBQVU3QyxJQUFNLE9BQU8sR0FBMkIsVUFBQSxLQUFLO0lBQ3hDLElBQUEsT0FBTyxHQUFxRSxLQUFLLFFBQTFFLEVBQUUsUUFBUSxHQUEyRCxLQUFLLFNBQWhFLEVBQUUsV0FBVyxHQUE4QyxLQUFLLFlBQW5ELEVBQUUsUUFBUSxHQUFvQyxLQUFLLFNBQXpDLEVBQUUsS0FBa0MsS0FBSyxZQUFWLEVBQTdCLFdBQVcsbUJBQUcsaUNBQWUsS0FBQSxDQUFXO0lBQ3BGLElBQUEsS0FBQSxPQUFzQixJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLElBQUEsRUFBcEMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFtQixDQUFDO0lBQzVDLE9BQU8sQ0FDSDtRQUNJLDhCQUFDLGlCQUFPLElBQUMsS0FBSyxFQUFDLFdBQVc7WUFDdEIsOEJBQUMsb0JBQVUsSUFBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBZixDQUFlO2dCQUN0Qyw4QkFBQyxvQkFBYyxPQUFHLENBQ1QsQ0FDUDtRQUNWLDhCQUFDLGVBQU0sSUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFoQixDQUFnQixFQUFFLEtBQUssRUFBQyxRQUFRO1lBQ2pFLDhCQUFDLGNBQUksSUFBQyxTQUFTLFFBQUMsT0FBTyxFQUFFLENBQUMsSUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07O2dCQUFJLE9BQUEsQ0FDbkIsOEJBQUMsV0FBVyxJQUNSLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxNQUFBLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQXRCLENBQXNCLENBQUMsbUNBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQzFGLFFBQVEsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLFFBQVEsQ0FBQyxJQUFBLGdCQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBekIsQ0FBeUIsR0FDMUMsQ0FDTCxDQUFBO2FBQUEsQ0FBQyxDQUNDLENBQ0YsQ0FDVixDQUNOLENBQUM7QUFDTixDQUFDLENBQUM7QUF6QlcsUUFBQSxPQUFPLFdBeUJsQiJ9
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 (filter) {
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 (f) { return f.name === filter.name; })) !== null && _a !== void 0 ? _a : { name: filter.name, value: null };
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(FilterListItemBase_1.FilterListItemBase, { key: "" + filter.name, filter: filter, value: value, onFilter: onFilter })));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyc0xpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJzTGlzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUFvQztBQUNwQyw0REFBc0M7QUFDdEMsNkNBQTJDO0FBQzNDLDRDQUEwQztBQUUxQywyREFBMEQ7QUFRbkQsSUFBTSxXQUFXLEdBQStCLFVBQUEsS0FBSztJQUNoRCxJQUFBLE9BQU8sR0FBNEIsS0FBSyxRQUFqQyxFQUFFLFdBQVcsR0FBZSxLQUFLLFlBQXBCLEVBQUUsUUFBUSxHQUFLLEtBQUssU0FBVixDQUFXO0lBQ2pELElBQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsRUFDeEIsVUFBQSxDQUFDO1FBQ0csUUFBUSxDQUFDLElBQUEsZ0JBQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUMsRUFDRCxDQUFDLFFBQVEsQ0FBQyxDQUNiLENBQUM7SUFFRixPQUFPLENBQ0gsOEJBQUMsYUFBRyxJQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtRQUNwQiw4QkFBQyxjQUFJLElBQUMsU0FBUyxRQUFDLE9BQU8sRUFBRSxDQUFDLElBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNOztZQUNmLElBQU0sS0FBSyxHQUFHLE1BQUEsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksRUFBdEIsQ0FBc0IsQ0FBQyxtQ0FBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUVsRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxDQUNILDhCQUFDLGNBQUksSUFBQyxJQUFJO2dCQUNOLDhCQUFDLHVDQUFrQixJQUNmLEdBQUcsRUFBRSxLQUFHLE1BQU0sQ0FBQyxJQUFNLEVBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsS0FBSyxFQUFFLEtBQUssRUFDWixRQUFRLEVBQUUsUUFBUSxHQUNwQixDQUNDLENBQ1YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNDLENBQ0wsQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBakNXLFFBQUEsV0FBVyxlQWlDdEIifQ==
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==
@@ -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) | import("react").RefObject<HTMLDivElement> | null | undefined;
11
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "children" | "sx" | "elevation" | "square" | "variant"> & {
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.0.0-beta.6",
3
+ "version": "3.0.0",
4
4
  "description": "Redux DataGrid",
5
5
  "homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
6
- "main": "dist/index.js",
7
- "typings": "dist/index.d.ts",
8
- "module": "dist/index.js",
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-rc.1",
49
- "@mui/material": "^5.0.0-rc.1",
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.21",
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",
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLElBQU0sTUFBTSxHQUFHLGNBQU0sT0FBQSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQXBCLENBQW9CLENBQUM7QUFBcEMsUUFBQSxNQUFNLFVBQThCO0FBRTFDLElBQU0sVUFBVSxHQUFHLFVBQUMsUUFBa0IsSUFBSyxPQUFBLENBQUM7SUFDL0MsSUFBSSxFQUFFLGFBQWE7SUFDbkIsUUFBUSxVQUFBO0NBQ1gsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxVQUFVLGNBR3BCO0FBRUksSUFBTSxZQUFZLEdBQUcsVUFBQyxLQUFVLElBQUssT0FBQSxDQUFDO0lBQ3pDLElBQUksRUFBRSxlQUFlO0lBQ3JCLEtBQUssT0FBQTtDQUNSLENBQUMsRUFIMEMsQ0FHMUMsQ0FBQztBQUhVLFFBQUEsWUFBWSxnQkFHdEI7QUFFSSxJQUFNLElBQUksR0FBRyxVQUFDLFVBQWtCLEVBQUUsU0FBd0IsSUFBSyxPQUFBLENBQUM7SUFDbkUsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLFlBQUE7SUFDVixTQUFTLFdBQUE7Q0FDWixDQUFDLEVBSm9FLENBSXBFLENBQUM7QUFKVSxRQUFBLElBQUksUUFJZDtBQUVJLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBQS9ELFFBQUEsVUFBVSxjQUFxRDtBQUVyRSxJQUFNLE1BQU0sR0FBRyxVQUFDLFdBQTBCLElBQUssT0FBQSxDQUFDO0lBQ25ELElBQUksRUFBRSxRQUFRO0lBQ2QsV0FBVyxhQUFBO0NBQ2QsQ0FBQyxFQUhvRCxDQUdwRCxDQUFDO0FBSFUsUUFBQSxNQUFNLFVBR2hCO0FBRUksSUFBTSxXQUFXLEdBQUcsY0FBTSxPQUFBLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztBQUEvQyxRQUFBLFdBQVcsZUFBb0M7QUFFckQsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFlLElBQUssT0FBQSxDQUFDO0lBQy9DLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxTQUFBO0NBQ1YsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxhQUFhLGlCQUd2QiJ9
40
+ var search = function (term) { return ({
41
+ type: "FULLTEXT",
42
+ fullText: term,
43
+ }); };
44
+ exports.search = search;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLElBQU0sTUFBTSxHQUFHLGNBQU0sT0FBQSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQXBCLENBQW9CLENBQUM7QUFBcEMsUUFBQSxNQUFNLFVBQThCO0FBRTFDLElBQU0sVUFBVSxHQUFHLFVBQUMsUUFBa0IsSUFBSyxPQUFBLENBQUM7SUFDL0MsSUFBSSxFQUFFLGFBQWE7SUFDbkIsUUFBUSxVQUFBO0NBQ1gsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxVQUFVLGNBR3BCO0FBRUksSUFBTSxZQUFZLEdBQUcsVUFBQyxLQUFVLElBQUssT0FBQSxDQUFDO0lBQ3pDLElBQUksRUFBRSxlQUFlO0lBQ3JCLEtBQUssT0FBQTtDQUNSLENBQUMsRUFIMEMsQ0FHMUMsQ0FBQztBQUhVLFFBQUEsWUFBWSxnQkFHdEI7QUFFSSxJQUFNLElBQUksR0FBRyxVQUFDLFVBQWtCLEVBQUUsU0FBd0IsSUFBSyxPQUFBLENBQUM7SUFDbkUsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLFlBQUE7SUFDVixTQUFTLFdBQUE7Q0FDWixDQUFDLEVBSm9FLENBSXBFLENBQUM7QUFKVSxRQUFBLElBQUksUUFJZDtBQUVJLElBQU0sU0FBUyxHQUFHLGNBQU0sT0FBQSxDQUFDO0lBQzVCLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUMsRUFGNkIsQ0FFN0IsQ0FBQztBQUZVLFFBQUEsU0FBUyxhQUVuQjtBQUVJLElBQU0sVUFBVSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxNQUFBLEVBQUUsQ0FBQyxFQUEvQixDQUErQixDQUFDO0FBQS9ELFFBQUEsVUFBVSxjQUFxRDtBQUVyRSxJQUFNLE1BQU0sR0FBRyxVQUFDLFdBQTBCLElBQUssT0FBQSxDQUFDO0lBQ25ELElBQUksRUFBRSxRQUFRO0lBQ2QsV0FBVyxhQUFBO0NBQ2QsQ0FBQyxFQUhvRCxDQUdwRCxDQUFDO0FBSFUsUUFBQSxNQUFNLFVBR2hCO0FBRUksSUFBTSxXQUFXLEdBQUcsY0FBTSxPQUFBLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztBQUEvQyxRQUFBLFdBQVcsZUFBb0M7QUFFckQsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFlLElBQUssT0FBQSxDQUFDO0lBQy9DLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxTQUFBO0NBQ1YsQ0FBQyxFQUhnRCxDQUdoRCxDQUFDO0FBSFUsUUFBQSxhQUFhLGlCQUd2QjtBQUVJLElBQU0sTUFBTSxHQUFHLFVBQUMsSUFBWSxJQUFLLE9BQUEsQ0FBQztJQUNyQyxJQUFJLEVBQUUsVUFBVTtJQUNoQixRQUFRLEVBQUUsSUFBSTtDQUNqQixDQUFDLEVBSHNDLENBR3RDLENBQUM7QUFIVSxRQUFBLE1BQU0sVUFHaEIifQ==
@@ -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, init?: string | Request | undefined) => DataGridState;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHdDQUE4QztBQUV2QyxJQUFNLGVBQWUsR0FBRyxVQUFDLE1BQWMsRUFBRSxJQUF1Qjs7SUFDbkUsSUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQUEsSUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRyxPQUFPO1FBQ0gsQ0FBQyxFQUFFLE1BQUEsWUFBWSxDQUFDLENBQUMsbUNBQUksRUFBRTtRQUN2QixJQUFJLEVBQUUsTUFBQSxZQUFZLENBQUMsSUFBSSxtQ0FBSSxDQUFDO1FBQzVCLEdBQUcsRUFBRSxNQUFBLFlBQVksQ0FBQyxHQUFHLG1DQUFJLE1BQU0sQ0FBQyxHQUFHO1FBQ25DLElBQUksRUFBRSxNQUFBLFlBQVksQ0FBQyxJQUFJLG1DQUFJLE1BQU0sQ0FBQyxJQUFJO1FBQ3RDLE9BQU8sRUFBRSxNQUFBLFlBQVksQ0FBQyxPQUFPLG1DQUFJLE1BQU0sQ0FBQyxPQUFPO0tBQ2xELENBQUM7QUFDTixDQUFDLENBQUM7QUFUVyxRQUFBLGVBQWUsbUJBUzFCO0FBRUssSUFBTSxPQUFPLEdBQWdDLFVBQUMsS0FBSyxFQUFFLE1BQU07SUFDOUQsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ2pCLEtBQUssUUFBUTtZQUNULDZCQUNPLEtBQUssS0FDUixPQUFPLEVBQUUsSUFBSSxJQUNmO1FBQ04sS0FBSyxhQUFhO1lBQ2QsNkJBQ08sS0FBSyxLQUNSLE9BQU8sRUFBRSxLQUFLLEVBQ2QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQzNCO1FBQ04sS0FBSyxlQUFlO1lBQ2hCLDZCQUNPLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxFQUNkLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxJQUNyQjtRQUNOLEtBQUssYUFBYTtZQUNkLDZCQUNPLEtBQUssS0FDUixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFDbkI7UUFDTixLQUFLLGlCQUFpQjtZQUNsQiw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQ3pCO1FBQ04sS0FBSyxRQUFRO1lBQ1QsSUFBTSxhQUFXLEdBQWtCLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDdEQsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxDQUFDLEVBQ1AsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFXLENBQUMsSUFBSSxFQUEzQixDQUEyQixDQUFDO29CQUM3QyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBL0MsQ0FBK0MsQ0FBQztvQkFDbkUsQ0FBQyx3Q0FBSyxLQUFLLENBQUMsQ0FBQyxZQUFFLGFBQVcsU0FBQyxJQUNqQztRQUNOLEtBQUssY0FBYztZQUNmLDZCQUNPLEtBQUssS0FDUixJQUFJLEVBQUUsQ0FBQyxFQUNQLENBQUMsRUFBRSxFQUFFLElBQ1A7UUFDTixLQUFLLE1BQU07WUFDUCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQ3ZCLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxJQUN2QjtRQUNOO1lBQ0ksT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUMsQ0FBQztBQXREVyxRQUFBLE9BQU8sV0FzRGxCIn0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHdDQUE4QztBQUV2QyxJQUFNLGVBQWUsR0FBRyxVQUFDLE1BQW1CLEVBQUUsSUFBdUI7O0lBQ3hFLElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUEsb0JBQVksRUFBQyxJQUFJLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUcsT0FBTztRQUNILENBQUMsRUFBRSxNQUFBLFlBQVksQ0FBQyxDQUFDLG1DQUFJLEVBQUU7UUFDdkIsSUFBSSxFQUFFLE1BQUEsWUFBWSxDQUFDLElBQUksbUNBQUksQ0FBQztRQUM1QixHQUFHLEVBQUUsTUFBQSxZQUFZLENBQUMsR0FBRyxtQ0FBSSxNQUFNLENBQUMsR0FBRztRQUNuQyxJQUFJLEVBQUUsTUFBQSxZQUFZLENBQUMsSUFBSSxtQ0FBSSxNQUFNLENBQUMsSUFBSTtRQUN0QyxPQUFPLEVBQUUsTUFBQSxZQUFZLENBQUMsT0FBTyxtQ0FBSSxNQUFNLENBQUMsT0FBTztLQUNsRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBVFcsUUFBQSxlQUFlLG1CQVMxQjtBQUVLLElBQU0sT0FBTyxHQUFnQyxVQUFDLEtBQUssRUFBRSxNQUFNO0lBQzlELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNqQixLQUFLLFFBQVE7WUFDVCw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLElBQUksSUFDZjtRQUNOLEtBQUssYUFBYTtZQUNkLDZCQUNPLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUMzQjtRQUNOLEtBQUssZUFBZTtZQUNoQiw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLEtBQUssRUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFDckI7UUFDTixLQUFLLGFBQWE7WUFDZCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQ25CO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsNkJBQ08sS0FBSyxLQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUN6QjtRQUNOLEtBQUssUUFBUTtZQUNULGdEQUFnRDtZQUNoRCxJQUFNLGFBQVcsR0FBa0IsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUN0RCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLENBQUMsRUFDUCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQVcsQ0FBQyxJQUFJLEVBQTNCLENBQTJCLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUEvQyxDQUErQyxDQUFDO29CQUNuRSxDQUFDLHdDQUFLLEtBQUssQ0FBQyxDQUFDLFlBQUUsYUFBVyxTQUFDLElBQ2pDO1FBQ04sS0FBSyxjQUFjO1lBQ2YsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxDQUFDLEVBQ1AsQ0FBQyxFQUFFLEVBQUUsSUFDUDtRQUNOLEtBQUssTUFBTTtZQUNQLDZCQUNPLEtBQUssS0FDUixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFDdkIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQ3ZCO1FBQ04sS0FBSyxZQUFZO1lBQ2IsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxJQUFJLEVBQ1YsR0FBRyxFQUFFLElBQUksSUFDWDtRQUNOLEtBQUssVUFBVTtZQUNYLDZCQUNPLEtBQUssS0FDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFDM0I7UUFDTjtZQUNJLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELE9BQU8sS0FBSyxDQUFDO0tBQ3BCO0FBQ0wsQ0FBQyxDQUFDO0FBbkVXLFFBQUEsT0FBTyxXQW1FbEIifQ==
package/types.d.ts CHANGED
@@ -1,4 +1,10 @@
1
+ import { TextFieldProps } from "@mui/material";
1
2
  import { ComponentType, ReactElement, ReactNode } from "react";
3
+ import { DataGridProps as RDGProps } from "react-data-grid";
4
+ export declare type BaseGridType = {
5
+ columns: any;
6
+ filters: any;
7
+ };
2
8
  export declare type SortDirection = "asc" | "desc";
3
9
  export declare type SelectableRows = "none" | "single" | "multiple";
4
10
  export declare type ResultItem = any;
@@ -6,10 +12,25 @@ export declare type KeyExtractor = (row: ResultItem) => string;
6
12
  export declare type CsvDownloadHandler = (request: Request) => void;
7
13
  export declare type ChangeHiddenColumnsHandler = (hiddenColumns: string[]) => void;
8
14
  export declare type Loader = (gridName: string | undefined, request: Request, encodedRequest: string) => Promise<Response>;
9
- export interface DataGridProps<R extends any> {
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> = {
10
31
  gridName?: string;
11
32
  title?: ReactNode;
12
- schema: Schema;
33
+ schema: Schema<GridType>;
13
34
  keyExtractor?: KeyExtractor;
14
35
  loader: Loader;
15
36
  initialState?: Request | string;
@@ -19,11 +40,11 @@ export interface DataGridProps<R extends any> {
19
40
  search?: boolean;
20
41
  print?: boolean;
21
42
  onCsvDownload?: CsvDownloadHandler;
22
- BodyCell?: BodyCellComponent<R>;
23
- HeadCell?: HeadCellComponent<R>;
24
- ActionCell?: ActionCellComponent<R>;
25
- FilterInput?: FilterInputComponent;
26
- FilterListItem?: FilterListItemComponent;
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;
27
48
  Footer?: import("react").ReactNode;
28
49
  locale?: "cs" | "en";
29
50
  onChangeSelectedRows?: (selectedRows: R[]) => void;
@@ -32,32 +53,51 @@ export interface DataGridProps<R extends any> {
32
53
  onEdit?: (row: R) => void;
33
54
  onRemove?: (row: R) => void;
34
55
  noBorder?: boolean;
35
- }
36
- export interface Column<T = string> {
37
- name: string;
56
+ rowHeight?: RDGProps<any>["rowHeight"];
57
+ headerRowHeight?: RDGProps<any>["headerRowHeight"];
58
+ ml?: number;
59
+ mt?: number;
60
+ mr?: number;
61
+ mb?: number;
62
+ defaultConfig?: Config<GridType["columns"]>;
63
+ FullTextInputProps?: Partial<TextFieldProps>;
64
+ rowClass?: (row: R) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
65
+ } & ActionCellWithRequiredWidth<R>;
66
+ export declare type Columns<C extends BaseGridType["columns"]> = {
67
+ [K in keyof C]: Column<K, C[K]>;
68
+ }[keyof C];
69
+ export declare type Column<Name, Type> = {
70
+ name: Name;
38
71
  label: string | ReactElement;
39
- type?: T | null;
72
+ type: Type;
40
73
  sort?: boolean;
41
74
  hint?: string;
42
75
  print?: boolean;
43
- }
76
+ width?: number | string;
77
+ minWidth?: number;
78
+ maxWidth?: number;
79
+ frozen?: boolean;
80
+ };
44
81
  export interface FilterOption {
45
82
  value: string | number;
46
83
  label: string;
47
84
  }
48
- export declare type FilterType = string;
49
- export interface Filter<T extends FilterType> {
50
- name: string;
85
+ export declare type Filters<F extends BaseGridType["filters"]> = {
86
+ [K in keyof F]: Filter<K, F[K]>;
87
+ }[keyof F];
88
+ export interface Filter<N, T> {
89
+ name: N;
51
90
  label: string;
52
91
  type?: T;
53
92
  options?: FilterOption[];
54
93
  }
55
- export interface Schema {
56
- columns: Column[];
57
- filters: Filter<any>[];
94
+ export interface Schema<GritType extends BaseGridType> {
95
+ columns: Columns<GritType["columns"]>[];
96
+ filters: Filters<GritType["filters"]>[];
58
97
  sort: string;
59
98
  dir: SortDirection;
60
99
  perPage: number;
100
+ fullText?: boolean;
61
101
  }
62
102
  export interface RequestFilter<T = any> {
63
103
  name: string;
@@ -71,19 +111,25 @@ export interface Request {
71
111
  dir?: SortDirection;
72
112
  page?: number;
73
113
  perPage?: number;
114
+ search?: string;
74
115
  }
75
116
  export interface Response {
76
117
  totalCount: number;
77
118
  count: number;
78
119
  result: ResultItem[];
79
120
  }
80
- export interface BodyCellProps<R extends any> {
81
- column: Column;
121
+ export interface ToolbarContentProps {
122
+ filtersData: RequestFilter[];
123
+ onFilter: (value: RequestFilter) => void;
124
+ }
125
+ export declare type ToolbarContentComponent = ComponentType<ToolbarContentProps>;
126
+ export interface BodyCellProps<C, R> {
127
+ column: C;
82
128
  row: R;
83
129
  reload: () => Promise<void>;
84
130
  }
85
- export declare type BodyCellComponent<R extends any, P = {}> = ComponentType<BodyCellProps<R> & P>;
86
- export interface ActionCellProps<R extends any> {
131
+ export declare type BodyCellComponent<C extends BaseGridType["columns"], R> = ComponentType<BodyCellProps<Columns<C>, R>>;
132
+ export interface ActionCellProps<R> {
87
133
  row: R;
88
134
  onOpen?: (row: R) => void;
89
135
  onEdit?: (row: R) => void;
@@ -91,32 +137,33 @@ export interface ActionCellProps<R extends any> {
91
137
  reload: () => Promise<void>;
92
138
  }
93
139
  export declare type ActionCellComponent<R extends any> = ComponentType<ActionCellProps<R>>;
94
- export interface HeadCellProps<R extends any> extends BodyCellProps<R> {
140
+ export interface HeadCellProps<C extends Column<any, any>, R extends any> extends BodyCellProps<C, R> {
95
141
  sort: boolean;
96
142
  sortDirection: SortDirection;
97
143
  onSort: (sortDirection: SortDirection) => void;
98
144
  }
99
- export declare type HeadCellComponent<R extends any> = ComponentType<HeadCellProps<R>>;
100
- export interface FilterListItemProps<T extends any> {
101
- filter: Filter<any>;
145
+ export declare type HeadCellComponent<C extends BaseGridType["columns"], R extends any> = ComponentType<HeadCellProps<Columns<C>, R>>;
146
+ export interface FilterListItemProps<F extends Filter<any, any>, T extends any> {
147
+ filter: F;
102
148
  value: RequestFilter<T>;
103
149
  onFilter: (value: RequestFilter<T>) => void;
104
150
  }
105
- export declare type FilterListItemComponent<T = any> = ComponentType<FilterListItemProps<T>>;
106
- export interface FilterInputProps<T extends any> {
151
+ export declare type FilterListItemComponent<F extends BaseGridType["filters"], T = any> = ComponentType<FilterListItemProps<Filters<F>, T>>;
152
+ export interface FilterInputProps<F extends Filter<any, any>, T extends any> {
107
153
  gridName: string | null;
108
- filter: Filter<any>;
154
+ filter: F;
109
155
  value?: RequestFilter<T>;
110
156
  onFilter: (value: RequestFilter<T>) => void;
111
157
  }
112
- export declare type FilterInputComponent<T = any> = ComponentType<FilterInputProps<T>>;
158
+ export declare type FilterInputComponent<F extends BaseGridType["filters"], T = any> = ComponentType<FilterInputProps<Filters<F>, T>>;
113
159
  export interface DataGridState {
114
160
  loading?: boolean;
115
161
  response?: Response;
116
162
  f: RequestFilter[];
117
- sort: string;
118
- dir: SortDirection;
163
+ sort: string | null;
164
+ dir: SortDirection | null;
119
165
  page: number;
120
166
  perPage: number;
121
167
  error?: any;
168
+ fullText?: string;
122
169
  }
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;