@teamix/pro 1.2.20 → 1.2.24

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 (90) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +2138 -568
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/dialog.js +13 -23
  6. package/es/actions/index.d.ts +10 -0
  7. package/es/actions/index.js +11 -16
  8. package/es/form/Components/LightFilter/componentMap.js +2 -1
  9. package/es/form/Components/LightFilter/index.js +15 -3
  10. package/es/form/Components/SelectTable/index.d.ts +24 -0
  11. package/es/form/Components/SelectTable/index.js +135 -0
  12. package/es/form/Components/SelectTable/index.scss +28 -0
  13. package/es/form/Components/SelectTable/table.d.ts +6 -0
  14. package/es/form/Components/SelectTable/table.js +64 -0
  15. package/es/form/Filter/AdvancedFilter.js +1 -0
  16. package/es/form/Filter/index2.js +8 -8
  17. package/es/form/ProForm/index.js +5 -4
  18. package/es/form/ProForm/index.scss +37 -6
  19. package/es/form/ProForm/useFormDisplayValues.js +4 -2
  20. package/es/form/SchemaForm/index.js +16 -10
  21. package/es/form/SchemaForm/initializeDataSource.d.ts +2 -2
  22. package/es/form/SchemaForm/initializeDataSource.js +4 -9
  23. package/es/form/SchemaForm/initializeRequest.d.ts +2 -2
  24. package/es/form/SchemaForm/initializeRequest.js +4 -10
  25. package/es/form/SchemaForm/initializeRules.d.ts +7 -1
  26. package/es/form/SchemaForm/initializeRules.js +9 -13
  27. package/es/form/SchemaForm/reactions.d.ts +5 -5
  28. package/es/form/SchemaForm/reactions.js +27 -29
  29. package/es/form/global.scss +1 -0
  30. package/es/form/typing.d.ts +10 -1
  31. package/es/form/utils.d.ts +8 -7
  32. package/es/form/utils.js +5 -4
  33. package/es/index.d.ts +1 -1
  34. package/es/index.js +1 -1
  35. package/es/table/components/Filter/index.js +1 -0
  36. package/es/table/components/Layout/index.js +22 -12
  37. package/es/table/components/Pagination/index.d.ts +5 -1
  38. package/es/table/components/Pagination/index.js +179 -17
  39. package/es/table/components/Pagination/index.scss +55 -0
  40. package/es/table/components/ToolBar/FilterColumnIcon.js +24 -3
  41. package/es/table/components/ToolBar/index.scss +9 -4
  42. package/es/table/index.js +79 -26
  43. package/es/table/index.scss +5 -5
  44. package/es/table/typing.d.ts +9 -9
  45. package/es/table/utils/columnRender.js +2 -1
  46. package/es/table/utils/index.d.ts +7 -0
  47. package/es/table/utils/index.js +38 -4
  48. package/lib/actions/dialog.js +12 -22
  49. package/lib/actions/index.d.ts +10 -0
  50. package/lib/actions/index.js +11 -16
  51. package/lib/form/Components/LightFilter/componentMap.js +2 -1
  52. package/lib/form/Components/LightFilter/index.js +14 -3
  53. package/lib/form/Components/SelectTable/index.d.ts +24 -0
  54. package/lib/form/Components/SelectTable/index.js +157 -0
  55. package/lib/form/Components/SelectTable/index.scss +28 -0
  56. package/lib/form/Components/SelectTable/table.d.ts +6 -0
  57. package/lib/form/Components/SelectTable/table.js +76 -0
  58. package/lib/form/Filter/AdvancedFilter.js +1 -0
  59. package/lib/form/Filter/index2.js +9 -8
  60. package/lib/form/ProForm/index.js +5 -5
  61. package/lib/form/ProForm/index.scss +37 -6
  62. package/lib/form/ProForm/useFormDisplayValues.js +3 -1
  63. package/lib/form/SchemaForm/index.js +16 -9
  64. package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -2
  65. package/lib/form/SchemaForm/initializeDataSource.js +4 -11
  66. package/lib/form/SchemaForm/initializeRequest.d.ts +2 -2
  67. package/lib/form/SchemaForm/initializeRequest.js +4 -11
  68. package/lib/form/SchemaForm/initializeRules.d.ts +7 -1
  69. package/lib/form/SchemaForm/initializeRules.js +9 -16
  70. package/lib/form/SchemaForm/reactions.d.ts +5 -5
  71. package/lib/form/SchemaForm/reactions.js +29 -31
  72. package/lib/form/global.scss +1 -0
  73. package/lib/form/typing.d.ts +10 -1
  74. package/lib/form/utils.d.ts +8 -7
  75. package/lib/form/utils.js +6 -5
  76. package/lib/index.d.ts +1 -1
  77. package/lib/index.js +1 -1
  78. package/lib/table/components/Layout/index.js +21 -11
  79. package/lib/table/components/Pagination/index.d.ts +5 -1
  80. package/lib/table/components/Pagination/index.js +186 -17
  81. package/lib/table/components/Pagination/index.scss +55 -0
  82. package/lib/table/components/ToolBar/FilterColumnIcon.js +23 -2
  83. package/lib/table/components/ToolBar/index.scss +9 -4
  84. package/lib/table/index.js +79 -24
  85. package/lib/table/index.scss +5 -5
  86. package/lib/table/typing.d.ts +9 -9
  87. package/lib/table/utils/columnRender.js +2 -1
  88. package/lib/table/utils/index.d.ts +7 -0
  89. package/lib/table/utils/index.js +46 -4
  90. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- var _excluded = ["url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
1
+ var _excluded = ["trigger", "url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
2
2
  _excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "popType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "className"];
3
3
 
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -32,7 +32,7 @@ import classnames from 'classnames';
32
32
  import { useHistory } from 'react-router-dom';
33
33
  import { Dialog, Drawer } from '@alicloudfe/components';
34
34
  import PopConfirm from '@teamix/pop-confirm';
35
- import { getTargetValue, uuid, goToLink, getMessage } from '@teamix/utils';
35
+ import { getTargetValue, uuid, getMessage } from '@teamix/utils';
36
36
  import ProForm, { createForm } from '../form';
37
37
  import { renderProMessage } from '../utils/message';
38
38
  import { eventHandler } from './base';
@@ -81,7 +81,8 @@ export function useDialogAction(action, actionContext) {
81
81
  var onActionStart = function onActionStart(context, e) {
82
82
  var _objectSpread2;
83
83
 
84
- var url = action.url,
84
+ var trigger = action.trigger,
85
+ url = action.url,
85
86
  method = action.method,
86
87
  params = action.params,
87
88
  data = action.data,
@@ -161,45 +162,34 @@ export function useDialogAction(action, actionContext) {
161
162
  while (1) {
162
163
  switch (_context.prev = _context.next) {
163
164
  case 0:
164
- if (!link) {
165
- _context.next = 5;
166
- break;
167
- }
168
-
169
- goToLink(link, history);
170
- onFinish && onFinish();
171
- resolve(true);
172
- return _context.abrupt("return");
173
-
174
- case 5:
175
165
  setLoading(true);
176
166
  footerDescriptionValues = Object.assign({}, footerDescriptionRef === null || footerDescriptionRef === void 0 ? void 0 : (_footerDescriptionRef = footerDescriptionRef.current) === null || _footerDescriptionRef === void 0 ? void 0 : _footerDescriptionRef.values);
177
- _context.prev = 7;
167
+ _context.prev = 2;
178
168
  requestContext = Object.assign({
179
169
  footer: footerDescriptionValues
180
170
  }, context);
181
- _context.next = 11;
171
+ _context.next = 6;
182
172
  return doRequest(action, requestContext, history, footerDescriptionValues);
183
173
 
184
- case 11:
174
+ case 6:
185
175
  onFinish && onFinish();
186
176
  resolve(true);
187
- _context.next = 20;
177
+ _context.next = 15;
188
178
  break;
189
179
 
190
- case 15:
191
- _context.prev = 15;
192
- _context.t0 = _context["catch"](7);
180
+ case 10:
181
+ _context.prev = 10;
182
+ _context.t0 = _context["catch"](2);
193
183
  setLoading(false);
194
184
  resolve(false);
195
185
  return _context.abrupt("return");
196
186
 
197
- case 20:
187
+ case 15:
198
188
  case "end":
199
189
  return _context.stop();
200
190
  }
201
191
  }
202
- }, _callee, null, [[7, 15]]);
192
+ }, _callee, null, [[2, 10]]);
203
193
  }));
