@zat-design/sisyphus-react 3.7.2-beta.9 → 3.7.3-beta.1

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.
@@ -1,4 +1,4 @@
1
- import { isEqualWith, isFunction } from 'lodash';
1
+ import { isEqualWith } from 'lodash';
2
2
  import React from 'react';
3
3
  /**
4
4
  * namesPath生产 [['list', 0, 'min'], ['list', 0, 'max']] => list_0_min-list_0_max
@@ -26,8 +26,9 @@ export var memoWith = function memoWith(pre, next) {
26
26
  if ( /*#__PURE__*/React.isValidElement(objValue) && /*#__PURE__*/React.isValidElement(othValue)) {
27
27
  return true;
28
28
  }
29
- if (isFunction(objValue) && isFunction(othValue)) {
30
- return true;
31
- }
29
+ // 移除解决formlist函数里不更新问题
30
+ // if (isFunction(objValue) && isFunction(othValue)) {
31
+ // return true;
32
+ // }
32
33
  });
33
34
  };
@@ -238,10 +238,12 @@ export var useTransformColumns = function useTransformColumns(params) {
238
238
  args[_key] = arguments[_key];
239
239
  }
240
240
  newValue = valueFromEventWrapper(column, args);
241
- if ((transform === null || transform === void 0 ? void 0 : transform.normalize) || normalize) {
241
+ if (transform === null || transform === void 0 ? void 0 : transform.normalize) {
242
242
  var _transform$normalize;
243
+ newValue = transform === null || transform === void 0 ? void 0 : (_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue);
244
+ } else if (normalize) {
243
245
  // @ts-ignore
244
- newValue = (transform === null || transform === void 0 ? void 0 : (_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue)) || (normalize === null || normalize === void 0 ? void 0 : normalize(newValue));
246
+ newValue = normalize === null || normalize === void 0 ? void 0 : normalize(newValue);
245
247
  }
246
248
  internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
247
249
  var values = form.getFieldValue(namePath);
@@ -9,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
10
10
  import "antd/es/select/style";
11
11
  import _Select from "antd/es/select";
12
- var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "isView"];
12
+ var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "getValueProps", "isView"];
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { useDeepCompareEffect, useRequest as useRequestFunc } from 'ahooks';
15
15
  import React, { useImperativeHandle, useState, forwardRef } from 'react';
@@ -53,10 +53,11 @@ export var ProSelect = function ProSelect(props, ref) {
53
53
  onChange = props.onChange,
54
54
  updateDataSource = props.updateDataSource,
55
55
  transformResponse = props.transformResponse,
56
+ getValueProps = props.getValueProps,
56
57
  isViewPro = props.isView,
57
58
  selectProps = _objectWithoutProperties(props, _excluded);
58
59
  selectProps.showCodeName = (_selectProps$showCode = selectProps.showCodeName) !== null && _selectProps$showCode !== void 0 ? _selectProps$showCode : showCodeName;
59
- var value = props.value;
60
+ var value = getValueProps && props.value ? getValueProps(props.value) : props.value;
60
61
  var _ref2 = ProForm.useFieldProps() || {},
61
62
  isViewCon = _ref2.isView,
62
63
  viewEmpty = _ref2.viewEmpty;
@@ -216,6 +217,7 @@ export var ProSelect = function ProSelect(props, ref) {
216
217
  return props.children;
217
218
  };
218
219
  var handleChange = function handleChange(value, option) {
220
+ var getChangeValue = selectProps.getChangeValue;
219
221
  if (selectProps.mode && selectProps.mode === 'multiple') {
220
222
  if (Array.isArray(option)) {
221
223
  option.forEach(function (item) {
@@ -225,14 +227,14 @@ export var ProSelect = function ProSelect(props, ref) {
225
227
  });
226
228
  }
227
229
  if (labelInValue) {
228
- onChange === null || onChange === void 0 ? void 0 : onChange(getValueObject(value), option);
230
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
229
231
  } else {
230
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option);
232
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option);
231
233
  }
232
234
  } else if (!selectProps.mode && labelInValue) {
233
- onChange(getValueObject(value), option);
235
+ onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
234
236
  } else {
235
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option === null || option === void 0 ? void 0 : option.record);
237
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option === null || option === void 0 ? void 0 : option.record);
236
238
  }
