linkmore-design 1.0.82 → 1.0.83
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/dist/Form/style/index.d.ts +0 -3
- package/dist/LmEditTable/EditTable.d.ts +6 -0
- package/dist/LmEditTable/util.d.ts +1 -0
- package/dist/LmTable/components/customRenderEmpty.d.ts +2 -0
- package/dist/LmTable/demos/virtual.d.ts +2 -0
- package/dist/LmTable/util.d.ts +16 -0
- package/dist/LmTable/virTual/VirtualRow.d.ts +6 -0
- package/dist/LmTable/virTual/VirtualTable.d.ts +3 -0
- package/dist/LmTable/virTual/VirtualWrapper.d.ts +3 -0
- package/dist/LmTable/virTual/context.d.ts +13 -0
- package/dist/LmTable/virTual/index.d.ts +4 -0
- package/dist/TestTable/LmBox.d.ts +12 -0
- package/dist/TestTable/demos/basic.d.ts +6 -0
- package/dist/TestTable/index.d.ts +2 -0
- package/dist/TestTable/style/index.d.ts +1 -0
- package/dist/index.umd.js +764 -369
- package/dist/index.umd.min.js +3 -3
- package/es/Form/style/form.css +603 -0
- package/es/Form/style/grid.css +5185 -0
- package/es/Form/style/index.css +6 -1
- package/es/Form/style/index.d.ts +0 -3
- package/es/Form/style/index.js +0 -4
- package/es/Form/style/tooltip.css +275 -0
- package/es/LmEditTable/EditTable.d.ts +6 -0
- package/es/LmEditTable/EditTable.js +63 -81
- package/es/LmEditTable/sortableItemCol.js +6 -3
- package/es/LmEditTable/style/index.css +7 -0
- package/es/LmEditTable/util.d.ts +1 -0
- package/es/LmEditTable/util.js +5 -0
- package/es/LmTable/Table.js +308 -173
- package/es/LmTable/components/customRenderEmpty.d.ts +2 -0
- package/es/LmTable/components/customRenderEmpty.js +15 -0
- package/es/LmTable/components/sheelTableCell.js +14 -8
- package/es/LmTable/style/index.css +177 -152
- package/es/LmTable/util.js +105 -0
- package/es/LmTable/virTual/VirtualRow.d.ts +6 -0
- package/es/LmTable/virTual/VirtualRow.js +102 -0
- package/es/LmTable/virTual/VirtualTable.d.ts +3 -0
- package/es/LmTable/virTual/VirtualTable.js +52 -0
- package/es/LmTable/virTual/VirtualWrapper.d.ts +3 -0
- package/es/LmTable/virTual/VirtualWrapper.js +61 -0
- package/es/LmTable/virTual/context.d.ts +13 -0
- package/es/LmTable/virTual/context.js +54 -0
- package/es/LmTable/virTual/index.d.ts +4 -0
- package/es/LmTable/virTual/index.js +4 -0
- package/es/TestTable/LmBox.d.ts +12 -0
- package/es/TestTable/LmBox.js +6 -0
- package/es/TestTable/index.d.ts +2 -0
- package/es/TestTable/index.js +2 -0
- package/es/TestTable/style/index.css +10 -0
- package/es/TestTable/style/index.js +3 -0
- package/es/hooks/useFullscreen/index.js +23 -2
- package/lib/Form/style/form.css +603 -0
- package/lib/Form/style/grid.css +5185 -0
- package/lib/Form/style/index.css +6 -1
- package/lib/Form/style/index.d.ts +0 -3
- package/lib/Form/style/index.js +0 -6
- package/lib/Form/style/tooltip.css +275 -0
- package/lib/LmEditTable/EditTable.d.ts +6 -0
- package/lib/LmEditTable/EditTable.js +64 -80
- package/lib/LmEditTable/sortableItemCol.js +6 -3
- package/lib/LmEditTable/style/index.css +7 -0
- package/lib/LmEditTable/util.d.ts +1 -0
- package/lib/LmEditTable/util.js +12 -0
- package/lib/LmTable/Table.js +308 -173
- package/lib/LmTable/components/customRenderEmpty.d.ts +2 -0
- package/lib/LmTable/components/customRenderEmpty.js +25 -0
- package/lib/LmTable/components/sheelTableCell.js +14 -8
- package/lib/LmTable/style/index.css +177 -152
- package/lib/LmTable/util.js +105 -0
- package/lib/LmTable/virTual/VirtualRow.d.ts +6 -0
- package/lib/LmTable/virTual/VirtualRow.js +115 -0
- package/lib/LmTable/virTual/VirtualTable.d.ts +3 -0
- package/lib/LmTable/virTual/VirtualTable.js +69 -0
- package/lib/LmTable/virTual/VirtualWrapper.d.ts +3 -0
- package/lib/LmTable/virTual/VirtualWrapper.js +74 -0
- package/lib/LmTable/virTual/context.d.ts +13 -0
- package/lib/LmTable/virTual/context.js +64 -0
- package/lib/LmTable/virTual/index.d.ts +4 -0
- package/lib/LmTable/virTual/index.js +31 -0
- package/lib/TestTable/LmBox.d.ts +12 -0
- package/lib/TestTable/LmBox.js +17 -0
- package/lib/TestTable/index.d.ts +2 -0
- package/lib/TestTable/index.js +13 -0
- package/lib/TestTable/style/index.css +10 -0
- package/lib/TestTable/style/index.js +3 -0
- package/lib/hooks/useFullscreen/index.js +23 -2
- package/package.json +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.checkIsSelectd = checkIsSelectd;
|
|
9
|
+
exports.checkStatus = checkStatus;
|
|
10
|
+
exports.transformWithColGroup = transformWithColGroup;
|
|
11
|
+
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 列分组数据转换
|
|
18
|
+
* @param columns 表格的columns属性值
|
|
19
|
+
* @param dataSource 表格数据源
|
|
20
|
+
* @param columnKeys 列分组的keys
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
function transformWithColGroup(columns, dataSource, columnKeys) {
|
|
24
|
+
if (!Array.isArray(columnKeys) || !columnKeys.length) {
|
|
25
|
+
return {
|
|
26
|
+
columns: columns,
|
|
27
|
+
dataSource: dataSource
|
|
28
|
+
};
|
|
29
|
+
} // 去重
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
columnKeys = (0, _toConsumableArray2.default)(new Set(columnKeys));
|
|
33
|
+
|
|
34
|
+
var groupBy = function groupBy(lastFilter, columns, oGroup, markStr) {
|
|
35
|
+
if (!(oGroup === null || oGroup === void 0 ? void 0 : oGroup.length)) {
|
|
36
|
+
return columns.filter(function (c) {
|
|
37
|
+
return columnKeys.indexOf(c.dataIndex) === -1;
|
|
38
|
+
}).map(function (item) {
|
|
39
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
40
|
+
dataIndex: "".concat(markStr, "_").concat(item.dataIndex)
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var group = oGroup.slice();
|
|
46
|
+
var filterKey = group.shift();
|
|
47
|
+
var map = lastFilter.reduce(function (acc, el) {
|
|
48
|
+
var value = el[filterKey];
|
|
49
|
+
acc[value] = [].concat((0, _toConsumableArray2.default)(acc[value] || []), [el]);
|
|
50
|
+
return acc;
|
|
51
|
+
}, {});
|
|
52
|
+
return Object.keys(map).map(function (item) {
|
|
53
|
+
return {
|
|
54
|
+
type: filterKey,
|
|
55
|
+
title: item,
|
|
56
|
+
key: "".concat(item, "_").concat(filterKey),
|
|
57
|
+
children: groupBy(map[item], columns, group, "".concat(markStr ? markStr + '_' : '').concat(filterKey, "_").concat(item))
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var _columns = groupBy(dataSource, columns, columnKeys, null);
|
|
63
|
+
|
|
64
|
+
var _dataSource = [dataSource.reduce(function (prev, cur) {
|
|
65
|
+
var str = '';
|
|
66
|
+
columnKeys.forEach(function (dataIndex, i) {
|
|
67
|
+
if (i !== 0) {
|
|
68
|
+
str += '_';
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
str += "".concat(dataIndex, "_").concat(cur[dataIndex]);
|
|
72
|
+
});
|
|
73
|
+
Object.keys(cur).forEach(function (key) {
|
|
74
|
+
cur["".concat(str, "_").concat(key)] = cur[key];
|
|
75
|
+
});
|
|
76
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), cur);
|
|
77
|
+
}, {})];
|
|
78
|
+
return {
|
|
79
|
+
columns: _columns,
|
|
80
|
+
dataSource: _dataSource
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function checkIsSelectd(i, j) {
|
|
85
|
+
var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
86
|
+
var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
87
|
+
var posX = j >= start.j && j <= end.j;
|
|
88
|
+
var negX = j <= start.j && j >= end.j;
|
|
89
|
+
var posY = i >= start.i && i <= end.i;
|
|
90
|
+
var negY = i <= start.i && i >= end.i;
|
|
91
|
+
return posX && posY || negX && posY || negX && negY || posX && negY;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function checkStatus(i, j, commiting) {
|
|
95
|
+
var start = commiting.start,
|
|
96
|
+
end = commiting.end;
|
|
97
|
+
var maxi = Math.max(start === null || start === void 0 ? void 0 : start.i, end.i);
|
|
98
|
+
var mini = Math.min(start === null || start === void 0 ? void 0 : start.i, end.i);
|
|
99
|
+
var maxj = Math.max(start === null || start === void 0 ? void 0 : start.j, end.j);
|
|
100
|
+
var minj = Math.min(start === null || start === void 0 ? void 0 : start.j, end.j);
|
|
101
|
+
return {
|
|
102
|
+
/** 是否有效拉伸 */
|
|
103
|
+
isVaildCommit: mini <= i && maxi >= i || minj <= j && maxj >= j
|
|
104
|
+
};
|
|
105
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _context = require("./context");
|
|
13
|
+
|
|
14
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
15
|
+
var t = {};
|
|
16
|
+
|
|
17
|
+
for (var p in s) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var VirtualRow = /*#__PURE__*/_react.default.memo(function (_a, ref) {
|
|
28
|
+
var children = _a.children,
|
|
29
|
+
resetProps = __rest(_a, ["children"]);
|
|
30
|
+
|
|
31
|
+
var _useStore = (0, _context.useStore)(),
|
|
32
|
+
state = _useStore.state,
|
|
33
|
+
dispatch = _useStore.dispatch,
|
|
34
|
+
instance = _useStore.instance;
|
|
35
|
+
|
|
36
|
+
var rowHeight = state.rowHeight,
|
|
37
|
+
totalLen = state.totalLen;
|
|
38
|
+
var virtualItems = instance.columnVirtual.virtualItems;
|
|
39
|
+
var trRef = (0, _react.useRef)(null); // 列长度
|
|
40
|
+
|
|
41
|
+
var columnsLen = (0, _react.useMemo)(function () {
|
|
42
|
+
var _a;
|
|
43
|
+
|
|
44
|
+
return (_a = children === null || children === void 0 ? void 0 : children.length) !== null && _a !== void 0 ? _a : 0;
|
|
45
|
+
}, [children]);
|
|
46
|
+
(0, _react.useEffect)(function () {
|
|
47
|
+
if (state.columnsLen !== columnsLen) {
|
|
48
|
+
dispatch({
|
|
49
|
+
type: 'changeColumnsLen',
|
|
50
|
+
columnsLen: columnsLen !== null && columnsLen !== void 0 ? columnsLen : 0
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}, [columnsLen, dispatch, state.columnsLen]);
|
|
54
|
+
(0, _react.useEffect)(function () {
|
|
55
|
+
var initHeight = function initHeight(tempRef) {
|
|
56
|
+
var _a, _b, _c;
|
|
57
|
+
|
|
58
|
+
if (((_a = tempRef === null || tempRef === void 0 ? void 0 : tempRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) && !rowHeight && totalLen) {
|
|
59
|
+
var tempRowHeight = (_c = (_b = tempRef === null || tempRef === void 0 ? void 0 : tempRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) !== null && _c !== void 0 ? _c : 0;
|
|
60
|
+
dispatch({
|
|
61
|
+
type: 'initHeight',
|
|
62
|
+
rowHeight: tempRowHeight
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
initHeight(Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef);
|
|
68
|
+
}, [trRef, dispatch, rowHeight, totalLen, ref]); // return {fixedLeft: [], fixedRight: [], columns: []}
|
|
69
|
+
|
|
70
|
+
var fixedColumns = (0, _react.useMemo)(function () {
|
|
71
|
+
return children === null || children === void 0 ? void 0 : children.reduce(function (pre, cur) {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
|
|
74
|
+
if (typeof ((_a = cur.props) === null || _a === void 0 ? void 0 : _a.fixLeft) === 'number') {
|
|
75
|
+
pre.fixedLeft.push(cur);
|
|
76
|
+
return pre;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (typeof ((_b = cur.props) === null || _b === void 0 ? void 0 : _b.fixRight) === 'number') {
|
|
80
|
+
pre.fixedRight.push(cur);
|
|
81
|
+
return pre;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
pre.columns.push(cur);
|
|
85
|
+
return pre;
|
|
86
|
+
}, {
|
|
87
|
+
fixedLeft: [],
|
|
88
|
+
fixedRight: [],
|
|
89
|
+
columns: []
|
|
90
|
+
});
|
|
91
|
+
}, [children]); // 截取非固定列
|
|
92
|
+
|
|
93
|
+
var resetVirtualItems = (0, _react.useMemo)(function () {
|
|
94
|
+
var fixedLeft = fixedColumns.fixedLeft,
|
|
95
|
+
columns = fixedColumns.columns;
|
|
96
|
+
return virtualItems.slice(fixedLeft.length, fixedLeft.length + columns.length);
|
|
97
|
+
}, [fixedColumns, virtualItems]); // 横线单元格合并
|
|
98
|
+
|
|
99
|
+
var colSpan = (0, _react.useMemo)(function () {
|
|
100
|
+
var _a;
|
|
101
|
+
|
|
102
|
+
var startIndex = ((_a = resetVirtualItems === null || resetVirtualItems === void 0 ? void 0 : resetVirtualItems[0]) === null || _a === void 0 ? void 0 : _a.index) || 0;
|
|
103
|
+
return startIndex ? startIndex - fixedColumns.fixedLeft.length : startIndex;
|
|
104
|
+
}, [fixedColumns, resetVirtualItems]);
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement("tr", Object.assign({}, resetProps, {
|
|
106
|
+
ref: Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef
|
|
107
|
+
}), fixedColumns.fixedLeft, !!colSpan && /*#__PURE__*/_react.default.createElement("td", {
|
|
108
|
+
colSpan: colSpan
|
|
109
|
+
}), resetVirtualItems.map(function (virtualCol) {
|
|
110
|
+
return children[virtualCol.index];
|
|
111
|
+
}), fixedColumns.fixedRight);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
var _default = VirtualRow;
|
|
115
|
+
exports.default = _default;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _reactVirtual = require("react-virtual");
|
|
17
|
+
|
|
18
|
+
var _context = require("./context");
|
|
19
|
+
|
|
20
|
+
var VirtualTable = /*#__PURE__*/_react.default.memo(function (tableProps) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
|
|
23
|
+
var bodyRef = (0, _react.useRef)(null);
|
|
24
|
+
|
|
25
|
+
var _useRealive = (0, _context.useRealive)(),
|
|
26
|
+
_useRealive2 = (0, _slicedToArray2.default)(_useRealive, 2),
|
|
27
|
+
state = _useRealive2[0],
|
|
28
|
+
dispatch = _useRealive2[1]; // { totalSize, virtualItems }
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
var rowVirtual = (0, _reactVirtual.useVirtual)({
|
|
32
|
+
size: state.totalLen,
|
|
33
|
+
// 绑定父节点
|
|
34
|
+
parentRef: {
|
|
35
|
+
current: (_a = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _a === void 0 ? void 0 : _a.parentNode
|
|
36
|
+
},
|
|
37
|
+
estimateSize: _react.default.useCallback(function () {
|
|
38
|
+
return state.rowHeight;
|
|
39
|
+
}, [state.rowHeight]),
|
|
40
|
+
overscan: 5
|
|
41
|
+
});
|
|
42
|
+
var columnVirtual = (0, _reactVirtual.useVirtual)({
|
|
43
|
+
horizontal: true,
|
|
44
|
+
size: state.columnsLen,
|
|
45
|
+
parentRef: {
|
|
46
|
+
current: (_b = bodyRef === null || bodyRef === void 0 ? void 0 : bodyRef.current) === null || _b === void 0 ? void 0 : _b.parentNode
|
|
47
|
+
},
|
|
48
|
+
estimateSize: _react.default.useCallback(function () {
|
|
49
|
+
return 200;
|
|
50
|
+
}, [200]),
|
|
51
|
+
overscan: 5
|
|
52
|
+
});
|
|
53
|
+
var instance = {
|
|
54
|
+
rowVirtual: rowVirtual,
|
|
55
|
+
columnVirtual: columnVirtual
|
|
56
|
+
};
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_context.TableContext.Provider, {
|
|
58
|
+
value: {
|
|
59
|
+
state: state,
|
|
60
|
+
dispatch: dispatch,
|
|
61
|
+
instance: instance
|
|
62
|
+
}
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement("table", Object.assign({
|
|
64
|
+
ref: bodyRef
|
|
65
|
+
}, tableProps)));
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
var _default = VirtualTable;
|
|
69
|
+
exports.default = _default;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _context = require("./context");
|
|
13
|
+
|
|
14
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
15
|
+
var t = {};
|
|
16
|
+
|
|
17
|
+
for (var p in s) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var VirtualWrapper = /*#__PURE__*/_react.default.memo(function (wrapperProps) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
|
|
30
|
+
var _c = wrapperProps,
|
|
31
|
+
children = _c.children,
|
|
32
|
+
resetProps = __rest(_c, ["children"]);
|
|
33
|
+
|
|
34
|
+
var _useStore = (0, _context.useStore)(),
|
|
35
|
+
state = _useStore.state,
|
|
36
|
+
dispatch = _useStore.dispatch,
|
|
37
|
+
instance = _useStore.instance;
|
|
38
|
+
|
|
39
|
+
var _instance$rowVirtual = instance.rowVirtual,
|
|
40
|
+
virtualItems = _instance$rowVirtual.virtualItems,
|
|
41
|
+
totalSize = _instance$rowVirtual.totalSize;
|
|
42
|
+
var contents = (0, _react.useMemo)(function () {
|
|
43
|
+
return children[1];
|
|
44
|
+
}, [children]);
|
|
45
|
+
var contentsLen = (0, _react.useMemo)(function () {
|
|
46
|
+
var _a;
|
|
47
|
+
|
|
48
|
+
return (_a = contents === null || contents === void 0 ? void 0 : contents.length) !== null && _a !== void 0 ? _a : 0;
|
|
49
|
+
}, [contents]);
|
|
50
|
+
(0, _react.useEffect)(function () {
|
|
51
|
+
if (state.totalLen !== contentsLen) {
|
|
52
|
+
dispatch({
|
|
53
|
+
type: 'changeTotalLen',
|
|
54
|
+
totalLen: contentsLen !== null && contentsLen !== void 0 ? contentsLen : 0
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}, [contentsLen, dispatch, state.totalLen]);
|
|
58
|
+
var paddingTop = virtualItems.length > 0 ? ((_a = virtualItems === null || virtualItems === void 0 ? void 0 : virtualItems[0]) === null || _a === void 0 ? void 0 : _a.start) || 0 : 0;
|
|
59
|
+
var paddingBottom = virtualItems.length > 0 ? totalSize - (((_b = virtualItems === null || virtualItems === void 0 ? void 0 : virtualItems[virtualItems.length - 1]) === null || _b === void 0 ? void 0 : _b.end) || 0) : 0;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement("tbody", Object.assign({}, resetProps), paddingTop > 0 && /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", {
|
|
61
|
+
style: {
|
|
62
|
+
height: "".concat(paddingTop, "px")
|
|
63
|
+
}
|
|
64
|
+
})), children[0], virtualItems.map(function (virtualRow) {
|
|
65
|
+
return contents[virtualRow.index];
|
|
66
|
+
}), paddingBottom > 0 && /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", {
|
|
67
|
+
style: {
|
|
68
|
+
height: "".concat(paddingBottom, "px")
|
|
69
|
+
}
|
|
70
|
+
})));
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
var _default = VirtualWrapper;
|
|
74
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const TableContext: import("react").Context<{
|
|
3
|
+
state: any;
|
|
4
|
+
dispatch: any;
|
|
5
|
+
instance: any;
|
|
6
|
+
}>;
|
|
7
|
+
declare const useStore: () => {
|
|
8
|
+
state: any;
|
|
9
|
+
dispatch: any;
|
|
10
|
+
instance: any;
|
|
11
|
+
};
|
|
12
|
+
declare const useRealive: () => [any, import("react").Dispatch<any>];
|
|
13
|
+
export { TableContext, useStore, useRealive };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useStore = exports.useRealive = exports.TableContext = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
// =============== context ============== //
|
|
11
|
+
var TableContext = /*#__PURE__*/(0, _react.createContext)({
|
|
12
|
+
state: null,
|
|
13
|
+
dispatch: null,
|
|
14
|
+
instance: {}
|
|
15
|
+
});
|
|
16
|
+
exports.TableContext = TableContext;
|
|
17
|
+
|
|
18
|
+
var useStore = function useStore() {
|
|
19
|
+
return (0, _react.useContext)(TableContext);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.useStore = useStore;
|
|
23
|
+
var initialState = {
|
|
24
|
+
// 行高度
|
|
25
|
+
rowHeight: 0,
|
|
26
|
+
columnsLen: 0,
|
|
27
|
+
// 总行数
|
|
28
|
+
totalLen: 0
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var reducer = function reducer(state, action) {
|
|
32
|
+
var totalLen = action.totalLen,
|
|
33
|
+
columnsLen = action.columnsLen,
|
|
34
|
+
rowHeight = action.rowHeight;
|
|
35
|
+
|
|
36
|
+
switch (action.type) {
|
|
37
|
+
// 数据数量
|
|
38
|
+
case 'changeTotalLen':
|
|
39
|
+
return Object.assign(Object.assign({}, state), {
|
|
40
|
+
totalLen: totalLen
|
|
41
|
+
});
|
|
42
|
+
// 列数量
|
|
43
|
+
|
|
44
|
+
case 'changeColumnsLen':
|
|
45
|
+
return Object.assign(Object.assign({}, state), {
|
|
46
|
+
columnsLen: columnsLen
|
|
47
|
+
});
|
|
48
|
+
// 初始化行高度
|
|
49
|
+
|
|
50
|
+
case 'initHeight':
|
|
51
|
+
return Object.assign(Object.assign({}, state), {
|
|
52
|
+
rowHeight: rowHeight
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
default:
|
|
56
|
+
throw new Error();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var useRealive = function useRealive() {
|
|
61
|
+
return (0, _react.useReducer)(reducer, initialState);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.useRealive = useRealive;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "VirtualRow", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _VirtualRow.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "VirtualTable", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _VirtualTable.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "VirtualWrapper", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _VirtualWrapper.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _VirtualTable = _interopRequireDefault(require("./VirtualTable"));
|
|
28
|
+
|
|
29
|
+
var _VirtualWrapper = _interopRequireDefault(require("./VirtualWrapper"));
|
|
30
|
+
|
|
31
|
+
var _VirtualRow = _interopRequireDefault(require("./VirtualRow"));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export interface BoxProps {
|
|
3
|
+
ref?: any;
|
|
4
|
+
size?: string;
|
|
5
|
+
items?: any;
|
|
6
|
+
itemRender?: ({ cell, instance }: {
|
|
7
|
+
cell: any;
|
|
8
|
+
instance: any;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const LmBox: React.FC<BoxProps>;
|
|
12
|
+
export default LmBox;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var LmBox = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
13
|
+
(0, _react.useRef)(null);
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement("div", null, "333");
|
|
15
|
+
});
|
|
16
|
+
var _default = LmBox;
|
|
17
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _LmBox = _interopRequireDefault(require("./LmBox"));
|
|
11
|
+
|
|
12
|
+
var _default = _LmBox.default;
|
|
13
|
+
exports.default = _default;
|
|
@@ -39,7 +39,7 @@ var getTargetElement = function getTargetElement(target, defaultElement) {
|
|
|
39
39
|
return targetElement;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
var fullScreenCssText = 'position: fixed;width: 100%;height:100%;top:0;left:0;z-index:
|
|
42
|
+
var fullScreenCssText = 'position: fixed;width: 100%;height:100%;top:0;left:0;z-index:1100;background-color: #fff;padding: 16px;';
|
|
43
43
|
|
|
44
44
|
var useFullscreen = function useFullscreen(target, options) {
|
|
45
45
|
var _ref = options || {},
|
|
@@ -53,8 +53,11 @@ var useFullscreen = function useFullscreen(target, options) {
|
|
|
53
53
|
|
|
54
54
|
var originCssTextRef = (0, _react.useRef)('');
|
|
55
55
|
var eleRef = (0, _react.useRef)(null);
|
|
56
|
+
var cloneEleRef = (0, _react.useRef)(null);
|
|
56
57
|
|
|
57
58
|
var enterFullscreen = function enterFullscreen() {
|
|
59
|
+
var _a;
|
|
60
|
+
|
|
58
61
|
onEnter === null || onEnter === void 0 ? void 0 : onEnter();
|
|
59
62
|
setIsFullscreen(true);
|
|
60
63
|
var el = getTargetElement(target);
|
|
@@ -65,15 +68,32 @@ var useFullscreen = function useFullscreen(target, options) {
|
|
|
65
68
|
originCssTextRef.current = originCssText;
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
eleRef.current.style.cssText = "".concat(originCssTextRef.current).concat(fullScreenCssText);
|
|
71
|
+
eleRef.current.style.cssText = "".concat(originCssTextRef.current).concat(fullScreenCssText);
|
|
72
|
+
|
|
73
|
+
try {
|
|
74
|
+
cloneEleRef.current = (_a = eleRef.current) === null || _a === void 0 ? void 0 : _a.cloneNode(true);
|
|
75
|
+
document.body.appendChild(cloneEleRef.current);
|
|
76
|
+
eleRef.current.style.cssText = "".concat(originCssTextRef.current).concat(fullScreenCssText, "display: none;");
|
|
77
|
+
} catch (_b) {
|
|
78
|
+
console.log('fullScreen error');
|
|
79
|
+
} // message.info({content: '使用 Esc 键可退出全屏模式', key: 'tip'})
|
|
80
|
+
|
|
69
81
|
};
|
|
70
82
|
|
|
71
83
|
var exitFullscreen = function exitFullscreen() {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
|
|
72
86
|
onExit === null || onExit === void 0 ? void 0 : onExit();
|
|
73
87
|
setIsFullscreen(false);
|
|
74
88
|
|
|
75
89
|
if (eleRef.current) {
|
|
76
90
|
eleRef.current.style.cssText = "".concat(originCssTextRef.current);
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
(_b = (_a = document.body).removeChild) === null || _b === void 0 ? void 0 : _b.call(_a, cloneEleRef.current);
|
|
94
|
+
} catch (_c) {
|
|
95
|
+
console.log('fullScreen error');
|
|
96
|
+
}
|
|
77
97
|
}
|
|
78
98
|
};
|
|
79
99
|
|
|
@@ -88,6 +108,7 @@ var useFullscreen = function useFullscreen(target, options) {
|
|
|
88
108
|
(0, _react.useEffect)(function () {
|
|
89
109
|
var fn = function fn(event) {
|
|
90
110
|
if (event.keyCode === 27) {
|
|
111
|
+
console.log(1);
|
|
91
112
|
exitFullscreen();
|
|
92
113
|
}
|
|
93
114
|
};
|