@uxf/data-grid 3.0.0-beta.9 → 3.1.2

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 CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Component } from "react";
2
- import { DataGridProps, DataGridState } from "./types";
3
- export declare class DataGrid<R extends object = any> extends Component<DataGridProps<R>, DataGridState> {
4
- constructor(props: Readonly<DataGridProps<R>> | DataGridProps<R>);
2
+ import { BaseGridType, DataGridProps, DataGridState } from "./types";
3
+ export declare class DataGrid<GridType extends BaseGridType, R extends any = any> extends Component<DataGridProps<GridType, R>, DataGridState> {
4
+ constructor(props: Readonly<DataGridProps<GridType, R>>);
5
5
  reload: () => Promise<void>;
6
6
  private dispatch;
7
7
  componentDidMount(): void;
8
- componentDidUpdate(_: Readonly<DataGridProps<R>>, prevState: Readonly<DataGridState>): void;
8
+ componentDidUpdate(_: Readonly<DataGridProps<GridType, R>>, prevState: Readonly<DataGridState>): void;
9
9
  render(): JSX.Element;
10
10
  }
package/DataGrid.js CHANGED
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
29
  if (k2 === undefined) k2 = k;
19
30
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -74,16 +85,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
74
85
  };
75
86
  Object.defineProperty(exports, "__esModule", { value: true });
76
87
  exports.DataGrid = void 0;
88
+ var material_1 = require("@mui/material");
89
+ var NoSsr_1 = __importDefault(require("@mui/material/NoSsr"));
77
90
  var CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
78
91
  var LinearProgress_1 = __importDefault(require("@mui/material/LinearProgress"));
79
92
  var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
80
93
  var Box_1 = __importDefault(require("@mui/material/Box"));
81
94
  var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
82
95
  var CloudDownload_1 = __importDefault(require("@mui/icons-material/CloudDownload"));
96
+ var Search_1 = __importDefault(require("@mui/icons-material/Search"));
83
97
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
84
98
  var Toolbar_1 = __importDefault(require("@mui/material/Toolbar"));
85
99
  var ActionCellBase_1 = require("./components/ActionCellBase");
86
100
  var FilterInputBase_1 = require("./components/FilterInputBase");
101
+ var FilterListItemBase_1 = require("./components/FilterListItemBase");
87
102
  var Filters_1 = require("./components/Filters");
88
103
  var FiltersList_1 = require("./components/FiltersList");
89
104
  var HiddenColumns_1 = require("./components/HiddenColumns");
@@ -95,20 +110,24 @@ var reducer_1 = require("./store/reducer");
95
110
  var utils_1 = require("./utils/utils");
96
111
  var react_data_grid_1 = __importDefault(require("react-data-grid"));
97
112
  var TablePagination_1 = __importDefault(require("@mui/material/TablePagination"));