237
239
  };
238
240
  /**
@@ -278,10 +280,11 @@ export var ProSelect = function ProSelect(props, ref) {
278
280
  if ((otherProps === null || otherProps === void 0 ? void 0 : otherProps.listName) && filterInList) {
279
281
  newSelectList = getSelectList({
280
282
  otherProps: otherProps,
281
- value: props.value,
283
+ value: value,
282
284
  dataSource: selectList,
283
285
  labelInValue: labelInValue,
284
- fieldNames: fieldNames
286
+ fieldNames: fieldNames,
287
+ mode: selectProps.mode
285
288
  });
286
289
  }
287
290
  return _jsx("div", {
@@ -46,6 +46,10 @@ export interface PropSelectProps extends Omit<SelectProps, 'onSearch'> {
46
46
  onSearch?: (value: string, useRequest: Result<any, any>) => void;
47
47
  /** 自定义展示 */
48
48
  optionRender?: (value: DataOption) => string | ReactNode;
49
+ /** 用来转换修改value值 和 getValueProps配合使用 */
50
+ getChangeValue?: (value: DataOption) => any;
51
+ /** 用来转换传入的value值 getChangeValue配合使用 */
52
+ getValueProps?: (value: DataOption) => any;
49
53
  }
50
54
  export interface ProSelectAction {
51
55
  /** 实例方法、根据 code | code[] 批量获取数据 */
@@ -1,10 +1,4 @@
1
1
  /**
2
2
  * 返回当前组件可以显示的数据源
3
3
  */
4
- export declare const getSelectList: ({ otherProps, value, dataSource, labelInValue, fieldNames, }: {
5
- otherProps: any;
6
- value: any;
7
- dataSource: any;
8
- labelInValue: any;
9
- fieldNames: any;
10
- }) => any;
4
+ export declare const getSelectList: ({ otherProps, value, dataSource, labelInValue, fieldNames, mode, }: any) => any;
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
3
  /* eslint-disable no-restricted-syntax */
3
4
  import _ from 'lodash';
@@ -8,7 +9,8 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
8
9
  value = _ref.value,
9
10
  dataSource = _ref.dataSource,
10
11
  labelInValue = _ref.labelInValue,
11
- fieldNames = _ref.fieldNames;
12
+ fieldNames = _ref.fieldNames,
13
+ mode = _ref.mode;
12
14
  var selectValues = [];
13
15
  list.forEach(function (item) {
14
16
  var result = item;
@@ -27,9 +29,13 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
27
29
  } finally {
28
30
  _iterator.f();
29
31
  }
30
- selectValues.push(result);
32
+ if (mode === 'multiple') {
33
+ selectValues = [].concat(_toConsumableArray(selectValues), _toConsumableArray(result));
34
+ } else {
35
+ selectValues.push(result);
36
+ }
31
37
  });
32
- var diffList = _.difference(selectValues, [value]);
38
+ var diffList = _.difference(selectValues, mode === 'multiple' ? value : [value]);
33
39
  return dataSource.filter(function (item) {
34
40
  return !diffList.includes(labelInValue ? item : item[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value] || (item === null || item === void 0 ? void 0 : item.value));
35
41
  });
@@ -42,7 +48,8 @@ export var getSelectList = function getSelectList(_ref2) {
42
48
  value = _ref2.value,
43
49
  dataSource = _ref2.dataSource,
44
50
  labelInValue = _ref2.labelInValue,
45
- fieldNames = _ref2.fieldNames;
51
+ fieldNames = _ref2.fieldNames,
52
+ mode = _ref2.mode;
46
53
  if (!otherProps) {
47
54
  return null;
48
55
  }
@@ -59,6 +66,7 @@ export var getSelectList = function getSelectList(_ref2) {
59
66
  value: value,
60
67
  dataSource: dataSource,
61
68
  labelInValue: labelInValue,
62
- fieldNames: fieldNames
69
+ fieldNames: fieldNames,
70
+ mode: mode
63
71
  });
64
72
  };
