fan-standard-comp 4.1.1 → 4.1.2

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.
Files changed (61) hide show
  1. package/dist/fan-standard-comp.min.css +1 -1
  2. package/dist/fan-standard-comp.min.js +1 -1
  3. package/es/ButtonGroup/index.d.ts +1 -0
  4. package/es/ButtonGroup/styles/index.js +3 -1
  5. package/es/FormComp/FieldComponent/ExtensionField.d.ts +3 -0
  6. package/es/FormComp/FieldComponent/ExtensionField.js +18 -0
  7. package/es/FormComp/FieldComponent/index.d.ts +10 -1
  8. package/es/FormComp/FieldComponent/index.js +123 -56
  9. package/es/FormComp/RenderItemGroup/index.js +25 -8
  10. package/es/NavLeafScroll/Main.js +2 -2
  11. package/es/StandardDragModal/ChangeStandardModal.js +1 -1
  12. package/es/StandardFilter/index.js +12 -9
  13. package/es/StandardFilter/style/FilterStyle.js +13 -4
  14. package/es/StandardFilter/style/index.less +9 -2
  15. package/es/StandardForm/StepForm.js +1 -1
  16. package/es/StandardModal/index.js +1 -1
  17. package/es/StandardTable/index.d.ts +3 -2
  18. package/es/StandardTable/index.js +15 -8
  19. package/es/StandardTable/style/index.js +5 -0
  20. package/es/StandardTablePro/index.d.ts +9 -0
  21. package/es/StandardTablePro/index.js +147 -0
  22. package/es/StandardTablePro/style/index.d.ts +6 -0
  23. package/es/StandardTablePro/style/index.js +28 -0
  24. package/es/data/general.config.d.ts +32 -0
  25. package/es/data/general.config.js +34 -1
  26. package/es/utils/ValueFormat.js +3 -3
  27. package/es/utils/index.d.ts +9 -0
  28. package/es/utils/index.js +46 -1
  29. package/es/utils/regExp.d.ts +3 -1
  30. package/es/utils/regExp.js +12 -1
  31. package/es/utils/response.js +2 -2
  32. package/lib/ButtonGroup/index.d.ts +1 -0
  33. package/lib/ButtonGroup/styles/index.js +3 -1
  34. package/lib/FormComp/FieldComponent/ExtensionField.d.ts +3 -0
  35. package/lib/FormComp/FieldComponent/ExtensionField.js +27 -0
  36. package/lib/FormComp/FieldComponent/index.d.ts +10 -1
  37. package/lib/FormComp/FieldComponent/index.js +122 -56
  38. package/lib/FormComp/RenderItemGroup/index.js +25 -8
  39. package/lib/NavLeafScroll/Main.js +2 -2
  40. package/lib/StandardDragModal/ChangeStandardModal.js +1 -1
  41. package/lib/StandardFilter/index.js +12 -9
  42. package/lib/StandardFilter/style/FilterStyle.js +13 -4
  43. package/lib/StandardFilter/style/index.less +9 -2
  44. package/lib/StandardForm/StepForm.js +1 -1
  45. package/lib/StandardModal/index.js +1 -1
  46. package/lib/StandardTable/index.d.ts +3 -2
  47. package/lib/StandardTable/index.js +15 -8
  48. package/lib/StandardTable/style/index.js +5 -0
  49. package/lib/StandardTablePro/index.d.ts +9 -0
  50. package/lib/StandardTablePro/index.js +155 -0
  51. package/lib/StandardTablePro/style/index.d.ts +6 -0
  52. package/lib/StandardTablePro/style/index.js +34 -0
  53. package/lib/data/general.config.d.ts +32 -0
  54. package/lib/data/general.config.js +34 -1
  55. package/lib/utils/ValueFormat.js +3 -3
  56. package/lib/utils/index.d.ts +9 -0
  57. package/lib/utils/index.js +49 -3
  58. package/lib/utils/regExp.d.ts +3 -1
  59. package/lib/utils/regExp.js +12 -1
  60. package/lib/utils/response.js +2 -2
  61. package/package.json +2 -2
@@ -39,6 +39,7 @@ interface ButtonGroupProps {
39
39
  showTextIcon?: boolean;
40
40
  className?: string;
41
41
  style?: object;
42
+ [k: string]: any;
42
43
  }
43
44
  declare const ButtonGroup: (props: ButtonGroupProps) => any;
44
45
  export default ButtonGroup;
@@ -46,8 +46,10 @@ var SpecButtonGroupStyleFunc = function SpecButtonGroupStyleFunc(prefix) {
46
46
  });
47
47
  var prefixCls = ".".concat(prefix);
