es-grid-template 0.0.7 → 0.0.8
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/es/CheckboxFilter.d.ts +1 -1
- package/es/CheckboxFilter.js +7 -10
- package/es/ColumnsChoose.d.ts +2 -3
- package/es/ColumnsChoose.js +65 -69
- package/es/FilterSearch.js +1 -1
- package/es/{GridTable.d.ts → InternalTable.d.ts} +2 -2
- package/es/InternalTable.js +185 -0
- package/es/LoadingSpinner.d.ts +3 -0
- package/es/LoadingSpinner.js +20 -0
- package/es/TableGrid.d.ts +10 -0
- package/es/{GridTable.js → TableGrid.js} +395 -267
- package/es/hooks/constant.js +1 -1
- package/es/hooks/utils.d.ts +2 -1
- package/es/hooks/utils.js +23 -3
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/es/styles.scss +287 -21
- package/es/type.d.ts +17 -5
- package/lib/CheckboxFilter.d.ts +1 -1
- package/lib/CheckboxFilter.js +11 -13
- package/lib/ColumnsChoose.d.ts +2 -3
- package/lib/ColumnsChoose.js +65 -69
- package/lib/FilterSearch.js +2 -2
- package/lib/{GridTable.d.ts → InternalTable.d.ts} +2 -2
- package/lib/InternalTable.js +194 -0
- package/lib/LoadingSpinner.d.ts +3 -0
- package/lib/LoadingSpinner.js +29 -0
- package/lib/TableGrid.d.ts +10 -0
- package/lib/{GridTable.js → TableGrid.js} +401 -274
- package/lib/hooks/constant.js +1 -1
- package/lib/hooks/utils.d.ts +2 -1
- package/lib/hooks/utils.js +26 -5
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/styles.scss +287 -21
- package/lib/type.d.ts +17 -5
- package/package.json +6 -4
package/lib/ColumnsChoose.js
CHANGED
|
@@ -4,97 +4,90 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.ColumnsChoose =
|
|
7
|
+
exports.ColumnsChoose = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
10
|
var _antd = require("antd");
|
|
11
11
|
var _icons = require("@ant-design/icons");
|
|
12
12
|
var _hooks = require("./hooks");
|
|
13
|
+
var _tree = _interopRequireDefault(require("rc-master-ui/es/tree"));
|
|
14
|
+
var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons/SearchOutlined"));
|
|
13
15
|
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); }
|
|
14
16
|
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; }
|
|
15
|
-
|
|
16
|
-
Search
|
|
17
|
-
} = _antd.Input;
|
|
17
|
+
// import type { TreeDataNode} from "antd";
|
|
18
18
|
|
|
19
|
-
// const
|
|
20
|
-
// padding: 6px 0;
|
|
21
|
-
//
|
|
22
|
-
// height: 35px;
|
|
23
|
-
//
|
|
24
|
-
// .ellipsis {
|
|
25
|
-
// overflow: hidden;
|
|
26
|
-
// white-space: nowrap;
|
|
27
|
-
// text-overflow: ellipsis;
|
|
28
|
-
// word-break: keep-all;
|
|
29
|
-
// }
|
|
30
|
-
// `
|
|
19
|
+
// const { Search } = Input;
|
|
31
20
|
|
|
32
21
|
const BoxAction = _styledComponents.default.div.withConfig({
|
|
33
22
|
displayName: "BoxAction",
|
|
34
23
|
componentId: "es-grid-template__sc-1k89i9w-0"
|
|
35
24
|
})(["border-top:1px solid #c4c4c4;padding-top:.75rem;display:flex;justify-content:end;gap:10px;.btn-action{background:none !important;border:none !important;&.btn-action-submit{color:#df4318;&:disabled{background-color:#f0f0f0 !important;}&:hover{color:#df4318 !important;}}&:hover{background-color:#f0f0f0 !important;}}"]);
|
|
36
|
-
const BoxInputFilterColumn = exports.BoxInputFilterColumn = _styledComponents.default.div.withConfig({
|
|
37
|
-
displayName: "BoxInputFilterColumn",
|
|
38
|
-
componentId: "es-grid-template__sc-1k89i9w-1"
|
|
39
|
-
})(["display:flex;position:relative;align-items:center;.input__value{z-index:1;border-radius:0;border-top:0;border-left:0;border-right:0;&:focus{box-shadow:none !important;}&.is-clearable{padding-right:25px !important;}}.input__clear-icon{cursor:pointer;position:absolute;right:5px;z-index:10;}"]);
|
|
40
25
|
const ColumnsChoose = props => {
|
|
41
26
|
const {
|
|
42
27
|
columns: propsColumns,
|
|
43
28
|
setColumns: changeHiddenColumn
|
|
44
29
|
// t,
|
|
45
|
-
// columnsGrouped,
|
|
46
|
-
// onChangeDisplay
|
|
47
|
-
// frozen
|
|
48
30
|
} = props;
|
|
49
31
|
|
|
50
32
|
// const dataList: { key: React.Key; title: string }[] = [];
|
|
51
33
|
|
|
52
|
-
const defaultColumns =
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
// const defaultColumns = useMemo(() => {
|
|
35
|
+
// return propsColumns.filter((it) => it.key || it.dataIndex && it.showColumnChoose !== false)
|
|
36
|
+
// }, [propsColumns])
|
|
37
|
+
|
|
38
|
+
// const columnsChooseRef: any = useRef()
|
|
39
|
+
// const searchRef: any = useRef()
|
|
40
|
+
|
|
41
|
+
const [columns, setColumns] = (0, _react.useState)([]);
|
|
42
|
+
const [selectedKeys, setSelectedKeys] = (0, _react.useState)([]);
|
|
43
|
+
(0, _react.useEffect)(() => {
|
|
44
|
+
const defaultColumns = propsColumns.filter(it => it.key || it.dataIndex && it.showColumnChoose !== false);
|
|
45
|
+
const defaultSelectedKeys = (0, _hooks.getVisibleColumnKeys)(propsColumns);
|
|
46
|
+
setSelectedKeys(defaultSelectedKeys);
|
|
47
|
+
setColumns(defaultColumns);
|
|
55
48
|
}, [propsColumns]);
|
|
56
49
|
const defaultSelectedKeys = (0, _react.useMemo)(() => {
|
|
57
50
|
return (0, _hooks.getVisibleColumnKeys)(propsColumns);
|
|
58
51
|
}, [propsColumns]);
|
|
59
52
|
|
|
60
|
-
//
|
|
61
|
-
// const searchRef: any = useRef()
|
|
53
|
+
// console.log('defaultSelectedKeys', defaultSelectedKeys)
|
|
62
54
|
|
|
63
|
-
const [columns] = (0, _react.useState)(defaultColumns);
|
|
64
55
|
const [clicked, setClicked] = (0, _react.useState)(false);
|
|
65
56
|
const [autoExpandParent, setAutoExpandParent] = (0, _react.useState)(true);
|
|
66
57
|
// const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]);
|
|
67
|
-
const [searchValue, setSearchValue] =
|
|
68
|
-
|
|
69
|
-
const treeData =
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
58
|
+
// const [searchValue, setSearchValue] = useState('');
|
|
59
|
+
|
|
60
|
+
// const treeData = useMemo(() => {
|
|
61
|
+
// const loop = (data: TreeDataNode[]): TreeDataNode[] =>
|
|
62
|
+
// data.map((item) => {
|
|
63
|
+
// const strTitle = item.title as string;
|
|
64
|
+
// const index = strTitle.indexOf(searchValue);
|
|
65
|
+
// const beforeStr = strTitle.substring(0, index);
|
|
66
|
+
// const afterStr = strTitle.slice(index + searchValue.length);
|
|
67
|
+
// const title =
|
|
68
|
+
// index > -1 ? (
|
|
69
|
+
// <span key={item.key}>
|
|
70
|
+
// {beforeStr}
|
|
71
|
+
// <span className="site-tree-search-value">{searchValue}</span>
|
|
72
|
+
// {afterStr}
|
|
73
|
+
// </span>
|
|
74
|
+
// ) : (
|
|
75
|
+
// <span key={item.key}>{strTitle}</span>
|
|
76
|
+
// );
|
|
77
|
+
// if (item.children) {
|
|
78
|
+
// return { title, key: item.key, children: loop(item.children) };
|
|
79
|
+
// }
|
|
80
|
+
//
|
|
81
|
+
// return {
|
|
82
|
+
// title,
|
|
83
|
+
// key: item.key,
|
|
84
|
+
// };
|
|
85
|
+
// });
|
|
86
|
+
//
|
|
87
|
+
// // return loop(defaultData);
|
|
88
|
+
// return loop(columns as any);
|
|
89
|
+
// }, [searchValue, columns]);
|
|
94
90
|
|
|
95
|
-
// return loop(defaultData);
|
|
96
|
-
return loop(columns);
|
|
97
|
-
}, [searchValue]);
|
|
98
91
|
const hide = () => {
|
|
99
92
|
setClicked(false);
|
|
100
93
|
};
|
|
@@ -121,10 +114,9 @@ const ColumnsChoose = props => {
|
|
|
121
114
|
// return parentKey!
|
|
122
115
|
// }
|
|
123
116
|
|
|
124
|
-
const onChange = e => {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
} = e.target;
|
|
117
|
+
// const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
118
|
+
const onChange = () => {
|
|
119
|
+
// const { value } = e.target
|
|
128
120
|
// const newExpandedKeys = dataList
|
|
129
121
|
// .map((item) => {
|
|
130
122
|
// if (item.title.indexOf(value) > -1) {
|
|
@@ -134,14 +126,15 @@ const ColumnsChoose = props => {
|
|
|
134
126
|
// })
|
|
135
127
|
// .filter((item, i, self): item is React.Key => !!(item && self.indexOf(item) === i))
|
|
136
128
|
// setExpandedKeys(newExpandedKeys)
|
|
137
|
-
|
|
129
|
+
|
|
130
|
+
// setSearchValue(value)
|
|
138
131
|
setAutoExpandParent(true);
|
|
139
132
|
};
|
|
140
133
|
const onCheck = keys => {
|
|
141
134
|
setSelectedKeys(keys);
|
|
142
135
|
};
|
|
143
136
|
const handleAccept = () => {
|
|
144
|
-
const rs1 = (0, _hooks.updateColumns)(
|
|
137
|
+
const rs1 = (0, _hooks.updateColumns)(propsColumns, selectedKeys);
|
|
145
138
|
changeHiddenColumn(rs1);
|
|
146
139
|
hide();
|
|
147
140
|
};
|
|
@@ -155,18 +148,21 @@ const ColumnsChoose = props => {
|
|
|
155
148
|
style: {
|
|
156
149
|
minWidth: 250
|
|
157
150
|
}
|
|
158
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Input, {
|
|
159
152
|
style: {
|
|
160
153
|
marginBottom: 8
|
|
161
154
|
},
|
|
162
155
|
placeholder: "Search",
|
|
156
|
+
prefix: /*#__PURE__*/_react.default.createElement(_SearchOutlined.default, null),
|
|
163
157
|
onChange: onChange
|
|
164
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
158
|
+
}), /*#__PURE__*/_react.default.createElement(_tree.default, {
|
|
165
159
|
onExpand: onExpand
|
|
166
160
|
// expandedKeys={expandedKeys}
|
|
167
161
|
,
|
|
168
|
-
autoExpandParent: autoExpandParent
|
|
169
|
-
|
|
162
|
+
autoExpandParent: autoExpandParent
|
|
163
|
+
// treeData={treeData}
|
|
164
|
+
,
|
|
165
|
+
treeData: columns,
|
|
170
166
|
defaultExpandAll: true,
|
|
171
167
|
checkable: true
|
|
172
168
|
// onSelect={(keys, info) => {
|
package/lib/FilterSearch.js
CHANGED
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons/SearchOutlined"));
|
|
10
|
-
var
|
|
10
|
+
var _rcMasterUi = require("rc-master-ui");
|
|
11
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); }
|
|
12
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; }
|
|
13
13
|
const FilterSearch = props => {
|
|
@@ -27,7 +27,7 @@ const FilterSearch = props => {
|
|
|
27
27
|
paddingLeft: 0,
|
|
28
28
|
paddingRight: 0
|
|
29
29
|
}
|
|
30
|
-
}, /*#__PURE__*/React.createElement(
|
|
30
|
+
}, /*#__PURE__*/React.createElement(_rcMasterUi.Input, {
|
|
31
31
|
prefix: /*#__PURE__*/React.createElement(_SearchOutlined.default, null),
|
|
32
32
|
placeholder: locale.filterSearchPlaceholder,
|
|
33
33
|
onChange: onChange,
|
|
@@ -3,5 +3,5 @@ import 'dayjs/locale/es';
|
|
|
3
3
|
import 'dayjs/locale/vi';
|
|
4
4
|
import './styles.scss';
|
|
5
5
|
import type { GridTableProps } from "./type";
|
|
6
|
-
declare const
|
|
7
|
-
export default
|
|
6
|
+
declare const InternalTable: <RecordType extends object>(props: GridTableProps<RecordType>) => React.JSX.Element;
|
|
7
|
+
export default InternalTable;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _rcMasterUi = require("rc-master-ui");
|
|
11
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
12
|
+
require("dayjs/locale/es");
|
|
13
|
+
require("dayjs/locale/vi");
|
|
14
|
+
require("./styles.scss");
|
|
15
|
+
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
var _TableGrid = _interopRequireDefault(require("./TableGrid"));
|
|
18
|
+
var _reactResizable = require("react-resizable");
|
|
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); }
|
|
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; }
|
|
21
|
+
// import {ColumnsChoose} from "./ColumnsChoose";
|
|
22
|
+
|
|
23
|
+
_dayjs.default.extend(_customParseFormat.default);
|
|
24
|
+
const ResizableTitle = props => {
|
|
25
|
+
const {
|
|
26
|
+
onResize,
|
|
27
|
+
width,
|
|
28
|
+
...restProps
|
|
29
|
+
} = props;
|
|
30
|
+
if (!width) {
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement("th", restProps);
|
|
32
|
+
}
|
|
33
|
+
return (
|
|
34
|
+
/*#__PURE__*/
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
_react.default.createElement(_reactResizable.Resizable, {
|
|
37
|
+
width: width,
|
|
38
|
+
height: 0,
|
|
39
|
+
handle: /*#__PURE__*/_react.default.createElement("span", {
|
|
40
|
+
className: "react-resizable-handle",
|
|
41
|
+
onClick: e => {
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
}
|
|
44
|
+
}),
|
|
45
|
+
onResize: onResize,
|
|
46
|
+
draggableOpts: {
|
|
47
|
+
enableUserSelectHack: false
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement("th", restProps))
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
const GridStyle = _styledComponents.default.div.withConfig({
|
|
53
|
+
displayName: "GridStyle",
|
|
54
|
+
componentId: "es-grid-template__sc-1fs85vo-0"
|
|
55
|
+
})([".ui-rc-pagination{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin:0;padding:.75rem 1rem;.ui-rc-pagination-total-text{order:2;margin-left:auto;}&::before{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;left:0;}&::after{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;visibility:visible;right:0;}}"], props => props.heightTable ? typeof props.heightTable === 'string' ? props.heightTable : `${props.heightTable}px` : undefined, props => props.heightTable ? `${props.heightTable}px` : undefined);
|
|
56
|
+
const InternalTable = props => {
|
|
57
|
+
const {
|
|
58
|
+
columns,
|
|
59
|
+
// title,
|
|
60
|
+
dataSource,
|
|
61
|
+
// toolbarItems,
|
|
62
|
+
// showColumnChoose,
|
|
63
|
+
...rest
|
|
64
|
+
} = props;
|
|
65
|
+
const [tmpColumns, setColumns] = (0, _react.useState)([]);
|
|
66
|
+
(0, _react.useEffect)(() => {
|
|
67
|
+
const rs = columns ? [_rcMasterUi.Table.SELECTION_COLUMN, ...columns] : [];
|
|
68
|
+
setColumns(rs);
|
|
69
|
+
}, [columns]);
|
|
70
|
+
const handleResize = indexPath => (e, {
|
|
71
|
+
size
|
|
72
|
+
}) => {
|
|
73
|
+
const updateColumns = (cols, path) => {
|
|
74
|
+
const [currentIndex, ...restPath] = path;
|
|
75
|
+
return cols.map((col, idx) => {
|
|
76
|
+
if (idx === currentIndex) {
|
|
77
|
+
if (restPath.length === 0) {
|
|
78
|
+
// Cập nhật width của cột cuối cùng trong path
|
|
79
|
+
// return { ...col, width: size.width }
|
|
80
|
+
|
|
81
|
+
// Kiểm tra minWidth trước khi cập nhật width
|
|
82
|
+
if (col.minWidth && size.width < col.minWidth) {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
return col; // Không cập nhật nếu nhỏ hơn minWidth
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Kiểm tra minWidth trước khi cập nhật width
|
|
88
|
+
if (col.maxWidth && size.width > col.maxWidth) {
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
return col; // Không cập nhật nếu nhỏ hơn minWidth
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
...col,
|
|
94
|
+
width: size.width
|
|
95
|
+
};
|
|
96
|
+
} else if (col.children) {
|
|
97
|
+
// Tiếp tục cập nhật các cấp con
|
|
98
|
+
return {
|
|
99
|
+
...col,
|
|
100
|
+
children: updateColumns(col.children, restPath)
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// e.preventDefault()
|
|
105
|
+
return col;
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
setColumns(prevColumns => updateColumns(prevColumns, indexPath));
|
|
109
|
+
};
|
|
110
|
+
const addResizeHandlers = _react.default.useCallback((cols, parentPath = []) => {
|
|
111
|
+
return cols.map((col, index) => {
|
|
112
|
+
const currentPath = [...parentPath, index];
|
|
113
|
+
if (!col?.dataIndex && !col.key) {
|
|
114
|
+
return col;
|
|
115
|
+
}
|
|
116
|
+
if (col.children) {
|
|
117
|
+
return {
|
|
118
|
+
...col,
|
|
119
|
+
title: col.headerText ?? col.title,
|
|
120
|
+
ellipsis: col.ellipsis !== false,
|
|
121
|
+
children: addResizeHandlers(col.children, currentPath)
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
...col,
|
|
126
|
+
title: col.headerText ?? col.title,
|
|
127
|
+
ellipsis: col.ellipsis !== false,
|
|
128
|
+
onHeaderCell: () => ({
|
|
129
|
+
width: col.width,
|
|
130
|
+
onResize: handleResize(currentPath)
|
|
131
|
+
})
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
}, []);
|
|
135
|
+
const resizableColumns = _react.default.useMemo(() => {
|
|
136
|
+
return addResizeHandlers(tmpColumns);
|
|
137
|
+
}, [addResizeHandlers, tmpColumns]);
|
|
138
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(GridStyle, {
|
|
139
|
+
heightTable: props.style?.minHeight,
|
|
140
|
+
style: {
|
|
141
|
+
position: 'relative'
|
|
142
|
+
}
|
|
143
|
+
}, /*#__PURE__*/_react.default.createElement(_TableGrid.default, (0, _extends2.default)({}, rest, {
|
|
144
|
+
dataSource: dataSource,
|
|
145
|
+
components: {
|
|
146
|
+
header: {
|
|
147
|
+
cell: ResizableTitle
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
columns: resizableColumns,
|
|
151
|
+
setColumns: setColumns,
|
|
152
|
+
showSorterTooltip: {
|
|
153
|
+
target: 'sorter-icon'
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// title={() => {
|
|
157
|
+
// return (
|
|
158
|
+
// <Fragment>
|
|
159
|
+
// <div>
|
|
160
|
+
// {title?.(dataSource as any)}
|
|
161
|
+
// </div>
|
|
162
|
+
//
|
|
163
|
+
//
|
|
164
|
+
// {(toolbarItems || showColumnChoose !== false) && (
|
|
165
|
+
// <div style={{display: 'flex', justifyContent: 'space-between'}}>
|
|
166
|
+
//
|
|
167
|
+
// <Toolbar
|
|
168
|
+
// style={{width: '100%'}}
|
|
169
|
+
// items={toolbarItems ?? []}
|
|
170
|
+
// mode={'responsive'}
|
|
171
|
+
// // mode={'scroll'}
|
|
172
|
+
// onClick={(val: any) => {
|
|
173
|
+
// console.log(val)
|
|
174
|
+
// }}
|
|
175
|
+
// />
|
|
176
|
+
//
|
|
177
|
+
// {showColumnChoose && (
|
|
178
|
+
// <ColumnsChoose
|
|
179
|
+
// columns={resizableColumns}
|
|
180
|
+
// setColumns={setColumns}
|
|
181
|
+
// />
|
|
182
|
+
// )}
|
|
183
|
+
//
|
|
184
|
+
// <div />
|
|
185
|
+
// </div>
|
|
186
|
+
// )}
|
|
187
|
+
//
|
|
188
|
+
//
|
|
189
|
+
// </Fragment>
|
|
190
|
+
// )
|
|
191
|
+
// }}
|
|
192
|
+
}))));
|
|
193
|
+
};
|
|
194
|
+
var _default = exports.default = InternalTable;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
const SpinnerStyle = _styledComponents.default.div.withConfig({
|
|
13
|
+
displayName: "SpinnerStyle",
|
|
14
|
+
componentId: "es-grid-template__sc-180f2ml-0"
|
|
15
|
+
})(["width:1em;height:1em;font-size:20px;display:inline-block;transition:transform 0.3s ease,opacity 0.3s ease;transform-origin:50% 50%;line-height:1;.loading{position:absolute;top:50%;inset-inline-start:50%;margin:-10px;width:55px;height:55px;border-radius:50%;border:3px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;.effect-1,.effect-2,.effect-3{width:36px;height:36px;border-radius:50%;border:3px solid transparent;border-left:3px solid #eb4619;-webkit-box-sizing:border-box;box-sizing:border-box;}.effect-1{position:absolute;animation:rotate 1s ease infinite;}.effect-2{position:absolute;animation:rotateOpacity 1s ease infinite 0.1s;}.effect-3{-webkit-animation:rotateOpacity 1s ease infinite 0.2s;animation:rotateOpacity 1s ease infinite 0.2s;}.loading .effects{transition:all 0.3s ease;}}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn);}}@keyframes rotateOpacity{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:0.1;}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:1;}}"]);
|
|
16
|
+
const ComponentSpinner = () => {
|
|
17
|
+
return /*#__PURE__*/React.createElement(SpinnerStyle, {
|
|
18
|
+
className: "fallback-spinner"
|
|
19
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
20
|
+
className: "loading"
|
|
21
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
className: "effect-1 effects"
|
|
23
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
className: "effect-2 effects"
|
|
25
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
className: "effect-3 effects"
|
|
27
|
+
})));
|
|
28
|
+
};
|
|
29
|
+
var _default = exports.default = ComponentSpinner;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import 'dayjs/locale/es';
|
|
3
|
+
import 'dayjs/locale/vi';
|
|
4
|
+
import './styles.scss';
|
|
5
|
+
import type { GridTableProps } from "./type";
|
|
6
|
+
type GridProps<T> = GridTableProps<T> & {
|
|
7
|
+
setColumns: any;
|
|
8
|
+
};
|
|
9
|
+
declare const TableGrid: <RecordType extends object>(props: GridProps<RecordType>) => React.JSX.Element;
|
|
10
|
+
export default TableGrid;
|