204
194
 
205
195
  return function (_x) {
@@ -46,11 +46,21 @@ export interface ProActionMenuButtonProps extends MenuButtonProps {
46
46
  export declare const ProActionMenuButton: (props: ProActionMenuButtonProps) => JSX.Element;
47
47
  export declare type ProActionProps = ProActionButtonProps | ProActionMenuButtonProps;
48
48
  export declare type ProActionGroupProps = {
49
+ /** 操作组类型:按钮、文字按钮 */
49
50
  type?: 'button' | 'text';
51
+ /** 上下文 */
50
52
  context?: any;
53
+ /** 操作项配置 */
51
54
  actions: ProActionProps[];
55
+ /** 操作按钮最长数量,超出后折叠,默认为4 */
52
56
  max?: number;
57
+ /**
58
+ * @deprecated 建议使用 more 代替
59
+ */
53
60
  moreText?: string;
61
+ /** 更多按钮的配置,只有在actions数量超过max时才有效 */
62
+ more?: string | ProActionButtonProps;
63
+ /** 是否有分割线,只有type="text"时生效,默认有分割线 */
54
64
  divider?: boolean;
55
65
  } & React.HTMLAttributes<HTMLElement>;
56
66
  export declare function ProActionGroup(props: ProActionGroupProps): JSX.Element;
@@ -5,7 +5,7 @@ var _excluded = ["type"],
5
5
  _excluded5 = ["context", "text"],
6
6
  _excluded6 = ["key", "actions"],
7
7
  _excluded7 = ["key", "config"],
8
- _excluded8 = ["type", "divider", "max", "moreText", "context", "actions", "className"];
8
+ _excluded8 = ["type", "divider", "max", "moreText", "more", "context", "actions", "className"];
9
9
 
10
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
11
 
@@ -287,25 +287,19 @@ function renderCommonActionButton(button, context, isTypeText) {
287
287
  return /*#__PURE__*/React.createElement(ProActionMenuButton, _objectSpread({}, buttonProps));
288
288
  }
289
289
 
290
- function getDefaultMoreButton(type, moreText) {
291
- if (type === 'button') {
292
- return {
293
- label: moreText || getMessage('more')
294
- };
295
- }
296
-
297
- if (moreText) {
298
- return {
299
- label: moreText
300
- };
301
- }
302
-
303
- return {
290
+ function getDefaultMoreButton(type, more) {
291
+ var moreConfig = typeof more === 'string' ? {
292
+ children: more
293
+ } : more;
294
+ var defaultConfig = type === 'button' ? {
295
+ children: getMessage('more')
296
+ } : {
304
297
  icon: 'more-line',
305
298
  // iconSize: 'small',
306
299
  autoWidth: false,
307
300
  className: 'teamix-pro-actions-text-menu-btn-no-arrow'
308
301
  };
302
+ return Object.assign(defaultConfig, moreConfig);
309
303
  }
310
304
 
311
305
  var MAX_ACTTIONS = 4;
@@ -350,6 +344,7 @@ export function ProActionGroup(props) {
350
344
  _props$max = props.max,
351
345
  max = _props$max === void 0 ? MAX_ACTTIONS : _props$max,
352
346
  moreText = props.moreText,
347
+ more = props.more,
353
348
  context = props.context,
354
349
  _props$actions = props.actions,
355
350
  actions = _props$actions === void 0 ? [] : _props$actions,
@@ -362,7 +357,7 @@ export function ProActionGroup(props) {
362
357
  }).filter(function (action) {
363
358
  return action.visible !== false;
364
359
  });
365
- var formatedActions = formatGroupActions(filteredActions, max, getDefaultMoreButton(type, moreText));
360
+ var formatedActions = formatGroupActions(filteredActions, max, getDefaultMoreButton(type, more || moreText));
366
361
  return /*#__PURE__*/React.createElement("div", _objectSpread({
367
362
  className: cls('teamix-pro-actions', "teamix-pro-actions-type-".concat(type), className, {
368
363
  'teamix-pro-actions-divider': type === 'button' ? false : divider
@@ -1,6 +1,7 @@
1
1
  var componentMap = {
2
2
  Radio: 'Select',
3
- Checkbox: 'Select'
3
+ Checkbox: 'Select',
4
+ CheckboxGroup: 'MultipleSelect'
4
5
  };
5
6
  var inputCategory = ['Input', 'Password', 'TextArea', 'NumberPicker', 'Percent', 'Money'];
6
7
  export { componentMap, inputCategory };
@@ -23,19 +23,31 @@ import TeamixIcon from '@teamix/icon';
23
23
  import cls from 'classnames';
24
24
  import { usePrefixCls } from '@teamix/utils';
25
25
  import { componentMap, inputCategory } from './componentMap';
26
- import './index.scss'; // 主激活区内容
26
+ import './index.scss';
27
+
28
+ var formatComponent = function formatComponent(schema) {
29
+ var _schema$enum;
30
+
31
+ var component = schema['x-component'];
32
+
33
+ if (component === 'Checkbox' && ((_schema$enum = schema['enum']) === null || _schema$enum === void 0 ? void 0 : _schema$enum.length)) {
34
+ component = 'CheckboxGroup';
35
+ }
36
+
37
+ return componentMap[component] || component;
38
+ }; // 主激活区内容
39
+
27
40
 
28
41
  var useMain = function useMain(active) {
29
42
  var schema = useFieldSchema();
30
43
  var main = [];
31
44
  schema.mapProperties(function (schema, name) {
32
- // console.log(schema.required); // 添加 *
33
45
  if (schema.name === active) {
34
46
  main.push({
35
47
  name: name,
36
48
  schema: _objectSpread(_objectSpread({}, schema), {}, {
37
49
  title: '',
38
- 'x-component': componentMap[schema['x-component']] || schema['x-component']
50
+ 'x-component': formatComponent(schema)
39
51
  })
40
52
  });
41
53
  }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { TableProps, ColumnProps } from '@alifd/next/types/table';
3
+ import './index.scss';
4
+ declare type ISelectTableFilterOption = boolean | ((optipn: any, kewword: string) => boolean);
5
+ declare type ISelectTableFilterSort = (optionA: any, optionB: any) => number;
6
+ export interface ISelectTableColumnProps extends ColumnProps {
7
+ key: React.ReactText;
8
+ }
9
+ export interface ISelectTableProps extends TableProps {
10
+ mode?: 'multiple' | 'single';
11
+ dataSource?: any[];
12
+ optionAsValue?: boolean;
13
+ showSearch?: boolean;
14
+ filterOption?: ISelectTableFilterOption;
15
+ filterSort?: ISelectTableFilterSort;
16
+ onSearch?: (kekword: string) => void;
17
+ onChange?: (value: any) => void;
18
+ value?: any;
19
+ }
20
+ declare type ComposedSelectTable = React.FC<ISelectTableProps> & {
21
+ TableColumn?: React.FC<ISelectTableColumnProps>;
22
+ };
23
+ declare const SelectTable: ComposedSelectTable;
24
+ export default SelectTable;
@@ -0,0 +1,135 @@
1
+ var _excluded = ["mode", "dataSource", "optionAsValue", "showSearch", "filterOption", "filterSort", "onSearch", "className", "value", "onChange", "rowSelection"];
2
+
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+
5
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
+
11
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
+
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
+
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+
23
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
+
25
+ import React, { useEffect, useState } from 'react';
26
+ import { Table, Search } from '@alicloudfe/components';
27
+ import { observer, useFieldSchema } from '@formily/react';
28
+ import cls from 'classnames';
29
+ import { isArr } from '@formily/shared';
30
+ import { usePrefixCls } from '@teamix/utils';
31
+ import './index.scss';
32
+
33
+ var useColumns = function useColumns() {
34
+ var schema = useFieldSchema();
35
+ var columns = [];
36
+ schema.mapProperties(function (schema, name) {
37
+ var _schema$xComponent;
38
+
39
+ if (((_schema$xComponent = schema['x-component']) === null || _schema$xComponent === void 0 ? void 0 : _schema$xComponent.indexOf('Column')) > -1) {
40
+ var props = schema === null || schema === void 0 ? void 0 : schema['x-component-props'];
41
+ columns.push({
42
+ name: name,
43
+ props: _objectSpread(_objectSpread({}, props), {}, {
44
+ title: (props === null || props === void 0 ? void 0 : props.title) || (schema === null || schema === void 0 ? void 0 : schema.title),
45
+ dataIndex: (props === null || props === void 0 ? void 0 : props.dataIndex) || name
46
+ }),
47
+ schema: schema
48
+ });
49
+ }
50
+ });
51
+ return columns;
52
+ };
53
+
54
+ var SelectTable = observer(function (props) {
55
+ var mode = props.mode,
56
+ dataSource = props.dataSource,
57
+ optionAsValue = props.optionAsValue,
58
+ showSearch = props.showSearch,
59
+ filterOption = props.filterOption,
60
+ filterSort = props.filterSort,
61
+ onSearch = props.onSearch,
62
+ className = props.className,
63
+ value = props.value,
64
+ onChange = props.onChange,
65
+ rowSelection = props.rowSelection,
66
+ otherTableProps = _objectWithoutProperties(props, _excluded);
67
+
68
+ var prefixCls = usePrefixCls('formily-selectTable', props);
69
+
70
+ var _useState = useState(),
71
+ _useState2 = _slicedToArray(_useState, 2),
72
+ selected = _useState2[0],
73
+ setSelected = _useState2[1];
74
+
75
+ var tabs = useColumns();
76
+
77
+ var expandedRowRender = function expandedRowRender(record, index) {
78
+ var children = isArr(record.children) ? record.children : [];
79
+ return /*#__PURE__*/React.createElement(Table, {
80
+ dataSource: children,
81
+ key: index
82
+ }, tabs.map(function (_ref, key) {
83
+ var props = _ref.props;
84
+ return /*#__PURE__*/React.createElement(Table.Column, _objectSpread({
85
+ key: key
86
+ }, props));
87
+ }));
88
+ };
89
+
90
+ var onInnerChange = function onInnerChange(selectedRowKeys, records) {
91
+ var outputValue = optionAsValue ? records : selectedRowKeys;
92
+ outputValue = mode === 'single' ? outputValue[0] : outputValue;
93
+ onChange && onChange(outputValue);
94
+ };
95
+
96
+ useEffect(function () {
97
+ var primaryKey = props.primaryKey;
98
+ var inputValue = mode === 'single' ? [value] : isArr(value) ? value : [];
99
+ inputValue = optionAsValue ? inputValue.map(function (v) {
100
+ return v === null || v === void 0 ? void 0 : v[primaryKey];
101
+ }) : inputValue;
102
+ setSelected(inputValue);
103
+ }, [value, mode]);
104
+ return /*#__PURE__*/React.createElement("div", {
105
+ className: cls(prefixCls, props.className)
106
+ }, showSearch ? /*#__PURE__*/React.createElement(Search, {
107
+ className: "".concat(prefixCls, "-search"),
108
+ onSearch: console.log
109
+ }) : null, /*#__PURE__*/React.createElement(Table, _objectSpread({
110
+ className: "".concat(prefixCls, "-table"),
111
+ dataSource: dataSource,
112
+ rowSelection: _objectSpread(_objectSpread({}, rowSelection), {}, {
113
+ mode: mode,
114
+ onChange: onInnerChange,
115
+ selectedRowKeys: selected
116
+ })
117
+ }, otherTableProps), tabs.map(function (_ref2, key) {
118
+ var props = _ref2.props;
119
+ return /*#__PURE__*/React.createElement(Table.Column, _objectSpread({
120
+ key: key
121
+ }, props));
122
+ })));
123
+ });
124
+
125
+ var TableColumn = function TableColumn(_ref3) {
126
+ var children = _ref3.children;
127
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
128
+ };
129
+
130
+ SelectTable.TableColumn = TableColumn;
131
+ SelectTable.defaultProps = {
132
+ showSearch: false,
133
+ primaryKey: 'key'
134
+ };
135
+ export default SelectTable;
@@ -0,0 +1,28 @@
1
+ @import '../../global.scss';
2
+
3
+ $selectTable: #{$css-prefix}formily-selectTable;
4
+
5
+ .#{$selectTable} {
6
+ .#{$selectTable}-search {
7
+ margin-bottom: 8px;
8
+ }
9
+ .#{$selectTable}-table {
10
+ }
11
+ }
12
+
13
+ .next-table-row-nochildren {
14
+ > .next-table-expanded {
15
+ > * {
16
+ visibility: hidden;
17
+ }
18
+ }
19
+ }
20
+ .next-table-expanded-row {
21
+ .next-table-body {
22
+ > tr:last-child {
23
+ > td {
24
+ border-bottom: 0;
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'React';
3
+ import { TableProps } from '@alifd/next/types/table';
4
+ import './index.scss';
5
+ declare const Table: React.FC<TableProps>;
6
+ export default Table;
@@ -0,0 +1,64 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import React from 'React';
8
+ import { Table as NextTable } from '@alicloudfe/components';
9
+ import './index.scss';
10
+
11
+ var Table = function Table(props) {
12
+ var onChange = function onChange(selectedRowKeys, records) {
13
+ console.log(selectedRowKeys);
14
+ };
15
+
16
+ var onSelect = function onSelect() {};
17
+
18
+ var onSelectAll = function onSelectAll() {};
19
+
20
+ var rowProps = function rowProps(record) {
21
+ var _record$children;
22
+
23
+ if (!(record === null || record === void 0 ? void 0 : (_record$children = record.children) === null || _record$children === void 0 ? void 0 : _record$children.length)) {
24
+ return {// className: 'next-table-row-nochildren',
25
+ };
26
+ }
27
+
28
+ return {};
29
+ };
30
+
31
+ var expandedRowRender = function expandedRowRender(record, index) {
32
+ var children = record.children;
33
+
34
+ if (children === null || children === void 0 ? void 0 : children.length) {
35
+ return React.createElement(Table, _objectSpread(_objectSpread({}, props), {}, {
36
+ key: index,
37
+ dataSource: children,
38
+ hasHeader: false,
39
+ hasBorder: false,
40
+ rowProps: rowProps,
41
+ rowSelection: {
42
+ onChange: onChange
43
+ },
44
+ expandedRowRender: expandedRowRender,
45
+ expandedRowIndent: [1, 0]
46
+ }));
47
+ }
48
+
49
+ return React.createElement(React.Fragment, null);
50
+ };
51
+
52
+ return React.createElement(NextTable, _objectSpread(_objectSpread({}, props), {}, {
53
+ rowProps: rowProps,
54
+ rowSelection: {
55
+ onChange: onChange,
56
+ onSelectAll: onSelectAll,
57
+ onSelect: onSelect
58
+ },
59
+ expandedRowRender: expandedRowRender,
60
+ expandedRowIndent: [1, 0]
61
+ }));
62
+ };
63
+
64
+ export default Table;
@@ -53,6 +53,7 @@ var AdvancedFilter = /*#__PURE__*/memo(function (props) {
53
53
  props: {
54
54
  breakpoints: [480, 720, 990, 1200, Infinity],
55
55
  maxColumns: [1, 2, 3, 3, 4],
56
+ maxWidth: [480, 360, 330, 330, 300],
56
57
  columnGap: 16,
57
58
  rowGap: 12
58
59
  },
@@ -39,6 +39,7 @@ import { getFormDisplayValues } from '../ProForm/useFormDisplayValues';
39
39
  import SimpleFilter from './SimpleFilter';
40
40
  import LightFilter from './LightFilter';
41
41
  import AdvancedFilter from './AdvancedFilter';
42
+ import debounce from 'lodash.debounce';
42
43
  import './index2.scss'; // 获取Schema是否包含默认值、异步默认值、必选校验等
43
44
 
44
45
  var getSpecialProps = function getSpecialProps(props) {
@@ -162,6 +163,10 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
162
163
  onFormReact(function (form) {
163
164
  _onFormInit(form, props, configFilterItem);
164
165
  });
166
+ onFormInputChange(function (form) {
167
+ // 主动修改高级筛选值
168
+ setCurrentForm('advanced');
169
+ });
165
170
  }
166
171
  });
167
172
  }, []);
@@ -304,11 +309,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
304
309
  return function (_x2) {
305
310
  return _ref5.apply(this, arguments);
306
311
  };
307
- }(), [onFilter, currentForm.current]); // 高级筛选Change
308
-
309
- var onAdvancedChange = useCallback(function () {
310
- setCurrentForm('advanced');
311
- }, []); // 高级搜索Filter
312
+ }(), [onFilter, currentForm.current]); // 高级搜索Filter
312
313
 
313
314
  var onAdvancedFilter = useCallback(function (values) {
314
315
  setCurrentForm('advanced');
@@ -353,7 +354,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
353
354
  }, /*#__PURE__*/React.createElement(LightFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
354
355
  defaultFilterValue: defaultFilterValue,
355
356
  form: lightForm,
356
- onChange: onLightFilter
357
+ onChange: debounce(onLightFilter, 300)
357
358
  }))), /*#__PURE__*/React.createElement("div", {
358
359
  className: "".concat(prefixCls, "-toggle")
359
360
  }, /*#__PURE__*/React.createElement(Badge, {
@@ -374,7 +375,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
374
375
  className: "".concat(prefixCls, "-inline-form")
375
376
  }, /*#__PURE__*/React.createElement(SimpleFilter, _objectSpread(_objectSpread({}, otherProps), {}, {
376
377
  form: simpleForm,
377
- onChange: onSimpleFilter,
378
+ onChange: debounce(onSimpleFilter, 300),
378
379
  onSubmit: onSimpleFilter
379
380
  })))), addonAfter ? /*#__PURE__*/React.createElement("div", {
380
381
  className: "".concat(prefixCls, "-addonAfter")
@@ -407,7 +408,6 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
407
408
  onComplete: onInitialRequestComplete
408
409
  }) : undefined,
409
410
  form: advancedForm,
410
- onChange: onAdvancedChange,
411
411
  onSubmit: onAdvancedFilter,
412
412
  onReset: onAdvancedReset
413
413
  })))) : null);