48
48
  return [_defineProperty({}, prefixCls, _objectSpread({
49
- display: 'inline-block',
49
+ // display: 'inline-block',
50
+ display: 'inline-flex',
50
51
  verticalAlign: 'middle',
52
+ flexWrap: 'wrap',
51
53
  alignItems: 'center',
52
54
  '> *': {
53
55
  marginLeft: token.marginSM,
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ExtensionField: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
3
+ export default ExtensionField;
@@ -0,0 +1,18 @@
1
+ var _excluded = ["type", "extendType"];
2
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
3
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
4
+ import React, { useContext, forwardRef } from 'react';
5
+ import { FanContext } from "../../ConfigContext";
6
+ var ExtensionField = /*#__PURE__*/forwardRef(function (props, ref) {
7
+ var InitFanContext = useContext(FanContext);
8
+ var providerConfig = InitFanContext['Field'] || {}; // 使用上下文(全局配置)设置扩展的配置项
9
+ var type = props.type,
10
+ extendType = props.extendType,
11
+ fieldProps = _objectWithoutProperties(props, _excluded);
12
+ var MatchType = ((providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.extendComponents) || []).find(function (tItem) {
13
+ return tItem.extendType === extendType;
14
+ });
15
+ var MatchTypeComponent = (MatchType === null || MatchType === void 0 ? void 0 : MatchType.component) || null;
16
+ return typeof MatchTypeComponent === 'function' ? /*#__PURE__*/React.createElement(MatchTypeComponent, fieldProps) : MatchTypeComponent;
17
+ });
18
+ export default ExtensionField;
@@ -8,10 +8,16 @@ interface OptionNameProps {
8
8
  children?: string;
9
9
  [k: string]: any;
10
10
  }
11
+ export interface FieldExtendsTypeType {
12
+ type: string;
13
+ component: (cProps: any) => React.ReactNode | React.ReactNode | any;
14
+ [k: string]: any;
15
+ }
11
16
  export interface FieldComponentProps {
12
17
  label?: any;
13
18
  type?: string;
14
19
  filedName?: string;
20
+ fieldName?: string;
15
21
  value?: any;
16
22
  protoConfig?: any;
17
23
  onChange?: (value?: any, option?: any) => void | any;
@@ -33,6 +39,9 @@ export interface FieldComponentProps {
33
39
  value: string;
34
40
  }[];
35
41
  rules?: any;
42
+ defaultStyle?: React.CSSProperties;
43
+ extendComponents?: FieldExtendsTypeType[];
44
+ [k: string]: any;
36
45
  }
37
- declare const FieldComponent: React.ForwardRefExoticComponent<FieldComponentProps & React.RefAttributes<unknown>>;
46
+ declare const FieldComponent: React.ForwardRefExoticComponent<Omit<FieldComponentProps, "ref"> & React.RefAttributes<unknown>>;
38
47
  export default FieldComponent;
@@ -16,6 +16,7 @@ import RefactorTreeSelect from "./RefactorTreeSelect";
16
16
  import { setSelectValue, setDatePickerValue, setTimePickerValue, setCascaderValue } from "./setReadonlyValues";
17
17
  import TitleNode from "./TitleNode";
18
18
  import ReUpload from "./ReUpload";
19
+ import ExtensionField from "./ExtensionField";
19
20
  // import UploaderViewer from './UploaderViewer'
20
21
  import { FanContext } from "../../ConfigContext";
21
22
  var TextArea = Input.TextArea,
@@ -23,42 +24,50 @@ var TextArea = Input.TextArea,
23
24
  var Option = Select.Option;
24
25
  var RangePicker = DatePicker.RangePicker;
25
26
  // 表单组件类型
27
+ // @ts-ignore
26
28
  var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
27
- var type = props.type,
28
- _onChange = props.onChange,
29
- value = props.value,
30
- style = props.style,
31
- placeholder = props.placeholder,
32
- protoConfig = props.protoConfig,
33
- _props$treeData = props.treeData,
34
- treeData = _props$treeData === void 0 ? [] : _props$treeData,
35
- filedName = props.filedName,
36
- _props$selectOptionNa = props.selectOptionName,
37
- selectOptionName = _props$selectOptionNa === void 0 ? {
29
+ var InitFanContext = useContext(FanContext);
30
+ var providerConfig = InitFanContext['Field'] || {}; // 使用上下文(全局配置)设置扩展的配置项
31
+ var _providerConfig$props = _objectSpread(_objectSpread({}, providerConfig), props),
32
+ type = _providerConfig$props.type,
33
+ _onChange = _providerConfig$props.onChange,
34
+ value = _providerConfig$props.value,
35
+ style = _providerConfig$props.style,
36
+ placeholder = _providerConfig$props.placeholder,
37
+ protoConfig = _providerConfig$props.protoConfig,
38
+ _providerConfig$props2 = _providerConfig$props.treeData,
39
+ treeData = _providerConfig$props2 === void 0 ? [] : _providerConfig$props2,
40
+ filedName = _providerConfig$props.filedName,
41
+ fieldName = _providerConfig$props.fieldName,
42
+ _providerConfig$props3 = _providerConfig$props.selectOptionName,
43
+ selectOptionName = _providerConfig$props3 === void 0 ? {
38
44
  value: 'value',
39
45
  label: 'label',
40
46
  disabled: 'disabled',
41
47
  title: 'title'
42
- } : _props$selectOptionNa,
43
- _props$treeOptionName = props.treeOptionName,
44
- treeOptionName = _props$treeOptionName === void 0 ? {
48
+ } : _providerConfig$props3,
49
+ _providerConfig$props4 = _providerConfig$props.treeOptionName,
50
+ treeOptionName = _providerConfig$props4 === void 0 ? {
45
51
  title: 'title',
46
52
  value: 'value',
47
53
  children: 'children',
48
54
  disabled: 'disabled'
49
- } : _props$treeOptionName,
50
- _props$fieldStatus = props.fieldStatus,
51
- fieldStatus = _props$fieldStatus === void 0 ? 'default' : _props$fieldStatus,
52
- _props$size = props.size,
53
- size = _props$size === void 0 ? 'middle' : _props$size,
54
- showFullLevel = props.showFullLevel,
55
- separator = props.separator,
56
- disabledFields = props.disabledFields,
57
- selectOptionRender = props.selectOptionRender,
58
- render = props.render;
59
- var selectOptions = props.selectOptions;
60
- var InitFanContext = useContext(FanContext);
61
- var providerConfig = (InitFanContext === null || InitFanContext === void 0 ? void 0 : InitFanContext[type || '']) || {}; // 使用上下文(全局配置)设置扩展的配置项
55
+ } : _providerConfig$props4,
56
+ _providerConfig$props5 = _providerConfig$props.fieldStatus,
57
+ fieldStatus = _providerConfig$props5 === void 0 ? 'default' : _providerConfig$props5,
58
+ _providerConfig$props6 = _providerConfig$props.size,
59
+ size = _providerConfig$props6 === void 0 ? 'middle' : _providerConfig$props6,
60
+ showFullLevel = _providerConfig$props.showFullLevel,
61
+ separator = _providerConfig$props.separator,
62
+ disabledFields = _providerConfig$props.disabledFields,
63
+ selectOptionRender = _providerConfig$props.selectOptionRender,
64
+ render = _providerConfig$props.render,
65
+ _providerConfig$props7 = _providerConfig$props.defaultStyle,
66
+ defaultStyle = _providerConfig$props7 === void 0 ? {} : _providerConfig$props7,
67
+ extendConfig = _providerConfig$props.extendConfig;
68
+ var _providerConfig$props8 = _objectSpread(_objectSpread({}, providerConfig), props),
69
+ selectOptions = _providerConfig$props8.selectOptions;
70
+ var providerProtoConfig = (InitFanContext === null || InitFanContext === void 0 ? void 0 : InitFanContext[type || '']) || {}; // 使用上下文(全局配置)设置控件扩展的配置项
62
71
  var compContent;
63
72
  if (selectOptionName && selectOptions) {
64
73
  // 将传值的数据进行转换
@@ -78,12 +87,12 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
78
87
  render: render,
79
88
  size: size,
80
89
  ref: ref
81
- }, providerConfig), protoConfig);
90
+ }, providerProtoConfig), protoConfig);
82
91
  if (fieldStatus === 'disabled') {
83
92
  defaultProps.disabled = true;
84
93
  }