@@ -33,8 +33,9 @@ var memoWith = exports.memoWith = function memoWith(pre, next) {
33
33
  if ( /*#__PURE__*/_react.default.isValidElement(objValue) && /*#__PURE__*/_react.default.isValidElement(othValue)) {
34
34
  return true;
35
35
  }
36
- if ((0, _lodash.isFunction)(objValue) && (0, _lodash.isFunction)(othValue)) {
37
- return true;
38
- }
36
+ // 移除解决formlist函数里不更新问题
37
+ // if (isFunction(objValue) && isFunction(othValue)) {
38
+ // return true;
39
+ // }
39
40
  });
40
41
  };
@@ -245,10 +245,12 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
245
245
  args[_key] = arguments[_key];
246
246
  }
247
247
  newValue = valueFromEventWrapper(column, args);
248
- if ((transform === null || transform === void 0 ? void 0 : transform.normalize) || normalize) {
248
+ if (transform === null || transform === void 0 ? void 0 : transform.normalize) {
249
249
  var _transform$normalize;
250
+ newValue = transform === null || transform === void 0 ? void 0 : (_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue);
251
+ } else if (normalize) {
250
252
  // @ts-ignore
251
- newValue = (transform === null || transform === void 0 ? void 0 : (_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue)) || (normalize === null || normalize === void 0 ? void 0 : normalize(newValue));
253
+ newValue = normalize === null || normalize === void 0 ? void 0 : normalize(newValue);
252
254
  }
253
255
  internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
254
256
  var values = form.getFieldValue(namePath);
@@ -21,7 +21,7 @@ var _ = require("..");
21
21
  var _locale = _interopRequireDefault(require("../locale"));
22
22
  var _utils = require("./utils");
23
23
  require("./index.less");
24
- var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "isView"];
24
+ var _excluded = ["dataSource", "defaultDisableValue", "useRequest", "fieldNames", "tooltip", "otherProps", "labelInValue", "filterInList", "scrollFollowParent", "defaultOne", "onSearch", "optionRender", "onChange", "updateDataSource", "transformResponse", "getValueProps", "isView"];
25
25
  var Option = _antd.Select.Option;
26
26
  var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
27
27
  var _selectProps$showCode, _locale$ProSelect;
@@ -54,10 +54,11 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
54
54
  onChange = props.onChange,
55
55
  updateDataSource = props.updateDataSource,
56
56
  transformResponse = props.transformResponse,
57
+ getValueProps = props.getValueProps,
57
58
  isViewPro = props.isView,
58
59
  selectProps = (0, _objectWithoutProperties2.default)(props, _excluded);
59
60
  selectProps.showCodeName = (_selectProps$showCode = selectProps.showCodeName) !== null && _selectProps$showCode !== void 0 ? _selectProps$showCode : showCodeName;
60
- var value = props.value;
61
+ var value = getValueProps && props.value ? getValueProps(props.value) : props.value;
61
62
  var _ref2 = _.ProForm.useFieldProps() || {},
62
63
  isViewCon = _ref2.isView,
63
64
  viewEmpty = _ref2.viewEmpty;
@@ -217,6 +218,7 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
217
218
  return props.children;
218
219
  };
219
220
  var handleChange = function handleChange(value, option) {
221
+ var getChangeValue = selectProps.getChangeValue;
220
222
  if (selectProps.mode && selectProps.mode === 'multiple') {
221
223
  if (Array.isArray(option)) {
222
224
  option.forEach(function (item) {
@@ -226,14 +228,14 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
226
228
  });
227
229
  }
228
230
  if (labelInValue) {
229
- onChange === null || onChange === void 0 ? void 0 : onChange(getValueObject(value), option);
231
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
230
232
  } else {
231
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option);
233
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option);
232
234
  }
233
235
  } else if (!selectProps.mode && labelInValue) {
234
- onChange(getValueObject(value), option);
236
+ onChange(getChangeValue ? getChangeValue(getValueObject(value)) : getValueObject(value), option);
235
237
  } else {
236
- onChange === null || onChange === void 0 ? void 0 : onChange(value, option === null || option === void 0 ? void 0 : option.record);
238
+ onChange === null || onChange === void 0 ? void 0 : onChange(getChangeValue ? getChangeValue(value) : value, option === null || option === void 0 ? void 0 : option.record);
237
239
  }
238
240
  };
