@vtx/components 4.0.0-beta.16 → 4.0.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js +3 -0
- package/es/vtx-descriptions/Descriptions.js +30 -0
- package/es/vtx-descriptions/index.js +3 -0
- package/es/vtx-descriptions/style/index.js +19 -0
- package/es/vtx-export/index.js +19 -29
- package/es/vtx-transfer/Transfer.js +30 -0
- package/es/vtx-transfer/index.js +3 -0
- package/es/vtx-transfer/style/index.js +19 -0
- package/es/vtx-transfer-select/TransferSelect.js +143 -0
- package/es/vtx-transfer-select/index.js +3 -0
- package/es/vtx-transfer-select/style/index.js +19 -0
- package/es/vtx-tree-select/index.js +49 -92
- package/es/vtx-tree-select/style/index.js +4 -2
- package/lib/index.js +36 -0
- package/lib/vtx-descriptions/Descriptions.js +39 -0
- package/lib/vtx-descriptions/index.js +15 -0
- package/lib/vtx-descriptions/style/index.js +25 -0
- package/lib/vtx-export/index.js +20 -30
- package/lib/vtx-transfer/Transfer.js +39 -0
- package/lib/vtx-transfer/index.js +15 -0
- package/lib/vtx-transfer/style/index.js +25 -0
- package/lib/vtx-transfer-select/TransferSelect.js +151 -0
- package/lib/vtx-transfer-select/index.js +15 -0
- package/lib/vtx-transfer-select/style/index.js +25 -0
- package/lib/vtx-tree-select/index.js +49 -92
- package/lib/vtx-tree-select/style/index.js +4 -2
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ var _index = require("./style/index");
|
|
|
15
15
|
var _ahooks = require("ahooks");
|
|
16
16
|
var _vtxProvider = require("../vtx-provider");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
var _excluded = ["multiple", "treeData", "placeholder", "treeCheckable", "disabled", "style"],
|
|
18
|
+
var _excluded = ["multiple", "treeData", "placeholder", "treeCheckable", "disabled", "style", "fieldNames", "onChange", "labelInValue"],
|
|
19
19
|
_excluded2 = ["children"];
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -45,6 +45,14 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
45
45
|
_ref$disabled = _ref.disabled,
|
|
46
46
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
47
47
|
style = _ref.style,
|
|
48
|
+
_ref$fieldNames = _ref.fieldNames,
|
|
49
|
+
fieldNames = _ref$fieldNames === void 0 ? {
|
|
50
|
+
label: "title",
|
|
51
|
+
value: "value",
|
|
52
|
+
children: 'children'
|
|
53
|
+
} : _ref$fieldNames,
|
|
54
|
+
onChange = _ref.onChange,
|
|
55
|
+
labelInValue = _ref.labelInValue,
|
|
48
56
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
49
57
|
var intl = (0, _vtxProvider.useIntl)();
|
|
50
58
|
var _useContext = (0, _react.useContext)(_vtxProvider.VtxProvider),
|
|
@@ -73,9 +81,7 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
73
81
|
nodes.map(function (item) {
|
|
74
82
|
var children = item.children,
|
|
75
83
|
rest = _objectWithoutProperties(item, _excluded2);
|
|
76
|
-
keyNodesMapping[item.value
|
|
77
|
-
id: item.value || item.key
|
|
78
|
-
});
|
|
84
|
+
keyNodesMapping[item[fieldNames.value]] = _objectSpread(_objectSpread({}, rest), {}, _defineProperty(_defineProperty({}, fieldNames.value, item[fieldNames.value]), fieldNames.label, item[fieldNames.label]));
|
|
79
85
|
if (Array.isArray(children) && children.length > 0) {
|
|
80
86
|
genNodes(children);
|
|
81
87
|
}
|
|
@@ -84,19 +90,17 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
84
90
|
return keyNodesMapping;
|
|
85
91
|
}, [treeData]);
|
|
86
92
|
var clear = function clear() {
|
|
87
|
-
|
|
88
|
-
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, [], [], {});
|
|
93
|
+
onChangeTreeSelect === null || onChangeTreeSelect === void 0 || onChangeTreeSelect([], [], {});
|
|
89
94
|
};
|
|
90
95
|
var clearKey = function clearKey(id) {
|
|
91
|
-
var _props$onChange2;
|
|
92
96
|
var newValue = _toConsumableArray(props.value);
|
|
93
97
|
(0, _pull.default)(newValue, id);
|
|
94
98
|
var label = newValue.map(function (item) {
|
|
95
|
-
return keyNodesMapping[item]
|
|
99
|
+
return keyNodesMapping[item[fieldNames.label]];
|
|
96
100
|
});
|
|
97
|
-
|
|
101
|
+
onChangeTreeSelect === null || onChangeTreeSelect === void 0 || onChangeTreeSelect(newValue, label, {});
|
|
98
102
|
};
|
|
99
|
-
var
|
|
103
|
+
var getSelectedNodes = function getSelectedNodes(value) {
|
|
100
104
|
var value_arr = function (val) {
|
|
101
105
|
if (Array.isArray(val)) {
|
|
102
106
|
return val;
|
|
@@ -105,90 +109,29 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
105
109
|
} else {
|
|
106
110
|
return [];
|
|
107
111
|
}
|
|
108
|
-
}(
|
|
112
|
+
}(value);
|
|
109
113
|
var selectedNodes = value_arr.filter(function (k) {
|
|
110
|
-
|
|
114
|
+
if (labelInValue) {
|
|
115
|
+
return k.value in keyNodesMapping;
|
|
116
|
+
} else {
|
|
117
|
+
return k in keyNodesMapping;
|
|
118
|
+
}
|
|
111
119
|
}).map(function (item) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
};
|
|
120
|
+
if (labelInValue) {
|
|
121
|
+
return _objectSpread({}, keyNodesMapping[item.value]);
|
|
122
|
+
}
|
|
123
|
+
return _objectSpread({}, keyNodesMapping[item]);
|
|
116
124
|
});
|
|
117
125
|
return selectedNodes;
|
|
126
|
+
};
|
|
127
|
+
var selectedNodes = (0, _react.useMemo)(function () {
|
|
128
|
+
return getSelectedNodes(props.value);
|
|
118
129
|
}, [props.value, keyNodesMapping]);
|
|
119
130
|
(0, _react.useEffect)(function () {
|
|
120
131
|
if (size !== null && size !== void 0 && size.width) {
|
|
121
132
|
setPopWidth(size === null || size === void 0 ? void 0 : size.width);
|
|
122
133
|
}
|
|
123
134
|
}, [size === null || size === void 0 ? void 0 : size.width]);
|
|
124
|
-
|
|
125
|
-
// let suffixIconObj = {};
|
|
126
|
-
// if (multiple || treeCheckable) {
|
|
127
|
-
// suffixIconObj.suffixIcon = (
|
|
128
|
-
// <Popover
|
|
129
|
-
// content={
|
|
130
|
-
// <>
|
|
131
|
-
// <div
|
|
132
|
-
// className={classnames(`${prefixCls}-count-head`, hashId,)}
|
|
133
|
-
|
|
134
|
-
// >
|
|
135
|
-
// <span>已选择:{selectedNodes.length}</span>
|
|
136
|
-
// <span
|
|
137
|
-
// className={classnames(
|
|
138
|
-
// selectedNodes.length > 0 && !disabled
|
|
139
|
-
// ? 'clear-count'
|
|
140
|
-
// : 'disabled-count',
|
|
141
|
-
// )}
|
|
142
|
-
// onClick={e => {
|
|
143
|
-
// if (!disabled) {
|
|
144
|
-
// e.stopPropagation();
|
|
145
|
-
// clear();
|
|
146
|
-
// }
|
|
147
|
-
// }}
|
|
148
|
-
// >
|
|
149
|
-
// 清空已选项
|
|
150
|
-
// </span>
|
|
151
|
-
// </div>
|
|
152
|
-
// {selectedNodes.length > 0 ? (
|
|
153
|
-
// selectedNodes.map(item => (
|
|
154
|
-
// <Tag
|
|
155
|
-
// key={`tab-${item.id}`}
|
|
156
|
-
// closable={!disabled}
|
|
157
|
-
// onClose={e => {
|
|
158
|
-
// e.stopPropagation();
|
|
159
|
-
// clearKey(item.id);
|
|
160
|
-
// }}
|
|
161
|
-
// style={{ marginBottom: '5px' }}
|
|
162
|
-
// >
|
|
163
|
-
// {item.name && item.name.length > 20
|
|
164
|
-
// ? `${item.name.slice(0, 20)}...`
|
|
165
|
-
// : item.name}
|
|
166
|
-
// </Tag>
|
|
167
|
-
// ))
|
|
168
|
-
// ) : (
|
|
169
|
-
// <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
|
|
170
|
-
// )}
|
|
171
|
-
// </>
|
|
172
|
-
// }
|
|
173
|
-
// placement="bottomRight"
|
|
174
|
-
// trigger="click"
|
|
175
|
-
// // overlayStyle={{ width: popWidth }}
|
|
176
|
-
// styles={{ root: { width: popWidth } }}
|
|
177
|
-
// >
|
|
178
|
-
// <Button
|
|
179
|
-
// className={classnames(`${prefixCls}-count`, hashId,)}
|
|
180
|
-
|
|
181
|
-
// icon={<MoreOutlined />}
|
|
182
|
-
// size="default"
|
|
183
|
-
// onClick={e => {
|
|
184
|
-
// console.log('click', e)
|
|
185
|
-
// e.stopPropagation();
|
|
186
|
-
// }}
|
|
187
|
-
// />
|
|
188
|
-
// </Popover>
|
|
189
|
-
// );
|
|
190
|
-
// }
|
|
191
|
-
|
|
192
135
|
var popoverContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
193
136
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
194
137
|
className: (0, _classnames.default)("".concat(prefixCls, "-count-head"), hashId),
|
|
@@ -205,21 +148,29 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
205
148
|
children: intl.getMessage('treeSelect.clearSelectedItems', '清空已选项')
|
|
206
149
|
})]
|
|
207
150
|
}), selectedNodes.length > 0 ? selectedNodes.map(function (item) {
|
|
151
|
+
var _item$fieldNames$labe;
|
|
208
152
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tag, {
|
|
209
153
|
closable: !disabled,
|
|
210
154
|
onClose: function onClose(e) {
|
|
211
155
|
e.stopPropagation();
|
|
212
|
-
clearKey(item.
|
|
156
|
+
clearKey(item[fieldNames.value]);
|
|
213
157
|
},
|
|
214
|
-
|
|
215
|
-
|
|
158
|
+
styles: {
|
|
159
|
+
root: {
|
|
160
|
+
marginBottom: 5,
|
|
161
|
+
marginRight: 5
|
|
162
|
+
}
|
|
216
163
|
},
|
|
217
|
-
children: item.
|
|
218
|
-
}, "tab-".concat(item.
|
|
164
|
+
children: ((_item$fieldNames$labe = item[fieldNames.label]) === null || _item$fieldNames$labe === void 0 ? void 0 : _item$fieldNames$labe.length) > 20 ? "".concat(item[fieldNames.label].slice(0, 20), "...") : item[fieldNames.label]
|
|
165
|
+
}, "tab-".concat(item[fieldNames.value]));
|
|
219
166
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Empty, {
|
|
220
167
|
image: _antd.Empty.PRESENTED_IMAGE_SIMPLE
|
|
221
168
|
})]
|
|
222
169
|
});
|
|
170
|
+
var onChangeTreeSelect = function onChangeTreeSelect(value, label, extra) {
|
|
171
|
+
extra.list = getSelectedNodes(value);
|
|
172
|
+
onChange === null || onChange === void 0 || onChange(value, label, extra);
|
|
173
|
+
};
|
|
223
174
|
return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
224
175
|
ref: ref,
|
|
225
176
|
style: style,
|
|
@@ -228,7 +179,7 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
228
179
|
style: {
|
|
229
180
|
width: '100%'
|
|
230
181
|
},
|
|
231
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.TreeSelect, _objectSpread({
|
|
182
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.TreeSelect, _objectSpread(_objectSpread({
|
|
232
183
|
showSearch: true,
|
|
233
184
|
placeholder: placeholder,
|
|
234
185
|
treeData: treeData,
|
|
@@ -252,8 +203,14 @@ var VtxTreeSelect = exports.VtxTreeSelect = function VtxTreeSelect(_ref) {
|
|
|
252
203
|
popup: (0, _classnames.default)("".concat(prefixCls, "-popup"), hashId)
|
|
253
204
|
},
|
|
254
205
|
maxTagCount: "responsive",
|
|
255
|
-
treeDefaultExpandAll: true
|
|
256
|
-
|
|
206
|
+
treeDefaultExpandAll: true,
|
|
207
|
+
fieldNames: fieldNames,
|
|
208
|
+
labelInValue: labelInValue
|
|
209
|
+
}, props), {}, {
|
|
210
|
+
onChange: function onChange(value, label, extra) {
|
|
211
|
+
return onChangeTreeSelect(value, label, extra, selectedNodes);
|
|
212
|
+
}
|
|
213
|
+
})), (multiple || treeCheckable) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popover, {
|
|
257
214
|
open: popOpen,
|
|
258
215
|
onOpenChange: setPopOpen,
|
|
259
216
|
placement: "bottomRight",
|
|
@@ -34,14 +34,16 @@ var genVtxTreeSelectStyle = function genVtxTreeSelectStyle(token) {
|
|
|
34
34
|
color: '@input-placeholder-color'
|
|
35
35
|
}), '&-count', {
|
|
36
36
|
marginRight: '-12px'
|
|
37
|
-
})), "".concat(componentCls, "-popup"), _defineProperty({}, '&', _defineProperty(_defineProperty({}, '.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title', {
|
|
37
|
+
})), "".concat(componentCls, "-popup"), _defineProperty({}, '&', _defineProperty(_defineProperty(_defineProperty({}, '.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title', {
|
|
38
38
|
color: '#1890ff'
|
|
39
39
|
}), '.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-node-selected', {
|
|
40
40
|
backgroundColor: '#e6f7ff'
|
|
41
|
+
}), '.ant-select-tree .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper', {
|
|
42
|
+
flex: 1
|
|
41
43
|
}))), "".concat(componentCls, "-count-head"), {
|
|
42
44
|
display: 'flex',
|
|
43
45
|
justifyContent: 'space-between',
|
|
44
|
-
marginBottom:
|
|
46
|
+
marginBottom: 5,
|
|
45
47
|
'.disabled-count': {
|
|
46
48
|
color: '#aaa',
|
|
47
49
|
cursor: 'not-allowed'
|