85
94
  var sortLimitRule = {}; // 排序字段长度限制
86
- if (filedName === 'sorts' || filedName === 'sort' || filedName === 'indexSort' || filedName === 'sorta' || filedName === 'categorySort') {
95
+ if (filedName === 'sorts' || filedName === 'sort' || filedName === 'indexSort' || filedName === 'sorta' || filedName === 'categorySort' || fieldName === 'sorts' || fieldName === 'sort' || fieldName === 'indexSort' || fieldName === 'sorta' || fieldName === 'categorySort') {
87
96
  sortLimitRule = {
88
97
  min: 0,
89
98
  max: 999999999,
@@ -92,6 +101,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
92
101
  }
93
102
  // 设置纯展示模式下的“下拉树”控件返回值
94
103
  var viewOnly = fieldStatus === 'viewOnly'; // 是否纯展示
104
+
95
105
  switch (type) {
96
106
  case 'input':
97
107
  compContent = viewOnly ? value || '-' : /*#__PURE__*/React.createElement(Input, _extends({
@@ -105,27 +115,33 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
105
115
  evt.preventDefault(); // 禁止默认行为
106
116
  }
107
117
  }
108
- }, defaultProps));
118
+ }, defaultProps, {
119
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
120
+ }));
109
121
  break;
110
122
  case 'password':
111
123
  compContent = viewOnly ? value ? "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF" : '-' : /*#__PURE__*/React.createElement(Password, _extends({
112
124
  autoComplete: "off",
113
125
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请输入',
114
126
  maxLength: defaultProps.maxLength || 50
115
- }, defaultProps));
127
+ }, defaultProps, {
128
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
129
+ }));
116
130
  break;