@@ -21,7 +21,6 @@ import { mergeArrayValue } from '../utils';
21
21
  import useAutoSubmit from './useAutoSubmit';
22
22
  import useInitialRequest from './useInitialRequest';
23
23
  import validateLocale from '../locales/validate';
24
- import debounce from 'lodash.debounce';
25
24
  import './index.scss';
26
25
  registerValidateLocale(validateLocale);
27
26
  var ProForm = /*#__PURE__*/memo(function (_ref) {
@@ -81,9 +80,11 @@ var ProForm = /*#__PURE__*/memo(function (_ref) {
81
80
  useEffect(function () {
82
81
  form.removeEffects('onFieldValueChange');
83
82
  form.addEffects('onFieldValueChange', function () {
84
- onFieldValueChange('*', debounce(function (field, form) {
85
- onChange && onChange(toJS(form.values), toJS(field.value), field.props.name);
86
- }, 300));
83
+ onFieldValueChange('*', function (field, form) {
84
+ var _field$props;
85
+
86
+ onChange && onChange(toJS(form.values), toJS(field.value), (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.name);
87
+ });
87
88
  });
88
89
  }, [form, onChange]); // 配置表单默认值
89
90
 
@@ -186,13 +186,13 @@
186
186
  }
187
187
 
188
188
  // 数组类组件添加按钮
189
- .#{$css-prefix}formily-array-base-addition {
189
+ .#{$form-array}-base-addition {
190
190
  .#{$css-prefix}formily-icon {
191
191
  margin-right: 4px;
192
192
  }
193
193
  }
194
194
  // 数组类ArrayItem Icon 居中
195
- .#{$css-prefix}formily-array-items-item-inner {
195
+ .#{$form-array}-items-item-inner {
196
196
  > .#{$css-prefix}box {
197
197
  > .#{$css-prefix}space-item {
198
198
  > .#{$css-prefix}formily-icon {
@@ -209,7 +209,7 @@
209
209
 
210
210
  // 折叠面板
211
211
  .#{$css-prefix}formily-collapse,
212
- .#{$css-prefix}formily-array-collapse-item {
212
+ .#{$form-array}-collapse-item {
213
213
  .#{$css-prefix}collapse-panel-hidden {
214
214
  .#{$css-prefix}collapse-panel-content {
215
215
  padding-top: 4px;
@@ -261,7 +261,7 @@
261
261
  }
262
262
 
263
263
  // ArrayItems
264
- .#{$css-prefix}formily-array-items {
264
+ .#{$form-array}-items {
265
265
  .#{$css-prefix}formily-grid-layout {
266
266
  > div:last-child {
267
267
  display: flex;
@@ -269,8 +269,39 @@
269
269
  align-items: center;
270
270
  }
271
271
  }
