@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
- if (fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) {
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
- var _ref4 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
226
- defaultParams = _ref4.defaultParams;
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.service, defaultDisableValue]);
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 _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(searchVal) {
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 _ref5.apply(this, arguments);
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
- if (fetchFunction === null || fetchFunction === void 0 ? void 0 : fetchFunction.data) {
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
- var _ref4 = (useRequest === null || useRequest === void 0 ? void 0 : useRequest.options) || {},
226
- defaultParams = _ref4.defaultParams;
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.service, defaultDisableValue]);
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 _ref5 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(searchVal) {
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 _ref5.apply(this, arguments);
466
+ return _ref6.apply(this, arguments);
433
467
  };
434
468
  }(), 500);
435
469
  function findTreeNode(treeList, nodeValue) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.13.6-beta.2",
3
+ "version": "3.13.6-beta.3",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",