117
131
  case 'textarea':
118
132
  compContent = viewOnly ? value || '-' : /*#__PURE__*/React.createElement(TextArea, _extends({
119
133
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请输入',
120
134
  maxLength: defaultProps.maxLength || 500,
121
135
  title: fieldStatus === 'disabled' || defaultProps.disabled ? value : null
122
- }, defaultProps));
136
+ }, defaultProps, {
137
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
138
+ }));
123
139
  break;
124
140
  case 'inputNumber':
125
141
  compContent = viewOnly ? value || 0 : /*#__PURE__*/React.createElement(InputNumber, _extends({
126
142
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请输入数字'
127
143
  }, sortLimitRule, defaultProps, {
128
- style: _objectSpread({
144
+ style: _objectSpread(_objectSpread({}, defaultStyle), {}, {
129
145
  width: '120px'
130
146
  }, defaultProps.style)
131
147
  }));
@@ -164,7 +180,9 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
164
180
  return (defaultProps === null || defaultProps === void 0 || (_defaultProps$optionR = defaultProps.optionRender) === null || _defaultProps$optionR === void 0 ? void 0 : _defaultProps$optionR.call(defaultProps, _objectSpread(_objectSpread({}, option.data), option), info)) || (selectOptionRender === null || selectOptionRender === void 0 ? void 0 : selectOptionRender(_objectSpread(_objectSpread({}, option.data), option), info)) || option.label;
165
181
  }
166
182
  }, defaultProps, {
183
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
167
184
  // onChange返回参数:累加当前选中包括其他字段值的数据
185
+ ,
168
186
  onChange: function onChange(value, Option) {
169
187
  return _onChange && _onChange(value, resetResultOption(Option));
170
188
  } // 数据为对象
@@ -181,7 +199,9 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
181
199
  protoTreeNode: protoConfig && protoConfig.TreeNode || {},
182
200
  fieldStatus: fieldStatus,
183
201
  disabledFields: disabledFields
184
- }, defaultProps));
202
+ }, defaultProps, {
203
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
204
+ }));
185
205
  break;
186
206
  case 'checkbox':
187
207
  delete defaultProps.ref;
@@ -191,7 +211,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
191
211
  defaultProps: defaultProps,
192
212
  separator: separator
193
213
  }) : /*#__PURE__*/React.createElement(Checkbox.Group, _extends({}, defaultProps, {
194
- style: _objectSpread({
214
+ style: _objectSpread(_objectSpread({}, defaultStyle), {}, {
195
215
  width: 'auto'
196
216
  }, defaultProps.style)
197
217
  }), selectOptions && selectOptions.map(function (val, index) {
@@ -223,7 +243,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
223
243
  });
224
244
  })
225
245
  }, defaultProps, {
226
- style: _objectSpread({
246
+ style: _objectSpread(_objectSpread({}, defaultStyle), {}, {
227
247
  width: 'auto'
228
248
  }, defaultProps.style)
229
249
  }));
@@ -237,9 +257,9 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
237
257
  showTime: defaultProps.showTime || type === 'dateTimePicker',
238
258
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请选择'
239
259
  }, defaultProps, {
240
- style: _objectSpread({
241
- 'minWidth': 'auto'
242
- }, defaultProps.style)
260
+ style: _objectSpread(_objectSpread({
261
+ width: 'auto'
262
+ }, defaultStyle), defaultProps.style)
243
263
  }));
244
264
  break;
245
265
  case 'rangePicker':
@@ -252,9 +272,8 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
252
272
  showTime: defaultProps.showTime || type === 'rangeTimePicker',
253
273
  allowEmpty: true
254
274
  }, defaultProps, {
255
- style: _objectSpread({
256
- width: type === 'rangeTimePicker' ? 'auto' : '100%'
257
- }, defaultProps.style)
275
+ // style={{ width: type === 'rangeTimePicker' ? 'auto' : '100%', ...defaultStyle,...defaultProps.style }}
276
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
258
277
  }));
259
278
  break;
260
279
  case 'timePicker':
@@ -263,9 +282,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
263
282
  type: type,
264
283
  protoConfig: protoConfig
265
284
  }) : /*#__PURE__*/React.createElement(TimePicker, _extends({}, defaultProps, {
266
- style: _objectSpread(_objectSpread({
267
- 'minWidth': 'auto'
268
- }, defaultProps.style), {}, {
285
+ style: _objectSpread(_objectSpread(_objectSpread({}, defaultStyle), defaultProps.style), {}, {
269
286
  width: 'auto'
270
287
  })
271
288
  }));
@@ -279,11 +296,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
279
296
  }) : /*#__PURE__*/React.createElement(TimePicker.RangePicker, _extends({
280
297
  allowEmpty: true
281
298
  }, defaultProps, {
282
- style: _objectSpread(_objectSpread({
283
- 'minWidth': 'auto'
284
- }, defaultProps.style), {}, {
285
- width: 'auto'
286
- })
299
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
287
300
  }));
