@douyinfe/semi-ui 2.51.2 → 2.51.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/umd/semi-ui.js +175 -118
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/cascader/index.d.ts +3 -2
- package/lib/cjs/cascader/index.js +28 -19
- package/lib/cjs/datePicker/datePicker.js +1 -1
- package/lib/cjs/datePicker/yearAndMonth.js +20 -16
- package/lib/cjs/form/hoc/withField.d.ts +3 -3
- package/lib/cjs/modal/Modal.js +2 -2
- package/lib/cjs/select/option.js +2 -1
- package/lib/cjs/table/Body/BaseRow.d.ts +44 -0
- package/lib/cjs/table/Body/BaseRow.js +47 -42
- package/lib/cjs/table/Body/SectionRow.d.ts +24 -0
- package/lib/cjs/table/Body/SectionRow.js +27 -22
- package/lib/cjs/table/Body/index.js +6 -4
- package/lib/cjs/table/ResizableTable.js +1 -1
- package/lib/es/cascader/index.d.ts +3 -2
- package/lib/es/cascader/index.js +28 -19
- package/lib/es/datePicker/datePicker.js +1 -1
- package/lib/es/datePicker/yearAndMonth.js +20 -16
- package/lib/es/form/hoc/withField.d.ts +3 -3
- package/lib/es/modal/Modal.js +2 -2
- package/lib/es/select/option.js +2 -1
- package/lib/es/table/Body/BaseRow.d.ts +44 -0
- package/lib/es/table/Body/BaseRow.js +45 -41
- package/lib/es/table/Body/SectionRow.d.ts +24 -0
- package/lib/es/table/Body/SectionRow.js +25 -21
- package/lib/es/table/Body/index.js +4 -4
- package/lib/es/table/ResizableTable.js +1 -1
- package/package.json +8 -8
|
@@ -191,9 +191,10 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
191
191
|
componentWillUnmount(): void;
|
|
192
192
|
componentDidUpdate(prevProps: CascaderProps): void;
|
|
193
193
|
handleInputChange: (value: string) => void;
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
handleTagRemoveInTrigger: (pos: string) => void;
|
|
195
|
+
handleTagClose: (tagChildren: React.ReactNode, e: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
|
|
196
196
|
renderTagItem: (nodeKey: string, idx: number) => string | number | boolean | React.ReactFragment | JSX.Element;
|
|
197
|
+
onRemoveInTagInput: (v: string) => void;
|
|
197
198
|
renderTagInput(): JSX.Element;
|
|
198
199
|
renderInput(): JSX.Element;
|
|
199
200
|
handleItemClick: (e: MouseEvent | KeyboardEvent, item: Entity | Data) => void;
|
|
@@ -43,14 +43,13 @@ class Cascader extends _baseComponent.default {
|
|
|
43
43
|
this.handleInputChange = value => {
|
|
44
44
|
this.foundation.handleInputChange(value);
|
|
45
45
|
};
|
|
46
|
-
this.
|
|
47
|
-
this.foundation.
|
|
46
|
+
this.handleTagRemoveInTrigger = pos => {
|
|
47
|
+
this.foundation.handleTagRemoveInTrigger(pos);
|
|
48
48
|
};
|
|
49
|
-
this.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.handleTagRemove(null, keyEntities[key].valuePath);
|
|
49
|
+
this.handleTagClose = (tagChildren, e, tagKey) => {
|
|
50
|
+
// When value has not changed, prevent clicking tag closeBtn to close tag
|
|
51
|
+
e.preventDefault();
|
|
52
|
+
this.foundation.handleTagRemoveByKey(tagKey);
|
|
54
53
|
};
|
|
55
54
|
this.renderTagItem = (nodeKey, idx) => {
|
|
56
55
|
const {
|
|
@@ -78,18 +77,18 @@ class Cascader extends _baseComponent.default {
|
|
|
78
77
|
size: size === 'default' ? 'large' : size,
|
|
79
78
|
key: `tag-${nodeKey}-${idx}`,
|
|
80
79
|
color: "white",
|
|
80
|
+
tagKey: nodeKey,
|
|
81
81
|
className: tagCls,
|
|
82
82
|
closable: true,
|
|
83
|
-
onClose:
|
|
84
|
-
// When value has not changed, prevent clicking tag closeBtn to close tag
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
this.handleTagRemove(e, keyEntities[nodeKey].valuePath);
|
|
87
|
-
}
|
|
83
|
+
onClose: this.handleTagClose
|
|
88
84
|
}, keyEntities[nodeKey].data[displayProp]);
|
|
89
85
|
}
|
|
90
86
|
}
|
|
91
87
|
return null;
|
|
92
88
|
};
|
|
89
|
+
this.onRemoveInTagInput = v => {
|
|
90
|
+
this.foundation.handleTagRemoveByKey(v);
|
|
91
|
+
};
|
|
93
92
|
this.handleItemClick = (e, item) => {
|
|
94
93
|
this.foundation.handleItemClick(e, item);
|
|
95
94
|
};
|
|
@@ -289,6 +288,7 @@ class Cascader extends _baseComponent.default {
|
|
|
289
288
|
}, labelNode);
|
|
290
289
|
};
|
|
291
290
|
this.renderCustomTrigger = () => {
|
|
291
|
+
var _a;
|
|
292
292
|
const {
|
|
293
293
|
disabled,
|
|
294
294
|
triggerRender,
|
|
@@ -299,17 +299,26 @@ class Cascader extends _baseComponent.default {
|
|
|
299
299
|
inputValue,
|
|
300
300
|
inputPlaceHolder,
|
|
301
301
|
resolvedCheckedKeys,
|
|
302
|
-
checkedKeys
|
|
302
|
+
checkedKeys,
|
|
303
|
+
keyEntities
|
|
303
304
|
} = this.state;
|
|
304
305
|
let realValue;
|
|
305
306
|
if (multiple) {
|
|
306
307
|
if (this.mergeType === _constants.strings.NONE_MERGE_TYPE) {
|
|
307
|
-
realValue =
|
|
308
|
+
realValue = new Set();
|
|
309
|
+
checkedKeys.forEach(key => {
|
|
310
|
+
var _a;
|
|
311
|
+
realValue.add((_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.pos);
|
|
312
|
+
});
|
|
308
313
|
} else {
|
|
309
|
-
realValue =
|
|
314
|
+
realValue = new Set();
|
|
315
|
+
resolvedCheckedKeys.forEach(key => {
|
|
316
|
+
var _a;
|
|
317
|
+
realValue.add((_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.pos);
|
|
318
|
+
});
|
|
310
319
|
}
|
|
311
320
|
} else {
|
|
312
|
-
realValue = [...selectedKeys][0];
|
|
321
|
+
realValue = (_a = keyEntities[[...selectedKeys][0]]) === null || _a === void 0 ? void 0 : _a.pos;
|
|
313
322
|
}
|
|
314
323
|
return /*#__PURE__*/_react.default.createElement(_trigger.default, {
|
|
315
324
|
value: realValue,
|
|
@@ -322,7 +331,7 @@ class Cascader extends _baseComponent.default {
|
|
|
322
331
|
componentName: 'Cascader',
|
|
323
332
|
componentProps: Object.assign({}, this.props),
|
|
324
333
|
onSearch: this.handleInputChange,
|
|
325
|
-
onRemove: this.
|
|
334
|
+
onRemove: this.handleTagRemoveInTrigger
|
|
326
335
|
});
|
|
327
336
|
};
|
|
328
337
|
this.handleMouseOver = () => {
|
|
@@ -806,11 +815,11 @@ class Cascader extends _baseComponent.default {
|
|
|
806
815
|
showRestTagsPopover: showRestTagsPopover,
|
|
807
816
|
restTagsPopoverProps: restTagsPopoverProps,
|
|
808
817
|
maxTagCount: maxTagCount,
|
|
809
|
-
renderTagItem:
|
|
818
|
+
renderTagItem: this.renderTagItem,
|
|
810
819
|
inputValue: inputValue,
|
|
811
820
|
onInputChange: this.handleInputChange,
|
|
812
821
|
// TODO Modify logic, not modify type
|
|
813
|
-
onRemove:
|
|
822
|
+
onRemove: this.onRemoveInTagInput,
|
|
814
823
|
placeholder: placeholder,
|
|
815
824
|
expandRestTagsOnClick: false
|
|
816
825
|
});
|
|
@@ -471,7 +471,7 @@ class DatePicker extends _baseComponent.default {
|
|
|
471
471
|
return /range/i.test(type) && !(0, _isFunction2.default)(triggerRender);
|
|
472
472
|
}
|
|
473
473
|
componentDidUpdate(prevProps) {
|
|
474
|
-
if (prevProps.value
|
|
474
|
+
if (!(0, _isEqual2.default)(prevProps.value, this.props.value)) {
|
|
475
475
|
this.foundation.initFromProps(Object.assign({}, this.props));
|
|
476
476
|
} else if (this.props.timeZone !== prevProps.timeZone) {
|
|
477
477
|
this.foundation.initFromProps({
|
|
@@ -48,16 +48,6 @@ class YearAndMonth extends _baseComponent.default {
|
|
|
48
48
|
currentYear,
|
|
49
49
|
currentMonth
|
|
50
50
|
} = props;
|
|
51
|
-
const currentLeftYear = currentYear.left || now.getFullYear();
|
|
52
|
-
const currentLeftMonth = currentMonth.left || now.getMonth() + 1;
|
|
53
|
-
currentYear = {
|
|
54
|
-
left: currentLeftYear,
|
|
55
|
-
right: currentLeftYear
|
|
56
|
-
};
|
|
57
|
-
currentMonth = {
|
|
58
|
-
left: currentLeftMonth,
|
|
59
|
-
right: currentMonth.right || currentLeftMonth + 1
|
|
60
|
-
};
|
|
61
51
|
this.state = {
|
|
62
52
|
years: (0, _index2.getYears)(props.startYear, props.endYear).map(year => ({
|
|
63
53
|
value: year,
|
|
@@ -67,8 +57,14 @@ class YearAndMonth extends _baseComponent.default {
|
|
|
67
57
|
value: idx + 1,
|
|
68
58
|
month: idx + 1
|
|
69
59
|
})),
|
|
70
|
-
currentYear
|
|
71
|
-
|
|
60
|
+
currentYear: {
|
|
61
|
+
left: currentYear.left || now.getFullYear(),
|
|
62
|
+
right: currentYear.right || now.getFullYear()
|
|
63
|
+
},
|
|
64
|
+
currentMonth: {
|
|
65
|
+
left: currentMonth.left || now.getMonth() + 1,
|
|
66
|
+
right: currentMonth.right || now.getMonth() + 2
|
|
67
|
+
}
|
|
72
68
|
};
|
|
73
69
|
this.yearRef = /*#__PURE__*/_react.default.createRef();
|
|
74
70
|
this.monthRef = /*#__PURE__*/_react.default.createRef();
|
|
@@ -105,11 +101,19 @@ class YearAndMonth extends _baseComponent.default {
|
|
|
105
101
|
}
|
|
106
102
|
static getDerivedStateFromProps(props, state) {
|
|
107
103
|
const willUpdateStates = {};
|
|
108
|
-
if (!(0, _isEqual2.default)(props.currentYear, state.currentYear)
|
|
109
|
-
|
|
104
|
+
if (!(0, _isEqual2.default)(props.currentYear, state.currentYear)) {
|
|
105
|
+
const nowYear = new Date().getFullYear();
|
|
106
|
+
willUpdateStates.currentYear = {
|
|
107
|
+
left: props.currentYear.left || nowYear,
|
|
108
|
+
right: props.currentYear.right || nowYear
|
|
109
|
+
};
|
|
110
110
|
}
|
|
111
|
-
if (!(0, _isEqual2.default)(props.currentMonth, state.currentMonth)
|
|
112
|
-
|
|
111
|
+
if (!(0, _isEqual2.default)(props.currentMonth, state.currentMonth)) {
|
|
112
|
+
const nowMonth = new Date().getMonth();
|
|
113
|
+
willUpdateStates.currentMonth = {
|
|
114
|
+
left: props.currentMonth.left || nowMonth + 1,
|
|
115
|
+
right: props.currentMonth.right || nowMonth + 2
|
|
116
|
+
};
|
|
113
117
|
}
|
|
114
118
|
return willUpdateStates;
|
|
115
119
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { WithFieldOption } from '@douyinfe/semi-foundation/lib/cjs/form/interface';
|
|
3
|
-
import { CommonFieldProps, CommonexcludeType } from '../interface';
|
|
4
|
-
import { Subtract } from 'utility-types';
|
|
2
|
+
import type { WithFieldOption } from '@douyinfe/semi-foundation/lib/cjs/form/interface';
|
|
3
|
+
import type { CommonFieldProps, CommonexcludeType } from '../interface';
|
|
4
|
+
import type { Subtract } from 'utility-types';
|
|
5
5
|
/**
|
|
6
6
|
* withFiled is used to inject components
|
|
7
7
|
* 1. Takes over the value and onChange of the component and synchronizes them to Form Foundation
|
package/lib/cjs/modal/Modal.js
CHANGED
|
@@ -36,6 +36,7 @@ exports.destroyFns = destroyFns;
|
|
|
36
36
|
class Modal extends _baseComponent.default {
|
|
37
37
|
constructor(props) {
|
|
38
38
|
super(props);
|
|
39
|
+
this.bodyOverflow = null;
|
|
39
40
|
this.handleCancel = e => {
|
|
40
41
|
this.foundation.handleCancel(e);
|
|
41
42
|
};
|
|
@@ -175,7 +176,6 @@ class Modal extends _baseComponent.default {
|
|
|
175
176
|
};
|
|
176
177
|
this.foundation = new _modalFoundation.default(this.adapter);
|
|
177
178
|
this.modalRef = /*#__PURE__*/_react.default.createRef();
|
|
178
|
-
this.bodyOverflow = '';
|
|
179
179
|
this.scrollBarWidth = 0;
|
|
180
180
|
this.originBodyWidth = '100%';
|
|
181
181
|
}
|
|
@@ -196,7 +196,7 @@ class Modal extends _baseComponent.default {
|
|
|
196
196
|
const {
|
|
197
197
|
getPopupContainer
|
|
198
198
|
} = this.props;
|
|
199
|
-
if (!getPopupContainer && this.bodyOverflow !== 'hidden') {
|
|
199
|
+
if (!getPopupContainer && this.bodyOverflow !== null && this.bodyOverflow !== 'hidden') {
|
|
200
200
|
document.body.style.overflow = this.bodyOverflow;
|
|
201
201
|
document.body.style.width = this.originBodyWidth;
|
|
202
202
|
}
|
package/lib/cjs/select/option.js
CHANGED
|
@@ -46,6 +46,50 @@ export interface BaseRowProps {
|
|
|
46
46
|
/** whether display none */
|
|
47
47
|
displayNone?: boolean;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types
|
|
51
|
+
*/
|
|
52
|
+
export declare const baseRowPropTypes: {
|
|
53
|
+
anyColumnFixed: PropTypes.Requireable<boolean>;
|
|
54
|
+
cellWidths: PropTypes.Validator<any[]>;
|
|
55
|
+
className: PropTypes.Requireable<string>;
|
|
56
|
+
columns: PropTypes.Validator<any[]>;
|
|
57
|
+
components: PropTypes.Validator<object>;
|
|
58
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
59
|
+
expandIcon: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
|
|
60
|
+
expandableRow: PropTypes.Requireable<boolean>;
|
|
61
|
+
expanded: PropTypes.Requireable<boolean>;
|
|
62
|
+
displayNone: PropTypes.Requireable<boolean>;
|
|
63
|
+
expandedRow: PropTypes.Requireable<boolean>;
|
|
64
|
+
fixed: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
65
|
+
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
66
|
+
hideExpandedColumn: PropTypes.Requireable<boolean>;
|
|
67
|
+
hovered: PropTypes.Validator<boolean>;
|
|
68
|
+
indent: PropTypes.Requireable<number>;
|
|
69
|
+
indentSize: PropTypes.Requireable<number>;
|
|
70
|
+
index: PropTypes.Requireable<number>;
|
|
71
|
+
isSection: PropTypes.Requireable<boolean>;
|
|
72
|
+
level: PropTypes.Requireable<number>;
|
|
73
|
+
onDidUpdate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
74
|
+
onHover: PropTypes.Requireable<(...args: any[]) => any>;
|
|
75
|
+
onRow: PropTypes.Requireable<(...args: any[]) => any>;
|
|
76
|
+
onRowClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
77
|
+
onRowContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
|
|
78
|
+
onRowDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
79
|
+
onRowMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
80
|
+
onRowMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
81
|
+
prefixCls: PropTypes.Requireable<string>;
|
|
82
|
+
record: PropTypes.Requireable<object>;
|
|
83
|
+
renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>;
|
|
84
|
+
replaceClassName: PropTypes.Requireable<string>;
|
|
85
|
+
rowExpandable: PropTypes.Requireable<(...args: any[]) => any>;
|
|
86
|
+
rowKey: PropTypes.Validator<NonNullable<NonNullable<string | number>>>;
|
|
87
|
+
selected: PropTypes.Requireable<boolean>;
|
|
88
|
+
store: PropTypes.Requireable<object>;
|
|
89
|
+
style: PropTypes.Requireable<object>;
|
|
90
|
+
virtualized: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
91
|
+
visible: PropTypes.Validator<boolean>;
|
|
92
|
+
};
|
|
49
93
|
export default class TableRow extends BaseComponent<BaseRowProps, Record<string, any>> {
|
|
50
94
|
static propTypes: {
|
|
51
95
|
anyColumnFixed: PropTypes.Requireable<boolean>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.baseRowPropTypes = void 0;
|
|
7
7
|
var _pick2 = _interopRequireDefault(require("lodash/pick"));
|
|
8
8
|
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
9
9
|
var _omit2 = _interopRequireDefault(require("lodash/omit"));
|
|
@@ -31,6 +31,51 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
31
31
|
}
|
|
32
32
|
return t;
|
|
33
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types
|
|
36
|
+
*/
|
|
37
|
+
const baseRowPropTypes = {
|
|
38
|
+
anyColumnFixed: _propTypes.default.bool,
|
|
39
|
+
cellWidths: _propTypes.default.array.isRequired,
|
|
40
|
+
className: _propTypes.default.string,
|
|
41
|
+
columns: _propTypes.default.array.isRequired,
|
|
42
|
+
components: _propTypes.default.object.isRequired,
|
|
43
|
+
disabled: _propTypes.default.bool,
|
|
44
|
+
expandIcon: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.node]),
|
|
45
|
+
expandableRow: _propTypes.default.bool,
|
|
46
|
+
expanded: _propTypes.default.bool,
|
|
47
|
+
displayNone: _propTypes.default.bool,
|
|
48
|
+
expandedRow: _propTypes.default.bool,
|
|
49
|
+
fixed: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
|
|
50
|
+
height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
51
|
+
hideExpandedColumn: _propTypes.default.bool,
|
|
52
|
+
hovered: _propTypes.default.bool.isRequired,
|
|
53
|
+
indent: _propTypes.default.number,
|
|
54
|
+
indentSize: _propTypes.default.number,
|
|
55
|
+
index: _propTypes.default.number,
|
|
56
|
+
isSection: _propTypes.default.bool,
|
|
57
|
+
level: _propTypes.default.number,
|
|
58
|
+
onDidUpdate: _propTypes.default.func,
|
|
59
|
+
onHover: _propTypes.default.func,
|
|
60
|
+
onRow: _propTypes.default.func,
|
|
61
|
+
onRowClick: _propTypes.default.func,
|
|
62
|
+
onRowContextMenu: _propTypes.default.func,
|
|
63
|
+
onRowDoubleClick: _propTypes.default.func,
|
|
64
|
+
onRowMouseEnter: _propTypes.default.func,
|
|
65
|
+
onRowMouseLeave: _propTypes.default.func,
|
|
66
|
+
prefixCls: _propTypes.default.string,
|
|
67
|
+
record: _propTypes.default.object,
|
|
68
|
+
renderExpandIcon: _propTypes.default.func,
|
|
69
|
+
replaceClassName: _propTypes.default.string,
|
|
70
|
+
rowExpandable: _propTypes.default.func,
|
|
71
|
+
rowKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
|
72
|
+
selected: _propTypes.default.bool,
|
|
73
|
+
store: _propTypes.default.object,
|
|
74
|
+
style: _propTypes.default.object,
|
|
75
|
+
virtualized: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
|
|
76
|
+
visible: _propTypes.default.bool.isRequired
|
|
77
|
+
};
|
|
78
|
+
exports.baseRowPropTypes = baseRowPropTypes;
|
|
34
79
|
class TableRow extends _baseComponent.default {
|
|
35
80
|
get adapter() {
|
|
36
81
|
var _this = this;
|
|
@@ -272,47 +317,7 @@ class TableRow extends _baseComponent.default {
|
|
|
272
317
|
}
|
|
273
318
|
}
|
|
274
319
|
exports.default = TableRow;
|
|
275
|
-
TableRow.propTypes =
|
|
276
|
-
anyColumnFixed: _propTypes.default.bool,
|
|
277
|
-
cellWidths: _propTypes.default.array.isRequired,
|
|
278
|
-
className: _propTypes.default.string,
|
|
279
|
-
columns: _propTypes.default.array.isRequired,
|
|
280
|
-
components: _propTypes.default.object.isRequired,
|
|
281
|
-
disabled: _propTypes.default.bool,
|
|
282
|
-
expandIcon: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.node]),
|
|
283
|
-
expandableRow: _propTypes.default.bool,
|
|
284
|
-
expanded: _propTypes.default.bool,
|
|
285
|
-
displayNone: _propTypes.default.bool,
|
|
286
|
-
expandedRow: _propTypes.default.bool,
|
|
287
|
-
fixed: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
|
|
288
|
-
height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
289
|
-
hideExpandedColumn: _propTypes.default.bool,
|
|
290
|
-
hovered: _propTypes.default.bool.isRequired,
|
|
291
|
-
indent: _propTypes.default.number,
|
|
292
|
-
indentSize: _propTypes.default.number,
|
|
293
|
-
index: _propTypes.default.number,
|
|
294
|
-
isSection: _propTypes.default.bool,
|
|
295
|
-
level: _propTypes.default.number,
|
|
296
|
-
onDidUpdate: _propTypes.default.func,
|
|
297
|
-
onHover: _propTypes.default.func,
|
|
298
|
-
onRow: _propTypes.default.func,
|
|
299
|
-
onRowClick: _propTypes.default.func,
|
|
300
|
-
onRowContextMenu: _propTypes.default.func,
|
|
301
|
-
onRowDoubleClick: _propTypes.default.func,
|
|
302
|
-
onRowMouseEnter: _propTypes.default.func,
|
|
303
|
-
onRowMouseLeave: _propTypes.default.func,
|
|
304
|
-
prefixCls: _propTypes.default.string,
|
|
305
|
-
record: _propTypes.default.object,
|
|
306
|
-
renderExpandIcon: _propTypes.default.func,
|
|
307
|
-
replaceClassName: _propTypes.default.string,
|
|
308
|
-
rowExpandable: _propTypes.default.func,
|
|
309
|
-
rowKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
|
310
|
-
selected: _propTypes.default.bool,
|
|
311
|
-
store: _propTypes.default.object,
|
|
312
|
-
style: _propTypes.default.object,
|
|
313
|
-
virtualized: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.bool]),
|
|
314
|
-
visible: _propTypes.default.bool.isRequired
|
|
315
|
-
};
|
|
320
|
+
TableRow.propTypes = baseRowPropTypes;
|
|
316
321
|
TableRow.defaultProps = {
|
|
317
322
|
columns: [],
|
|
318
323
|
rowExpandable: _stubTrue2.default,
|
|
@@ -24,6 +24,30 @@ export interface SectionRowProps {
|
|
|
24
24
|
store?: Store;
|
|
25
25
|
rowKey?: RowKey<any>;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types
|
|
29
|
+
*/
|
|
30
|
+
export declare const sectionRowPropTypes: {
|
|
31
|
+
record: PropTypes.Requireable<object>;
|
|
32
|
+
index: PropTypes.Requireable<number>;
|
|
33
|
+
columns: PropTypes.Requireable<any[]>;
|
|
34
|
+
group: PropTypes.Validator<object>;
|
|
35
|
+
groupKey: PropTypes.Validator<NonNullable<NonNullable<string | number>>>;
|
|
36
|
+
data: PropTypes.Requireable<any[]>;
|
|
37
|
+
renderGroupSection: PropTypes.Requireable<(...args: any[]) => any>;
|
|
38
|
+
onGroupedRow: PropTypes.Requireable<(...args: any[]) => any>;
|
|
39
|
+
clickGroupedRowToExpand: PropTypes.Requireable<boolean>;
|
|
40
|
+
components: PropTypes.Requireable<object>;
|
|
41
|
+
expanded: PropTypes.Requireable<boolean>;
|
|
42
|
+
prefixCls: PropTypes.Requireable<string>;
|
|
43
|
+
onExpand: PropTypes.Requireable<(...args: any[]) => any>;
|
|
44
|
+
virtualized: PropTypes.Requireable<NonNullable<boolean | object>>;
|
|
45
|
+
style: PropTypes.Requireable<object>;
|
|
46
|
+
renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>;
|
|
47
|
+
className: PropTypes.Requireable<string>;
|
|
48
|
+
store: PropTypes.Requireable<object>;
|
|
49
|
+
rowKey: PropTypes.Requireable<NonNullable<string | number | ((...args: any[]) => any)>>;
|
|
50
|
+
};
|
|
27
51
|
/**
|
|
28
52
|
* Grouping component title row
|
|
29
53
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.sectionRowPropTypes = exports.default = void 0;
|
|
7
7
|
var _isSet2 = _interopRequireDefault(require("lodash/isSet"));
|
|
8
8
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -24,9 +24,34 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
24
24
|
}
|
|
25
25
|
return t;
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* avoid affected by https://www.npmjs.com/package/babel-plugin-transform-react-remove-prop-types
|
|
29
|
+
*/
|
|
30
|
+
const sectionRowPropTypes = {
|
|
31
|
+
record: _propTypes.default.object,
|
|
32
|
+
index: _propTypes.default.number,
|
|
33
|
+
columns: _propTypes.default.array,
|
|
34
|
+
group: _propTypes.default.object.isRequired,
|
|
35
|
+
groupKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
|
36
|
+
data: _propTypes.default.array,
|
|
37
|
+
renderGroupSection: _propTypes.default.func,
|
|
38
|
+
onGroupedRow: _propTypes.default.func,
|
|
39
|
+
clickGroupedRowToExpand: _propTypes.default.bool,
|
|
40
|
+
components: _propTypes.default.object,
|
|
41
|
+
expanded: _propTypes.default.bool,
|
|
42
|
+
prefixCls: _propTypes.default.string,
|
|
43
|
+
onExpand: _propTypes.default.func,
|
|
44
|
+
virtualized: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
|
|
45
|
+
style: _propTypes.default.object,
|
|
46
|
+
renderExpandIcon: _propTypes.default.func,
|
|
47
|
+
className: _propTypes.default.string,
|
|
48
|
+
store: _propTypes.default.object,
|
|
49
|
+
rowKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.func])
|
|
50
|
+
};
|
|
27
51
|
/**
|
|
28
52
|
* Grouping component title row
|
|
29
53
|
*/
|
|
54
|
+
exports.sectionRowPropTypes = sectionRowPropTypes;
|
|
30
55
|
class SectionRow extends _react.PureComponent {
|
|
31
56
|
constructor() {
|
|
32
57
|
var _this;
|
|
@@ -154,27 +179,7 @@ class SectionRow extends _react.PureComponent {
|
|
|
154
179
|
}
|
|
155
180
|
}
|
|
156
181
|
SectionRow.contextType = _tableContext.default;
|
|
157
|
-
SectionRow.propTypes =
|
|
158
|
-
record: _propTypes.default.object,
|
|
159
|
-
index: _propTypes.default.number,
|
|
160
|
-
columns: _propTypes.default.array,
|
|
161
|
-
group: _propTypes.default.object.isRequired,
|
|
162
|
-
groupKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
|
163
|
-
data: _propTypes.default.array,
|
|
164
|
-
renderGroupSection: _propTypes.default.func,
|
|
165
|
-
onGroupedRow: _propTypes.default.func,
|
|
166
|
-
clickGroupedRowToExpand: _propTypes.default.bool,
|
|
167
|
-
components: _propTypes.default.object,
|
|
168
|
-
expanded: _propTypes.default.bool,
|
|
169
|
-
prefixCls: _propTypes.default.string,
|
|
170
|
-
onExpand: _propTypes.default.func,
|
|
171
|
-
virtualized: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
|
|
172
|
-
style: _propTypes.default.object,
|
|
173
|
-
renderExpandIcon: _propTypes.default.func,
|
|
174
|
-
className: _propTypes.default.string,
|
|
175
|
-
store: _propTypes.default.object,
|
|
176
|
-
rowKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.func])
|
|
177
|
-
};
|
|
182
|
+
SectionRow.propTypes = sectionRowPropTypes;
|
|
178
183
|
SectionRow.defaultProps = {
|
|
179
184
|
prefixCls: _constants.cssClasses.PREFIX,
|
|
180
185
|
components: {
|
|
@@ -22,11 +22,13 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
|
|
|
22
22
|
var _baseComponent = _interopRequireDefault(require("../../_base/baseComponent"));
|
|
23
23
|
var _utils2 = require("../utils");
|
|
24
24
|
var _ColGroup = _interopRequireDefault(require("../ColGroup"));
|
|
25
|
-
var _BaseRow =
|
|
25
|
+
var _BaseRow = _interopRequireWildcard(require("./BaseRow"));
|
|
26
26
|
var _ExpandedRow = _interopRequireDefault(require("./ExpandedRow"));
|
|
27
|
-
var _SectionRow =
|
|
27
|
+
var _SectionRow = _interopRequireWildcard(require("./SectionRow"));
|
|
28
28
|
var _TableHeader = _interopRequireDefault(require("../TableHeader"));
|
|
29
29
|
var _tableContext = _interopRequireDefault(require("../table-context"));
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
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; }
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
33
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
32
34
|
var t = {};
|
|
@@ -278,7 +280,7 @@ class Body extends _baseComponent.default {
|
|
|
278
280
|
groupKey,
|
|
279
281
|
index
|
|
280
282
|
} = props;
|
|
281
|
-
const sectionRowPickKeys = Object.keys(_SectionRow.
|
|
283
|
+
const sectionRowPickKeys = Object.keys(_SectionRow.sectionRowPropTypes);
|
|
282
284
|
const sectionRowProps = (0, _pick2.default)(props, sectionRowPickKeys);
|
|
283
285
|
const {
|
|
284
286
|
handleRowExpanded
|
|
@@ -602,7 +604,7 @@ class Body extends _baseComponent.default {
|
|
|
602
604
|
disabledRowKeysSet,
|
|
603
605
|
expandRowByClick
|
|
604
606
|
} = props;
|
|
605
|
-
const baseRowPickKeys = Object.keys(_BaseRow.
|
|
607
|
+
const baseRowPickKeys = Object.keys(_BaseRow.baseRowPropTypes);
|
|
606
608
|
const baseRowProps = (0, _pick2.default)(props, baseRowPickKeys);
|
|
607
609
|
let key = (0, _utils.getRecordKey)(record, rowKey);
|
|
608
610
|
if (key == null) {
|
|
@@ -67,7 +67,7 @@ const ResizableTable = function () {
|
|
|
67
67
|
width: _constants.numbers.DEFAULT_WIDTH_COLUMN_EXPAND
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
-
if (props.rowSelection && !(0, _find2.default)(rawColumns, item => item.key === _constants.strings.DEFAULT_KEY_COLUMN_SELECTION)) {
|
|
70
|
+
if (props.rowSelection && !(0, _get2.default)(props.rowSelection, 'hidden') && !(0, _find2.default)(rawColumns, item => item.key === _constants.strings.DEFAULT_KEY_COLUMN_SELECTION)) {
|
|
71
71
|
newColumns.unshift({
|
|
72
72
|
width: (0, _get2.default)(props, 'rowSelection.width', _constants.numbers.DEFAULT_WIDTH_COLUMN_SELECTION),
|
|
73
73
|
key: _constants.strings.DEFAULT_KEY_COLUMN_SELECTION
|
|
@@ -191,9 +191,10 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
191
191
|
componentWillUnmount(): void;
|
|
192
192
|
componentDidUpdate(prevProps: CascaderProps): void;
|
|
193
193
|
handleInputChange: (value: string) => void;
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
handleTagRemoveInTrigger: (pos: string) => void;
|
|
195
|
+
handleTagClose: (tagChildren: React.ReactNode, e: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
|
|
196
196
|
renderTagItem: (nodeKey: string, idx: number) => string | number | boolean | React.ReactFragment | JSX.Element;
|
|
197
|
+
onRemoveInTagInput: (v: string) => void;
|
|
197
198
|
renderTagInput(): JSX.Element;
|
|
198
199
|
renderInput(): JSX.Element;
|
|
199
200
|
handleItemClick: (e: MouseEvent | KeyboardEvent, item: Entity | Data) => void;
|
package/lib/es/cascader/index.js
CHANGED
|
@@ -34,14 +34,13 @@ class Cascader extends BaseComponent {
|
|
|
34
34
|
this.handleInputChange = value => {
|
|
35
35
|
this.foundation.handleInputChange(value);
|
|
36
36
|
};
|
|
37
|
-
this.
|
|
38
|
-
this.foundation.
|
|
37
|
+
this.handleTagRemoveInTrigger = pos => {
|
|
38
|
+
this.foundation.handleTagRemoveInTrigger(pos);
|
|
39
39
|
};
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this.handleTagRemove(null, keyEntities[key].valuePath);
|
|
40
|
+
this.handleTagClose = (tagChildren, e, tagKey) => {
|
|
41
|
+
// When value has not changed, prevent clicking tag closeBtn to close tag
|
|
42
|
+
e.preventDefault();
|
|
43
|
+
this.foundation.handleTagRemoveByKey(tagKey);
|
|
45
44
|
};
|
|
46
45
|
this.renderTagItem = (nodeKey, idx) => {
|
|
47
46
|
const {
|
|
@@ -69,18 +68,18 @@ class Cascader extends BaseComponent {
|
|
|
69
68
|
size: size === 'default' ? 'large' : size,
|
|
70
69
|
key: `tag-${nodeKey}-${idx}`,
|
|
71
70
|
color: "white",
|
|
71
|
+
tagKey: nodeKey,
|
|
72
72
|
className: tagCls,
|
|
73
73
|
closable: true,
|
|
74
|
-
onClose:
|
|
75
|
-
// When value has not changed, prevent clicking tag closeBtn to close tag
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
this.handleTagRemove(e, keyEntities[nodeKey].valuePath);
|
|
78
|
-
}
|
|
74
|
+
onClose: this.handleTagClose
|
|
79
75
|
}, keyEntities[nodeKey].data[displayProp]);
|
|
80
76
|
}
|
|
81
77
|
}
|
|
82
78
|
return null;
|
|
83
79
|
};
|
|
80
|
+
this.onRemoveInTagInput = v => {
|
|
81
|
+
this.foundation.handleTagRemoveByKey(v);
|
|
82
|
+
};
|
|
84
83
|
this.handleItemClick = (e, item) => {
|
|
85
84
|
this.foundation.handleItemClick(e, item);
|
|
86
85
|
};
|
|
@@ -280,6 +279,7 @@ class Cascader extends BaseComponent {
|
|
|
280
279
|
}, labelNode);
|
|
281
280
|
};
|
|
282
281
|
this.renderCustomTrigger = () => {
|
|
282
|
+
var _a;
|
|
283
283
|
const {
|
|
284
284
|
disabled,
|
|
285
285
|
triggerRender,
|
|
@@ -290,17 +290,26 @@ class Cascader extends BaseComponent {
|
|
|
290
290
|
inputValue,
|
|
291
291
|
inputPlaceHolder,
|
|
292
292
|
resolvedCheckedKeys,
|
|
293
|
-
checkedKeys
|
|
293
|
+
checkedKeys,
|
|
294
|
+
keyEntities
|
|
294
295
|
} = this.state;
|
|
295
296
|
let realValue;
|
|
296
297
|
if (multiple) {
|
|
297
298
|
if (this.mergeType === strings.NONE_MERGE_TYPE) {
|
|
298
|
-
realValue =
|
|
299
|
+
realValue = new Set();
|
|
300
|
+
checkedKeys.forEach(key => {
|
|
301
|
+
var _a;
|
|
302
|
+
realValue.add((_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.pos);
|
|
303
|
+
});
|
|
299
304
|
} else {
|
|
300
|
-
realValue =
|
|
305
|
+
realValue = new Set();
|
|
306
|
+
resolvedCheckedKeys.forEach(key => {
|
|
307
|
+
var _a;
|
|
308
|
+
realValue.add((_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.pos);
|
|
309
|
+
});
|
|
301
310
|
}
|
|
302
311
|
} else {
|
|
303
|
-
realValue = [...selectedKeys][0];
|
|
312
|
+
realValue = (_a = keyEntities[[...selectedKeys][0]]) === null || _a === void 0 ? void 0 : _a.pos;
|
|
304
313
|
}
|
|
305
314
|
return /*#__PURE__*/React.createElement(Trigger, {
|
|
306
315
|
value: realValue,
|
|
@@ -313,7 +322,7 @@ class Cascader extends BaseComponent {
|
|
|
313
322
|
componentName: 'Cascader',
|
|
314
323
|
componentProps: Object.assign({}, this.props),
|
|
315
324
|
onSearch: this.handleInputChange,
|
|
316
|
-
onRemove: this.
|
|
325
|
+
onRemove: this.handleTagRemoveInTrigger
|
|
317
326
|
});
|
|
318
327
|
};
|
|
319
328
|
this.handleMouseOver = () => {
|
|
@@ -797,11 +806,11 @@ class Cascader extends BaseComponent {
|
|
|
797
806
|
showRestTagsPopover: showRestTagsPopover,
|
|
798
807
|
restTagsPopoverProps: restTagsPopoverProps,
|
|
799
808
|
maxTagCount: maxTagCount,
|
|
800
|
-
renderTagItem:
|
|
809
|
+
renderTagItem: this.renderTagItem,
|
|
801
810
|
inputValue: inputValue,
|
|
802
811
|
onInputChange: this.handleInputChange,
|
|
803
812
|
// TODO Modify logic, not modify type
|
|
804
|
-
onRemove:
|
|
813
|
+
onRemove: this.onRemoveInTagInput,
|
|
805
814
|
placeholder: placeholder,
|
|
806
815
|
expandRestTagsOnClick: false
|
|
807
816
|
});
|