@kdcloudjs/kdesign 1.6.31 → 1.6.33
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/CHANGELOG.md +28 -0
- package/LICENSE +3 -0
- package/dist/kdesign.css +1 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +2071 -219
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +1 -1
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/getStringLength.d.ts +1 -0
- package/es/_utils/getStringLength.js +14 -0
- package/es/_utils/hooks.d.ts +3 -0
- package/es/_utils/hooks.js +50 -1
- package/es/_utils/raf.d.ts +3 -0
- package/es/_utils/raf.js +35 -0
- package/es/_utils/resizeObserver.d.ts +15 -0
- package/es/_utils/resizeObserver.js +79 -0
- package/es/_utils/usePopper.js +1 -1
- package/es/date-picker/date-picker.js +2 -5
- package/es/select/interface.d.ts +2 -0
- package/es/select/select.js +22 -2
- package/es/stepper/stepper.js +2 -1
- package/es/table/feature/colGroupExtendable.d.ts +4 -0
- package/es/table/feature/colGroupExtendable.js +9 -0
- package/es/table/interface.d.ts +2 -1
- package/es/table/table.js +5 -1
- package/es/virtual-list/Filler.d.ts +9 -0
- package/es/virtual-list/Filler.js +38 -0
- package/es/virtual-list/index.d.ts +3 -0
- package/es/virtual-list/index.js +3 -0
- package/es/virtual-list/utils/algorithmUtil.d.ts +19 -0
- package/es/virtual-list/utils/algorithmUtil.js +79 -0
- package/es/virtual-list/utils/itemUtil.d.ts +75 -0
- package/es/virtual-list/utils/itemUtil.js +176 -0
- package/es/virtual-list/virtual-list.d.ts +34 -0
- package/es/virtual-list/virtual-list.js +589 -0
- package/lib/_utils/getStringLength.d.ts +1 -0
- package/lib/_utils/getStringLength.js +21 -0
- package/lib/_utils/hooks.d.ts +3 -0
- package/lib/_utils/hooks.js +56 -0
- package/lib/_utils/raf.d.ts +3 -0
- package/lib/_utils/raf.js +43 -0
- package/lib/_utils/resizeObserver.d.ts +15 -0
- package/lib/_utils/resizeObserver.js +95 -0
- package/lib/_utils/usePopper.js +1 -1
- package/lib/date-picker/date-picker.js +2 -6
- package/lib/select/interface.d.ts +2 -0
- package/lib/select/select.js +23 -2
- package/lib/stepper/stepper.js +3 -1
- package/lib/table/feature/colGroupExtendable.d.ts +4 -0
- package/lib/table/feature/colGroupExtendable.js +17 -0
- package/lib/table/interface.d.ts +2 -1
- package/lib/table/table.js +6 -1
- package/lib/virtual-list/Filler.d.ts +9 -0
- package/lib/virtual-list/Filler.js +59 -0
- package/lib/virtual-list/index.d.ts +3 -0
- package/lib/virtual-list/index.js +36 -0
- package/lib/virtual-list/utils/algorithmUtil.d.ts +19 -0
- package/lib/virtual-list/utils/algorithmUtil.js +88 -0
- package/lib/virtual-list/utils/itemUtil.d.ts +75 -0
- package/lib/virtual-list/utils/itemUtil.js +206 -0
- package/lib/virtual-list/virtual-list.d.ts +34 -0
- package/lib/virtual-list/virtual-list.js +626 -0
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.raf = exports.caf = void 0;
|
|
7
|
+
var target = typeof window === 'undefined' ? global : window;
|
|
8
|
+
var vendors = ['webkit', 'ms', 'moz', 'o'];
|
|
9
|
+
var raf = target.requestAnimationFrame; // eslint-disable-line
|
|
10
|
+
|
|
11
|
+
exports.raf = raf;
|
|
12
|
+
var caf = target.cancelAnimationFrame; // eslint-disable-line
|
|
13
|
+
|
|
14
|
+
exports.caf = caf;
|
|
15
|
+
|
|
16
|
+
if (!raf || !caf) {
|
|
17
|
+
vendors.some(function (prefix) {
|
|
18
|
+
exports.raf = raf = target["".concat(prefix, "RequestAnimationFrame")];
|
|
19
|
+
exports.caf = caf = target["".concat(prefix, "CancelAnimationFrame")] || target["".concat(prefix, "CancelRequestAnimationFrame")];
|
|
20
|
+
return raf && caf;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
if (!raf || !caf) {
|
|
24
|
+
var lastTime = 0;
|
|
25
|
+
|
|
26
|
+
exports.raf = raf = function raf(cb) {
|
|
27
|
+
var currentTime = Date.now();
|
|
28
|
+
var diff = Math.max(0, 16 - (currentTime - lastTime));
|
|
29
|
+
var timer = setTimeout(function () {
|
|
30
|
+
cb();
|
|
31
|
+
lastTime = currentTime + diff;
|
|
32
|
+
}, diff);
|
|
33
|
+
return timer;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.caf = caf = function caf(timer) {
|
|
37
|
+
clearTimeout(timer);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
exports.raf = raf = raf.bind(target);
|
|
43
|
+
exports.caf = caf = caf.bind(target);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ResizeProps {
|
|
3
|
+
onResize?: (entry: ResizeObserverEntry[]) => void;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
declare class ResizeObserverComponent extends React.Component<ResizeProps> {
|
|
7
|
+
resizeObserver: any;
|
|
8
|
+
componentDidMount(): void;
|
|
9
|
+
componentDidUpdate(): void;
|
|
10
|
+
componentWillUnmount: () => void;
|
|
11
|
+
createResizeObserver: () => void;
|
|
12
|
+
destroyResizeObserver: () => void;
|
|
13
|
+
render(): React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default ResizeObserverComponent;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
27
|
+
|
|
28
|
+
var _reactDom = require("react-dom");
|
|
29
|
+
|
|
30
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
31
|
+
|
|
32
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
33
|
+
|
|
34
|
+
var ResizeObserverComponent = /*#__PURE__*/function (_React$Component) {
|
|
35
|
+
(0, _inherits2.default)(ResizeObserverComponent, _React$Component);
|
|
36
|
+
|
|
37
|
+
var _super = _createSuper(ResizeObserverComponent);
|
|
38
|
+
|
|
39
|
+
function ResizeObserverComponent() {
|
|
40
|
+
var _this;
|
|
41
|
+
|
|
42
|
+
(0, _classCallCheck2.default)(this, ResizeObserverComponent);
|
|
43
|
+
_this = _super.apply(this, arguments);
|
|
44
|
+
|
|
45
|
+
_this.componentWillUnmount = function () {
|
|
46
|
+
if (_this.resizeObserver) {
|
|
47
|
+
_this.destroyResizeObserver();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
_this.createResizeObserver = function () {
|
|
52
|
+
_this.resizeObserver = new _resizeObserverPolyfill.default(function (entry) {
|
|
53
|
+
var onResize = _this.props.onResize;
|
|
54
|
+
onResize && onResize(entry);
|
|
55
|
+
}); // eslint-disable-next-line react/no-find-dom-node
|
|
56
|
+
|
|
57
|
+
_this.resizeObserver.observe((0, _reactDom.findDOMNode)((0, _assertThisInitialized2.default)(_this)));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
_this.destroyResizeObserver = function () {
|
|
61
|
+
_this.resizeObserver && _this.resizeObserver.disconnect();
|
|
62
|
+
_this.resizeObserver = null;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
return _this;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
(0, _createClass2.default)(ResizeObserverComponent, [{
|
|
69
|
+
key: "componentDidMount",
|
|
70
|
+
value: function componentDidMount() {
|
|
71
|
+
if (! /*#__PURE__*/_react.default.isValidElement(this.props.children)) {
|
|
72
|
+
console.warn('The children of ResizeObserver is invalid.');
|
|
73
|
+
} else {
|
|
74
|
+
this.createResizeObserver();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "componentDidUpdate",
|
|
79
|
+
value: function componentDidUpdate() {
|
|
80
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
81
|
+
if (!this.resizeObserver && (0, _reactDom.findDOMNode)(this)) {
|
|
82
|
+
this.createResizeObserver();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "render",
|
|
87
|
+
value: function render() {
|
|
88
|
+
return this.props.children;
|
|
89
|
+
}
|
|
90
|
+
}]);
|
|
91
|
+
return ResizeObserverComponent;
|
|
92
|
+
}(_react.default.Component);
|
|
93
|
+
|
|
94
|
+
var _default = ResizeObserverComponent;
|
|
95
|
+
exports.default = _default;
|
package/lib/_utils/usePopper.js
CHANGED
|
@@ -579,7 +579,7 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
579
579
|
} else {
|
|
580
580
|
if (matchTrigger('hover')) {
|
|
581
581
|
mouseleaveTimer && clearTimeout(mouseleaveTimer);
|
|
582
|
-
mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay *
|
|
582
|
+
mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000);
|
|
583
583
|
} else {
|
|
584
584
|
hidePopper();
|
|
585
585
|
}
|
|
@@ -122,8 +122,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
122
122
|
onClick = datePickerProps.onClick,
|
|
123
123
|
_onOk = datePickerProps.onOk; // ref
|
|
124
124
|
|
|
125
|
-
var panelDivRef = _react.default.useRef(null);
|
|
126
|
-
|
|
127
125
|
var inputDivRefDefault = _react.default.useRef(null);
|
|
128
126
|
|
|
129
127
|
var inputDivRef = ref || inputDivRefDefault;
|
|
@@ -285,9 +283,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
285
283
|
if (!openValue) {
|
|
286
284
|
setSelectedValue(dateValue);
|
|
287
285
|
|
|
288
|
-
if (valueText
|
|
289
|
-
triggerTextChange('');
|
|
290
|
-
} else if (valueText !== text) {
|
|
286
|
+
if (valueText !== text) {
|
|
291
287
|
resetText();
|
|
292
288
|
}
|
|
293
289
|
} else {
|
|
@@ -439,7 +435,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
439
435
|
|
|
440
436
|
var inputProps = {
|
|
441
437
|
inputRef: inputRef,
|
|
442
|
-
panelDivRef:
|
|
438
|
+
panelDivRef: popperRef,
|
|
443
439
|
id: id,
|
|
444
440
|
autoFocus: autoFocus,
|
|
445
441
|
allowClear: allowClear,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PopperProps } from '../_utils/usePopper';
|
|
3
|
+
import { AvailableVirtualListProps } from '../virtual-list';
|
|
3
4
|
export declare const SelectSizes: ["large", "middle", "small"];
|
|
4
5
|
export declare type SelectSize = typeof SelectSizes[number];
|
|
5
6
|
export declare const BorderTypes: ["none", "underline", "bordered"];
|
|
@@ -37,6 +38,7 @@ export interface AbstractSelectProps extends PopperProps {
|
|
|
37
38
|
filterOption?: boolean | ((inputValue: string, option?: OptionsType) => boolean);
|
|
38
39
|
optionFilterProp?: string;
|
|
39
40
|
optionLabelProp?: string;
|
|
41
|
+
virtualListProps?: AvailableVirtualListProps | boolean;
|
|
40
42
|
}
|
|
41
43
|
export interface LabeledValue {
|
|
42
44
|
key?: string;
|
package/lib/select/select.js
CHANGED
|
@@ -51,6 +51,8 @@ var _option = _interopRequireDefault(require("./option"));
|
|
|
51
51
|
|
|
52
52
|
var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
|
|
53
53
|
|
|
54
|
+
var _virtualList = _interopRequireDefault(require("../virtual-list"));
|
|
55
|
+
|
|
54
56
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
55
57
|
|
|
56
58
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -99,7 +101,8 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
99
101
|
optionLabelProp = selectProps.optionLabelProp,
|
|
100
102
|
_selectProps$popperSt = selectProps.popperStyle,
|
|
101
103
|
popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
|
|
102
|
-
tagRender = selectProps.tagRender
|
|
104
|
+
tagRender = selectProps.tagRender,
|
|
105
|
+
virtualListProps = selectProps.virtualListProps;
|
|
103
106
|
var isMultiple = mode === 'multiple'; // 是否多选
|
|
104
107
|
|
|
105
108
|
var _useMergedState = (0, _hooks.useMergedState)(undefined, {
|
|
@@ -595,6 +598,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
595
598
|
listHeight = selectProps.listHeight;
|
|
596
599
|
var selectedVal = multipleRef.current.selectedVal;
|
|
597
600
|
var childrenToRender = filledOptions;
|
|
601
|
+
var eleOptionList = filledOptions;
|
|
598
602
|
|
|
599
603
|
if (Array.isArray(childrenToRender) && childrenToRender.length > 0) {
|
|
600
604
|
childrenToRender = (0, _map.default)(childrenToRender).call(childrenToRender, function (item, index) {
|
|
@@ -602,6 +606,23 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
602
606
|
var temp = renderOption(item, index);
|
|
603
607
|
return temp;
|
|
604
608
|
});
|
|
609
|
+
eleOptionList = /*#__PURE__*/_react.default.createElement(_virtualList.default, (0, _extends2.default)({
|
|
610
|
+
role: "listbox",
|
|
611
|
+
data: childrenToRender,
|
|
612
|
+
itemKey: function itemKey(child) {
|
|
613
|
+
var _a;
|
|
614
|
+
|
|
615
|
+
return (_a = child.props) === null || _a === void 0 ? void 0 : _a.value;
|
|
616
|
+
},
|
|
617
|
+
onMouseDown: function onMouseDown(e) {
|
|
618
|
+
return e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
619
|
+
},
|
|
620
|
+
isStaticItemHeight: true,
|
|
621
|
+
height: listHeight || 300,
|
|
622
|
+
measureLongestItem: false
|
|
623
|
+
}, virtualListProps), function (child) {
|
|
624
|
+
return child;
|
|
625
|
+
});
|
|
605
626
|
}
|
|
606
627
|
|
|
607
628
|
var heightStyle = {
|
|
@@ -621,7 +642,7 @@ var InternalSelect = function InternalSelect(props, ref) {
|
|
|
621
642
|
className: dropDownCls,
|
|
622
643
|
style: dropDownStyle,
|
|
623
644
|
ref: dropDownRef
|
|
624
|
-
}, !dropdownRender && childrenToRender.length > 0 && dropRender(
|
|
645
|
+
}, !dropdownRender && childrenToRender.length > 0 && dropRender(eleOptionList, heightStyle), renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender && dropdownRender(dropRender(childrenToRender, heightStyle))), isMultiple && /*#__PURE__*/_react.default.createElement("div", {
|
|
625
646
|
className: multipleFooterCls
|
|
626
647
|
}, /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
|
|
627
648
|
style: checkboxStyle,
|
package/lib/stepper/stepper.js
CHANGED
|
@@ -43,6 +43,8 @@ var _omit = require("../_utils/omit");
|
|
|
43
43
|
|
|
44
44
|
var _hooks = require("../_utils/hooks");
|
|
45
45
|
|
|
46
|
+
var _numberUtil = require("../_utils/numberUtil");
|
|
47
|
+
|
|
46
48
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
49
|
|
|
48
50
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -140,7 +142,7 @@ var InternalStepper = function InternalStepper(props, ref) {
|
|
|
140
142
|
return false;
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
var startingNumber =
|
|
145
|
+
var startingNumber = (0, _numberUtil.isExp)(stepperrref.current.value) ? (0, _big.default)(stepperrref.current.value).valueOf() : stepperrref.current.value || parseFloat(inputNumberProps.min) || 0;
|
|
144
146
|
var calculationResults = new _big.default(startingNumber)[type](stepNum).valueOf();
|
|
145
147
|
var legalNumber = stepperrref.current.verifiValue(calculationResults);
|
|
146
148
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { colGroupExtendOption } from '@kdcloudjs/table/es/table/pipeline/features';
|
|
2
|
+
import { TablePipeline } from '../interface';
|
|
3
|
+
declare function colGroupExtendable(pipeline: TablePipeline, columnGroupExtend: colGroupExtendOption): void;
|
|
4
|
+
export default colGroupExtendable;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _table = require("@kdcloudjs/table");
|
|
9
|
+
|
|
10
|
+
function colGroupExtendable(pipeline, columnGroupExtend) {
|
|
11
|
+
if (columnGroupExtend) {
|
|
12
|
+
pipeline.use(_table.features.colGroupExtendable(columnGroupExtend));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var _default = colGroupExtendable;
|
|
17
|
+
exports.default = _default;
|
package/lib/table/interface.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TableProps as BaseTableProps, TablePipeline as TP, ArtColumnStaticPart } from '@kdcloudjs/table';
|
|
3
|
-
import { SortFeatureOptions, RowDetailFeatureOptions, FilterFeatureOptions, TreeModeFeatureOptions, ColumnDragOptions, ColumnResizeOptions, ContextMenuFeatureOptions, RangeSelectionFeatureOptions } from '@kdcloudjs/table/es/table/pipeline/features';
|
|
3
|
+
import { SortFeatureOptions, RowDetailFeatureOptions, FilterFeatureOptions, TreeModeFeatureOptions, ColumnDragOptions, ColumnResizeOptions, ContextMenuFeatureOptions, RangeSelectionFeatureOptions, colGroupExtendOption } from '@kdcloudjs/table/es/table/pipeline/features';
|
|
4
4
|
declare type TablePropsOfComponents = Pick<BaseTableProps, 'components'> & {
|
|
5
5
|
components?: {
|
|
6
6
|
/** 复选框 */
|
|
@@ -31,6 +31,7 @@ export interface TableProps extends TablePropsOfExtend, TablePropsOfComponents {
|
|
|
31
31
|
columnResize?: boolean | ColumnResizeOptions;
|
|
32
32
|
contextMenu?: IContextMenu;
|
|
33
33
|
rangeSelection?: TableRangeSelection;
|
|
34
|
+
columnGroupExtend?: colGroupExtendOption;
|
|
34
35
|
}
|
|
35
36
|
export declare type RowSelectionType = 'checkbox' | 'radio';
|
|
36
37
|
export declare type RowSelectionFixed = 'start' | 'end';
|
package/lib/table/table.js
CHANGED
|
@@ -59,6 +59,8 @@ var _devwarning = _interopRequireDefault(require("../_utils/devwarning"));
|
|
|
59
59
|
|
|
60
60
|
var _useFooterDataSource = _interopRequireDefault(require("./feature/useFooterDataSource"));
|
|
61
61
|
|
|
62
|
+
var _colGroupExtendable = _interopRequireDefault(require("./feature/colGroupExtendable"));
|
|
63
|
+
|
|
62
64
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
63
65
|
|
|
64
66
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -94,7 +96,9 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
94
96
|
cssVariables = props.cssVariables,
|
|
95
97
|
stickyScrollHeight = props.stickyScrollHeight,
|
|
96
98
|
scrollbarWidth = props.scrollbarWidth,
|
|
97
|
-
scrollLoad = props.scrollLoad
|
|
99
|
+
scrollLoad = props.scrollLoad,
|
|
100
|
+
_props$columnGroupExt = props.columnGroupExtend,
|
|
101
|
+
columnGroupExtend = _props$columnGroupExt === void 0 ? {} : _props$columnGroupExt;
|
|
98
102
|
|
|
99
103
|
var _useContext = (0, _react.useContext)(_ConfigContext.default),
|
|
100
104
|
getPrefixCls = _useContext.getPrefixCls,
|
|
@@ -148,6 +152,7 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
148
152
|
(0, _useRangeSelection.default)(pipeline, rangeSelection);
|
|
149
153
|
(0, _mergeCellHover.default)(pipeline);
|
|
150
154
|
(0, _useFooterDataSource.default)(pipeline, footerDataSource);
|
|
155
|
+
(0, _colGroupExtendable.default)(pipeline, columnGroupExtend);
|
|
151
156
|
/* -------------------------------------------------------------------------- */
|
|
152
157
|
|
|
153
158
|
/* after useTablePipeline, merge pipeline.getProps result */
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
6
|
+
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
+
|
|
9
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
exports.default = void 0;
|
|
15
|
+
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
17
|
+
|
|
18
|
+
var React = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
var Filler = function Filler(_ref) {
|
|
25
|
+
var height = _ref.height,
|
|
26
|
+
offset = _ref.offset,
|
|
27
|
+
children = _ref.children,
|
|
28
|
+
propsOuterStyle = _ref.outerStyle;
|
|
29
|
+
var outerStyle = {};
|
|
30
|
+
var innerStyle = {
|
|
31
|
+
display: 'flex',
|
|
32
|
+
flexDirection: 'column'
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
if (offset !== undefined) {
|
|
36
|
+
outerStyle = (0, _extends2.default)({
|
|
37
|
+
height: height,
|
|
38
|
+
position: 'relative',
|
|
39
|
+
overflow: 'hidden',
|
|
40
|
+
zIndex: 0
|
|
41
|
+
}, propsOuterStyle);
|
|
42
|
+
innerStyle = (0, _extends2.default)((0, _extends2.default)({}, innerStyle), {
|
|
43
|
+
transform: "translateY(".concat(offset, "px)"),
|
|
44
|
+
position: 'absolute',
|
|
45
|
+
left: 0,
|
|
46
|
+
right: 0,
|
|
47
|
+
top: 0
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
style: outerStyle
|
|
53
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
style: innerStyle
|
|
55
|
+
}, children));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var _default = Filler;
|
|
59
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
|
6
|
+
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
8
|
+
|
|
9
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
var _exportNames = {};
|
|
15
|
+
exports.default = void 0;
|
|
16
|
+
|
|
17
|
+
var _virtualList = _interopRequireWildcard(require("./virtual-list"));
|
|
18
|
+
|
|
19
|
+
_Object$keys(_virtualList).forEach(function (key) {
|
|
20
|
+
if (key === "default" || key === "__esModule") return;
|
|
21
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
22
|
+
if (key in exports && exports[key] === _virtualList[key]) return;
|
|
23
|
+
Object.defineProperty(exports, key, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function get() {
|
|
26
|
+
return _virtualList[key];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
32
|
+
|
|
33
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
34
|
+
|
|
35
|
+
var _default = _virtualList.default;
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Key } from './itemUtil';
|
|
2
|
+
/**
|
|
3
|
+
* Get index with specific start index one by one. e.g.
|
|
4
|
+
* min: 3, max: 9, start: 6
|
|
5
|
+
*
|
|
6
|
+
* Return index is:
|
|
7
|
+
* [0]: 6
|
|
8
|
+
* [1]: 7
|
|
9
|
+
* [2]: 5
|
|
10
|
+
* [3]: 8
|
|
11
|
+
* [4]: 4
|
|
12
|
+
* [5]: 9
|
|
13
|
+
* [6]: 3
|
|
14
|
+
*/
|
|
15
|
+
export declare function getIndexByStartLoc(min: number, max: number, start: number, index: number): number;
|
|
16
|
+
export declare function findListDiffIndex<T>(originList: T[], targetList: T[], getKey: (item: T, index: number) => Key): {
|
|
17
|
+
index: number;
|
|
18
|
+
multiple: boolean;
|
|
19
|
+
} | null;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.findListDiffIndex = findListDiffIndex;
|
|
7
|
+
exports.getIndexByStartLoc = getIndexByStartLoc;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Get index with specific start index one by one. e.g.
|
|
11
|
+
* min: 3, max: 9, start: 6
|
|
12
|
+
*
|
|
13
|
+
* Return index is:
|
|
14
|
+
* [0]: 6
|
|
15
|
+
* [1]: 7
|
|
16
|
+
* [2]: 5
|
|
17
|
+
* [3]: 8
|
|
18
|
+
* [4]: 4
|
|
19
|
+
* [5]: 9
|
|
20
|
+
* [6]: 3
|
|
21
|
+
*/
|
|
22
|
+
function getIndexByStartLoc(min, max, start, index) {
|
|
23
|
+
var beforeCount = start - min;
|
|
24
|
+
var afterCount = max - start;
|
|
25
|
+
var balanceCount = Math.min(beforeCount, afterCount) * 2;
|
|
26
|
+
|
|
27
|
+
if (index <= balanceCount) {
|
|
28
|
+
var stepIndex = Math.floor(index / 2);
|
|
29
|
+
|
|
30
|
+
if (index % 2) {
|
|
31
|
+
return start + stepIndex + 1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return start - stepIndex;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (beforeCount > afterCount) {
|
|
38
|
+
return start - (index - afterCount);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return start + (index - beforeCount);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function findListDiffIndex(originList, targetList, getKey) {
|
|
45
|
+
var originLen = originList.length;
|
|
46
|
+
var targetLen = targetList.length;
|
|
47
|
+
var shortList;
|
|
48
|
+
var longList;
|
|
49
|
+
|
|
50
|
+
if (originLen === 0 && targetLen === 0) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (originLen < targetLen) {
|
|
55
|
+
shortList = originList;
|
|
56
|
+
longList = targetList;
|
|
57
|
+
} else {
|
|
58
|
+
shortList = targetList;
|
|
59
|
+
longList = originList;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
var notExistKey = {
|
|
63
|
+
__EMPTY_ITEM__: true
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
function getItemKey(item, index) {
|
|
67
|
+
return item !== undefined ? getKey(item, index) : notExistKey;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var diffIndex = null;
|
|
71
|
+
var multiple = Math.abs(originLen - targetLen) !== 1;
|
|
72
|
+
|
|
73
|
+
for (var i = 0; i < longList.length; i += 1) {
|
|
74
|
+
var shortKey = getItemKey(shortList[i], i);
|
|
75
|
+
var longKey = getItemKey(longList[i], i);
|
|
76
|
+
|
|
77
|
+
if (shortKey !== longKey) {
|
|
78
|
+
diffIndex = i;
|
|
79
|
+
multiple = multiple || shortKey !== getItemKey(longList[i + 1], i + 1);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return diffIndex === null ? null : {
|
|
85
|
+
index: diffIndex,
|
|
86
|
+
multiple: multiple
|
|
87
|
+
};
|
|
88
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 为了计算方便,定位元素的下标可能返回数组长度,代表最后一个元素
|
|
3
|
+
*/
|
|
4
|
+
export declare const GHOST_ITEM_KEY = "__rc_ghost_item__";
|
|
5
|
+
export declare type Key = string | number;
|
|
6
|
+
interface LocationItemResult {
|
|
7
|
+
/** 用于定位的元素的下标 */
|
|
8
|
+
index: number;
|
|
9
|
+
/** 定位元素自身需要补充的偏移量 */
|
|
10
|
+
offsetPtg: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 根据滚动条当前的滚动百分比,计算出基准元素
|
|
14
|
+
* 在基准元素的上方和下方渲染可见区域的其他元素
|
|
15
|
+
*/
|
|
16
|
+
export declare function getLocationItem(scrollPtg: number, total: number): LocationItemResult;
|
|
17
|
+
/**
|
|
18
|
+
* 获取HTML元素高度
|
|
19
|
+
*/
|
|
20
|
+
export declare function getNodeHeight(node: HTMLElement, needMargin?: boolean): number;
|
|
21
|
+
/**
|
|
22
|
+
* 获取有效的scrollTop值
|
|
23
|
+
* Safari的缓动效果会获得负值的scrollTop
|
|
24
|
+
*/
|
|
25
|
+
export declare function getValidScrollTop(scrollTop: number, scrollRange: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* 视口已滚动距离 / 总可滚动距离
|
|
28
|
+
*/
|
|
29
|
+
export declare function getScrollPercentage({ scrollTop, scrollHeight, clientHeight, }: {
|
|
30
|
+
scrollTop: number;
|
|
31
|
+
scrollHeight: number;
|
|
32
|
+
clientHeight: number;
|
|
33
|
+
}): number;
|
|
34
|
+
/**
|
|
35
|
+
* 计算需要渲染的元素的开始下标、结束下标和用于定位的元素下标
|
|
36
|
+
*/
|
|
37
|
+
export declare function getRangeIndex(scrollPtg: number, itemCount: number, visibleCount: number): {
|
|
38
|
+
itemIndex: number;
|
|
39
|
+
itemOffsetPtg: number;
|
|
40
|
+
startIndex: number;
|
|
41
|
+
endIndex: number;
|
|
42
|
+
};
|
|
43
|
+
interface ItemTopConfig {
|
|
44
|
+
itemHeight: number;
|
|
45
|
+
itemOffsetPtg: number;
|
|
46
|
+
scrollTop: number;
|
|
47
|
+
scrollPtg: number;
|
|
48
|
+
clientHeight: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 计算元素相对于视口顶部的偏移量
|
|
52
|
+
*/
|
|
53
|
+
export declare function getItemRelativeTop({ itemHeight, itemOffsetPtg, scrollPtg, clientHeight, }: Omit<ItemTopConfig, 'scrollTop'>): number;
|
|
54
|
+
/**
|
|
55
|
+
* 计算元素相对于整个滚动区域顶部的偏移量
|
|
56
|
+
*/
|
|
57
|
+
export declare function getItemAbsoluteTop({ scrollTop, ...rest }: ItemTopConfig): number;
|
|
58
|
+
interface CompareItemConfig {
|
|
59
|
+
locatedItemRelativeTop: number;
|
|
60
|
+
locatedItemIndex: number;
|
|
61
|
+
compareItemIndex: number;
|
|
62
|
+
getItemKey: (index: number) => Key;
|
|
63
|
+
startIndex: number;
|
|
64
|
+
endIndex: number;
|
|
65
|
+
itemElementHeights: {
|
|
66
|
+
[key: string]: number;
|
|
67
|
+
};
|
|
68
|
+
itemHeight: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 计算某一指定下标的元素相对于视口顶部的偏移量
|
|
72
|
+
*/
|
|
73
|
+
export declare function getCompareItemRelativeTop({ locatedItemRelativeTop, locatedItemIndex, compareItemIndex, startIndex, endIndex, getItemKey, itemElementHeights, itemHeight, }: CompareItemConfig): number;
|
|
74
|
+
export declare function getLongestItemIndex(data: Array<any>): number;
|
|
75
|
+
export {};
|