@uxf/data-grid 3.2.0 → 4.0.0-beta.11

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.
Files changed (118) hide show
  1. package/DataGrid.d.ts +2 -10
  2. package/DataGrid.js +127 -220
  3. package/README.md +111 -100
  4. package/index.d.ts +1 -6
  5. package/index.js +2 -7
  6. package/package.json +7 -12
  7. package/store/actions.d.ts +5 -1
  8. package/store/actions.js +8 -3
  9. package/store/reducer.d.ts +1 -0
  10. package/store/reducer.js +46 -18
  11. package/tailwindui/DataGrid.d.ts +6 -0
  12. package/tailwindui/DataGrid.js +56 -0
  13. package/{components/ActionCellBase.d.ts → tailwindui/components/action-cell-base.d.ts} +1 -1
  14. package/tailwindui/components/action-cell-base.js +90 -0
  15. package/tailwindui/components/badge.d.ts +5 -0
  16. package/tailwindui/components/badge.js +18 -0
  17. package/{components/BodyCellBase.d.ts → tailwindui/components/body-cell-base.d.ts} +1 -1
  18. package/tailwindui/components/body-cell-base.js +23 -0
  19. package/{components/BodyCellWrapper.d.ts → tailwindui/components/body-cell-wrapper.d.ts} +1 -0
  20. package/tailwindui/components/body-cell-wrapper.js +14 -0
  21. package/tailwindui/components/circle-button.d.ts +10 -0
  22. package/tailwindui/components/circle-button.js +14 -0
  23. package/tailwindui/components/container.d.ts +2 -0
  24. package/tailwindui/components/container.js +20 -0
  25. package/tailwindui/components/drawer.d.ts +9 -0
  26. package/tailwindui/components/drawer.js +22 -0
  27. package/{components/FilterInputBase.d.ts → tailwindui/components/filter-input-base.d.ts} +1 -1
  28. package/tailwindui/components/filter-input-base.js +30 -0
  29. package/{components/FilterListItemBase.d.ts → tailwindui/components/filter-list-item-base.d.ts} +1 -1
  30. package/tailwindui/components/filter-list-item-base.js +34 -0
  31. package/tailwindui/components/filters-list.d.ts +2 -0
  32. package/tailwindui/components/filters-list.js +23 -0
  33. package/tailwindui/components/icons/chevron-double-left.d.ts +2 -0
  34. package/tailwindui/components/icons/chevron-double-left.js +13 -0
  35. package/tailwindui/components/icons/chevron-double-right.d.ts +2 -0
  36. package/tailwindui/components/icons/chevron-double-right.js +13 -0
  37. package/tailwindui/components/icons/chevron-left.d.ts +2 -0
  38. package/tailwindui/components/icons/chevron-left.js +13 -0
  39. package/tailwindui/components/icons/chevron-right.d.ts +2 -0
  40. package/tailwindui/components/icons/chevron-right.js +13 -0
  41. package/tailwindui/components/icons/cloud-download.d.ts +2 -0
  42. package/tailwindui/components/icons/cloud-download.js +13 -0
  43. package/tailwindui/components/icons/edit.d.ts +2 -0
  44. package/tailwindui/components/icons/edit.js +13 -0
  45. package/tailwindui/components/icons/filter.d.ts +2 -0
  46. package/tailwindui/components/icons/filter.js +13 -0
  47. package/tailwindui/components/icons/open.d.ts +2 -0
  48. package/tailwindui/components/icons/open.js +13 -0
  49. package/tailwindui/components/icons/table.d.ts +2 -0
  50. package/tailwindui/components/icons/table.js +13 -0
  51. package/tailwindui/components/icons/trash.d.ts +2 -0
  52. package/tailwindui/components/icons/trash.js +13 -0
  53. package/tailwindui/components/inputs/checkbox.d.ts +10 -0
  54. package/tailwindui/components/inputs/checkbox.js +23 -0
  55. package/tailwindui/components/inputs/select.d.ts +13 -0
  56. package/tailwindui/components/inputs/select.js +21 -0
  57. package/tailwindui/components/inputs/switch.d.ts +7 -0
  58. package/tailwindui/components/inputs/switch.js +21 -0
  59. package/tailwindui/components/inputs/text-input.d.ts +7 -0
  60. package/tailwindui/components/inputs/text-input.js +18 -0
  61. package/tailwindui/components/linear-progress.d.ts +2 -0
  62. package/tailwindui/components/linear-progress.js +13 -0
  63. package/tailwindui/components/no-rows-fallback.d.ts +2 -0
  64. package/tailwindui/components/no-rows-fallback.js +13 -0
  65. package/tailwindui/components/pagination.d.ts +2 -0
  66. package/tailwindui/components/pagination.js +55 -0
  67. package/tailwindui/components/select-row-checkbox.d.ts +2 -0
  68. package/tailwindui/components/select-row-checkbox.js +54 -0
  69. package/tailwindui/components/selected-rows-toolbar.d.ts +2 -0
  70. package/tailwindui/components/selected-rows-toolbar.js +33 -0
  71. package/tailwindui/components/tab.d.ts +6 -0
  72. package/tailwindui/components/tab.js +16 -0
  73. package/tailwindui/components/toolbar-container.d.ts +2 -0
  74. package/tailwindui/components/toolbar-container.js +13 -0
  75. package/tailwindui/index.d.ts +7 -0
  76. package/tailwindui/index.js +20 -0
  77. package/tailwindui/styles.css +73 -0
  78. package/tailwindui/toolbar-plugins/csv-export-plugin.d.ts +2 -0
  79. package/tailwindui/toolbar-plugins/csv-export-plugin.js +20 -0
  80. package/tailwindui/toolbar-plugins/filters-plugin.d.ts +2 -0
  81. package/tailwindui/toolbar-plugins/filters-plugin.js +60 -0
  82. package/tailwindui/toolbar-plugins/fulltext-plugin.d.ts +2 -0
  83. package/tailwindui/toolbar-plugins/fulltext-plugin.js +72 -0
  84. package/tailwindui/toolbar-plugins/hidden-columns-plugin.d.ts +2 -0
  85. package/tailwindui/toolbar-plugins/hidden-columns-plugin.js +76 -0
  86. package/tailwindui/toolbar-plugins/tabs-plugin.d.ts +2 -0
  87. package/tailwindui/toolbar-plugins/tabs-plugin.js +19 -0
  88. package/tailwindui/toolbar-plugins/title-plugin.d.ts +2 -0
  89. package/tailwindui/toolbar-plugins/title-plugin.js +16 -0
  90. package/tailwindui/ui.d.ts +2 -0
  91. package/tailwindui/ui.js +32 -0
  92. package/types.d.ts +130 -39
  93. package/useColumns.d.ts +3 -0
  94. package/useColumns.js +100 -0
  95. package/{utils/utils.d.ts → utils.d.ts} +1 -1
  96. package/utils.js +37 -0
  97. package/components/ActionCellBase.js +0 -96
  98. package/components/BodyCellBase.js +0 -23
  99. package/components/BodyCellWrapper.js +0 -14
  100. package/components/Drawer.d.ts +0 -7
  101. package/components/Drawer.js +0 -42
  102. package/components/FilterInputBase.js +0 -43
  103. package/components/FilterListItemBase.js +0 -25
  104. package/components/Filters.d.ts +0 -11
  105. package/components/Filters.js +0 -66
  106. package/components/FiltersList.d.ts +0 -10
  107. package/components/FiltersList.js +0 -47
  108. package/components/HiddenColumns.d.ts +0 -10
  109. package/components/HiddenColumns.js +0 -79
  110. package/components/Paper.d.ts +0 -15
  111. package/components/Paper.js +0 -15
  112. package/translations/textLabels.d.ts +0 -42
  113. package/translations/textLabels.js +0 -45
  114. package/translations/textLabelsEn.d.ts +0 -42
  115. package/translations/textLabelsEn.js +0 -45
  116. package/translations/types.d.ts +0 -49
  117. package/translations/types.js +0 -3
  118. package/utils/utils.js +0 -36