239
241
  /**
@@ -279,10 +281,11 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
279
281
  if ((otherProps === null || otherProps === void 0 ? void 0 : otherProps.listName) && filterInList) {
280
282
  newSelectList = (0, _utils.getSelectList)({
281
283
  otherProps: otherProps,
282
- value: props.value,
284
+ value: value,
283
285
  dataSource: selectList,
284
286
  labelInValue: labelInValue,
285
- fieldNames: fieldNames
287
+ fieldNames: fieldNames,
288
+ mode: selectProps.mode
286
289
  });
287
290
  }
288
291
  return (0, _jsxRuntime.jsx)("div", {
@@ -46,6 +46,10 @@ export interface PropSelectProps extends Omit<SelectProps, 'onSearch'> {
46
46
  onSearch?: (value: string, useRequest: Result<any, any>) => void;
47
47
  /** 自定义展示 */
48
48
  optionRender?: (value: DataOption) => string | ReactNode;
49
+ /** 用来转换修改value值 和 getValueProps配合使用 */
50
+ getChangeValue?: (value: DataOption) => any;
51
+ /** 用来转换传入的value值 getChangeValue配合使用 */
52
+ getValueProps?: (value: DataOption) => any;
49
53
  }
50
54
  export interface ProSelectAction {
51
55
  /** 实例方法、根据 code | code[] 批量获取数据 */
@@ -1,10 +1,4 @@
1
1
  /**
2
2
  * 返回当前组件可以显示的数据源
3
3
  */
4
- export declare const getSelectList: ({ otherProps, value, dataSource, labelInValue, fieldNames, }: {
5
- otherProps: any;
6
- value: any;
7
- dataSource: any;
8
- labelInValue: any;
9
- fieldNames: any;
10
- }) => any;
4
+ export declare const getSelectList: ({ otherProps, value, dataSource, labelInValue, fieldNames, mode, }: any) => any;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getSelectList = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
9
10
  var _lodash = _interopRequireDefault(require("lodash"));
10
11
  /* eslint-disable no-restricted-syntax */
@@ -16,7 +17,8 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
16
17
  value = _ref.value,
17
18
  dataSource = _ref.dataSource,
18
19
  labelInValue = _ref.labelInValue,
19
- fieldNames = _ref.fieldNames;
20
+ fieldNames = _ref.fieldNames,
21
+ mode = _ref.mode;
20
22
  var selectValues = [];
21
23
  list.forEach(function (item) {
22
24
  var result = item;
@@ -35,9 +37,13 @@ var findSelectNameValues = function findSelectNameValues(_ref) {
35
37
  } finally {
36
38
  _iterator.f();
37
39
  }
38
- selectValues.push(result);
40
+ if (mode === 'multiple') {
41
+ selectValues = [].concat((0, _toConsumableArray2.default)(selectValues), (0, _toConsumableArray2.default)(result));
42
+ } else {
43
+ selectValues.push(result);
44
+ }
39
45
  });
40
- var diffList = _lodash.default.difference(selectValues, [value]);
46
+ var diffList = _lodash.default.difference(selectValues, mode === 'multiple' ? value : [value]);
41
47
  return dataSource.filter(function (item) {
42
48
  return !diffList.includes(labelInValue ? item : item[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value] || (item === null || item === void 0 ? void 0 : item.value));
43
49
  });
@@ -50,7 +56,8 @@ var getSelectList = exports.getSelectList = function getSelectList(_ref2) {
50
56
  value = _ref2.value,
51
57
  dataSource = _ref2.dataSource,
52
58
  labelInValue = _ref2.labelInValue,
53
- fieldNames = _ref2.fieldNames;
59
+ fieldNames = _ref2.fieldNames,
60
+ mode = _ref2.mode;
54
61
  if (!otherProps) {
55
62
  return null;
56
63
  }
@@ -67,6 +74,7 @@ var getSelectList = exports.getSelectList = function getSelectList(_ref2) {
67
74
  value: value,
68
75
  dataSource: dataSource,
69
76
  labelInValue: labelInValue,
70
- fieldNames: fieldNames
77
+ fieldNames: fieldNames,
78
+ mode: mode
71
79
  });
72
80
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.7.2-beta.9",
3
+ "version": "3.7.3-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",