288
301
  break;
289
302
  case 'upload':
@@ -317,7 +330,9 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
317
330
  allowClear: true,
318
331
  fieldNames: (defaultProps === null || defaultProps === void 0 ? void 0 : defaultProps.fieldNames) || selectOptionName,
319
332
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请选择'
320
- }, defaultProps));
333
+ }, defaultProps, {
334
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
335
+ }));
321
336
  break;
322
337
  case 'switch':
323
338
  compContent = /*#__PURE__*/React.createElement(Switch, _extends({}, defaultProps, {
@@ -331,7 +346,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
331
346
  break;
332
347
  case 'slider':
333
348
  compContent = viewOnly ? value : /*#__PURE__*/React.createElement(Slider, _extends({}, defaultProps, {
334
- style: _objectSpread({}, defaultProps.style)
349
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
335
350
  }));
336
351
  break;
337
352
  case 'mentions':
@@ -342,20 +357,72 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
342
357
  label: selectOptionRender ? selectOptionRender(val) : val.label
343
358
  });
344
359
  })
345
- }, defaultProps));
360
+ }, defaultProps, {
361
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style)
362
+ }));
346
363
  break;
347
364
  case 'rate':
348
365
  compContent = /*#__PURE__*/React.createElement(Rate, _extends({
349
366
  disabled: viewOnly || defaultProps.disabled
350
- }, defaultProps));
367
+ }, defaultProps, {
368
+ style: _objectSpread(_objectSpread({}, defaultStyle), {}, {
369
+ width: 'auto'
370
+ }, defaultProps.style)
371
+ }));
351
372
  break;
352
373
  case 'custom':
353
374
  compContent = defaultProps.render && defaultProps.render(props) || defaultProps.customRender && defaultProps.customRender(props) || null;
354
375
  break;
376
+ // case 'extends':
377
+ // compContent = <ExtensionField {...props} {...defaultProps}/>
378
+ // break;
355
379
  default:
356
- compContent = value;
380
+ // 扩展组件
381
+ if (((providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.extendComponents) || []).some(function (tItem) {
382
+ return tItem.extendType === props.type;
383
+ })) {
384
+ compContent = /*#__PURE__*/React.createElement(ExtensionField, _extends({}, props, defaultProps, {
385
+ extendType: type
386
+ }));
387
+ // const MatchType = (extendComponents || []).find((tItem: FieldExtendsTypeType) => tItem.extendType === type)
388
+ // const MatchTypeComponent = MatchType?.component
389
+ // // const { type, ...fieldProps } = { ...props }
390
+ // console.log('fieldProps', props, defaultProps)
391
+ // return typeof MatchTypeComponent === 'function'
392
+ // ? <MatchTypeComponent ref={ref} fieldProps={props} proptoConfig={protoConfig} extendConfig={Object.assign(extendConfig || {}, MatchType?.extendConfig || {})}/>
393
+ // : MatchTypeComponent
394
+ //
395
+ // const MatchType = (providerConfig?.extendComponents || []).find((tItem: FieldExtendsTypeType) => tItem.extendType === props.type)
396
+ // const MatchTypeComponent = MatchType?.component
397
+ // const { type, ...fieldProps } = props
398
+ // compContent = typeof MatchTypeComponent === 'function'
399
+ // ? <MatchTypeComponent {...fieldProps}/>
400
+ // : MatchTypeComponent
401
+ } else {
402
+ compContent = value;
403
+ }
357
404
  break;
358
405
  }
359
406
  return compContent;
360
407
  });