package/DataGrid.d.ts CHANGED
@@ -1,10 +1,2 @@
1
- import { Component } from "react";
2
- import { BaseGridType, DataGridProps, DataGridState } from "./types";
3
- export declare class DataGrid<GridType extends BaseGridType, R = any> extends Component<DataGridProps<GridType, R>, DataGridState> {
4
- constructor(props: Readonly<DataGridProps<GridType, R>>);
5
- reload: () => Promise<void>;
6
- private dispatch;
7
- componentDidMount(): void;
8
- componentDidUpdate(_: Readonly<DataGridProps<GridType, R>>, prevState: Readonly<DataGridState>): void;
9
- render(): JSX.Element;
10
- }
1
+ import { BaseGridType, DataGridProps } from "./types";
2
+ export declare const DataGrid: <GridType extends BaseGridType, R = any>(props: DataGridProps<GridType, R>) => JSX.Element;
package/DataGrid.js CHANGED
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
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
- };
28
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
3
  if (k2 === undefined) k2 = k;
30
4
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -80,209 +54,142 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
80
54
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
81
55
  }
82
56
  };
57
+ var __read = (this && this.__read) || function (o, n) {
58
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
59
+ if (!m) return o;
60
+ var i = m.call(o), r, ar = [], e;
61
+ try {
62
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
63
+ }
64
+ catch (error) { e = { error: error }; }
65
+ finally {
66
+ try {
67
+ if (r && !r.done && (m = i["return"])) m.call(i);
68
+ }
69
+ finally { if (e) throw e.error; }
70
+ }
71
+ return ar;
72
+ };
83
73
  var __importDefault = (this && this.__importDefault) || function (mod) {
84
74
  return (mod && mod.__esModule) ? mod : { "default": mod };
85
75
  };