113
+ var setLightness_1 = __importDefault(require("polished/lib/color/setLightness"));
114
+ var SCROLLBAR_HEIGHT = 24;
115
+ // eslint-disable-next-line react/require-optimization
98
116
  var DataGrid = /** @class */ (function (_super) {
99
117
  __extends(DataGrid, _super);
100
118
  function DataGrid(props) {
101
119
  var _this = _super.call(this, props) || this;
102
120
  _this.reload = function () { return __awaiter(_this, void 0, void 0, function () {
103
- var request, response, e_1;
121
+ var schema, request, response, e_1;
104
122
  return __generator(this, function (_a) {
105
123
  switch (_a.label) {
106
124
  case 0:
107
125
  _a.trys.push([0, 4, , 6]);
126
+ schema = this.props.schema;
108
127
  return [4 /*yield*/, this.dispatch((0, actions_1.reload)())];
109
128
  case 1:
110
129
  _a.sent();
111
- request = (0, utils_1.createRequest)(this.state);
130
+ request = (0, utils_1.createRequest)(this.state, schema.sort, schema.dir);
112
131
  return [4 /*yield*/, this.props.loader(this.props.gridName, request, (0, utils_1.encodeFilter)(request))];
113
132
  case 2:
114
133
  response = _a.sent();
@@ -121,6 +140,7 @@ var DataGrid = /** @class */ (function (_super) {
121
140
  return [4 /*yield*/, this.dispatch((0, actions_1.reloadFailed)(e_1))];
122
141
  case 5:
123
142
  _a.sent();
143
+ // eslint-disable-next-line no-console
124
144
  console.error(e_1);
125
145
  return [3 /*break*/, 6];
126
146
  case 6: return [2 /*return*/];
@@ -142,38 +162,42 @@ var DataGrid = /** @class */ (function (_super) {
142
162
  prevState.sort !== state.sort ||
143
163
  prevState.perPage !== state.perPage ||
144
164
  prevState.page !== state.page ||
145
- prevState.f !== state.f) {
165
+ prevState.f !== state.f ||
166
+ prevState.fullText !== state.fullText) {
146
167
  this.reload();
147
168
  }
148
169
  };
170
+ // eslint-disable-next-line complexity
149
171
  DataGrid.prototype.render = function () {
150
172
  var _this = this;
151
173
  var _a, _b, _c, _d, _e, _f;
152
- var _g = this.props, schema = _g.schema, _h = _g.BodyCell, BodyCell = _h === void 0 ? BodyCellBase_1.BodyCellBase : _h, _j = _g.FilterInput, FilterInput = _j === void 0 ? FilterInputBase_1.FilterInputBase : _j, title = _g.title, ActionCell = _g.ActionCell, actionCellWidth = _g.actionCellWidth, onOpen = _g.onOpen, onEdit = _g.onEdit, onRemove = _g.onRemove, gridName = _g.gridName, _k = _g.rowHeight, rowHeight = _k === void 0 ? 44 : _k, onCsvDownload = _g.onCsvDownload, onChangeHiddenColumns = _g.onChangeHiddenColumns, _l = _g.hiddenColumns, hiddenColumns = _l === void 0 ? [] : _l, ml = _g.ml, mt = _g.mt, mb = _g.mb, mr = _g.mr;
174
+ var _g = this.props, schema = _g.schema, _h = _g.BodyCell, BodyCell = _h === void 0 ? BodyCellBase_1.BodyCellBase : _h, _j = _g.FilterInput, FilterInput = _j === void 0 ? FilterInputBase_1.FilterInputBase : _j, _k = _g.FilterListItem, FilterListItem = _k === void 0 ? FilterListItemBase_1.FilterListItemBase : _k, title = _g.title, ActionCell = _g.ActionCell, actionCellWidth = _g.actionCellWidth, onOpen = _g.onOpen, getOpenUrl = _g.getOpenUrl, onEdit = _g.onEdit, getEditUrl = _g.getEditUrl, onRemove = _g.onRemove, gridName = _g.gridName, _l = _g.rowHeight, rowHeight = _l === void 0 ? 44 : _l, _m = _g.headerRowHeight, headerRowHeight = _m === void 0 ? 44 : _m, onCsvDownload = _g.onCsvDownload, onChangeHiddenColumns = _g.onChangeHiddenColumns, _o = _g.hiddenColumns, hiddenColumns = _o === void 0 ? [] : _o, defaultConfig = _g.defaultConfig, FullTextInputProps = _g.FullTextInputProps, noBorder = _g.noBorder, rowClass = _g.rowClass, ToolbarContent = _g.ToolbarContent, ml = _g.ml, mt = _g.mt, mb = _g.mb, mr = _g.mr;
153
175
  var state = this.state;
154
- console.log(hiddenColumns);
155
176
  var rows = (_b = (_a = state.response) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : [];
156
177
  var columns = schema.columns
157
178
  .filter(function (c) { return !hiddenColumns.includes(c.name); })
158
- .map(function (c) { return ({
159
- key: c.name,
160
- name: c.label,
161
- headerCellClass: c.type,
162
- resizable: true,
163
- sortable: c.sort,
164
- width: c.width,
165
- minWidth: c.minWidth,
166
- maxWidth: c.maxWidth,
167
- formatter: function (props) {
168
- return (react_1.default.createElement(BodyCell, { column: {
169
- name: props.column.key,
170
- label: props.column.name,
171
- sort: props.column.sortable,
172
- type: props.column.headerCellClass,
173
- }, reload: _this.reload, row: props.row }));
174
- },
175
- }); });
176
- if (ActionCell || onOpen || onEdit || onRemove) {
179
+ .map(function (c) {
180
+ var _a, _b;
181
+ return ({
182
+ key: c.name,
183
+ name: c.label,
184
+ headerCellClass: c.type,
185
+ resizable: true,
186
+ sortable: c.sort,
187
+ width: (_a = c.width) !== null && _a !== void 0 ? _a : (_b = defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.columns[c.name]) === null || _b === void 0 ? void 0 : _b.width,
188
+ minWidth: c.minWidth,
189
+ maxWidth: c.maxWidth,
190
+ formatter: function (props) {
191
+ return (react_1.default.createElement(BodyCell, { column: {
192
+ name: props.column.key,
193
+ label: props.column.name,
194
+ sort: props.column.sortable,
195
+ type: props.column.headerCellClass, //TODO
196
+ }, reload: _this.reload, row: props.row }));
197
+ },
198
+ });
199
+ });
200
+ if (ActionCell || onOpen || onEdit || getOpenUrl || getEditUrl || onRemove) {
177
201
  var ActionCellComponent_1 = ActionCell !== null && ActionCell !== void 0 ? ActionCell : ActionCellBase_1.ActionCellBase;
178
202
  columns.push({
179
203
  key: "__action_column",
@@ -183,18 +207,26 @@ var DataGrid = /** @class */ (function (_super) {
183
207
  cellClass: "action rdg-action-cell",
184
208
  width: ActionCell ? actionCellWidth : [onRemove, onEdit, onOpen].filter(function (i) { return i; }).length * 44 + 8 * 2,
185
209
  formatter: function (props) {
186
- return (react_1.default.createElement(ActionCellComponent_1, { row: props.row, reload: _this.reload, onRemove: onRemove, onEdit: onEdit, onOpen: onOpen }));
210
+ return (react_1.default.createElement(ActionCellBase_1.ActionCellWrapper, null,
211
+ react_1.default.createElement(ActionCellComponent_1, { row: props.row, reload: _this.reload, onRemove: onRemove, onEdit: onEdit, getEditUrl: getEditUrl, onOpen: onOpen, getOpenUrl: getOpenUrl })));
187
212
  },
188
213
  });
189
214
  }
190
215
  var contentHeight = typeof rowHeight === "function"
191
216
  ? rows.reduce(function (prev, curr) { return prev + rowHeight(curr); })
192
217
  : ((rowHeight !== null && rowHeight !== void 0 ? rowHeight : 44) + 1) * rows.length;
218
+ var visibleToolbar = schema.fullText ||
219
+ title ||
220
+ onCsvDownload ||
221
+ onChangeHiddenColumns ||
222
+ schema.filters.length > 0 ||
223
+ ToolbarContent;
193
224
  return (react_1.default.createElement(Paper_1.Paper, { variant: "outlined", sx: {
194
225
  ml: ml,
195
226
  mr: mr,
196
227
  mb: mb,
197
228
  mt: mt,
229
+ borderWidth: noBorder ? 0 : undefined,
198
230
  "& .rdg-action-cell": {
199
231
  alignItems: "center",
200
232
  boxShadow: 2,
@@ -203,33 +235,54 @@ var DataGrid = /** @class */ (function (_super) {
203
235
  position: "sticky",
204
236
  right: 0,
205
237
  },
238
+ ".rdg-row.primary > .rdg-cell": {
239
+ backgroundColor: function (theme) { return (0, setLightness_1.default)(0.9, theme.palette.primary.main); },
240
+ },
241
+ ".rdg-row.secondary > .rdg-cell": {
242
+ backgroundColor: function (theme) { return (0, setLightness_1.default)(0.9, theme.palette.secondary.main); },
243
+ },
244
+ ".rdg-row.success > .rdg-cell": {
245
+ backgroundColor: function (theme) { return (0, setLightness_1.default)(0.9, theme.palette.success.main); },
246
+ },
247
+ ".rdg-row.warning > .rdg-cell": {
248
+ backgroundColor: function (theme) { return (0, setLightness_1.default)(0.9, theme.palette.warning.main); },
249
+ },
250
+ ".rdg-row.error > .rdg-cell": {
251
+ backgroundColor: function (theme) { return (0, setLightness_1.default)(0.9, theme.palette.error.main); },
252
+ },
206
253
  } },
207
- react_1.default.createElement(Toolbar_1.default, null,
208
- react_1.default.createElement(Typography_1.default, { sx: { flex: "1 1 100%" }, variant: "h6", id: "tableTitle", component: "div" }, title),
254
+ visibleToolbar && (react_1.default.createElement(Toolbar_1.default, { style: { paddingLeft: 16, paddingRight: 16 } },
255
+ ToolbarContent ? (react_1.default.createElement(ToolbarContent, { filtersData: state.f, onFilter: function (v) { return _this.dispatch((0, actions_1.filter)(v)); } })) : schema.fullText ? (react_1.default.createElement(material_1.TextField, __assign({ fullWidth: true, variant: "outlined", size: "small", InputProps: { startAdornment: react_1.default.createElement(Search_1.default, null) } }, FullTextInputProps, { value: state.fullText || "", onChange: function (e) { return _this.dispatch((0, actions_1.search)(e.target.value)); } }))) : (react_1.default.createElement(Typography_1.default, { sx: { flex: "1 1 100%" }, variant: "h6", id: "tableTitle", component: "div" }, title)),
209
256
  react_1.default.createElement(Box_1.default, { display: "flex", flexDirection: "row" },
210
257
  onCsvDownload && (react_1.default.createElement(Tooltip_1.default, { title: "St\u00E1hnout csv" },
211
- react_1.default.createElement(IconButton_1.default, { sx: { ml: 1 }, onClick: function () { return onCsvDownload((0, utils_1.createRequest)(_this.state)); } },
258
+ react_1.default.createElement(IconButton_1.default, { sx: { ml: 1 }, onClick: function () {
259
+ return onCsvDownload((0, utils_1.createRequest)(_this.state, schema.sort, schema.dir));
260
+ } },
212
261
  react_1.default.createElement(CloudDownload_1.default, null)))),
213
262
  onChangeHiddenColumns && (react_1.default.createElement(HiddenColumns_1.HiddenColumns, { dispatch: this.dispatch, columns: schema.columns, hiddenColumns: hiddenColumns !== null && hiddenColumns !== void 0 ? hiddenColumns : [], onChangeHiddenColumns: onChangeHiddenColumns })),
214
- react_1.default.createElement(Filters_1.Filters, { dispatch: this.dispatch, filters: schema.filters, filtersData: state.f, gridName: gridName !== null && gridName !== void 0 ? gridName : null, FilterInput: FilterInput }))),
215
- react_1.default.createElement(FiltersList_1.FiltersList, { dispatch: this.dispatch, filters: schema.filters, filtersData: state.f }),
263
+ react_1.default.createElement(Filters_1.Filters, { dispatch: this.dispatch, filters: schema.filters, filtersData: state.f, gridName: gridName !== null && gridName !== void 0 ? gridName : null, FilterInput: FilterInput })))),
264
+ schema.filters.length > 0 && (react_1.default.createElement(FiltersList_1.FiltersList, { dispatch: this.dispatch, filters: schema.filters, filtersData: state.f, FilterListItem: FilterListItem })),
216
265
  state.loading && react_1.default.createElement(LinearProgress_1.default, { style: { marginTop: -4 } }),
217
- react_1.default.createElement(react_data_grid_1.default, { style: {
218
- border: 0,
219
- borderRadius: 4,
220
- height: contentHeight + 44 + (state.loading && rows.length === 0 ? 44 : 0),
221
- }, columns: columns, rows: (_d = (_c = state.response) === null || _c === void 0 ? void 0 : _c.result) !== null && _d !== void 0 ? _d : [], enableVirtualization: false, onSortColumnsChange: function (sortColumns) {
222
- if (sortColumns.length > 0) {
223
- var sc = sortColumns[0];
224
- _this.dispatch((0, actions_1.sort)(sc.columnKey, sc.direction.toLowerCase()));
225
- }
226
- else {
227
- _this.dispatch((0, actions_1.sort)(schema.sort, schema.dir.toLowerCase()));
228
- }
229
- }, sortColumns: state.sort ? [{ columnKey: state.sort, direction: state.dir.toUpperCase() }] : [], rowHeight: rowHeight, noRowsFallback: react_1.default.createElement(Box_1.default, { height: 44, display: "flex", alignItems: "center", justifyContent: "center" }, state.loading ? (react_1.default.createElement(CircularProgress_1.default, { size: 24 })) : state.error ? (react_1.default.createElement(Typography_1.default, { textAlign: "center" }, "Vyskytla se chyba")) : (react_1.default.createElement(Typography_1.default, { textAlign: "center" }, "\u017D\u00E1dn\u00E9 z\u00E1znamy"))) }),
230
- react_1.default.createElement(TablePagination_1.default, { sx: { mx: 2 }, component: "div", count: (_f = (_e = state.response) === null || _e === void 0 ? void 0 : _e.count) !== null && _f !== void 0 ? _f : 0, page: state.page, onPageChange: function (_, page) { return _this.dispatch((0, actions_1.changePage)(page)); }, rowsPerPage: state.perPage, onRowsPerPageChange: function (event) { return _this.dispatch((0, actions_1.changePerPage)(Number.parseInt(event.target.value, 10))); } })));
266
+ react_1.default.createElement(NoSsr_1.default, null,
267
+ react_1.default.createElement(react_data_grid_1.default, { style: {
268
+ border: 0,
269
+ borderRadius: 4,
270
+ height: contentHeight + headerRowHeight + SCROLLBAR_HEIGHT + (rows.length === 0 ? 44 : 0),
271
+ overflowY: "hidden",
272
+ }, className: "rdg-light", columns: columns, rows: (_d = (_c = state.response) === null || _c === void 0 ? void 0 : _c.result) !== null && _d !== void 0 ? _d : [], enableVirtualization: false, onSortColumnsChange: function (sortColumns) {
273
+ if (sortColumns.length > 0) {
274
+ var sc = sortColumns[0];
275
+ _this.dispatch((0, actions_1.sort)(sc.columnKey, sc.direction.toLowerCase()));
276
+ }
277
+ else {
278
+ _this.dispatch((0, actions_1.sortClear)());
279
+ }
280
+ }, sortColumns: state.sort && state.dir
281
+ ? [{ columnKey: state.sort, direction: state.dir.toUpperCase() }]
282
+ : [], rowHeight: rowHeight, headerRowHeight: headerRowHeight, noRowsFallback: react_1.default.createElement(Box_1.default, { height: 48, display: "flex", alignItems: "center", justifyContent: "center" }, state.loading ? (react_1.default.createElement(CircularProgress_1.default, { size: 24 })) : state.error ? (react_1.default.createElement(Typography_1.default, { textAlign: "center" }, "Vyskytla se chyba")) : (react_1.default.createElement(Typography_1.default, { textAlign: "center" }, "\u017D\u00E1dn\u00E9 z\u00E1znamy"))), rowClass: rowClass })),
283
+ react_1.default.createElement(TablePagination_1.default, { sx: { mx: 2 }, component: "div", count: (_f = (_e = state.response) === null || _e === void 0 ? void 0 : _e.count) !== null && _f !== void 0 ? _f : 0, page: state.page, onPageChange: function (_, page) { return _this.dispatch((0, actions_1.changePage)(page)); }, rowsPerPage: state.perPage, onRowsPerPageChange: function (event) { return _this.dispatch((0, actions_1.changePerPage)(Number.parseInt(event.target.value, 10))); }, showFirstButton: true, showLastButton: true })));
231
284
  };
232
285
  return DataGrid;
233
286
  }(react_1.Component));
234
287
  exports.DataGrid = DataGrid;
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRGF0YUdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvRkFBOEQ7QUFDOUQsZ0ZBQTBEO0FBQzFELGtFQUE0QztBQUM1QywwREFBb0M7QUFDcEMsd0VBQWtEO0FBQ2xELG9GQUE4RDtBQUM5RCx3RUFBa0Q7QUFDbEQsa0VBQTRDO0FBQzVDLDhEQUE2RDtBQUM3RCxnRUFBK0Q7QUFDL0QsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQUN2RCw0REFBMkQ7QUFDM0QsNENBQTJDO0FBQzNDLDZDQUF5QztBQUN6QywwREFBeUQ7QUFDekQsMkNBQW9HO0FBQ3BHLDJDQUEyRDtBQUUzRCx1Q0FBNEQ7QUFDNUQsb0VBQXdEO0FBQ3hELGtGQUE0RDtBQUU1RDtJQUFzRCw0QkFBMEM7SUFDNUYsa0JBQVksS0FBb0Q7UUFBaEUsWUFDSSxrQkFBTSxLQUFLLENBQUMsU0FFZjtRQUVNLFlBQU0sR0FBRzs7Ozs7O3dCQUVSLHFCQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBQSxnQkFBTSxHQUFFLENBQUMsRUFBQTs7d0JBQTdCLFNBQTZCLENBQUM7d0JBRXhCLE9BQU8sR0FBRyxJQUFBLHFCQUFhLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN6QixxQkFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBQSxvQkFBWSxFQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUE7O3dCQUF2RixRQUFRLEdBQUcsU0FBNEU7d0JBRTdGLHFCQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBQSxvQkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUE7O3dCQUF6QyxT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
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRGF0YUdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUEwQztBQUMxQyw4REFBd0M7QUFDeEMsb0ZBQThEO0FBQzlELGdGQUEwRDtBQUMxRCxrRUFBNEM7QUFDNUMsMERBQW9DO0FBQ3BDLHdFQUFrRDtBQUNsRCxvRkFBOEQ7QUFDOUQsc0VBQW9EO0FBQ3BELHdFQUFrRDtBQUNsRCxrRUFBNEM7QUFDNUMsOERBQWdGO0FBQ2hGLGdFQUErRDtBQUMvRCxzRUFBcUU7QUFDckUsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQUN2RCw0REFBMkQ7QUFDM0QsNENBQTJDO0FBQzNDLDZDQUF5QztBQUN6QywwREFBeUQ7QUFDekQsMkNBVXlCO0FBQ3pCLDJDQUEyRDtBQUUzRCx1Q0FBNEQ7QUFDNUQsb0VBQXdEO0FBQ3hELGtGQUE0RDtBQUM1RCxpRkFBMkQ7QUFFM0QsSUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFNUIsc0RBQXNEO0FBQ3REO0lBQWtGLDRCQUdqRjtJQUNHLGtCQUFZLEtBQTJDO1FBQXZELFlBQ0ksa0JBQU0sS0FBSyxDQUFDLFNBRWY7UUFFTSxZQUFNLEdBQUc7Ozs7Ozt3QkFFQSxNQUFNLEdBQUssSUFBSSxDQUFDLEtBQUssT0FBZixDQUFnQjt3QkFDOUIscUJBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFBLGdCQUFNLEdBQUUsQ0FBQyxFQUFBOzt3QkFBN0IsU0FBNkIsQ0FBQzt3QkFFeEIsT0FBTyxHQUFHLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNsRCxxQkFBTSxJQUFJ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
package/README.md CHANGED
@@ -1,14 +1,80 @@
1
1
  # @uxf/data-grid
2
+ [![npm](https://img.shields.io/npm/v/@uxf/data-grid)](https://www.npmjs.com/package/@uxf/data-grid)
3
+ [![size](https://img.shields.io/bundlephobia/min/@uxf/data-grid)](https://www.npmjs.com/package/@uxf/data-grid)
4
+ [![quality](https://img.shields.io/npms-io/quality-score/@uxf/data-grid)](https://www.npmjs.com/package/@uxf/data-grid)
5
+ [![license](https://img.shields.io/npm/l/@uxf/data-grid)](https://www.npmjs.com/package/@uxf/data-grid)
2
6
 
3
- ## Migration from v1 to v2
7
+ ## Typescript
8
+
9
+ ```tsx
10
+ import { Schema } from "@uxf/data-grid";
11
+
12
+ type GridType = {
13
+ columns: {
14
+ // columnName : columnType
15
+ id: "number";
16
+ name: "string";
17
+ active: "boolean"
18
+ };
19
+ filters: {
20
+ // filterName : filterType
21
+ id: "number",
22
+ name: "text",
23
+ };
24
+ };
25
+
26
+ const schema: Schema<GridType> = {
27
+ columns: [
28
+ { name: "id", type: "number", label: "Id"},
29
+ { name: "name", type: "string", label: "Jméno" },
30
+ { name: "active", type: "boolean", label: "Aktivní"},
31
+ ],
32
+ filters: [
33
+ { name: "id", type: "number", label: "Id" },
34
+ { name: "name", type: "text", label: "Jméno" },
35
+ ],
36
+ dir: "asc",
37
+ sort: "id",
38
+ perPage: 10,
39
+ fullText: true,
40
+ };
41
+
42
+ <DataGrid<GridType> schema={schema}/>
43
+ ```
44
+
45
+ ## Props
46
+
47
+ #### getOpenUrl
48
+ Return value: null or undefined hides button
49
+ ```tsx
50
+ getOpenUrl: (row: T) => string | null | undefined;
51
+ ```
52
+
53
+ #### getEditUrl
54
+ Return value: null or undefined hides button
55
+ ```tsx
56
+ getOpenUrl: (row: T) => string | null | undefined;
4
57
  ```
5
- DataGridConfigurator => removed
6
- LoaderFunction => Loader
7
58
 
8
- -- DataGridProps --
9
- DataGridBo
59
+ #### rowClass
60
+ ```tsx
61
+ rowClass: (row: T) => "primary" | "secondary" | "success" | "warning" | "error" | string | null;
10
62
  ```
11
63
 
64
+ #### ToolbarContent
65
+ ```tsx
66
+ <DataGrid
67
+ ToolbarContent={({ onFilter, filtersData }) => (
68
+ <Checkbox
69
+ label="Boolean filter in toolbar"
70
+ checked={filtersData.find(f => f.name === "neighbors")?.value}
71
+ onChange={e => onFilter({ name: "neighbors", value: e.target.checked })}
72
+ />
73
+ )}
74
+ />
75
+ ```
76
+
77
+
12
78
  ## Example usage ##
13
79
 
14
80
  ```tsx
@@ -1,2 +1,4 @@
1
+ import React from "react";
1
2
  import { ActionCellComponent } from "../types";
3
+ export declare const ActionCellWrapper: React.NamedExoticComponent<object>;
2
4
  export declare const ActionCellBase: ActionCellComponent<any>;
@@ -22,33 +22,75 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.ActionCellBase = void 0;
25
+ exports.ActionCellBase = exports.ActionCellWrapper = void 0;
26
26
  var ArrowRightAlt_1 = __importDefault(require("@mui/icons-material/ArrowRightAlt"));
27
27
  var Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
28
28
  var Edit_1 = __importDefault(require("@mui/icons-material/Edit"));
29
29
  var Box_1 = __importDefault(require("@mui/material/Box"));
30
30
  var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
31
31
  var react_1 = __importStar(require("react"));
32
+ exports.ActionCellWrapper = (0, react_1.memo)(function (_a) {
33
+ var children = _a.children;
34
+ var innerRef = (0, react_1.useRef)(null);
35
+ (0, react_1.useEffect)(function () {
36
+ var _a;
37
+ var scrollLeft = 0;
38
+ var grid = null;
39
+ var node = innerRef.current;
40
+ if (!node) {
41
+ return;
42
+ }
43
+ var scrollHandler = function () {
44
+ grid === null || grid === void 0 ? void 0 : grid.scrollTo({ left: scrollLeft });
45
+ grid === null || grid === void 0 ? void 0 : grid.removeEventListener("scroll", scrollHandler);
46
+ };
47
+ var focusHandler = function () {
48
+ grid = node.closest(".rdg");
49
+ if (grid) {
50
+ scrollLeft = grid.scrollLeft;
51
+ grid.addEventListener("scroll", scrollHandler);
52
+ }
53
+ };
54
+ (_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.addEventListener("focus", focusHandler, { capture: true });
55
+ return function () {
56
+ var _a;
57
+ grid === null || grid === void 0 ? void 0 : grid.removeEventListener("scroll", scrollHandler);
58
+ (_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.removeEventListener("focus", focusHandler);
59
+ };
60
+ }, []);
61
+ return (react_1.default.createElement(Box_1.default, { alignItems: "center", display: "flex", justifyContent: "center", ref: innerRef, textAlign: "center", width: "100%" }, children));
62
+ });
63
+ exports.ActionCellWrapper.displayName = "ActionCellWrapper";
32
64
  var ActionCellItem = (0, react_1.memo)(function (_a) {
33
65
  var children = _a.children;
34
- return (react_1.default.createElement(Box_1.default, { alignItems: "center", justifyContent: "center", textAlign: "center", width: "100%" }, children));
66
+ return (react_1.default.createElement(Box_1.default, { alignItems: "center", display: "flex", justifyContent: "center", textAlign: "center", width: "100%" }, children));
35
67
  });
36
68
  ActionCellItem.displayName = "ActionCellItem";
69
+ var Button = function (props) {
70
+ var getUrl = props.getUrl, onClick = props.onClick, row = props.row, icon = props.icon;
71
+ if (getUrl) {
72
+ var href = getUrl(row);
73
+ if (!href) {
74
+ return null;
75
+ }
76
+ return (react_1.default.createElement(ActionCellItem, null,
77
+ react_1.default.createElement(IconButton_1.default, { href: href, size: "small" }, icon)));
78
+ }
79
+ if (onClick) {
80
+ return (react_1.default.createElement(ActionCellItem, null,
81
+ react_1.default.createElement(IconButton_1.default, { size: "small", onClick: function () { return onClick(row); } }, icon)));
82
+ }
83
+ return null;
84
+ };
37
85
  var ActionCellBase = function (props) {
38
- var onOpen = props.onOpen, onEdit = props.onEdit, onRemove = props.onRemove, row = props.row;
39
- if (!onOpen && !onEdit && !onRemove) {
86
+ var onOpen = props.onOpen, getOpenUrl = props.getOpenUrl, onEdit = props.onEdit, getEditUrl = props.getEditUrl, onRemove = props.onRemove, row = props.row;
87
+ if (!onOpen && !getOpenUrl && !onEdit && !getEditUrl && !onRemove) {
40
88
  return null;
41
89
  }
42
90
  return (react_1.default.createElement(react_1.default.Fragment, null,
43
- onRemove && (react_1.default.createElement(ActionCellItem, null,
44
- react_1.default.createElement(IconButton_1.default, { size: "small", onClick: function () { return onRemove(row); } },
45
- react_1.default.createElement(Delete_1.default, null)))),
46
- onEdit && (react_1.default.createElement(ActionCellItem, null,
47
- react_1.default.createElement(IconButton_1.default, { size: "small", onClick: function () { return onEdit(row); } },
48
- react_1.default.createElement(Edit_1.default, null)))),
49
- onOpen && (react_1.default.createElement(ActionCellItem, null,
50
- react_1.default.createElement(IconButton_1.default, { onClick: function () { return onOpen(row); } },
51
- react_1.default.createElement(ArrowRightAlt_1.default, null))))));
91
+ react_1.default.createElement(Button, { row: row, onClick: onRemove, getUrl: undefined, icon: react_1.default.createElement(Delete_1.default, null) }),
92
+ react_1.default.createElement(Button, { row: row, onClick: onEdit, getUrl: getEditUrl, icon: react_1.default.createElement(Edit_1.default, null) }),
93
+ react_1.default.createElement(Button, { row: row, onClick: onOpen, getUrl: getOpenUrl, icon: react_1.default.createElement(ArrowRightAlt_1.default, null) })));
52
94
  };
53
95
  exports.ActionCellBase = ActionCellBase;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uQ2VsbEJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9BY3Rpb25DZWxsQmFzZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9GQUErRDtBQUMvRCxzRUFBb0Q7QUFDcEQsa0VBQWdEO0FBQ2hELDBEQUFvQztBQUNwQyx3RUFBa0Q7QUFDbEQsNkNBQW9DO0FBR3BDLElBQU0sY0FBYyxHQUFHLElBQUEsWUFBSSxFQUFDLFVBQUMsRUFBWTtRQUFWLFFBQVEsY0FBQTtJQUFPLE9BQUEsQ0FDMUMsOEJBQUMsYUFBRyxJQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsY0FBYyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLEtBQUssRUFBQyxNQUFNLElBQzNFLFFBQVEsQ0FDUCxDQUNUO0FBSjZDLENBSTdDLENBQUMsQ0FBQztBQUVILGNBQWMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkMsSUFBTSxjQUFjLEdBQTZCLFVBQUEsS0FBSztJQUNqRCxJQUFBLE1BQU0sR0FBNEIsS0FBSyxPQUFqQyxFQUFFLE1BQU0sR0FBb0IsS0FBSyxPQUF6QixFQUFFLFFBQVEsR0FBVSxLQUFLLFNBQWYsRUFBRSxHQUFHLEdBQUssS0FBSyxJQUFWLENBQVc7SUFDaEQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxDQUNIO1FBQ0ssUUFBUSxJQUFJLENBQ1QsOEJBQUMsY0FBYztZQUNYLDhCQUFDLG9CQUFVLElBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBYixDQUFhO2dCQUNqRCw4QkFBQyxnQkFBVSxPQUFHLENBQ0wsQ0FDQSxDQUNwQjtRQUNBLE1BQU0sSUFBSSxDQUNQLDhCQUFDLGNBQWM7WUFDWCw4QkFBQyxvQkFBVSxJQUFDLElBQUksRUFBQyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQVgsQ0FBVztnQkFDL0MsOEJBQUMsY0FBUSxPQUFHLENBQ0gsQ0FDQSxDQUNwQjtRQUNBLE1BQU0sSUFBSSxDQUNQLDhCQUFDLGNBQWM7WUFDWCw4QkFBQyxvQkFBVSxJQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFYLENBQVc7Z0JBQ2xDLDhCQUFDLHVCQUFjLE9BQUcsQ0FDVCxDQUNBLENBQ3BCLENBQ0YsQ0FDTixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBOUJXLFFBQUEsY0FBYyxrQkE4QnpCIn0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uQ2VsbEJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9BY3Rpb25DZWxsQmFzZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9GQUErRDtBQUMvRCxzRUFBb0Q7QUFDcEQsa0VBQWdEO0FBQ2hELDBEQUFvQztBQUNwQyx3RUFBa0Q7QUFDbEQsNkNBQWtFO0FBR3JELFFBQUEsaUJBQWlCLEdBQUcsSUFBQSxZQUFJLEVBQUMsVUFBQyxFQUFZO1FBQVYsUUFBUSxjQUFBO0lBQzdDLElBQU0sUUFBUSxHQUFHLElBQUEsY0FBTSxFQUFpQixJQUFJLENBQUMsQ0FBQztJQUU5QyxJQUFBLGlCQUFTLEVBQUM7O1FBQ04sSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksSUFBSSxHQUFtQixJQUFJLENBQUM7UUFFaEMsSUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTztTQUNWO1FBRUQsSUFBTSxhQUFhLEdBQUc7WUFDbEIsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO1FBRUYsSUFBTSxZQUFZLEdBQUc7WUFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDbEQ7UUFD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
@@ -1,2 +1,2 @@
1
1
  import { BodyCellComponent } from "../types";
2
- export declare const BodyCellBase: BodyCellComponent<any>;
2
+ export declare const BodyCellBase: BodyCellComponent<any, any>;
@@ -1,44 +1,23 @@
1
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;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
4
  };
21
5
  Object.defineProperty(exports, "__esModule", { value: true });
22
6
  exports.BodyCellBase = void 0;
23
- var react_1 = __importStar(require("react"));
7
+ var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
8
+ var react_1 = __importDefault(require("react"));
24
9
  var BodyCellWrapper_1 = require("./BodyCellWrapper");
25
10
  var BodyCellBase = function (props) {
26
11
  var column = props.column, row = props.row;
27
12
  var value = row[column.name];
13
+ if (column.type === "boolean") {
14
+ return (react_1.default.createElement(BodyCellWrapper_1.BodyCellWrapper, { label: column.name }, typeof value === "boolean" ? react_1.default.createElement(Checkbox_1.default, { checked: value, disabled: true }) : null));
15
+ }
28
16
  var canRender = typeof value === "string" || typeof value === "number" || value === undefined || value === null;
29
- (0, react_1.useEffect)(function () {
30
- if (!canRender) {
31
- console.warn("Unknown value for column '" + column.name + "'.", value);
32
- }
33
- }, [value, canRender]);
34
17
  if (canRender) {
35
18
  return react_1.default.createElement(BodyCellWrapper_1.BodyCellWrapper, { label: column.name }, value);
36
19
  }
37
- return (react_1.default.createElement(BodyCellWrapper_1.BodyCellWrapper, { label: column.name },
38
- "Nezn\u00E1m\u00E1",
39
- react_1.default.createElement("br", null),
40
- react_1.default.createElement("br", null),
41
- " hodnota"));
20
+ return react_1.default.createElement(BodyCellWrapper_1.BodyCellWrapper, { label: column.name }, "Nezn\u00E1m\u00E1 hodnota");
42
21
  };
43
22
  exports.BodyCellBase = BodyCellBase;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keUNlbGxCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQm9keUNlbGxCYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQXlDO0FBRXpDLHFEQUFvRDtBQUU3QyxJQUFNLFlBQVksR0FBMkIsVUFBQSxLQUFLO0lBQzdDLElBQUEsTUFBTSxHQUFVLEtBQUssT0FBZixFQUFFLEdBQUcsR0FBSyxLQUFLLElBQVYsQ0FBVztJQUM5QixJQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRS9CLElBQU0sU0FBUyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0lBRWxILElBQUEsaUJBQVMsRUFBQztRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUE2QixNQUFNLENBQUMsSUFBSSxPQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUV2QixJQUFJLFNBQVMsRUFBRTtRQUNYLE9BQU8sOEJBQUMsaUNBQWUsSUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBRyxLQUFLLENBQW1CLENBQUM7S0FDekU7SUFFRCxPQUFPLENBQ0gsOEJBQUMsaUNBQWUsSUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUk7O1FBRS9CLHlDQUFNO1FBQ04seUNBQU07bUJBQ1EsQ0FDckIsQ0FBQztBQUNOLENBQUMsQ0FBQztBQXZCVyxRQUFBLFlBQVksZ0JBdUJ2QiJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keUNlbGxCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQm9keUNlbGxCYXNlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvRUFBOEM7QUFDOUMsZ0RBQTBCO0FBRTFCLHFEQUFvRDtBQUU3QyxJQUFNLFlBQVksR0FBZ0MsVUFBQSxLQUFLO0lBQ2xELElBQUEsTUFBTSxHQUFVLEtBQUssT0FBZixFQUFFLEdBQUcsR0FBSyxLQUFLLElBQVYsQ0FBVztJQUM5QixJQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRS9CLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDM0IsT0FBTyxDQUNILDhCQUFDLGlDQUFlLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQzlCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsOEJBQUMsa0JBQVEsSUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsU0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVELENBQ3JCLENBQUM7S0FDTDtJQUVELElBQU0sU0FBUyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0lBRWxILElBQUksU0FBUyxFQUFFO1FBQ1gsT0FBTyw4QkFBQyxpQ0FBZSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFHLEtBQUssQ0FBbUIsQ0FBQztLQUN6RTtJQUVELE9BQU8sOEJBQUMsaUNBQWUsSUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksZ0NBQW1DLENBQUM7QUFDbEYsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsWUFBWSxnQkFtQnZCIn0=
@@ -4,9 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BodyCellWrapper = void 0;
7
+ var Box_1 = __importDefault(require("@mui/material/Box"));
7
8
  var react_1 = __importDefault(require("react"));
8
9
  var BodyCellWrapper = function (props) {
9
- return react_1.default.createElement("div", null, props.children);
10
+ return (react_1.default.createElement(Box_1.default, { display: "flex", alignItems: "center", height: "100%", lineHeight: 1.5, sx: { userSelect: "text" } },
11
+ react_1.default.createElement(Box_1.default, { width: "100%" }, props.children)));
10
12
  };
11
13
  exports.BodyCellWrapper = BodyCellWrapper;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keUNlbGxXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQm9keUNlbGxXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBeUM7QUFNbEMsSUFBTSxlQUFlLEdBQW9CLFVBQUEsS0FBSztJQUNqRCxPQUFPLDJDQUFNLEtBQUssQ0FBQyxRQUFRLENBQU8sQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFGVyxRQUFBLGVBQWUsbUJBRTFCIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keUNlbGxXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQm9keUNlbGxXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBb0M7QUFDcEMsZ0RBQXlDO0FBTWxDLElBQU0sZUFBZSxHQUFvQixVQUFBLEtBQUs7SUFDakQsT0FBTyxDQUNILDhCQUFDLGFBQUcsSUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLFVBQVUsRUFBQyxRQUFRLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7UUFDN0YsOEJBQUMsYUFBRyxJQUFDLEtBQUssRUFBQyxNQUFNLElBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBTyxDQUN0QyxDQUNULENBQUM7QUFDTixDQUFDLENBQUM7QUFOVyxRQUFBLGVBQWUsbUJBTTFCIn0=
@@ -1,2 +1,2 @@
1
1
  import { FilterInputComponent } from "../types";
2
- export declare const FilterInputBase: FilterInputComponent;
2
+ export declare const FilterInputBase: FilterInputComponent<any>;
@@ -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,13 +39,13 @@ 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");
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];
@@ -63,4 +63,4 @@ var Filters = function (props) {
63
63
  })))));
64
64
  };
65
65
  exports.Filters = Filters;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbHRlcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQXNDO0FBQ3RDLGtFQUE0QztBQUM1Qyx3RUFBa0Q7QUFDbEQsOEVBQTREO0FBQzVELDZDQUF3QztBQUV4QyxtQ0FBa0M7QUFDbEMsNENBQTBEO0FBVW5ELElBQU0sT0FBTyxHQUEyQixVQUFBLEtBQUs7SUFDeEMsSUFBQSxPQUFPLEdBQW1ELEtBQUssUUFBeEQsRUFBRSxRQUFRLEdBQXlDLEtBQUssU0FBOUMsRUFBRSxXQUFXLEdBQTRCLEtBQUssWUFBakMsRUFBRSxRQUFRLEdBQWtCLEtBQUssU0FBdkIsRUFBRSxXQUFXLEdBQUssS0FBSyxZQUFWLENBQVc7SUFDbEUsSUFBQSxLQUFBLE9BQXNCLElBQUEsZ0JBQVEsRUFBQyxLQUFLLENBQUMsSUFBQSxFQUFwQyxNQUFNLFFBQUEsRUFBRSxTQUFTLFFBQW1CLENBQUM7SUFFNUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxDQUNIO1FBQ0ksOEJBQUMsaUJBQU8sSUFBQyxLQUFLLEVBQUMsV0FBVztZQUN0Qiw4QkFBQyxvQkFBVSxJQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFmLENBQWUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNyRCw4QkFBQyxvQkFBYyxPQUFHLENBQ1QsQ0FDUDtRQUNWLDhCQUFDLGVBQU0sSUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFoQixDQUFnQixFQUFFLEtBQUssRUFBQyxRQUFRO1lBQ2pFLDhCQUFDLGNBQUksSUFBQyxTQUFTLFFBQUMsT0FBTyxFQUFFLENBQUMsSUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07O2dCQUFJLE9BQUEsQ0FDbkIsOEJBQUMsV0FBVyxJQUNSLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxNQUFBLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQXRCLENBQXNCLENBQUMsbUNBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQzFGLFFBQVEsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLFFBQVEsQ0FBQyxJQUFBLGdCQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBekIsQ0FBeUIsR0FDMUMsQ0FDTCxDQUFBO2FBQUEsQ0FBQyxDQUNDLENBQ0YsQ0FDVixDQUNOLENBQUM7QUFDTixDQUFDLENBQUM7QUE5QlcsUUFBQSxPQUFPLFdBOEJsQiJ9
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=
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { Column } from "../types";
3
3
  interface HiddenColumnsProps {
4
4
  dispatch: (action: any) => void;
5
- columns: Column[];
5
+ columns: Array<Column<any, any>>;
6
6
  hiddenColumns: string[];
7
7
  onChangeHiddenColumns: (hiddenColumns: string[]) => void;
8
8
  }
@@ -76,4 +76,4 @@ var HiddenColumns = function (props) {
76
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
77
  };
78
78
  exports.HiddenColumns = HiddenColumns;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlkZGVuQ29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0hpZGRlbkNvbHVtbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQTRDO0FBQzVDLDREQUFzQztBQUN0QyxnRUFBMEM7QUFDMUMsb0ZBQThEO0FBQzlELHdFQUFrRDtBQUNsRCw2Q0FBd0M7QUFDeEMsOEVBQTREO0FBRTVELG1DQUFrQztBQVMzQixJQUFNLGFBQWEsR0FBaUMsVUFBQSxLQUFLO0lBQ3BELElBQUEsT0FBTyxHQUEyQyxLQUFLLFFBQWhELEVBQUUsYUFBYSxHQUE0QixLQUFLLGNBQWpDLEVBQUUscUJBQXFCLEdBQUssS0FBSyxzQkFBVixDQUFXO0lBQzFELElBQUEsS0FBQSxPQUFzQixJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLElBQUEsRUFBcEMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFtQixDQUFDO0lBRTVDLElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBYyxJQUFLLE9BQUE7UUFDakMsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsRUFBRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQWxCLENBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO2FBQU07WUFDSCxxQkFBcUIsd0NBQUssYUFBYSxZQUFFLE1BQU0sQ0FBQyxJQUFJLFVBQUUsQ0FBQztTQUMxRDtJQUNMLENBQUMsRUFOb0MsQ0FNcEMsQ0FBQztJQUNGLE9BQU8sQ0FDSDtRQUNJLDhCQUFDLGlCQUFPLElBQUMsS0FBSyxFQUFDLGtCQUFrQjtZQUM3Qiw4QkFBQyxvQkFBVSxJQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFmLENBQWU7Z0JBQ3RDLDhCQUFDLG9CQUFjLE9BQUcsQ0FDVCxDQUNQO1FBQ1YsOEJBQUMsZUFBTSxJQUFDLEtBQUssRUFBQyxrQkFBa0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFNLE9BQUEsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFoQixDQUFnQixFQUFFLE1BQU0sRUFBQyxPQUFPO1lBQzFGLDhCQUFDLGNBQUksSUFBQyxTQUFTLFFBQUMsT0FBTyxFQUFFLENBQUMsSUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLENBQ25CLDhCQUFDLGNBQUksSUFBQyxJQUFJLFFBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQy9CLDhCQUFDLDBCQUFnQixJQUNiLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNoQixPQUFPLEVBQ0gsOEJBQUMsZ0JBQU0sSUFDSCxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDN0MsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQ2pCLEtBQUssRUFBQyxTQUFTLEdBQ2pCLEVBRU4sS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQ3JCLENBQ0MsQ0FDVixFQWZzQixDQWV0QixDQUFDLENBQ0MsQ0FDRixDQUNWLENBQ04sQ0FBQztBQUNOLENBQUMsQ0FBQztBQXhDVyxRQUFBLGFBQWEsaUJBd0N4QiJ9
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlkZGVuQ29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0hpZGRlbkNvbHVtbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQTRDO0FBQzVDLDREQUFzQztBQUN0QyxnRUFBMEM7QUFDMUMsb0ZBQThEO0FBQzlELHdFQUFrRDtBQUNsRCw2Q0FBd0M7QUFDeEMsOEVBQTREO0FBRTVELG1DQUFrQztBQVMzQixJQUFNLGFBQWEsR0FBaUMsVUFBQSxLQUFLO0lBQ3BELElBQUEsT0FBTyxHQUEyQyxLQUFLLFFBQWhELEVBQUUsYUFBYSxHQUE0QixLQUFLLGNBQWpDLEVBQUUscUJBQXFCLEdBQUssS0FBSyxzQkFBVixDQUFXO0lBQzFELElBQUEsS0FBQSxPQUFzQixJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLElBQUEsRUFBcEMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUFtQixDQUFDO0lBRTVDLElBQU0sUUFBUSxHQUFHLFVBQUMsTUFBd0IsSUFBSyxPQUFBO1FBQzNDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckMscUJBQXFCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFBLEVBQUUsSUFBSSxPQUFBLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFsQixDQUFrQixDQUFDLENBQUMsQ0FBQztTQUN6RTthQUFNO1lBQ0gscUJBQXFCLHdDQUFLLGFBQWEsWUFBRSxNQUFNLENBQUMsSUFBSSxVQUFFLENBQUM7U0FDMUQ7SUFDTCxDQUFDLEVBTjhDLENBTTlDLENBQUM7SUFDRixPQUFPLENBQ0g7UUFDSSw4QkFBQyxpQkFBTyxJQUFDLEtBQUssRUFBQyxrQkFBa0I7WUFDN0IsOEJBQUMsb0JBQVUsSUFBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBZixDQUFlO2dCQUN0Qyw4QkFBQyxvQkFBYyxPQUFHLENBQ1QsQ0FDUDtRQUNWLDhCQUFDLGVBQU0sSUFBQyxLQUFLLEVBQUMsa0JBQWtCLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBTSxPQUFBLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBaEIsQ0FBZ0IsRUFBRSxNQUFNLEVBQUMsT0FBTztZQUMxRiw4QkFBQyxjQUFJLElBQUMsU0FBUyxRQUFDLE9BQU8sRUFBRSxDQUFDLElBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxDQUNuQiw4QkFBQyxjQUFJLElBQUMsSUFBSSxRQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUMvQiw4QkFBQywwQkFBZ0IsSUFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksRUFDaEIsT0FBTyxFQUNILDhCQUFDLGdCQUFNLElBQ0gsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQzdDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNqQixLQUFLLEVBQUMsU0FBUyxHQUNqQixFQUVOLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUNyQixDQUNDLENBQ1YsRUFmc0IsQ0FldEIsQ0FBQyxDQUNDLENBQ0YsQ0FDVixDQUNOLENBQUM7QUFDTixDQUFDLENBQUM7QUF4Q1csUUFBQSxhQUFhLGlCQXdDeEIifQ==
@@ -7,7 +7,7 @@ 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;
10
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
11
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;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@uxf/data-grid",
3
- "version": "3.0.0-beta.9",
3
+ "version": "3.1.2",
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,6 +41,7 @@
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": {
@@ -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, page: 0 });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHdDQUE4QztBQUV2QyxJQUFNLGVBQWUsR0FBRyxVQUFDLE1BQW1CLEVBQUUsSUFBdUI7O0lBQ3hFLElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUEsb0JBQVksRUFBQyxJQUFJLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUcsT0FBTztRQUNILENBQUMsRUFBRSxNQUFBLFlBQVksQ0FBQyxDQUFDLG1DQUFJLEVBQUU7UUFDdkIsSUFBSSxFQUFFLE1BQUEsWUFBWSxDQUFDLElBQUksbUNBQUksQ0FBQztRQUM1QixHQUFHLEVBQUUsTUFBQSxZQUFZLENBQUMsR0FBRyxtQ0FBSSxNQUFNLENBQUMsR0FBRztRQUNuQyxJQUFJLEVBQUUsTUFBQSxZQUFZLENBQUMsSUFBSSxtQ0FBSSxNQUFNLENBQUMsSUFBSTtRQUN0QyxPQUFPLEVBQUUsTUFBQSxZQUFZLENBQUMsT0FBTyxtQ0FBSSxNQUFNLENBQUMsT0FBTztLQUNsRCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBVFcsUUFBQSxlQUFlLG1CQVMxQjtBQUVLLElBQU0sT0FBTyxHQUFnQyxVQUFDLEtBQUssRUFBRSxNQUFNO0lBQzlELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNqQixLQUFLLFFBQVE7WUFDVCw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLElBQUksSUFDZjtRQUNOLEtBQUssYUFBYTtZQUNkLDZCQUNPLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUMzQjtRQUNOLEtBQUssZUFBZTtZQUNoQiw2QkFDTyxLQUFLLEtBQ1IsT0FBTyxFQUFFLEtBQUssRUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFDckI7UUFDTixLQUFLLGFBQWE7WUFDZCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQ25CO1FBQ04sS0FBSyxpQkFBaUI7WUFDbEIsNkJBQ08sS0FBSyxLQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUN6QjtRQUNOLEtBQUssUUFBUTtZQUNULGdEQUFnRDtZQUNoRCxJQUFNLGFBQVcsR0FBa0IsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUN0RCw2QkFDTyxLQUFLLEtBQ1IsSUFBSSxFQUFFLENBQUMsRUFDUCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQVcsQ0FBQyxJQUFJLEVBQTNCLENBQTJCLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUEvQyxDQUErQyxDQUFDO29CQUNuRSxDQUFDLHdDQUFLLEtBQUssQ0FBQyxDQUFDLFlBQUUsYUFBVyxTQUFDLElBQ2pDO1FBQ04sS0FBSyxjQUFjO1lBQ2YsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxDQUFDLEVBQ1AsQ0FBQyxFQUFFLEVBQUUsSUFDUDtRQUNOLEtBQUssTUFBTTtZQUNQLDZCQUNPLEtBQUssS0FDUixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFDdkIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQ3ZCO1FBQ04sS0FBSyxZQUFZO1lBQ2IsNkJBQ08sS0FBSyxLQUNSLElBQUksRUFBRSxJQUFJLEVBQ1YsR0FBRyxFQUFFLElBQUksSUFDWDtRQUNOLEtBQUssVUFBVTtZQUNYLDZCQUNPLEtBQUssS0FDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFDekIsSUFBSSxFQUFFLENBQUMsSUFDVDtRQUNOO1lBQ0ksc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakQsT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDLENBQUM7QUFwRVcsUUFBQSxPQUFPLFdBb0VsQiJ9
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,17 +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
- declare type ActionCellWithRequiredWidth<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> = {
11
24
  ActionCell?: ActionCellComponent<R>;
12
25
  actionCellWidth: number;
13
26
  } | {
14
27
  ActionCell?: never;
15
28
  actionCellWidth?: never;
16
29
  };
17
- export declare type DataGridProps<R extends any> = {
30
+ export declare type DataGridProps<GridType extends BaseGridType, R extends any> = {
18
31
  gridName?: string;
19
32
  title?: ReactNode;
20
- schema: Schema;
33
+ schema: Schema<GridType>;
21
34
  keyExtractor?: KeyExtractor;
22
35
  loader: Loader;
23
36
  initialState?: Request | string;
@@ -27,28 +40,38 @@ export declare type DataGridProps<R extends any> = {
27
40
  search?: boolean;
28
41
  print?: boolean;
29
42
  onCsvDownload?: CsvDownloadHandler;
30
- BodyCell?: BodyCellComponent<R>;
31
- HeadCell?: HeadCellComponent<R>;
32
- FilterInput?: FilterInputComponent;
33
- 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;
34
48
  Footer?: import("react").ReactNode;
35
49
  locale?: "cs" | "en";
36
50
  onChangeSelectedRows?: (selectedRows: R[]) => void;
37
51
  selectedRows?: R[];
38
52
  onOpen?: (row: R) => void;
53
+ getOpenUrl?: (row: R) => string | null | undefined;
39
54
  onEdit?: (row: R) => void;
55
+ getEditUrl?: (row: R) => string | null | undefined;
40
56
  onRemove?: (row: R) => void;
41
57
  noBorder?: boolean;
42
58
  rowHeight?: RDGProps<any>["rowHeight"];
59
+ headerRowHeight?: RDGProps<any>["headerRowHeight"];
43
60
  ml?: number;
44
61
  mt?: number;
45
62
  mr?: number;
46
63
  mb?: number;
64
+ defaultConfig?: Config<GridType["columns"]>;
65
+ FullTextInputProps?: Partial<TextFieldProps>;
66
+ rowClass?: (row: R) => "success" | "warning" | "error" | "primary" | "secondary" | string | null | undefined;
47
67
  } & ActionCellWithRequiredWidth<R>;
48
- export interface Column<T = string> {
49
- name: string;
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;
50
73
  label: string | ReactElement;
51
- type?: T | null;
74
+ type: Type;
52
75
  sort?: boolean;
53
76
  hint?: string;
54
77
  print?: boolean;
@@ -56,24 +79,27 @@ export interface Column<T = string> {
56
79
  minWidth?: number;
57
80
  maxWidth?: number;
58
81
  frozen?: boolean;
59
- }
82
+ };
60
83
  export interface FilterOption {
61
84
  value: string | number;
62
85
  label: string;
63
86
  }
64
- export declare type FilterType = string;
65
- export interface Filter<T extends FilterType> {
66
- name: string;
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;
67
92
  label: string;
68
93
  type?: T;
69
94
  options?: FilterOption[];
70
95
  }
71
- export interface Schema {
72
- columns: Column[];
73
- filters: Filter<any>[];
96
+ export interface Schema<GritType extends BaseGridType> {
97
+ columns: Columns<GritType["columns"]>[];
98
+ filters: Filters<GritType["filters"]>[];
74
99
  sort: string;
75
100
  dir: SortDirection;
76
101
  perPage: number;
102
+ fullText?: boolean;
77
103
  }
78
104
  export interface RequestFilter<T = any> {
79
105
  name: string;
@@ -87,53 +113,61 @@ export interface Request {
87
113
  dir?: SortDirection;
88
114
  page?: number;
89
115
  perPage?: number;
116
+ search?: string;
90
117
  }
91
118
  export interface Response {
92
119
  totalCount: number;
93
120
  count: number;
94
121
  result: ResultItem[];
95
122
  }
96
- export interface BodyCellProps<R extends any> {
97
- column: Column;
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;
98
130
  row: R;
99
131
  reload: () => Promise<void>;
100
132
  }
101
- export declare type BodyCellComponent<R extends any, P = {}> = ComponentType<BodyCellProps<R> & P>;
102
- export interface ActionCellProps<R extends any> {
133
+ export declare type BodyCellComponent<C extends BaseGridType["columns"], R> = ComponentType<BodyCellProps<Columns<C>, R>>;
134
+ export interface ActionCellProps<R> {
103
135
  row: R;
104
136
  onOpen?: (row: R) => void;
137
+ getOpenUrl?: (row: R) => string | null | undefined;
105
138
  onEdit?: (row: R) => void;
139
+ getEditUrl?: (row: R) => string | null | undefined;
106
140
  onRemove?: (row: R) => void;
107
141
  reload: () => Promise<void>;
108
142
  }
109
143
  export declare type ActionCellComponent<R extends any> = ComponentType<ActionCellProps<R>>;
110
- 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> {
111
145
  sort: boolean;
112
146
  sortDirection: SortDirection;
113
147
  onSort: (sortDirection: SortDirection) => void;
114
148
  }
115
- export declare type HeadCellComponent<R extends any> = ComponentType<HeadCellProps<R>>;
116
- export interface FilterListItemProps<T extends any> {
117
- filter: Filter<any>;
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;
118
152
  value: RequestFilter<T>;
119
153
  onFilter: (value: RequestFilter<T>) => void;
120
154
  }
121
- export declare type FilterListItemComponent<T = any> = ComponentType<FilterListItemProps<T>>;
122
- 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> {
123
157
  gridName: string | null;
124
- filter: Filter<any>;
158
+ filter: F;
125
159
  value?: RequestFilter<T>;
126
160
  onFilter: (value: RequestFilter<T>) => void;
127
161
  }
128
- 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>>;
129
163
  export interface DataGridState {
130
164
  loading?: boolean;
131
165
  response?: Response;
132
166
  f: RequestFilter[];
133
- sort: string;
134
- dir: SortDirection;
167
+ sort: string | null;
168
+ dir: SortDirection | null;
135
169
  page: number;
136
170
  perPage: number;
137
171
  error?: any;
172
+ fullText?: string;
138
173
  }
139
- export {};
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;
package/utils/utils.js CHANGED
@@ -21,14 +21,16 @@ function encodeFilter(request) {
21
21
  return btoa(unescape(encodeURIComponent(JSON.stringify(request))));
22
22
  }
23
23
  exports.encodeFilter = encodeFilter;
24
- function createRequest(state) {
24
+ function createRequest(state, defaultSort, defaultDir) {
25
+ var _a, _b;
25
26
  return {
26
- sort: state.sort,
27
- dir: state.dir,
27
+ sort: (_a = state.sort) !== null && _a !== void 0 ? _a : defaultSort,
28
+ dir: (_b = state.dir) !== null && _b !== void 0 ? _b : defaultDir,
28
29
  perPage: state.perPage,
29
30
  page: state.page,
30
31
  f: state.f.filter(function (f) { return !!f.value; }),
32
+ search: state.fullText,
31
33
  };
32
34
  }
33
35
  exports.createRequest = createRequest;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsWUFBWSxDQUFDLFlBQW9CO0lBQzdDLElBQUk7UUFDQSxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUUsT0FBTztZQUNILENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtZQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUs7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSTtTQUM1QixDQUFDO0tBQ0w7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNSLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7QUFDTCxDQUFDO0FBZEQsb0NBY0M7QUFFRCxTQUFnQixZQUFZLENBQUMsT0FBZ0I7SUFDekMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9CO0lBQzlDLE9BQU87UUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBVCxDQUFTLENBQUM7S0FDcEMsQ0FBQztBQUNOLENBQUM7QUFSRCxzQ0FRQyJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsWUFBWSxDQUFDLFlBQW9CO0lBQzdDLElBQUk7UUFDQSxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUUsT0FBTztZQUNILENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtZQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ3RCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUs7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSTtTQUM1QixDQUFDO0tBQ0w7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNSLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7QUFDTCxDQUFDO0FBZEQsb0NBY0M7QUFFRCxTQUFnQixZQUFZLENBQUMsT0FBZ0I7SUFDekMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9CLEVBQUUsV0FBbUIsRUFBRSxVQUF5Qjs7SUFDOUYsT0FBTztRQUNILElBQUksRUFBRSxNQUFBLEtBQUssQ0FBQyxJQUFJLG1DQUFJLFdBQVc7UUFDL0IsR0FBRyxFQUFFLE1BQUEsS0FBSyxDQUFDLEdBQUcsbUNBQUksVUFBVTtRQUM1QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFULENBQVMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVE7S0FDekIsQ0FBQztBQUNOLENBQUM7QUFURCxzQ0FTQyJ9