es-grid-template 1.3.0 → 1.3.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/assets/index.css +16 -0
- package/assets/index.scss +37 -3
- package/es/grid-component/CheckboxFilter.js +4 -0
- package/es/grid-component/CheckboxFilter2.d.ts +20 -0
- package/es/grid-component/CheckboxFilter2.js +248 -0
- package/es/grid-component/ColumnsGroup/ColumnsGroup.js +4 -4
- package/es/grid-component/ContextMenu.js +1 -0
- package/es/grid-component/ConvertColumnTable.js +1 -0
- package/es/grid-component/EditableCell.js +11 -8
- package/es/grid-component/InternalTable.js +47 -11
- package/es/grid-component/TableGrid.d.ts +3 -0
- package/es/grid-component/TableGrid.js +71 -7
- package/es/grid-component/hooks/columns/index.js +14 -45
- package/es/grid-component/hooks/content/HeaderContent.js +54 -58
- package/es/grid-component/hooks/useColumns.d.ts +4 -2
- package/es/grid-component/hooks/useColumns.js +32 -13
- package/es/grid-component/hooks/utils.d.ts +9 -0
- package/es/grid-component/hooks/utils.js +278 -1
- package/es/grid-component/number-range/index.d.ts +10 -0
- package/es/grid-component/number-range/index.js +59 -0
- package/es/grid-component/styles.scss +24 -0
- package/es/grid-component/table/Grid.d.ts +3 -0
- package/es/grid-component/table/GridEdit.js +360 -106
- package/es/grid-component/table/Group.d.ts +1 -0
- package/es/grid-component/table/Group.js +1 -1
- package/es/grid-component/type.d.ts +2 -1
- package/lib/grid-component/CheckboxFilter.js +4 -0
- package/lib/grid-component/CheckboxFilter2.d.ts +20 -0
- package/lib/grid-component/CheckboxFilter2.js +257 -0
- package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +4 -4
- package/lib/grid-component/ContextMenu.js +1 -0
- package/lib/grid-component/ConvertColumnTable.js +1 -0
- package/lib/grid-component/EditableCell.js +11 -8
- package/lib/grid-component/InternalTable.js +41 -10
- package/lib/grid-component/TableGrid.d.ts +3 -0
- package/lib/grid-component/TableGrid.js +68 -7
- package/lib/grid-component/hooks/columns/index.js +14 -45
- package/lib/grid-component/hooks/content/HeaderContent.js +53 -55
- package/lib/grid-component/hooks/useColumns.d.ts +4 -2
- package/lib/grid-component/hooks/useColumns.js +31 -12
- package/lib/grid-component/hooks/utils.d.ts +9 -0
- package/lib/grid-component/hooks/utils.js +293 -4
- package/lib/grid-component/number-range/index.d.ts +10 -0
- package/lib/grid-component/number-range/index.js +67 -0
- package/lib/grid-component/styles.scss +24 -0
- package/lib/grid-component/table/Grid.d.ts +3 -0
- package/lib/grid-component/table/GridEdit.js +358 -104
- package/lib/grid-component/table/Group.d.ts +1 -0
- package/lib/grid-component/table/Group.js +1 -1
- package/lib/grid-component/type.d.ts +2 -1
- package/package.json +109 -108
|
@@ -21,6 +21,7 @@ var _LoadingSpinner = _interopRequireDefault(require("./LoadingSpinner"));
|
|
|
21
21
|
var _ColumnsChoose = require("./ColumnsChoose");
|
|
22
22
|
var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
23
23
|
var _AdvanceFilter = _interopRequireDefault(require("./AdvanceFilter"));
|
|
24
|
+
var _reactTooltip = require("react-tooltip");
|
|
24
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
27
|
// import {ConfigProvider} from "antd";
|
|
@@ -48,6 +49,40 @@ const convertFilters = filters => {
|
|
|
48
49
|
predicate: "and",
|
|
49
50
|
operator: "lessthanorequal"
|
|
50
51
|
});
|
|
52
|
+
} else if (column?.typeFilter === "NumberRange") {
|
|
53
|
+
if ((filteredKeys[0] || filteredKeys[0] === 0) && !filteredKeys[1]) {
|
|
54
|
+
result.push({
|
|
55
|
+
key,
|
|
56
|
+
field: column?.dataIndex,
|
|
57
|
+
value: filteredKeys[0],
|
|
58
|
+
predicate: "and",
|
|
59
|
+
operator: "greaterthanorequal"
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if ((filteredKeys[1] || filteredKeys[1] === 0) && !filteredKeys[0]) {
|
|
63
|
+
result.push({
|
|
64
|
+
key,
|
|
65
|
+
field: column?.dataIndex,
|
|
66
|
+
value: filteredKeys[1],
|
|
67
|
+
predicate: "and",
|
|
68
|
+
operator: "lessthanorequal"
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if ((filteredKeys[0] || filteredKeys[0] === 0) && (filteredKeys[1] || filteredKeys[1] === 0)) {
|
|
72
|
+
result.push({
|
|
73
|
+
key,
|
|
74
|
+
field: column?.dataIndex,
|
|
75
|
+
value: filteredKeys[0],
|
|
76
|
+
predicate: "and",
|
|
77
|
+
operator: "greaterthanorequal"
|
|
78
|
+
}, {
|
|
79
|
+
key,
|
|
80
|
+
field: column?.dataIndex,
|
|
81
|
+
value: filteredKeys[1],
|
|
82
|
+
predicate: "and",
|
|
83
|
+
operator: "lessthanorequal"
|
|
84
|
+
});
|
|
85
|
+
}
|
|
51
86
|
} else if (column?.typeFilter === 'Checkbox') {
|
|
52
87
|
filteredKeys.forEach(value => {
|
|
53
88
|
result.push({
|
|
@@ -115,6 +150,7 @@ const TableGrid = props => {
|
|
|
115
150
|
showColumnChoose,
|
|
116
151
|
showAdvanceFilter,
|
|
117
152
|
onFilter,
|
|
153
|
+
triggerFilter,
|
|
118
154
|
selectionSettings,
|
|
119
155
|
rowSelection,
|
|
120
156
|
rowSelected,
|
|
@@ -136,6 +172,7 @@ const TableGrid = props => {
|
|
|
136
172
|
groupColumns,
|
|
137
173
|
groupToolbar,
|
|
138
174
|
showEmptyText,
|
|
175
|
+
setIsFilter,
|
|
139
176
|
...rest
|
|
140
177
|
} = props;
|
|
141
178
|
const {
|
|
@@ -162,6 +199,7 @@ const TableGrid = props => {
|
|
|
162
199
|
viewportWidth,
|
|
163
200
|
viewportHeight
|
|
164
201
|
});
|
|
202
|
+
const [filterStates, setFilterState] = _react.default.useState(null);
|
|
165
203
|
|
|
166
204
|
// const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>(defaultSelected);
|
|
167
205
|
|
|
@@ -298,6 +336,18 @@ const TableGrid = props => {
|
|
|
298
336
|
const handleChange = sorter => {
|
|
299
337
|
onSorter?.(sorter);
|
|
300
338
|
};
|
|
339
|
+
const handleOnFilter = queries => {
|
|
340
|
+
if (onFilter) {
|
|
341
|
+
onFilter?.(convertFilters(queries));
|
|
342
|
+
} else {
|
|
343
|
+
setFilterState(convertFilters(queries));
|
|
344
|
+
if (queries && queries.length > 0) {
|
|
345
|
+
setIsFilter?.(true);
|
|
346
|
+
} else {
|
|
347
|
+
setIsFilter?.(false);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
};
|
|
301
351
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_ContextMenu.default, {
|
|
302
352
|
open: menuVisible,
|
|
303
353
|
pos: position,
|
|
@@ -309,6 +359,9 @@ const TableGrid = props => {
|
|
|
309
359
|
}), /*#__PURE__*/_react.default.createElement(_rcMasterUi.Table, (0, _extends2.default)({
|
|
310
360
|
ref: tableRef
|
|
311
361
|
}, rest, {
|
|
362
|
+
tableLayout: 'fixed'
|
|
363
|
+
// id={newGuid()}
|
|
364
|
+
,
|
|
312
365
|
locale: {
|
|
313
366
|
...locale,
|
|
314
367
|
emptyText: showEmptyText !== false ? /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
|
|
@@ -320,7 +373,8 @@ const TableGrid = props => {
|
|
|
320
373
|
spinning: columns && columns.length === 0 || loading === true,
|
|
321
374
|
indicator: /*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, null)
|
|
322
375
|
},
|
|
323
|
-
dataSource: columns && columns.length > 0 && loading !== true ? dataSource : []
|
|
376
|
+
dataSource: columns && columns.length > 0 && loading !== true ? (0, _hooks.filterDataByColumns3)(dataSource, filterStates) : []
|
|
377
|
+
// dataSource={columns && columns.length > 0 && loading !== true ? dataSource : []}
|
|
324
378
|
// className={styles.customTable}
|
|
325
379
|
,
|
|
326
380
|
className: (0, _classnames.default)(className, {
|
|
@@ -355,10 +409,13 @@ const TableGrid = props => {
|
|
|
355
409
|
// checkStrictly: false,
|
|
356
410
|
|
|
357
411
|
hideSelectAll: !type || type === 'single' || selectionSettings?.mode === 'radio' ? true : hideSelectAll ?? type !== 'multiple'
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// onScroll={() => {
|
|
415
|
+
// setMenuVisible(false)
|
|
416
|
+
// }}
|
|
417
|
+
,
|
|
418
|
+
|
|
362
419
|
summary: () => {
|
|
363
420
|
if (typeof summary === 'function') {
|
|
364
421
|
return summary(dataSource);
|
|
@@ -397,7 +454,9 @@ const TableGrid = props => {
|
|
|
397
454
|
...pagination
|
|
398
455
|
},
|
|
399
456
|
onFilter: val => {
|
|
400
|
-
|
|
457
|
+
handleOnFilter(val);
|
|
458
|
+
// triggerFilter?.(convertFilters(val))
|
|
459
|
+
// onFilter?.(convertFilters(val))
|
|
401
460
|
},
|
|
402
461
|
onChange: (paging, filters, sorter) => handleChange(sorter),
|
|
403
462
|
title: showToolbar === false ? undefined : () => {
|
|
@@ -459,6 +518,8 @@ const TableGrid = props => {
|
|
|
459
518
|
// @ts-ignore
|
|
460
519
|
,
|
|
461
520
|
showTotal: (total, range) => `${range[0]}-${range[1]} / ${total} ${t ? t(pagination?.locale?.items ?? 'items') : 'items'}`
|
|
462
|
-
}, pagination)), bottomToolbar?.()
|
|
521
|
+
}, pagination)), bottomToolbar?.(), /*#__PURE__*/_react.default.createElement(_reactTooltip.Tooltip, {
|
|
522
|
+
id: "tooltip-header"
|
|
523
|
+
}));
|
|
463
524
|
};
|
|
464
525
|
var _default = exports.default = TableGrid;
|
|
@@ -15,6 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
var _rcMasterUi = require("rc-master-ui");
|
|
16
16
|
var _CheckboxFilter = _interopRequireDefault(require("../../CheckboxFilter"));
|
|
17
17
|
var _useSelection = require("rc-master-ui/es/table/hooks/useSelection");
|
|
18
|
+
var _numberRange = _interopRequireDefault(require("../../number-range"));
|
|
18
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
21
|
const {
|
|
@@ -144,11 +145,6 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
|
|
|
144
145
|
const dateRangeFormat = (0, _utils.getDatepickerFormat)(column?.type, column) ?? 'DD/MM/YYYY';
|
|
145
146
|
const find = dataSourceFilter?.find(it => it.key === column?.field);
|
|
146
147
|
const options = find ? find.data : [];
|
|
147
|
-
|
|
148
|
-
// console.log('dataSourceFilter', dataSourceFilter)
|
|
149
|
-
// console.log('options', options)
|
|
150
|
-
// console.log('column', column)
|
|
151
|
-
|
|
152
148
|
switch (type) {
|
|
153
149
|
case 'Number':
|
|
154
150
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -168,39 +164,15 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
|
|
|
168
164
|
}
|
|
169
165
|
}))));
|
|
170
166
|
case 'NumberRange':
|
|
171
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_numberRange.default, {
|
|
168
|
+
t: t,
|
|
169
|
+
min: selectedKeys[0],
|
|
170
|
+
max: selectedKeys[1],
|
|
171
|
+
onChange: vals => {
|
|
172
|
+
console.log('NumberRange', vals);
|
|
173
|
+
setSelectedKeys(vals);
|
|
176
174
|
}
|
|
177
|
-
}
|
|
178
|
-
value: selectedKeys[0]
|
|
179
|
-
// thousandSeparator={checkThousandSeparator(thousandSeparator, decimalSeparator)}
|
|
180
|
-
// decimalSeparator={checkDecimalSeparator(thousandSeparator, decimalSeparator)}
|
|
181
|
-
,
|
|
182
|
-
allowNegative: true,
|
|
183
|
-
customInput: _rcMasterUi.Input,
|
|
184
|
-
className: ' rounded-0 input-element form-control'
|
|
185
|
-
// onValueChange={(values: any) => {
|
|
186
|
-
// onChangeValueFilter(type, values.floatValue, 'min')
|
|
187
|
-
// }}
|
|
188
|
-
,
|
|
189
|
-
placeholder: t ? t('Min') : 'Min',
|
|
190
|
-
autoFocus: true
|
|
191
|
-
})), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactNumericComponent.NumericFormat, {
|
|
192
|
-
value: selectedKeys[1]
|
|
193
|
-
// thousandSeparator={checkThousandSeparator(thousandSeparator, decimalSeparator)}
|
|
194
|
-
// decimalSeparator={checkDecimalSeparator(thousandSeparator, decimalSeparator)}
|
|
195
|
-
,
|
|
196
|
-
allowNegative: true,
|
|
197
|
-
customInput: _rcMasterUi.Input,
|
|
198
|
-
className: ' rounded-0 input-element form-control',
|
|
199
|
-
onValueChange: () => {
|
|
200
|
-
// onChangeValueFilter(type, values.floatValue, 'max')
|
|
201
|
-
},
|
|
202
|
-
placeholder: t ? t('Max') : 'Max'
|
|
203
|
-
})))));
|
|
175
|
+
})));
|
|
204
176
|
case 'Date':
|
|
205
177
|
const dateValue = selectedKeys[0] ? (0, _utils.convertDateToDayjs)(new Date(selectedKeys[0]), dateFormat) : null;
|
|
206
178
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -451,16 +423,13 @@ const renderFilter = (column, selectedKeys, setSelectedKeys, confirm, visible, s
|
|
|
451
423
|
case 'Checkbox':
|
|
452
424
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
453
425
|
className: 'mb-1'
|
|
454
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default
|
|
455
|
-
// locale={{
|
|
456
|
-
// filterTitle: 'Chọn tất cả',
|
|
457
|
-
// filterCheckall: 'Chọn tất cả'
|
|
458
|
-
// }}
|
|
459
|
-
, {
|
|
426
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
|
|
460
427
|
locale: locale,
|
|
461
428
|
selectedKeys: selectedKeys,
|
|
462
|
-
onSelect: setSelectedKeys
|
|
463
|
-
|
|
429
|
+
onSelect: setSelectedKeys
|
|
430
|
+
// options={options}
|
|
431
|
+
,
|
|
432
|
+
options: column.source ? column.source : options ?? [],
|
|
464
433
|
filterMultiple: true,
|
|
465
434
|
open: visible,
|
|
466
435
|
searchValue: searchValue,
|
|
@@ -5,18 +5,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var _react2 = require("@floating-ui/react");
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
10
|
var _utils = require("../utils");
|
|
14
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
// import styled from "styled-components";
|
|
14
|
+
|
|
15
|
+
// const TooltipStyle = styled.div`
|
|
16
|
+
// width: max-content;
|
|
17
|
+
// background-color: #444;
|
|
18
|
+
// color: white;
|
|
19
|
+
// font-size: 90%;
|
|
20
|
+
// padding: 4px 8px;
|
|
21
|
+
// border-radius: 4px;
|
|
22
|
+
// opacity: 0.9;
|
|
23
|
+
// z-index: 9999;
|
|
24
|
+
// max-width: 450px;
|
|
25
|
+
// `
|
|
26
|
+
|
|
20
27
|
const HeaderContent = props => {
|
|
21
28
|
const {
|
|
22
29
|
t
|
|
@@ -33,54 +40,45 @@ const HeaderContent = props => {
|
|
|
33
40
|
const tooltip = _react.default.useMemo(() => {
|
|
34
41
|
return headerTooltip ?? columnGroupText ?? headerText;
|
|
35
42
|
}, [columnGroupText, headerText, headerTooltip]);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
wordBreak: 'keep-all'
|
|
71
|
-
}
|
|
43
|
+
//
|
|
44
|
+
//
|
|
45
|
+
// const [isOpen, setIsOpen] = useState(false)
|
|
46
|
+
//
|
|
47
|
+
// const { refs, floatingStyles, context } = useFloating({
|
|
48
|
+
// open: isOpen,
|
|
49
|
+
// onOpenChange: setIsOpen,
|
|
50
|
+
// placement: "top",
|
|
51
|
+
// whileElementsMounted: autoUpdate,
|
|
52
|
+
// middleware: [
|
|
53
|
+
// offset(5),
|
|
54
|
+
// flip({
|
|
55
|
+
// fallbackAxisSideDirection: "start"
|
|
56
|
+
// }),
|
|
57
|
+
// shift()
|
|
58
|
+
// ]
|
|
59
|
+
// })
|
|
60
|
+
//
|
|
61
|
+
// const hover = useHover(context, { move: false })
|
|
62
|
+
// const focus = useFocus(context)
|
|
63
|
+
// const dismiss = useDismiss(context)
|
|
64
|
+
// const role = useRole(context, { role: "tooltip" })
|
|
65
|
+
//
|
|
66
|
+
// const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
67
|
+
// hover,
|
|
68
|
+
// focus,
|
|
69
|
+
// dismiss,
|
|
70
|
+
// role
|
|
71
|
+
// ])
|
|
72
|
+
|
|
73
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
74
|
+
// ref={refs.setReference}
|
|
75
|
+
// tabIndex={-1}
|
|
76
|
+
// style={{flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', wordBreak: 'keep-all'}}
|
|
72
77
|
// style={{flex: 1}}
|
|
73
|
-
,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
className: "Tooltip",
|
|
79
|
-
ref: refs.setFloating,
|
|
80
|
-
style: {
|
|
81
|
-
...floatingStyles,
|
|
82
|
-
zIndex: 1999
|
|
83
|
-
}
|
|
84
|
-
}, getFloatingProps()), headerTooltip && typeof headerTooltip === 'function' ? headerTooltip() : t ? t(tooltip) : tooltip)));
|
|
78
|
+
className: (0, _classnames.default)('', {}),
|
|
79
|
+
"data-tooltip-id": "tooltip-header",
|
|
80
|
+
"data-tooltip-content": tooltip,
|
|
81
|
+
"data-tooltip-offset": 16
|
|
82
|
+
}, headerTemplate ? (0, _utils.getTemplate)(headerTemplate) : t ? t(text) : text));
|
|
85
83
|
};
|
|
86
84
|
var _default = exports.default = HeaderContent;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { AnyObject, IGroupSetting } from "../type";
|
|
2
2
|
export declare const SELECTION_COLUMN: {};
|
|
3
|
-
interface UseColumnsConfig {
|
|
3
|
+
interface UseColumnsConfig<RecordType> {
|
|
4
4
|
t?: any;
|
|
5
|
+
dataSource: RecordType[];
|
|
5
6
|
buddhistLocale?: any;
|
|
6
7
|
dataSourceFilter?: any;
|
|
7
8
|
locale?: any;
|
|
@@ -11,6 +12,7 @@ interface UseColumnsConfig {
|
|
|
11
12
|
groupAble?: boolean;
|
|
12
13
|
groupSetting?: IGroupSetting;
|
|
13
14
|
groupColumns?: string[];
|
|
15
|
+
rowKey?: any;
|
|
14
16
|
}
|
|
15
|
-
declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig) => readonly [any];
|
|
17
|
+
declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [any];
|
|
16
18
|
export default useColumns;
|
|
@@ -50,14 +50,31 @@ const useColumns = config => {
|
|
|
50
50
|
handleResize,
|
|
51
51
|
groupAble,
|
|
52
52
|
groupColumns,
|
|
53
|
-
groupSetting
|
|
53
|
+
groupSetting,
|
|
54
|
+
dataSource,
|
|
55
|
+
rowKey
|
|
54
56
|
} = config;
|
|
55
57
|
|
|
58
|
+
// const mergedColumns = React.useMemo(
|
|
59
|
+
// () => getMergedColumns<RecordType>(rawMergedColumns || []),
|
|
60
|
+
// [rawMergedColumns],
|
|
61
|
+
// );
|
|
62
|
+
//
|
|
63
|
+
// const [filterStates, setFilterStates] = React.useState<FilterState<RecordType>[]>(() =>
|
|
64
|
+
// collectFilterStates(mergedColumns, true),
|
|
65
|
+
// );
|
|
66
|
+
|
|
56
67
|
// ====================== Selections ======================
|
|
57
68
|
|
|
58
|
-
const handleSearch = (
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
// const handleSearch = (
|
|
70
|
+
// selectedKeys: string[],
|
|
71
|
+
// confirm: any,
|
|
72
|
+
// ) => {
|
|
73
|
+
//
|
|
74
|
+
// confirm()
|
|
75
|
+
//
|
|
76
|
+
// }
|
|
77
|
+
|
|
61
78
|
const getColumnSearchProps = (0, _react.useCallback)(column => ({
|
|
62
79
|
filterDropdown: ({
|
|
63
80
|
setSelectedKeys,
|
|
@@ -104,10 +121,9 @@ const useColumns = config => {
|
|
|
104
121
|
}, /*#__PURE__*/React.createElement(_antd.Button, {
|
|
105
122
|
type: "primary",
|
|
106
123
|
onClick: () => {
|
|
107
|
-
confirm({
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
handleSearch(selectedKeys, confirm);
|
|
124
|
+
// confirm({closeDropdown: false})
|
|
125
|
+
confirm();
|
|
126
|
+
// handleSearch(selectedKeys as string[], confirm)
|
|
111
127
|
},
|
|
112
128
|
icon: /*#__PURE__*/React.createElement(_icons.SearchOutlined, null),
|
|
113
129
|
size: "small",
|
|
@@ -149,8 +165,8 @@ const useColumns = config => {
|
|
|
149
165
|
const transformColumns = (0, _react.useCallback)(columns => {
|
|
150
166
|
// >>>>>>>>>>> Support selection
|
|
151
167
|
const cloneColumns = [...columns];
|
|
152
|
-
const firstNonGroupColumn = (0, _columns.flatColumns2)(cloneColumns).find(col => col.field && !groupColumns?.includes(col.field) && col.hidden !== true);
|
|
153
|
-
const nonGroupColumns = (0, _columns.flatColumns2)(cloneColumns).filter(col => col.field && !groupColumns?.includes(col.field) && col.hidden !== true);
|
|
168
|
+
const firstNonGroupColumn = (0, _columns.flatColumns2)(cloneColumns).find(col => col.field && col.field !== '#' && col.field !== 'index' && !groupColumns?.includes(col.field) && col.hidden !== true);
|
|
169
|
+
const nonGroupColumns = (0, _columns.flatColumns2)(cloneColumns).filter(col => col.field && col.field !== '#' && col.field !== 'index' && !groupColumns?.includes(col.field) && col.hidden !== true);
|
|
154
170
|
|
|
155
171
|
// ===================== Render =====================
|
|
156
172
|
|
|
@@ -192,10 +208,13 @@ const useColumns = config => {
|
|
|
192
208
|
onCell: () => ({
|
|
193
209
|
className: 'cell-number'
|
|
194
210
|
}),
|
|
195
|
-
render: (
|
|
211
|
+
render: (val, record) => {
|
|
212
|
+
// return rowIndex + 1
|
|
213
|
+
return (0, _utils.findItemPath)(dataSource, record, rowKey);
|
|
214
|
+
}
|
|
196
215
|
};
|
|
197
216
|
}
|
|
198
|
-
if (col.
|
|
217
|
+
if (col.field === 'command') {
|
|
199
218
|
return {
|
|
200
219
|
...transformedColumn,
|
|
201
220
|
onCell: () => ({
|
|
@@ -71,3 +71,12 @@ export declare const checkChild: (inputArray: any[]) => boolean;
|
|
|
71
71
|
export declare const isEditable: <RecordType>(column: ColumnTable, rowData: RecordType) => boolean | ((rowData: any) => boolean);
|
|
72
72
|
export declare const isArraysEqual: (arr1: any[], arr2: any[]) => boolean;
|
|
73
73
|
export declare const editAbleColumns: <T>(columns: ColumnsTable<T>) => ColumnTable<T>[];
|
|
74
|
+
export declare const findItemPath: (tree: any[], targetItem: any, rowKey: any) => any;
|
|
75
|
+
export declare const filterDataByColumns: (data: any[], queries: any) => any[];
|
|
76
|
+
export declare const filterDataByColumns2: (data: any[], queries: any) => any[];
|
|
77
|
+
export declare const removeFieldRecursive: (data: any[], field: string) => any[];
|
|
78
|
+
export declare const filterDataByColumns3: (data: any[], queries: any[]) => any[];
|
|
79
|
+
export declare function isDateString(str: any): boolean;
|
|
80
|
+
export declare function compareDates(date1: any, date2: any): boolean;
|
|
81
|
+
export declare function compareDate(itemValue: any, value: any): boolean;
|
|
82
|
+
export declare function invalidDate(date: any): boolean;
|