86
76
  Object.defineProperty(exports, "__esModule", { value: true });
87
77
  exports.DataGrid = void 0;
88
- var material_1 = require("@mui/material");
89
- var NoSsr_1 = __importDefault(require("@mui/material/NoSsr"));
90
- var CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
91
- var LinearProgress_1 = __importDefault(require("@mui/material/LinearProgress"));
92
- var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
93
- var Box_1 = __importDefault(require("@mui/material/Box"));
94
- var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
95
- var CloudDownload_1 = __importDefault(require("@mui/icons-material/CloudDownload"));
96
- var Search_1 = __importDefault(require("@mui/icons-material/Search"));
97
- var Typography_1 = __importDefault(require("@mui/material/Typography"));
98
- var Toolbar_1 = __importDefault(require("@mui/material/Toolbar"));
99
- var ActionCellBase_1 = require("./components/ActionCellBase");
100
- var FilterInputBase_1 = require("./components/FilterInputBase");
101
- var FilterListItemBase_1 = require("./components/FilterListItemBase");
102
- var Filters_1 = require("./components/Filters");
103
- var FiltersList_1 = require("./components/FiltersList");
104
- var HiddenColumns_1 = require("./components/HiddenColumns");
105
- var Paper_1 = require("./components/Paper");
106
78
  var react_1 = __importStar(require("react"));
107
- var BodyCellBase_1 = require("./components/BodyCellBase");
108
79
  var actions_1 = require("./store/actions");
109
80
  var reducer_1 = require("./store/reducer");
110
- var utils_1 = require("./utils/utils");
81
+ var utils_1 = require("./utils");
111
82
  var react_data_grid_1 = __importDefault(require("react-data-grid"));
112
- var TablePagination_1 = __importDefault(require("@mui/material/TablePagination"));
113
- var setLightness_1 = __importDefault(require("polished/lib/color/setLightness"));
114
- var SCROLLBAR_HEIGHT = 24;
83
+ var useColumns_1 = require("./useColumns");
84
+ var defaultKeyExtractor = function (r) {
85
+ return r.id;
86
+ };
115
87
  // eslint-disable-next-line react/require-optimization