272
- .#{$css-prefix}formily-array-base-remove {
273
- cursor: pointer;
272
+ }
273
+ .#{$form-array}-base-remove,
274
+ .#{$form-array}-base-addition,
275
+ .#{$form-array}-base-move-down,
276
+ .#{$form-array}-base-move-up,
277
+ .#{$form-array}-base-sort-handle,
278
+ .form-array-base-icon {
279
+ color: var(--color-fill1-6, #848484);
280
+ &:hover {
281
+ color: var(--color-brand1-6, #0064c8);
282
+ }
283
+ }
284
+ .form-array-base-icon {
285
+ cursor: pointer;
286
+ }
287
+
288
+ // ArrayCard
289
+ .#{$form-array}-cards-item {
290
+ .#{$css-prefix}card-head {
291
+ padding: 16px 20px;
292
+ background-color: var(--color-fill1-2, #f7f7f7);
293
+ .#{$css-prefix}card-head-main {
294
+ margin-top: 0;
295
+ border-bottom: 0;
296
+ height: 22px;
297
+ line-height: 22px;
298
+ .#{$css-prefix}card-title {
299
+ padding-left: 0;
300
+ &::before {
301
+ display: none;
302
+ }
303
+ }
304
+ }
274
305
  }
275
306
  }
276
307
 
@@ -12,7 +12,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
12
 
13
13
  import { useForm } from '@formily/react';
14
14
  import { toJS } from '@formily/reactive';
15
- import { isArr, isPlainObj, getValueByValue } from '@teamix/utils';
15
+ import { isArr, isPlainObj, isSignificative, getValueByValue } from '@teamix/utils';
16
16
  /**
17
17
  * 获取表单值的可显示值
18
18
  * @returns 如果某字段有dataSource,则返回value对应label
@@ -56,7 +56,9 @@ var getDisplayValues = function getDisplayValues(form, values) {
56
56
  }; // 判断值的类型,递归获取每个值在该结构中的完整路径
57
57
 
58
58
 
59
- if (isPlainObj(values) && isLayoutValue(values)) {
59
+ if (!isSignificative(values)) {
60
+ displayValues = {};
61
+ } else if (isPlainObj(values) && isLayoutValue(values)) {
60
62
  // 如果值是对象且是布局对象的值
61
63
  displayValues = {};
62
64
  Object.entries(values).forEach(function (_ref) {