361
- export default FieldComponent;
408
+ export default FieldComponent;
409
+ //
410
+ // // 高阶组件
411
+ // const withLibraryInjection = (LibraryComponent) => (WrappedComponent) => {
412
+ // return class InjectedComponent extends React.Component {
413
+ // render() {
414
+ // return (
415
+ // <>
416
+ // <LibraryComponent {...this.props} children={<WrappedComponent {...this.props} />}/>
417
+ // </>
418
+ // );
419
+ // }
420
+ // };
421
+ // };
422
+ //
423
+ //
424
+ // // 应用HOC
425
+ // const MyComponentWithLibrary = withLibraryInjection(FieldComponent)(ExtensionField);
426
+ //
427
+ //
428
+ // export default MyComponentWithLibrary
@@ -157,16 +157,21 @@ var RenderItemGroup = function RenderItemGroup(props) {
157
157
 
158
158
  // 渲染表单控件
159
159
  var renderFormField = function renderFormField(field) {
160
+ var _general$inlineFormIt;
160
161
  var componentStyle = field.componentStyle,
161
162
  extra = field.extra,
162
163
  preExtra = field.preExtra; // 当前可传参的配置值
164
+ // 表单控件样式默认最小宽,如有单独配置width时,则不配置
165
+ // @ts-ignore
166
+ var FieldDefaultWidth = layout === 'inline' ? _objectSpread({}, (_general$inlineFormIt = general.inlineFormItemStyle) === null || _general$inlineFormIt === void 0 ? void 0 : _general$inlineFormIt[size]) : _objectSpread({}, general.inlineFormItemStyle.wide); // componentStyle?.width ? {} : { width: layout === 'inline' ? general.formItemStyle?.[size].width : general.formItemStyle.wide.width }
163
167
  // 带前缀或后缀控件渲染
164
168
  if (preExtra || extra) {
165
169
  return /*#__PURE__*/React.createElement(Space, null, preExtra ? preExtra(field, form) : '', /*#__PURE__*/React.createElement(FormItem, {
166
170
  noStyle: true,
167
171
  rules: field.rules || (field.fieldOptions ? field.fieldOptions.rules : []),
168
- name: field.filedName
172
+ name: field.filedName || field.fieldName
169
173
  }, /*#__PURE__*/React.createElement(Field, _extends({}, field, {
174
+ // @ts-ignore
170
175
  onChange: function onChange(eOrValue) {
171
176
  updateFormFields();
172
177
  for (var _len = arguments.length, otherParams = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -175,17 +180,24 @@ var RenderItemGroup = function RenderItemGroup(props) {
175
180
  if (field.onChange) field.onChange.apply(field, [eOrValue].concat(otherParams));
176
181
  },
177
182
  fieldStatus: field.fieldStatus || fieldStatus,
178
- size: field.protoConfig && field.protoConfig.size || field.size || fieldSize,
179
- style: componentStyle || _objectSpread({}, general.formItemStyle.wide)
183
+ size: field.protoConfig && field.protoConfig.size || field.size || fieldSize
184
+ // @ts-ignore
185
+ ,
186
+ style: componentStyle || {}
187
+ // style={componentStyle || { ...general.formItemStyle.wide }}
188
+ // style={componentStyle || ( layout === 'inline' ? { ...general.inlineFormItemStyle?.[size] } : {...general.inlineFormItemStyle.wide})}
189
+ ,
190
+ defaultStyle: componentStyle ? {} : FieldDefaultWidth
180
191
  }))), extra ? extra(field, form) : '');
181
192
  } else {
182
193
  return /*#__PURE__*/React.createElement(Field, _extends({}, field, {
194
+ // @ts-ignore
183
195
  onChange: function onChange(eOrValue) {
184
196
  // let updateValue = val
185
197
  // if (field.type === 'input' || field.type === 'textarea' || field.type === 'radio' || field.type === 'password') {
186
198
  // updateValue = val.target.value
187
199
  // }
188
- // updateFormFields({ [field.filedName]: updateValue })
200
+ // updateFormFields({ [field.filedName || field.fieldName]: updateValue })
189
201
  updateFormFields();
190
202
  // if (field.onChange) field.onChange(val, form)
191
203
  for (var _len2 = arguments.length, otherParams = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
@@ -195,7 +207,11 @@ var RenderItemGroup = function RenderItemGroup(props) {
195
207
  },
196
208
  fieldStatus: field.fieldStatus || fieldStatus,
197
209
  size: field.protoConfig && field.protoConfig.size || field.size || fieldSize,
198
- style: componentStyle || _objectSpread({}, general.formItemStyle.wide)
210
+ style: componentStyle || {}
211
+ // style={componentStyle || { ...general.formItemStyle.wide }}
212
+ // style={componentStyle || ( layout === 'inline' ? { ...general.inlineFormItemStyle?.[size] } : {...general.inlineFormItemStyle.wide})}
213
+ ,
214
+ defaultStyle: componentStyle ? {} : FieldDefaultWidth
199
215
  }));
200
216
  }
201
217
  };
@@ -204,14 +220,15 @@ var RenderItemGroup = function RenderItemGroup(props) {
204
220
  description = item.description,
205
221
  type = item.type,
206
222
  customRender = item.customRender,
207
- filedName = item.filedName; // 当前可传参的配置值
223
+ filedName = item.filedName,
224
+ fieldName = item.fieldName; // 当前可传参的配置值
208
225
  if (layout === "horizontal" || layout === "vertical") {
209
226
  return /*#__PURE__*/React.createElement(Col, _extends({
210
227
  key: index,
211
228
  span: item.colSpan || setColSpan(item.display, size, columnCount),
212
229
  style: item.style
213
230
  }, item.protoCol), /*#__PURE__*/React.createElement(FormItem, _extends({
214
- name: type !== 'custom' && filedName,
231
+ name: type !== 'custom' && (filedName || fieldName),
215
232
  className: classNames(fieldStatus === 'viewOnly' ? 'form-item-view-only' : '', 'spec-item-group-form-item'),
216
233
  label: description ? /*#__PURE__*/React.createElement("span", null, label, /*#__PURE__*/React.createElement(Tooltip, {
217
234
  title: description
@@ -226,7 +243,7 @@ var RenderItemGroup = function RenderItemGroup(props) {
226
243
  } else {
227
244
  return /*#__PURE__*/React.createElement(FormItem, _extends({
228
245
  key: index,
229
- name: type !== 'custom' && filedName,
246
+ name: type !== 'custom' && (filedName || fieldName),
230
247
  className: classNames(fieldStatus === 'viewOnly' ? 'form-item-view-only' : '', 'spec-item-group-form-item'),
231
248
  label: description ? /*#__PURE__*/React.createElement("span", null, label, /*#__PURE__*/React.createElement(Tooltip, {
232
249
  title: description
@@ -48,7 +48,7 @@ var NavLeafScroll = /*#__PURE__*/function (_Component) {
48
48
  // const isEnough = wrapHeight % baseItemHeight === 0; // 剩余的是否足够容纳一个单元格
49
49
  var isInsideEnoughWidth = navList.length * baseItemWidth <= _this.mainWrap.current.clientWidth;
50
50
  var wrapWidth = _this.mainWrap.current.clientWidth - (isInsideEnoughWidth ? 0 : 30 * 2);
51
- console.log('this.mainWrap.current.clientWidth', _this.mainWrap.current.clientWidth, wrapWidth, isInsideEnoughWidth);
51
+ // console.log('this.mainWrap.current.clientWidth', this.mainWrap.current.clientWidth, wrapWidth, isInsideEnoughWidth)
52
52
  var floorWidth = _this.leafNav.current.clientWidth; // 所有楼层占用的宽度
53
53
  if (type === 'horizontal') {
54
54
  // 判断有效区域与单元格高度:若小于,则直接使用单元格高度,否则将内容区高度去除不足一个单元格高度
@@ -286,7 +286,7 @@ var NavLeafScroll = /*#__PURE__*/function (_Component) {
286
286
  floorWidth = _this$state3$floorRel.floorWidth,
287
287
  stepSize = _this$state3.stepSize;
288
288
  if (type === 'horizontal') {}
289
- if (JSON.stringify(navList) !== JSON.stringify(prevProps.navList) || (type === 'horizontal' ? baseItemWidth !== prevProps.baseItemWidth : baseItemHeight !== prevProps.baseItemHeight) || align !== prevProps.align) {
289
+ if (navList !== prevProps.navList || (type === 'horizontal' ? baseItemWidth !== prevProps.baseItemWidth : baseItemHeight !== prevProps.baseItemHeight) || align !== prevProps.align) {
290
290
  this.initFloorValues();
291
291
  }
292
292
  if (forbidScroll !== prevProps.forbidScroll) {
@@ -295,7 +295,7 @@ var StandardModal = function StandardModal(props) {
295
295
  // console.log('执行下一步骤,需要优先进行校验')
296
296
  var currentFields = (formItemGroup || [])[current].fields;
297
297
  var validatorGroup = currentFields && Array.isArray(currentFields) ? currentFields.map(function (fItem) {
298
- return fItem.rules ? fItem.filedName : null;
298
+ return fItem.rules ? fItem.filedName || fItem.fieldName : null;
299
299
  }) : [];
300
300
  formChild.validateFields(validatorGroup).then(function () {
301
301
  // if (stepClick) stepClick(type, formChild, values);
@@ -52,16 +52,19 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
52
  cancelButtonProps = _providerConfig$props6 === void 0 ? {} : _providerConfig$props6,
53
53
  filterButtonColSpan = _providerConfig$props.filterButtonColSpan,
54
54
  filterButtonConfig = _providerConfig$props.filterButtonConfig,
55
- formLayout = _providerConfig$props.formLayout,
56
- _providerConfig$props7 = _providerConfig$props.gridLayout,
57
- gridLayout = _providerConfig$props7 === void 0 ? 'inline' : _providerConfig$props7,
55
+ _providerConfig$props7 = _providerConfig$props.formLayout,
56
+ formLayout = _providerConfig$props7 === void 0 ? 'inline' : _providerConfig$props7,
57
+ _providerConfig$props8 = _providerConfig$props.gridLayout,
58
+ gridLayout = _providerConfig$props8 === void 0 ? 'inline' : _providerConfig$props8,
59
+ _providerConfig$props9 = _providerConfig$props.buttonGroupPlacement,
60
+ buttonGroupPlacement = _providerConfig$props9 === void 0 ? 'left' : _providerConfig$props9,
58
61
  filterFormStyle = _providerConfig$props.filterFormStyle,
59
62
  filterBtnsStyle = _providerConfig$props.filterBtnsStyle,
60
- _providerConfig$props8 = _providerConfig$props.colon,
61
- colon = _providerConfig$props8 === void 0 ? true : _providerConfig$props8,
63
+ _providerConfig$props10 = _providerConfig$props.colon,
64
+ colon = _providerConfig$props10 === void 0 ? true : _providerConfig$props10,
62
65
  dateFormatter = _providerConfig$props.dateFormatter,
63
- _providerConfig$props9 = _providerConfig$props.collapseable,
64
- collapseable = _providerConfig$props9 === void 0 ? false : _providerConfig$props9;
66
+ _providerConfig$props11 = _providerConfig$props.collapseable,
67
+ collapseable = _providerConfig$props11 === void 0 ? false : _providerConfig$props11;
65
68
  var filterFormRef = useRef();
66
69
  // ref 的转发
67
70
  useImperativeHandle(ref, function () {
@@ -299,7 +302,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
299
302
  // 判断是否隐藏结构, display:'none'
300
303
  var setItemHiddenNode = function setItemHiddenNode(item, index, collapsed, showItemNumber) {
301
304
  // console.log('判断是否隐藏结构==>当前执行序号', index, showItemNumber)
302
- if (item.filedName === 'filterAction') {
305
+ if (item.filedName === 'filterAction' || item.fieldName === 'filterAction') {
303
306
  return {
304
307
  isHidden: false
305
308
  };
@@ -394,7 +397,7 @@ var StandardFilter = /*#__PURE__*/React.forwardRef(function (props, ref) {
394
397
  };
395
398
  var renderButtonGroup = function renderButtonGroup() {
396
399
  return buttonGroup && buttonGroup.length > 0 ? /*#__PURE__*/React.createElement("div", {
397
- className: "filter-btns filter-btns-".concat(gridLayout),
400
+ className: "filter-btns filter-btns-".concat(gridLayout, " filter-btns-").concat(gridLayout, "-").concat(buttonGroupPlacement),
398
401
  style: filterBtnsStyle
399
402
  }, /*#__PURE__*/React.createElement(ButtonGroup, _extends({
400
403
  options: buttonGroup,
@@ -28,7 +28,7 @@ var StandardFilterStyleFunc = function StandardFilterStyleFunc(prefix) {
28
28
  },
29
29
  '.filter-btns .ant-btn': {
30
30
  marginLeft: token.paddingXS,
31
- marginTop: token.paddingXS,
31
+ // marginTop: token.paddingXS,
32
32
  // marginBottom: token.paddingMD,
33
33
  marginBottom: token.paddingXS
34
34
  },
@@ -36,9 +36,18 @@ var StandardFilterStyleFunc = function StandardFilterStyleFunc(prefix) {
36
36
  // lineHeight: token.controlHeight - 2 + 'px' // 去除样式
37
37
  },
38
38
  '&.filter-grid-horizontal': {
39
- '.filter-btn': {
40
- '.spec-button-group': {
41
- paddingTop: token.paddingMD
39
+ // '.filter-btn': {
40
+ // '.spec-button-group': {
41
+ // paddingTop: token.paddingMD
42
+ // },
43
+ //
44
+ // },
45
+ '.filter-btns-horizontal': {
46
+ '&.filter-btns-horizontal-right .spec-button-group': {
47
+ justifyContent: 'end'
48
+ },
49
+ '&.filter-btns-horizontal-left .spec-button-group': {
50
+ justifyContent: 'start'
42
51
  }
43
52
  }
44
53
  }
@@ -33,10 +33,17 @@
33
33
  text-align: left;
34
34
 
35
35
  .spec-button-group {
36
- display: block;
36
+ display: flex;
37
+ flex-wrap: wrap;
37
38
  padding-left: 0;
38
39
  //padding-top: @padding-md;
39
-
40
+ //&:before {
41
+ // content: '';
42
+ // float: left;
43
+ //}
44
+ //&:after {
45
+ // clear: both;
46
+ //}
40
47
  .ant-btn:first-child {
41
48
  margin-left: 0;
42
49
  }
@@ -90,7 +90,7 @@ var StepForm = /*#__PURE__*/React.forwardRef(function (props, ref) {
90
90
  var valitorGroup = curentFields && Array.isArray(curentFields) ? curentFields.filter(function (fItem) {
91
91
  return fItem.rules;
92
92
  }).map(function (matchItem) {
93
- return matchItem.filedName;
93
+ return matchItem.filedName || matchItem.fieldName;
94
94
  }) : [];
95
95
  formChild && formChild.validateFields(valitorGroup).then(function (values) {
96
96
  if (stepClick) stepClick(type, formChild, values);
@@ -307,7 +307,7 @@ var StandardModal = function StandardModal(props) {
307
307
  // console.log('执行下一步骤,需要优先进行校验')
308
308
  var currentFields = (formItemGroup || [])[current].fields;
309
309
  var validatorGroup = currentFields && Array.isArray(currentFields) ? currentFields.map(function (fItem) {
310
- return fItem.rules ? fItem.filedName : null;
310
+ return fItem.rules ? fItem.filedName || fItem.filedName : null;
311
311
  }) : [];
312
312
  formChild.validateFields(validatorGroup).then(function () {
313
313
  // if (stepClick) stepClick(type, formChild, values);