116
- var DataGrid = /** @class */ (function (_super) {
117
- __extends(DataGrid, _super);
118
- function DataGrid(props) {
119
- var _this = _super.call(this, props) || this;
120
- _this.reload = function () { return __awaiter(_this, void 0, void 0, function () {
121
- var schema, request, response, e_1;
122
- return __generator(this, function (_a) {
123
- switch (_a.label) {
124
- case 0:
125
- _a.trys.push([0, 4, , 6]);
126
- schema = this.props.schema;
127
- return [4 /*yield*/, this.dispatch((0, actions_1.reload)())];
128
- case 1:
129
- _a.sent();
130
- request = (0, utils_1.createRequest)(this.state, schema.sort, schema.dir);
131
- return [4 /*yield*/, this.props.loader(this.props.gridName, request, (0, utils_1.encodeFilter)(request))];
132
- case 2:
133
- response = _a.sent();
134
- return [4 /*yield*/, this.dispatch((0, actions_1.reloadDone)(response))];
135
- case 3:
136
- _a.sent();
137
- return [3 /*break*/, 6];
138
- case 4:
139
- e_1 = _a.sent();
140
- return [4 /*yield*/, this.dispatch((0, actions_1.reloadFailed)(e_1))];
141
- case 5:
142
- _a.sent();
143
- // eslint-disable-next-line no-console
144
- console.error(e_1);
145
- return [3 /*break*/, 6];
146
- case 6: return [2 /*return*/];
147
- }
148
- });
149
- }); };
150
- _this.dispatch = function (action) {
151
- return new Promise(function (resolve) { return _this.setState(function (state) { return (0, reducer_1.reducer)(state, action); }, resolve); });
152
- };
153
- _this.state = (0, reducer_1.getInitialState)(props.schema, props.initialState);
154
- return _this;
155
- }
156
- DataGrid.prototype.componentDidMount = function () {
157
- this.reload();
158
- };
159
- DataGrid.prototype.componentDidUpdate = function (_, prevState) {
160
- var state = this.state;
161
- if (prevState.dir !== state.dir ||
162
- prevState.sort !== state.sort ||
163
- prevState.perPage !== state.perPage ||
164
- prevState.page !== state.page ||
165
- prevState.f !== state.f ||
166
- prevState.fullText !== state.fullText) {
167
- this.reload();
168
- }
169
- };
170
- // eslint-disable-next-line complexity
171
- DataGrid.prototype.render = function () {
172
- var _this = this;
173
- var _a, _b, _c, _d, _e, _f;
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;
175
- var state = this.state;
176
- var rows = (_b = (_a = state.response) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : [];
177
- var columns = schema.columns
178
- .filter(function (c) { return !hiddenColumns.includes(c.name); })
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
- });
88
+ var DataGrid = function (props) {
89
+ var _a, _b, _c, _d, _e, _f;
90
+ var ui = props.ui, schema = props.schema, _g = props.rowHeight, rowHeight = _g === void 0 ? 44 : _g, _h = props.headerRowHeight, headerRowHeight = _h === void 0 ? 36 : _h, noBorder = props.noBorder, rowClass = props.rowClass, selectedRows = props.selectedRows, onChangeSelectedRows = props.onChangeSelectedRows, _j = props.keyExtractor, keyExtractor = _j === void 0 ? defaultKeyExtractor : _j, gridName = props.gridName, ml = props.ml, mt = props.mt, mb = props.mb, mr = props.mr, mx = props.mx, my = props.my, m = props.m, _k = props.toolbarPlugins, toolbarPlugins = _k === void 0 ? [] : _k, loader = props.loader, debug = props.debug;
91
+ var _l = __read((0, react_1.useReducer)(debug ? reducer_1.debugReducer : reducer_1.reducer, (0, reducer_1.getInitialState)(props.schema, props.initialState)), 2), state = _l[0], dispatch = _l[1];
92
+ var _m = __read((0, react_1.useState)(false), 2), mounted = _m[0], setMounted = _m[1];
93
+ (0, react_1.useEffect)(function () {
94
+ setMounted(true);
95
+ }, []);
96
+ var onReload = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
97
+ var request, response, e_1;
98
+ return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0:
101
+ _a.trys.push([0, 4, , 6]);
102
+ return [4 /*yield*/, dispatch((0, actions_1.reload)())];
103
+ case 1:
104
+ _a.sent();
105
+ request = (0, utils_1.createRequest)(state, schema.sort, schema.dir);
106
+ return [4 /*yield*/, loader(gridName, request, (0, utils_1.encodeFilter)(request))];
107
+ case 2:
108
+ response = _a.sent();
109
+ return [4 /*yield*/, dispatch((0, actions_1.reloadDone)(response))];
110
+ case 3:
111
+ _a.sent();
112
+ return [3 /*break*/, 6];
113
+ case 4:
114
+ e_1 = _a.sent();
115
+ return [4 /*yield*/, dispatch((0, actions_1.reloadFailed)(e_1))];
116
+ case 5:
117
+ _a.sent();
118
+ // eslint-disable-next-line no-console
119
+ console.error(e_1);
120
+ return [3 /*break*/, 6];
121
+ case 6: return [2 /*return*/];
122
+ }
199
123
  });
