mandarina-antd 2.5.3 → 2.5.4

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.
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getParentCellComponent = exports.DefaultCellComponent = exports.ListVirtualized = void 0;
18
+ const mandarina_1 = require("mandarina");
19
+ const react_1 = __importDefault(require("react"));
20
+ const memoize_one_1 = __importDefault(require("memoize-one"));
21
+ // import {isEqual} from 'lodash';
22
+ const lodash_1 = require("lodash");
23
+ const react_window_1 = require("react-window");
24
+ const empty_1 = __importDefault(require("antd/lib/empty"));
25
+ const ListFilters_1 = require("./ListFilters");
26
+ const utils_1 = require("mandarina/build/Schema/utils");
27
+ const HeaderDefault_1 = __importDefault(require("./HeaderDefault"));
28
+ const SortableColumns_1 = require("./SortableColumns");
29
+ const array_move_1 = __importDefault(require("array-move"));
30
+ const Mutate_1 = require("mandarina/build/Operations/Mutate");
31
+ const utils_2 = require("./utils");
32
+ const antd_1 = require("antd");
33
+ const estimatedColumnWidthDefault = 175;
34
+ const estimatedRowHeightDefault = 60;
35
+ const createItemData = (0, memoize_one_1.default)((data, columns, refetch, query, variables, onClick, onMouseEnter, onMouseLeave) => ({
36
+ data, columns, refetch, query, variables, onClick, onMouseEnter, onMouseLeave
37
+ }));
38
+ class ListVirtualized extends react_1.default.Component {
39
+ constructor(props) {
40
+ super(props);
41
+ this.gridRef = react_1.default.createRef();
42
+ this.data = [];
43
+ this.hasNextPage = false;
44
+ this.overscanRowStartIndex = 0;
45
+ this.overscanRowStopIndex = 0;
46
+ this.visibleRowStartIndex = 0;
47
+ this.visibleRowStopIndex = 0;
48
+ this.resize = () => {
49
+ let container = this.container.current && this.container.current.parentNode && this.container.current.parentNode.parentElement;
50
+ let deep = 0;
51
+ while (container && container.clientHeight === 0 && deep < 100) {
52
+ container = container.parentElement;
53
+ deep++;
54
+ }
55
+ if (container) {
56
+ if (!this.props.height && this.state.height !== container.clientHeight) {
57
+ this.setState({ height: container.clientHeight });
58
+ }
59
+ if (!this.props.width && this.state.width !== container.clientWidth) {
60
+ this.setState({ width: container.clientWidth });
61
+ }
62
+ }
63
+ };
64
+ this.onResize = () => {
65
+ this.onResizeTimeoutId && window.clearTimeout(this.onResizeTimeoutId);
66
+ this.onResizeTimeoutId = window.setTimeout(this.resize, 200);
67
+ };
68
+ /**
69
+ * used as method for ref , ref.current.fresh()
70
+ * do not remove
71
+ * @param full
72
+ */
73
+ this.refresh = (full = true) => {
74
+ if (full)
75
+ this.data = [];
76
+ return this.onScroll({});
77
+ };
78
+ this.onScroll = ({ scrollLeft }) => new Promise((resolve, reject) => {
79
+ if (this.tHead.current) {
80
+ this.tHead.current.scrollLeft = scrollLeft;
81
+ }
82
+ //this.setState({row: this.visibleRowStartIndex})
83
+ this.onScrollTimeoutId && window.clearTimeout(this.onScrollTimeoutId);
84
+ this.onScrollTimeoutId = window.setTimeout(() => {
85
+ //If all visible are loaded, then not refetch
86
+ if (this.data.length && [...this.data].slice(this.visibleRowStartIndex, this.visibleRowStopIndex + (this.props.overscanRowCount || 2)).every((val) => val !== undefined)) {
87
+ resolve(false);
88
+ return;
89
+ }
90
+ //estan todos en el mismo ciclo
91
+ const skip = this.overscanRowStartIndex - (this.overscanRowStartIndex % this.firstLoad);
92
+ this.props.pollInterval && this.stopPolling && this.stopPolling();
93
+ if (!this.data[this.overscanRowStartIndex] && !this.data[this.overscanRowStopIndex]) {
94
+ this.refetch({
95
+ skip,
96
+ first: this.overscanRowStopIndex <= this.firstLoad ? this.firstLoad : 2 * this.firstLoad
97
+ })
98
+ .then(resolve)
99
+ .catch(reject);
100
+ }
101
+ else if (!this.data[this.overscanRowStartIndex]) {
102
+ this.refetch({ skip, first: this.firstLoad })
103
+ .then(resolve)
104
+ .catch(reject);
105
+ }
106
+ else if (!this.data[this.overscanRowStopIndex]) {
107
+ this.refetch({ skip: skip + this.firstLoad, first: this.firstLoad })
108
+ .then(resolve)
109
+ .catch(reject);
110
+ }
111
+ this.props.pollInterval && this.startPolling && this.startPolling(this.props.pollInterval);
112
+ }, 100);
113
+ });
114
+ this.getColumnDefinition = (field) => {
115
+ //detect if parent has a CellComponent
116
+ const parentPath = (0, exports.getParentCellComponent)(field, this.props.schema);
117
+ if (parentPath) {
118
+ field = parentPath;
119
+ }
120
+ const overwrite = this.state.overwrite && this.state.overwrite[field];
121
+ let definition;
122
+ if (!this.props.schema.hasPath(field) && field.indexOf('.') < 0 && overwrite) {
123
+ definition = (0, lodash_1.merge)({
124
+ list: {
125
+ noFilter: true,
126
+ noSort: true
127
+ }
128
+ }, (0, Mutate_1.deepClone)(this.props.schema.applyDefinitionsDefaults({ type: String }, field)), overwrite);
129
+ }
130
+ else {
131
+ definition = this.props.schema.getPathDefinition(field);
132
+ if (overwrite) {
133
+ definition = (0, lodash_1.merge)((0, Mutate_1.deepClone)(definition), overwrite);
134
+ }
135
+ }
136
+ if (!definition.list)
137
+ throw new Error(`You need to provide overwrite full definition for "${field}"`);
138
+ if (definition.list.hidden) {
139
+ return null;
140
+ }
141
+ else {
142
+ return {
143
+ field,
144
+ loadingElement: definition.list.loadingElement,
145
+ CellComponent: definition.list.CellComponent,
146
+ FilterComponent: definition.list.filterComponent || (0, ListFilters_1.getDefaultFilterMethod)(field, this.props.schema),
147
+ filterMethod: definition.list.filterMethod || (0, ListFilters_1.getDefaultFilterMethod)(field, this.props.schema),
148
+ title: definition.label ? definition.label : "",
149
+ width: definition.list.width || estimatedColumnWidthDefault,
150
+ filter: !definition.list.noFilter,
151
+ noSort: !!(this.anyArray(field, this.props.schema) || definition.list.noSort),
152
+ props: definition.list.props || {},
153
+ };
154
+ }
155
+ };
156
+ this.onFilterChange = (field, filter) => {
157
+ this.data = [];
158
+ // @ts-ignore
159
+ this.gridRef.current && this.gridRef.current.scrollToItem({
160
+ rowIndex: 0
161
+ });
162
+ this.setState(({ filters }) => {
163
+ const newFilters = Object.assign({}, filters);
164
+ if (filter && !(0, lodash_1.isEmpty)(filter)) {
165
+ newFilters[field] = filter;
166
+ }
167
+ else {
168
+ delete newFilters[field];
169
+ }
170
+ if (this.props.onFilterChange) {
171
+ this.props.onFilterChange(newFilters);
172
+ return null;
173
+ }
174
+ else {
175
+ return { filters: newFilters };
176
+ }
177
+ });
178
+ };
179
+ this.onHideOrShowColumn = (field, index, show) => {
180
+ // @ts-ignore
181
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(index, false);
182
+ this.setState(({ overwrite }) => {
183
+ const newOverwrite = (0, Mutate_1.deepClone)(overwrite) || {};
184
+ (0, lodash_1.set)(newOverwrite, [field, 'list', 'hidden'], !show);
185
+ if (this.props.onOverwriteChange) {
186
+ this.props.onOverwriteChange(newOverwrite);
187
+ return null;
188
+ }
189
+ else {
190
+ return { overwrite: newOverwrite };
191
+ }
192
+ });
193
+ };
194
+ this.onHideColumn = (field, index) => {
195
+ const { fields, overwrite } = this.state;
196
+ //check if is the last column, if is the the last you con not hidden
197
+ const showingColumns = this.calcColumns(fields, overwrite).reduce((mem, col) => mem + (!!col ? 1 : 0), 0);
198
+ if (showingColumns === 1)
199
+ return;
200
+ this.onHideOrShowColumn(field, index, false);
201
+ };
202
+ this.onShowColumn = (field, index) => {
203
+ this.onHideOrShowColumn(field, index, true);
204
+ };
205
+ this.onResizeStop = (field, width, index) => {
206
+ // @ts-ignore
207
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(index, false);
208
+ this.setState(({ overwrite }) => {
209
+ const newOverwrite = (0, Mutate_1.deepClone)(overwrite) || {};
210
+ (0, lodash_1.set)(newOverwrite, [field, 'list', 'width'], width);
211
+ if (this.props.onOverwriteChange) {
212
+ this.props.onOverwriteChange(newOverwrite);
213
+ return null;
214
+ }
215
+ else {
216
+ return { overwrite: newOverwrite };
217
+ }
218
+ });
219
+ };
220
+ this.onColumnOrderChange = ({ oldIndex, newIndex }) => {
221
+ // @ts-ignore
222
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(oldIndex, false);
223
+ // @ts-ignore
224
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(newIndex, false);
225
+ this.setState(({ fields }) => {
226
+ const field = fields[oldIndex];
227
+ const parent = (0, exports.getParentCellComponent)(field, this.props.schema);
228
+ let newFields;
229
+ if (parent) {
230
+ //if field has a parent cell component I just put all siblings at the end to no affect the order
231
+ //
232
+ newFields = (0, array_move_1.default)(fields, oldIndex, newIndex);
233
+ const siblings = newFields.filter((newField) => newField !== field && newField.match(new RegExp(`^${parent}\.`)));
234
+ newFields = newFields.filter((newField) => !(newField !== field && newField.match(new RegExp(`^${parent}\.`))));
235
+ newFields = newFields.concat(siblings);
236
+ }
237
+ else {
238
+ newFields = (0, array_move_1.default)(fields, oldIndex, newIndex);
239
+ }
240
+ if (this.props.onFieldsChange) {
241
+ this.props.onFieldsChange(newFields);
242
+ return null;
243
+ }
244
+ else {
245
+ return ({ fields: newFields });
246
+ }
247
+ });
248
+ };
249
+ this.onSortChange = (field, direction) => {
250
+ let sort = { [field]: direction };
251
+ if (this.props.onSortChange) {
252
+ this.props.onSortChange(sort);
253
+ }
254
+ else {
255
+ this.setState({ sort });
256
+ }
257
+ };
258
+ this.getAllFilters = (0, memoize_one_1.default)((filters, overwrite) => {
259
+ const allFilters = [];
260
+ for (const field in filters) {
261
+ const fieldDefinition = this.getColumnDefinition(field);
262
+ if (!fieldDefinition)
263
+ continue;
264
+ const filterMethod = fieldDefinition.filterMethod;
265
+ const filter = filters[field];
266
+ allFilters.push(filterMethod(filter));
267
+ }
268
+ return allFilters;
269
+ }, utils_2.equalityFn);
270
+ this.calcColumns = (0, memoize_one_1.default)((fields, overwrite) => {
271
+ const columns = [];
272
+ fields.forEach((field) => {
273
+ const column = this.getColumnDefinition(field);
274
+ if (column && !columns.some((c) => !!(c && c.field === column.field))) {
275
+ columns.push(column);
276
+ }
277
+ else {
278
+ columns.push(null);
279
+ }
280
+ });
281
+ return columns;
282
+ }, utils_2.equalityFn);
283
+ const { fields = props.schema.getFields(), filters = {}, overwrite, sort, } = props;
284
+ //const definitions: Partial<FieldDefinitions> = {}
285
+ this.state = { fields, overwrite, height: this.props.height || 0, width: this.props.width || 0, filters, sort };
286
+ this.tHead = react_1.default.createRef();
287
+ this.container = react_1.default.createRef();
288
+ // this.firstLoad = Math.max(this.props.first || 0, canUseDOM ? Math.ceil((this.props.height || window.innerHeight) / estimatedRowHeight) : 0)
289
+ this.firstLoad = this.props.first || 50;
290
+ this.overscanRowStopIndex = this.firstLoad;
291
+ }
292
+ getSnapshotBeforeUpdate(prevProps, prevState) {
293
+ if (this.props.onFieldsChange && (this.props.onOverwriteChange)) {
294
+ if (!(0, lodash_1.isEqual)(this.state.overwrite, prevState.overwrite)) {
295
+ // @ts-ignore
296
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(0, false);
297
+ return null;
298
+ }
299
+ for (let i = 0; i < prevState.fields.length; i++) {
300
+ if (prevState.fields[i] !== this.state.fields[i]) {
301
+ // @ts-ignore
302
+ this.gridRef.current && this.gridRef.current.resetAfterColumnIndex(i, false);
303
+ return null;
304
+ }
305
+ }
306
+ }
307
+ return null;
308
+ }
309
+ static getDerivedStateFromProps(props, state) {
310
+ const result = {};
311
+ if (props.onFieldsChange && !(0, lodash_1.isEqual)(props.fields, state.fields)) {
312
+ result.fields = props.fields || props.schema.getFields();
313
+ }
314
+ if ((props.onOverwriteChange) && !(0, lodash_1.isEqual)(props.overwrite, state.overwrite)) {
315
+ result.overwrite = Object.assign({}, props.overwrite);
316
+ }
317
+ if (props.onSortChange && !(0, lodash_1.isEqual)(props.sort, state.sort)) {
318
+ result.sort = props.sort;
319
+ }
320
+ if (props.onFilterChange && !(0, lodash_1.isEqual)(props.filters, state.filters)) {
321
+ result.filters = props.filters || {};
322
+ }
323
+ return result;
324
+ }
325
+ componentDidMount() {
326
+ const { height, width } = this.props;
327
+ if (height && width)
328
+ return;
329
+ this.resize();
330
+ window.addEventListener('resize', this.onResize);
331
+ }
332
+ componentWillUnmount() {
333
+ window.removeEventListener('resize', this.onResize);
334
+ }
335
+ anyArray(field, schema) {
336
+ const paths = field.split('.');
337
+ if (paths.length === 0)
338
+ return false;
339
+ const path = paths.shift();
340
+ const def = schema.getPathDefinition(path);
341
+ if (def.isArray) {
342
+ return true;
343
+ }
344
+ if (def.isTable) {
345
+ return this.anyArray(paths.join('.'), mandarina_1.Schema.getInstance(def.type));
346
+ }
347
+ return false;
348
+ }
349
+ render() {
350
+ const _a = this.props, { onDataChange, schema, leftButtons, where, estimatedRowHeight, rowHeight, overscanRowCount = 2, overLoad = 1, header, onClick, onMouseEnter, onMouseLeave, emptyProps } = _a, rest = __rest(_a, ["onDataChange", "schema", "leftButtons", "where", "estimatedRowHeight", "rowHeight", "overscanRowCount", "overLoad", "header", "onClick", "onMouseEnter", "onMouseLeave", "emptyProps"]); //todo rest props
351
+ const { fields, width, height, filters, sort, overwrite } = this.state;
352
+ const columns = this.calcColumns(fields, overwrite);
353
+ const getColumnWidth = (index) => {
354
+ if (!columns[index])
355
+ return 0;
356
+ // @ts-ignore
357
+ return columns[index].width;
358
+ };
359
+ this.estimatedColumnWidth = columns.reduce((mem, c) => c ? c.width + mem : mem, 0) / columns.length;
360
+ const allFilters = this.getAllFilters(filters, overwrite);
361
+ let whereAndFilter;
362
+ if (where && !(0, lodash_1.isEmpty)(where) && allFilters.length > 0) {
363
+ whereAndFilter = { AND: [where, ...allFilters] };
364
+ }
365
+ else if (where && !(0, lodash_1.isEmpty)(where)) {
366
+ whereAndFilter = where;
367
+ }
368
+ else if (allFilters.length > 0) {
369
+ whereAndFilter = { AND: allFilters };
370
+ }
371
+ return (react_1.default.createElement(mandarina_1.Find, Object.assign({ schema: schema, where: whereAndFilter, skip: 0, first: this.firstLoad, sort: sort,
372
+ // @ts-ignore
373
+ fields: fields, notifyOnNetworkStatusChange: true }, rest), ({ data = [], query, variables, error, refetch, loading, count, client, startPolling, stopPolling, networkStatus }) => {
374
+ let dataCollection = data;
375
+ if (this.data.length === 0 && data.length > 0 && !loading) {
376
+ this.data = Array(count).fill(undefined);
377
+ }
378
+ if (!loading && count > this.data.length) { //when your are polling or refetching and the count change
379
+ this.data = [...this.data, ...Array(count - this.data.length).fill(undefined)];
380
+ }
381
+ if (dataCollection.length && !loading) {
382
+ // @ts-ignore
383
+ //this.gridRef.current && this.gridRef.current.resetAfterRowIndex(variables.skip)
384
+ this.data.splice(variables.skip, dataCollection.length, ...dataCollection);
385
+ }
386
+ !loading && onDataChange && onDataChange(this.data);
387
+ this.refetch = refetch;
388
+ this.startPolling = startPolling;
389
+ this.stopPolling = stopPolling;
390
+ this.variables = variables;
391
+ let tHeadHeight = this.tHead.current && this.tHead.current.offsetHeight || 95;
392
+ const itemData = createItemData([...this.data], columns, refetch, query, variables, onClick, onMouseEnter, onMouseLeave);
393
+ let headerNode = null;
394
+ if (typeof header === 'function') {
395
+ const Header = header;
396
+ headerNode =
397
+ react_1.default.createElement(Header, Object.assign({ count: count, client: client }, itemData, { fields: fields, sort: sort, filters: filters, overwrite: overwrite, onFieldsChange: this.props.onFieldsChange, onSortChange: this.props.onSortChange, onOverwriteChange: this.props.onOverwriteChange, onFilterChange: this.props.onFilterChange, loading: loading, schema: schema, leftButtons: leftButtons, where: whereAndFilter }));
398
+ }
399
+ if (typeof header === 'object' || !header) {
400
+ headerNode =
401
+ react_1.default.createElement(HeaderDefault_1.default, Object.assign({ count: count, client: client }, itemData, { fields: fields, sort: sort, filters: filters, overwrite: overwrite, onFieldsChange: this.props.onFieldsChange, onSortChange: this.props.onSortChange, onOverwriteChange: this.props.onOverwriteChange, onFilterChange: this.props.onFilterChange, loading: loading, schema: schema, where: whereAndFilter, leftButtons: leftButtons }, header));
402
+ }
403
+ return (react_1.default.createElement(react_1.default.Fragment, null,
404
+ headerNode,
405
+ react_1.default.createElement("div", { className: 'mandarina-list', ref: this.container, style: {
406
+ width,
407
+ height: height + tHeadHeight
408
+ } },
409
+ react_1.default.createElement("div", { ref: this.tHead, className: 'mandarina-list-thead', style: { width, height: tHeadHeight ? tHeadHeight : 'auto' } },
410
+ react_1.default.createElement(SortableColumns_1.SortableColumns, { useWindowAsScrollContainer: true, tHead: this.tHead, grid: this.gridRef, empty: !error && !loading && !count, shouldCancelStart: (event) => {
411
+ // @ts-ignore
412
+ return event.target && event.target.classList && event.target.classList.contains('react-resizable-handle') || event.target.classList.contains('no-draggable') || ['INPUT', 'SELECT', 'TEXTAREA'].includes(event.target.tagName);
413
+ }, axis: 'x', lockAxis: 'x', pressThreshold: 10, distance: 10, onSortEnd: this.onColumnOrderChange, width: this.estimatedColumnWidth * columns.length, height: tHeadHeight }, columns.map((column, index) => column ?
414
+ react_1.default.createElement(SortableColumns_1.SortableColumn, { height: tHeadHeight, key: `item-${column.field}`, index: index, columnIndex: index, column: column, sort: sort, overwrite: overwrite === null || overwrite === void 0 ? void 0 : overwrite[column.field], filters: filters, schema: schema, onResizeStop: this.onResizeStop, onSortChange: this.onSortChange, onFilterChange: this.onFilterChange, onHideColumn: this.onHideColumn }) : react_1.default.createElement("span", { key: index })))),
415
+ error && react_1.default.createElement(antd_1.Result, { status: "500", subTitle: error.message }),
416
+ !error && !loading && !count && react_1.default.createElement(empty_1.default, Object.assign({ style: { margin: '40px' } }, emptyProps)),
417
+ height !== 0 &&
418
+ react_1.default.createElement(react_window_1.VariableSizeGrid, { ref: this.gridRef, onScroll: this.onScroll, height: height, rowCount: count || 0, estimatedColumnWidth: this.estimatedColumnWidth, estimatedRowHeight: estimatedRowHeight, columnCount: columns.length, columnWidth: getColumnWidth, rowHeight: (index) => {
419
+ if (rowHeight) {
420
+ return rowHeight(index, this.data);
421
+ }
422
+ else {
423
+ return estimatedRowHeight || estimatedRowHeightDefault;
424
+ }
425
+ }, width: width, itemData: itemData, overscanRowCount: overscanRowCount, onItemsRendered: ({ overscanRowStartIndex, overscanRowStopIndex, visibleRowStartIndex, visibleRowStopIndex, }) => {
426
+ this.overscanRowStartIndex = overscanRowStartIndex;
427
+ this.overscanRowStopIndex = overscanRowStopIndex;
428
+ this.visibleRowStartIndex = visibleRowStartIndex;
429
+ this.visibleRowStopIndex = visibleRowStopIndex;
430
+ } }, Cell))));
431
+ }));
432
+ }
433
+ }
434
+ exports.ListVirtualized = ListVirtualized;
435
+ ListVirtualized.defaultProps = {
436
+ Header: HeaderDefault_1.default,
437
+ height: 0,
438
+ width: 0,
439
+ estimatedRowHeight: estimatedRowHeightDefault,
440
+ };
441
+ exports.DefaultCellComponent = react_1.default.memo(({ columnIndex, rowIndex, data, field }) => {
442
+ const children = (data[rowIndex] && (0, utils_1.get)(data[rowIndex], field.split('.'))) || [];
443
+ return react_1.default.createElement(react_1.default.Fragment, null, children.map((child, i) => react_1.default.createElement("span", { key: i },
444
+ child,
445
+ react_1.default.createElement("br", null))));
446
+ }, react_window_1.areEqual);
447
+ const defaultLoadingElement = '...';
448
+ const Cell = react_1.default.memo(({ columnIndex, rowIndex, data: { data, columns, query, refetch, variables, onClick, onMouseEnter, onMouseLeave }, style }) => {
449
+ if (!columns[columnIndex])
450
+ return null;
451
+ const field = columns[columnIndex].field;
452
+ const CellComponent = columns[columnIndex].CellComponent || exports.DefaultCellComponent;
453
+ const loadingElement = columns[columnIndex].loadingElement || defaultLoadingElement;
454
+ const props = columns[columnIndex].props || {};
455
+ const className = field.replace('.', '-');
456
+ const id = data && data[rowIndex] && data[rowIndex].id || '';
457
+ return (react_1.default.createElement("div", { className: `mandarina-list-row-${rowIndex % 2 !== 0 ? 'even' : 'odd'} mandarina-list-cell ${className} ${id}`, onClick: () => onClick && onClick({ data, rowIndex, field, columnIndex }), onMouseEnter: () => onMouseEnter && onMouseEnter({ data, rowIndex, field, columnIndex }), onMouseLeave: () => onMouseLeave && onMouseLeave({ data, rowIndex, field, columnIndex }), style: style },
458
+ !data[rowIndex] && loadingElement,
459
+ data[rowIndex] &&
460
+ react_1.default.createElement(CellComponent, Object.assign({ columnIndex: columnIndex, rowIndex: rowIndex, data: data, field: field, refetch: refetch, variables: variables, query: query }, props))));
461
+ }, react_window_1.areEqual);
462
+ const getParentCellComponent = (field, schema) => {
463
+ let from = 0;
464
+ do {
465
+ from = field.indexOf('.', from + 1);
466
+ const parent = field.substr(0, from);
467
+ if (parent) {
468
+ const parentDef = schema.getPathDefinition(parent);
469
+ const hasParentCellComponent = parentDef && parentDef.list && parentDef.list.CellComponent;
470
+ if (hasParentCellComponent)
471
+ return parent;
472
+ }
473
+ } while (from > 0);
474
+ return false;
475
+ };
476
+ exports.getParentCellComponent = getParentCellComponent;
477
+ //# sourceMappingURL=ListVirtualized.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListVirtualized.js","sourceRoot":"","sources":["ListVirtualized.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const icon_1 = __importDefault(require("antd/lib/icon"));
8
+ const prefixCls = 'mandarina';
9
+ const SortButton = ({ sort = {}, field, onSortChange }) => {
10
+ const isAscend = sort[field] === 1;
11
+ const isDescend = sort[field] === -1;
12
+ const onClick = (defaultDirection) => {
13
+ const direction = sort[field] !== undefined ? sort[field] > 0 ? -1 : 1 : defaultDirection;
14
+ onSortChange(field, direction);
15
+ };
16
+ const ascend = (react_1.default.createElement(icon_1.default, { onClick: () => onClick(1), className: `${prefixCls}-column-sorter-up ${isAscend ? 'on' : 'off'}`, type: "caret-up", theme: "filled" }));
17
+ const descend = (react_1.default.createElement(icon_1.default, { onClick: () => onClick(-1), className: `${prefixCls}-column-sorter-down ${isDescend ? 'on' : 'off'}`, type: "caret-down", theme: "filled" }));
18
+ return (react_1.default.createElement("div", { onClick: () => onClick(1), title: 'sort', className: `${prefixCls}-column-sorter-inner ${prefixCls}-column-sorter-inner-full`, key: "sorter" },
19
+ ascend,
20
+ descend));
21
+ };
22
+ exports.default = SortButton;
23
+ //# sourceMappingURL=SortButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortButton.js","sourceRoot":"","sources":["SortButton.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,yDAAiC;AAOjC,MAAM,SAAS,GAAG,WAAW,CAAA;AAC7B,MAAM,UAAU,GAAG,CAAC,EAAC,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAoF,EAAE,EAAE;IACvI,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,CAAC,gBAAwB,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;QACzF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CACX,8BAAC,cAAI,IACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,GAAG,SAAS,qBAAqB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EACrE,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,QAAQ,GAChB,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,CACZ,8BAAC,cAAI,IACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC1B,SAAS,EAAE,GAAG,SAAS,uBAAuB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EACxE,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,QAAQ,GAChB,CACL,CAAC;IAEF,OAAO,CACH,uCACI,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,GAAG,SAAS,wBAAwB,SAAS,2BAA2B,EACnF,GAAG,EAAC,QAAQ;QAEX,MAAM;QACN,OAAO,CACN,CACT,CAAA;AACL,CAAC,CAAA;AACD,kBAAe,UAAU,CAAA"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SortableColumns = exports.SortableColumn = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const HideColumn_1 = __importDefault(require("./HideColumn"));
9
+ const SortButton_1 = __importDefault(require("./SortButton"));
10
+ const ListFilter_1 = __importDefault(require("./ListFilter"));
11
+ const react_sortable_hoc_1 = require("react-sortable-hoc");
12
+ // @ts-ignore
13
+ const react_resizable_1 = require("react-resizable");
14
+ exports.SortableColumn = (0, react_sortable_hoc_1.SortableElement)(({ columnIndex, overwrite, column: { title, field, filter, noSort, width }, sort, filters, schema, onSortChange, onResizeStop, onFilterChange, onHideColumn, height }) => {
15
+ return (react_1.default.createElement(react_resizable_1.ResizableBox, { className: 'mandarina-list-thead-col ant-table-column-has-sorters ant-table-column-sort ' + field.replace(/\./g, '-'), width: width, height: height, handleSize: [10, 10], axis: 'x', onResizeStop: (e, data) => onResizeStop(field, data.size.width, columnIndex) },
16
+ react_1.default.createElement("div", null,
17
+ title,
18
+ !noSort && react_1.default.createElement(SortButton_1.default, { onSortChange: onSortChange, field: field, sort: sort })),
19
+ filter && react_1.default.createElement(ListFilter_1.default, { onFilterChange: onFilterChange, field: field, overwrite: overwrite, filters: filters, filter: filters === null || filters === void 0 ? void 0 : filters[field], schema: schema }),
20
+ react_1.default.createElement(HideColumn_1.default, { onHide: () => onHideColumn(field, columnIndex) })));
21
+ });
22
+ exports.SortableColumns = (0, react_sortable_hoc_1.SortableContainer)(({ children, height, empty, tHead, grid }) => {
23
+ return react_1.default.createElement("div", { className: ' mandarina-list-thead-row', onWheel: (e) => {
24
+ tHead.current.scrollLeft = tHead.current.scrollLeft + e.deltaX;
25
+ !empty && grid.current.scrollTo({ scrollLeft: tHead.current.scrollLeft });
26
+ }, style: { height } }, children);
27
+ });
28
+ //# sourceMappingURL=SortableColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableColumns.js","sourceRoot":"","sources":["SortableColumns.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyD;AACzD,8DAAsC;AACtC,8DAAsD;AACtD,8DAAwD;AACxD,2DAAsE;AAGtE,aAAa;AACb,qDAAiE;AA0BpD,QAAA,cAAc,GAAG,IAAA,oCAAe,EAAC,CAAC,EAAC,WAAW,EAAG,SAAS,EAAE,MAAM,EAAE,EAAC,KAAK,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAA0B,EAAE,EAAE;IACpO,OAAO,CACH,8BAAC,8BAAY,IACT,SAAS,EAAE,8EAA8E,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EACrH,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EACpB,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,CAAC,CAAiB,EAAE,IAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QAChH;YACK,KAAK;YACL,CAAC,MAAM,IAAI,8BAAC,oBAAU,IAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAC7E;QAEL,MAAM,IAAI,8BAAC,oBAAU,IAAC,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,EACxB,MAAM,EAAE,MAAM,GAAG;QACvC,8BAAC,oBAAU,IAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAEnD,CAClB,CAAC;AACN,CAAC,CACJ,CAAA;AAEY,QAAA,eAAe,GAAG,IAAA,sCAAiB,EAAC,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,IAAI,EAAiC,EAAE,EAAE;IACrH,OAAO,uCAAK,SAAS,EAAE,2BAA2B,EACtC,OAAO,EAAI,CAAC,CAAC,EAAE,EAAE;YACb,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAA;YAC9D,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAC,CAAC,CAAA;QAC3E,CAAC,EACD,KAAK,EAAE,EAAC,MAAM,EAAC,IACtB,QAAQ,CACP,CAAA;AACV,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.equalityFn = void 0;
4
+ const equalityFn = (newArgs, lastArgs) => newArgs.length === lastArgs.length &&
5
+ newArgs.every((newArg, index) => newArg === lastArgs[index]);
6
+ exports.equalityFn = equalityFn;
7
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,UAAU,GAAe,CAClC,OAAc,EACd,QAAe,EACR,EAAE,CACT,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;IAClC,OAAO,CAAC,KAAK,CACT,CAAC,MAAW,EAAE,KAAa,EAAW,EAAE,CACpC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,CACjC,CAAC;AARO,QAAA,UAAU,cAQjB"}
package/src/index.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UpdateForm = exports.CreateForm = exports.DeleteForm = exports.ActionButton = exports.ActionForm = exports.TableField = exports.NestField = exports.ListItemField = exports.ListField = exports.HiddenTableField = exports.ErrorsField = exports.AutoField = exports.AutoFields = exports.ListVirtualized = exports.List = exports.AuthList = exports.AuthListVirtualized = exports.AuthUpdateForm = exports.ConfirmActionButton = exports.AuthCreateForm = void 0;
7
+ const AutoField = require("./uniforms/AutoField").default;
8
+ exports.AutoField = AutoField;
9
+ const ErrorsField = require("./uniforms/ErrorsField").default;
10
+ exports.ErrorsField = ErrorsField;
11
+ const AutoFields = require("./uniforms/AutoFields").default;
12
+ exports.AutoFields = AutoFields;
13
+ const ListField = require("./uniforms/ListField").default;
14
+ exports.ListField = ListField;
15
+ const ListItemField = require("./uniforms/ListItemField").default;
16
+ exports.ListItemField = ListItemField;
17
+ const NestField = require("./uniforms/NestField").default;
18
+ exports.NestField = NestField;
19
+ const TableField = require("./uniforms/TableField").default;
20
+ exports.TableField = TableField;
21
+ const HiddenTableField = require("./uniforms/HiddenTableField").default;
22
+ exports.HiddenTableField = HiddenTableField;
23
+ const ActionForm_1 = __importDefault(require("./ActionForm"));
24
+ exports.ActionForm = ActionForm_1.default;
25
+ const ActionButton_1 = __importDefault(require("./ActionButton"));
26
+ exports.ActionButton = ActionButton_1.default;
27
+ const ConfirmActionButton_1 = __importDefault(require("./ConfirmActionButton"));
28
+ exports.ConfirmActionButton = ConfirmActionButton_1.default;
29
+ const Auth_1 = require("./Auth");
30
+ Object.defineProperty(exports, "AuthCreateForm", { enumerable: true, get: function () { return Auth_1.AuthCreateForm; } });
31
+ Object.defineProperty(exports, "AuthList", { enumerable: true, get: function () { return Auth_1.AuthList; } });
32
+ Object.defineProperty(exports, "AuthListVirtualized", { enumerable: true, get: function () { return Auth_1.AuthListVirtualized; } });
33
+ Object.defineProperty(exports, "AuthUpdateForm", { enumerable: true, get: function () { return Auth_1.AuthUpdateForm; } });
34
+ const Forms_1 = require("./Forms");
35
+ Object.defineProperty(exports, "CreateForm", { enumerable: true, get: function () { return Forms_1.CreateForm; } });
36
+ Object.defineProperty(exports, "DeleteForm", { enumerable: true, get: function () { return Forms_1.DeleteForm; } });
37
+ Object.defineProperty(exports, "UpdateForm", { enumerable: true, get: function () { return Forms_1.UpdateForm; } });
38
+ const List_1 = require("./List/List");
39
+ Object.defineProperty(exports, "List", { enumerable: true, get: function () { return List_1.List; } });
40
+ const ListVirtualized_1 = require("./List/ListVirtualized");
41
+ Object.defineProperty(exports, "ListVirtualized", { enumerable: true, get: function () { return ListVirtualized_1.ListVirtualized; } });
42
+ //# sourceMappingURL=index.js.map