@zat-design/sisyphus-react 3.13.6-beta.2 → 3.13.6-beta.3
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.
@@ -19,7 +19,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
19
|
/* eslint-disable react/jsx-closing-tag-location */
|
20
20
|
import { useDeepCompareEffect, useRequest as useRequestFunc, useSetState } from 'ahooks';
|
21
21
|
import classnames from 'classnames';
|
22
|
-
import { useImperativeHandle, forwardRef } from 'react';
|
22
|
+
import { useImperativeHandle, forwardRef, useCallback } from 'react';
|
23
23
|
import { cloneDeep, debounce } from 'lodash';
|
24
24
|
import locale from '../../../locale';
|
25
25
|
import { useProConfig } from '../../../ProConfigProvider';
|
@@ -27,6 +27,7 @@ import Container from '../../../ProForm/components/Container';
|
|
27
27
|
import AdaptiveTooltip from '../AdaptiveTooltip';
|
28
28
|
var SHOW_PARENT = _TreeSelect.SHOW_PARENT;
|
29
29
|
export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
30
|
+
var _useRequest$options;
|
30
31
|
// 全局属性配置在ConfigProvider
|
31
32
|
var _ref = useProConfig('ProTreeSelect') || {},
|
32
33
|
_ref$fieldNames = _ref.fieldNames,
|
@@ -170,19 +171,48 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
170
171
|
origDataSource: resultData || []
|
171
172
|
});
|
172
173
|
};
|
174
|
+
var successTransformDataHandle = useCallback(function (res) {
|
175
|
+
if (transformResponse && typeof transformResponse === 'function') {
|
176
|
+
return transformResponse(res);
|
177
|
+
}
|
178
|
+
var _ref4 = res || {},
|
179
|
+
_ref4$status = _ref4.status,
|
180
|
+
status = _ref4$status === void 0 ? 200 : _ref4$status,
|
181
|
+
msg = _ref4.message,
|
182
|
+
data = _ref4.data;
|
183
|
+
if (status !== 200) {
|
184
|
+
_message.error(msg);
|
185
|
+
return;
|
186
|
+
}
|
187
|
+
return data;
|
188
|
+
}, []);
|
173
189
|
// 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
|
174
190
|
var fetchFunction = useRequestFunc(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, _objectSpread({
|
175
191
|
manual: true,
|
176
|
-
debounceWait: 300
|
192
|
+
debounceWait: 300,
|
193
|
+
onSuccess: function onSuccess(data) {
|
194
|
+
if (transformResponse && typeof transformResponse === 'function') {
|
195
|
+
var responseData = transformResponse(data);
|
196
|
+
var resultData = transferDataSource(responseData, showCodeName);
|
197
|
+
setState({
|
198
|
+
selectList: countChild(resultData),
|
199
|
+
origDataSource: resultData
|
200
|
+
});
|
201
|
+
} else {
|
202
|
+
defaultOnSuccessFun(fetchFunction.data);
|
203
|
+
}
|
204
|
+
}
|
177
205
|
}, useRequest === null || useRequest === void 0 ? void 0 : useRequest.options));
|
206
|
+
var cacheList = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options = useRequest.options) === null || _useRequest$options === void 0 ? void 0 : _useRequest$options.cacheKey) ? successTransformDataHandle(fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) : [];
|
178
207
|
useImperativeHandle(ref, function () {
|
179
208
|
return {
|
180
209
|
useRequestRef: fetchFunction
|
181
210
|
};
|
182
211
|
});
|
183
|
-
//
|
212
|
+
// 设置cacheKey后使用缓存的数据
|
184
213
|
useDeepCompareEffect(function () {
|
185
|
-
|
214
|
+
var _useRequest$options2;
|
215
|
+
if (fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data, useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options2 = useRequest.options) === null || _useRequest$options2 === void 0 ? void 0 : _useRequest$options2.cacheKey) {
|
186
216
|
if (transformResponse && typeof transformResponse === 'function') {
|
187
217
|
var responseData = transformResponse(fetchFunction.data);
|
188
218
|
// debugger;
|
@@ -217,17 +247,21 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
217
247
|
if (enumCode || dataSource) {
|
218
248
|
return undefined;
|
219
249
|
}
|
250
|
+
// 如果配置手动加载,不执行请求
|
251
|
+
var _ref5 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
|
252
|
+
defaultParams = _ref5.defaultParams,
|
253
|
+
manual = _ref5.manual;
|
220
254
|
// disabled 状态时,不查询接口
|
221
255
|
if (defaultDisableValue || !useRequest) {
|
222
256
|
return undefined;
|
223
257
|
}
|
224
|
-
|
225
|
-
|
226
|
-
|
258
|
+
if (manual || (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length)) {
|
259
|
+
return;
|
260
|
+
}
|
227
261
|
var params = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
|
228
262
|
// 执行用户配置的枚举服务,拉取枚举数据进行更新
|
229
263
|
fetchFunction.run(params);
|
230
|
-
}, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.
|
264
|
+
}, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.options, defaultDisableValue]);
|
231
265
|
// disable默认值
|
232
266
|
if (defaultDisableValue) {
|
233
267
|
return _jsx("span", {
|
@@ -404,7 +438,7 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
404
438
|
return sourceList;
|
405
439
|
}
|
406
440
|
var searchTreeEvent = debounce(/*#__PURE__*/function () {
|
407
|
-
var
|
441
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(searchVal) {
|
408
442
|
var result;
|
409
443
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
410
444
|
while (1) switch (_context.prev = _context.next) {
|
@@ -429,7 +463,7 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
429
463
|
}, _callee);
|
430
464
|
}));
|
431
465
|
return function (_x) {
|
432
|
-
return
|
466
|
+
return _ref6.apply(this, arguments);
|
433
467
|
};
|
434
468
|
}(), 500);
|
435
469
|
function findTreeNode(treeList, nodeValue) {
|
@@ -27,6 +27,7 @@ var _excluded = ["disabled", "code", "dataSource", "defaultDisableValue", "onCha
|
|
27
27
|
/* eslint-disable react/jsx-closing-tag-location */
|
28
28
|
var SHOW_PARENT = _antd.TreeSelect.SHOW_PARENT;
|
29
29
|
var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
30
|
+
var _useRequest$options;
|
30
31
|
// 全局属性配置在ConfigProvider
|
31
32
|
var _ref = (0, _ProConfigProvider.useProConfig)('ProTreeSelect') || {},
|
32
33
|
_ref$fieldNames = _ref.fieldNames,
|
@@ -170,19 +171,48 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
170
171
|
origDataSource: resultData || []
|
171
172
|
});
|
172
173
|
};
|
174
|
+
var successTransformDataHandle = (0, _react.useCallback)(function (res) {
|
175
|
+
if (transformResponse && typeof transformResponse === 'function') {
|
176
|
+
return transformResponse(res);
|
177
|
+
}
|
178
|
+
var _ref4 = res || {},
|
179
|
+
_ref4$status = _ref4.status,
|
180
|
+
status = _ref4$status === void 0 ? 200 : _ref4$status,
|
181
|
+
msg = _ref4.message,
|
182
|
+
data = _ref4.data;
|
183
|
+
if (status !== 200) {
|
184
|
+
_antd.message.error(msg);
|
185
|
+
return;
|
186
|
+
}
|
187
|
+
return data;
|
188
|
+
}, []);
|
173
189
|
// 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
|
174
190
|
var fetchFunction = (0, _ahooks.useRequest)(useRequest === null || useRequest === void 0 ? void 0 : useRequest.service, (0, _objectSpread2.default)({
|
175
191
|
manual: true,
|
176
|
-
debounceWait: 300
|
192
|
+
debounceWait: 300,
|
193
|
+
onSuccess: function onSuccess(data) {
|
194
|
+
if (transformResponse && typeof transformResponse === 'function') {
|
195
|
+
var responseData = transformResponse(data);
|
196
|
+
var resultData = transferDataSource(responseData, showCodeName);
|
197
|
+
setState({
|
198
|
+
selectList: countChild(resultData),
|
199
|
+
origDataSource: resultData
|
200
|
+
});
|
201
|
+
} else {
|
202
|
+
defaultOnSuccessFun(fetchFunction.data);
|
203
|
+
}
|
204
|
+
}
|
177
205
|
}, useRequest === null || useRequest === void 0 ? void 0 : useRequest.options));
|
206
|
+
var cacheList = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options = useRequest.options) === null || _useRequest$options === void 0 ? void 0 : _useRequest$options.cacheKey) ? successTransformDataHandle(fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) : [];
|
178
207
|
(0, _react.useImperativeHandle)(ref, function () {
|
179
208
|
return {
|
180
209
|
useRequestRef: fetchFunction
|
181
210
|
};
|
182
211
|
});
|
183
|
-
//
|
212
|
+
// 设置cacheKey后使用缓存的数据
|
184
213
|
(0, _ahooks.useDeepCompareEffect)(function () {
|
185
|
-
|
214
|
+
var _useRequest$options2;
|
215
|
+
if (fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data, useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options2 = useRequest.options) === null || _useRequest$options2 === void 0 ? void 0 : _useRequest$options2.cacheKey) {
|
186
216
|
if (transformResponse && typeof transformResponse === 'function') {
|
187
217
|
var responseData = transformResponse(fetchFunction.data);
|
188
218
|
// debugger;
|
@@ -217,17 +247,21 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
217
247
|
if (enumCode || dataSource) {
|
218
248
|
return undefined;
|
219
249
|
}
|
250
|
+
// 如果配置手动加载,不执行请求
|
251
|
+
var _ref5 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
|
252
|
+
defaultParams = _ref5.defaultParams,
|
253
|
+
manual = _ref5.manual;
|
220
254
|
// disabled 状态时,不查询接口
|
221
255
|
if (defaultDisableValue || !useRequest) {
|
222
256
|
return undefined;
|
223
257
|
}
|
224
|
-
|
225
|
-
|
226
|
-
|
258
|
+
if (manual || (cacheList === null || cacheList === void 0 ? void 0 : cacheList.length)) {
|
259
|
+
return;
|
260
|
+
}
|
227
261
|
var params = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
|
228
262
|
// 执行用户配置的枚举服务,拉取枚举数据进行更新
|
229
263
|
fetchFunction.run(params);
|
230
|
-
}, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.
|
264
|
+
}, [useRequest === null || useRequest === void 0 ? void 0 : useRequest.options, defaultDisableValue]);
|
231
265
|
// disable默认值
|
232
266
|
if (defaultDisableValue) {
|
233
267
|
return (0, _jsxRuntime.jsx)("span", {
|
@@ -404,7 +438,7 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
404
438
|
return sourceList;
|
405
439
|
}
|
406
440
|
var searchTreeEvent = (0, _lodash.debounce)(/*#__PURE__*/function () {
|
407
|
-
var
|
441
|
+
var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(searchVal) {
|
408
442
|
var result;
|
409
443
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
410
444
|
while (1) switch (_context.prev = _context.next) {
|
@@ -429,7 +463,7 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
429
463
|
}, _callee);
|
430
464
|
}));
|
431
465
|
return function (_x) {
|
432
|
-
return
|
466
|
+
return _ref6.apply(this, arguments);
|
433
467
|
};
|
434
468
|
}(), 500);
|
435
469
|
function findTreeNode(treeList, nodeValue) {
|