200
- if (ActionCell || onOpen || onEdit || getOpenUrl || getEditUrl || onRemove) {
201
- var ActionCellComponent_1 = ActionCell !== null && ActionCell !== void 0 ? ActionCell : ActionCellBase_1.ActionCellBase;
202
- columns.push({
203
- key: "__action_column",
204
- name: "",
205
- resizable: false,
206
- headerCellClass: "rdg-action-cell",
207
- cellClass: "action rdg-action-cell",
208
- width: ActionCell ? actionCellWidth : [onRemove, onEdit, onOpen].filter(function (i) { return i; }).length * 44 + 8 * 2,
209
- formatter: function (props) {
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 })));
212
- },
213
- });
214
- }
215
- var contentHeight = typeof rowHeight === "function"
216
- ? rows.reduce(function (prev, curr) { return prev + rowHeight(curr); })
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;
224
- return (react_1.default.createElement(Paper_1.Paper, { variant: "outlined", sx: {
225
- ml: ml,
226
- mr: mr,
227
- mb: mb,
228
- mt: mt,
229
- borderWidth: noBorder ? 0 : undefined,
230
- "& .rdg-action-cell": {
231
- alignItems: "center",
232
- boxShadow: 2,
233
- display: "flex",
234
- justifyContent: "center",
235
- position: "sticky",
236
- right: 0,
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
- },
253
- } },
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)),
256
- react_1.default.createElement(Box_1.default, { display: "flex", flexDirection: "row" },
257
- onCsvDownload && (react_1.default.createElement(Tooltip_1.default, { title: "St\u00E1hnout csv" },
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
- } },
261
- react_1.default.createElement(CloudDownload_1.default, null)))),
262
- onChangeHiddenColumns && (react_1.default.createElement(HiddenColumns_1.HiddenColumns, { dispatch: this.dispatch, columns: schema.columns, hiddenColumns: hiddenColumns !== null && hiddenColumns !== void 0 ? hiddenColumns : [], onChangeHiddenColumns: onChangeHiddenColumns })),
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 })),
265
- state.loading && react_1.default.createElement(LinearProgress_1.default, { style: { marginTop: -4 } }),
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 })));
284
- };
285
- return DataGrid;
286
- }(react_1.Component));
124
+ }); }, [state, schema, gridName, loader]);
125
+ (0, react_1.useEffect)(function () {
126
+ onReload();
127
+ // eslint-disable-next-line react-hooks/exhaustive-deps
128
+ }, [
129
+ state.request.dir,
130
+ state.request.sort,
131
+ state.request.perPage,
132
+ state.request.page,
133
+ state.request.f,
134
+ state.request.search,
135
+ state.request.tab,
136
+ ]);
137
+ var onFilter = (0, react_1.useCallback)(function (value) {
138
+ dispatch((0, actions_1.filter)(value));
139
+ }, [dispatch]);
140
+ var rows = (_b = (_a = state.response) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : [];
141
+ var columns = (0, useColumns_1.useColumns)(props, onReload);
142
+ var contentHeight = typeof rowHeight === "function"
143
+ ? rows.reduce(function (prev, curr) { return prev + rowHeight(curr); })
144
+ : ((rowHeight !== null && rowHeight !== void 0 ? rowHeight : 44) + 1) * rows.length;
145
+ var renderedToolbarPlugins = toolbarPlugins
146
+ .map(function (Plugin, index) {
147
+ var _a;
148
+ return (react_1.default.createElement(Plugin, { key: index, props: props, state: state, dispatch: dispatch, reload: onReload, fulltext: {
149
+ value: (_a = state.request.search) !== null && _a !== void 0 ? _a : "",
150
+ onChange: function (term) { return dispatch((0, actions_1.search)(term)); },
151
+ }, tab: {
152
+ active: state.request.tab,
153
+ onChange: function (tabName) { return dispatch((0, actions_1.changeTab)(tabName)); },
154
+ }, filter: {
155
+ onReset: function () { return null; },
156
+ onFilter: function (f) { return dispatch((0, actions_1.filter)(f)); },
157
+ filtersData: state.request.f,
158
+ FilterInput: ui.FilterInput,
159
+ }, hiddenColumns: {
160
+ value: props.hiddenColumns,
161
+ onChange: props.onChangeHiddenColumns,
162
+ }, schema: schema }));
163
+ })
164
+ .filter(function (i) { return !!i; });
165
+ var components = (0, react_1.useMemo)(function () {
166
+ return {
167
+ checkboxFormatter: ui.SelectRowCheckbox,
168
+ noRowsFallback: react_1.default.createElement(ui.NoRowsFallback, { error: state.error, loading: !!state.loading }),
169
+ };
170
+ }, [ui, state.error, state.loading]);
171
+ return (react_1.default.createElement(ui.Container, { mb: mb, mt: mt, ml: ml, mr: mr, mx: mx, my: my, m: m, noBorder: noBorder },
172
+ renderedToolbarPlugins.length > 0 && (react_1.default.createElement(ui.ToolbarContainer, { noBorder: noBorder }, renderedToolbarPlugins)),
173
+ react_1.default.createElement(ui.LinearProgress, { loading: !!state.loading }),
174
+ react_1.default.createElement(ui.FilterList, { dispatch: dispatch, onFilter: onFilter, filters: schema.filters, filtersData: state.request.f, FilterListItem: ui.FilterListItem, noBorder: noBorder }),
175
+ mounted && (react_1.default.createElement(react_data_grid_1.default, { style: {
176
+ border: 0,
177
+ borderRadius: 4,
178
+ height: contentHeight + headerRowHeight + (rows.length === 0 ? 44 : 0),
179
+ overflowY: "hidden",
180
+ }, 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) {
181
+ if (sortColumns.length > 0) {
182
+ var sc = sortColumns[0];
183
+ dispatch((0, actions_1.sort)(sc.columnKey, sc.direction.toLowerCase()));
184
+ }
185
+ else {
186
+ dispatch((0, actions_1.sortClear)());
187
+ }
188
+ }, sortColumns: state.request.sort && state.request.dir
189
+ ? [{ columnKey: state.request.sort, direction: state.request.dir.toUpperCase() }]
190
+ : [], rowHeight: rowHeight, headerRowHeight: headerRowHeight, rowClass: rowClass, rowKeyGetter: keyExtractor, selectedRows: selectedRows, onSelectedRowsChange: onChangeSelectedRows, components: components })),
191
+ react_1.default.createElement(ui.Pagination, { page: state.request.page, perPage: state.request.perPage, count: (_f = (_e = state.response) === null || _e === void 0 ? void 0 : _e.count) !== null && _f !== void 0 ? _f : 0, onChangePage: function (page) { return dispatch((0, actions_1.changePage)(page)); }, onChangeRowsPerPage: function (perPage) { return dispatch((0, actions_1.changePerPage)(perPage)); } }),
192
+ react_1.default.createElement(ui.SelectedRowsToolbar, { selectedRows: selectedRows, onChangeSelectedRows: onChangeSelectedRows, Actions: ui.SelectedRowsToolbarActions, reload: onReload })));
193
+ };
287
194
  exports.DataGrid = DataGrid;
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRGF0YUdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUEwQztBQUMxQyw4REFBd0M7QUFDeEMsb0ZBQThEO0FBQzlELGdGQUEwRDtBQUMxRCxrRUFBNEM7QUFDNUMsMERBQW9DO0FBQ3BDLHdFQUFrRDtBQUNsRCxvRkFBOEQ7QUFDOUQsc0VBQW9EO0FBQ3BELHdFQUFrRDtBQUNsRCxrRUFBNEM7QUFDNUMsOERBQWdGO0FBQ2hGLGdFQUErRDtBQUMvRCxzRUFBcUU7QUFDckUsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQUN2RCw0REFBMkQ7QUFDM0QsNENBQTJDO0FBQzNDLDZDQUF5QztBQUN6QywwREFBeUQ7QUFDekQsMkNBVXlCO0FBQ3pCLDJDQUEyRDtBQUUzRCx1Q0FBNEQ7QUFDNUQsb0VBQXdEO0FBQ3hELGtGQUE0RDtBQUM1RCxpRkFBMkQ7QUFFM0QsSUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFNUIsc0RBQXNEO0FBQ3REO0lBQXNFLDRCQUdyRTtJQUNHLGtCQUFZLEtBQTJDO1FBQXZELFlBQ0ksa0JBQU0sS0FBSyxDQUFDLFNBRWY7UUFFTSxZQUFNLEdBQUc7Ozs7Ozt3QkFFQSxNQUFNLEdBQUssSUFBSSxDQUFDLEtBQUssT0FBZixDQUFnQjt3QkFDOUIscUJBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFBLGdCQUFNLEdBQUUsQ0FBQyxFQUFBOzt3QkFBN0IsU0FBNkIsQ0FBQzt3QkFFeEIsT0FBTyxHQUFHLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNsRCxxQkFBTSxJQUFJ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
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRGF0YUdyaWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQXFGO0FBQ3JGLDJDQVd5QjtBQUN6QiwyQ0FBeUU7QUFFekUsaUNBQXNEO0FBQ3RELG9FQUE0QztBQUM1QywyQ0FBMEM7QUFFMUMsSUFBTSxtQkFBbUIsR0FBaUIsVUFBQSxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixzREFBc0Q7QUFDL0MsSUFBTSxRQUFRLEdBQUcsVUFBeUMsS0FBaUM7O0lBRTFGLElBQUEsRUFBRSxHQW9CRixLQUFLLEdBcEJILEVBQ0YsTUFBTSxHQW1CTixLQUFLLE9BbkJDLEVBQ04sS0FrQkEsS0FBSyxVQWxCUyxFQUFkLFNBQVMsbUJBQUcsRUFBRSxLQUFBLEVBQ2QsS0FpQkEsS0FBSyxnQkFqQmUsRUFBcEIsZUFBZSxtQkFBRyxFQUFFLEtBQUEsRUFDcEIsUUFBUSxHQWdCUixLQUFLLFNBaEJHLEVBQ1IsUUFBUSxHQWVSLEtBQUssU0FmRyxFQUNSLFlBQVksR0FjWixLQUFLLGFBZE8sRUFDWixvQkFBb0IsR0FhcEIsS0FBSyxxQkFiZSxFQUNwQixLQVlBLEtBQUssYUFaNkIsRUFBbEMsWUFBWSxtQkFBRyxtQkFBbUIsS0FBQSxFQUNsQyxRQUFRLEdBV1IsS0FBSyxTQVhHLEVBQ1IsRUFBRSxHQVVGLEtBQUssR0FWSCxFQUNGLEVBQUUsR0FTRixLQUFLLEdBVEgsRUFDRixFQUFFLEdBUUYsS0FBSyxHQVJILEVBQ0YsRUFBRSxHQU9GLEtBQUssR0FQSCxFQUNGLEVBQUUsR0FNRixLQUFLLEdBTkgsRUFDRixFQUFFLEdBS0YsS0FBSyxHQUxILEVBQ0YsQ0FBQyxHQUlELEtBQUss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