@teamix/pro 1.5.33 → 1.5.35

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 (69) hide show
  1. package/dist/pro.all.min.css +1 -1
  2. package/dist/pro.css +1 -1
  3. package/dist/pro.js +1246 -620
  4. package/dist/pro.min.css +1 -1
  5. package/dist/pro.min.js +1 -1
  6. package/dist/pro.xconsole.min.css +1 -1
  7. package/es/form/Components/FormItem2/index.js +0 -1
  8. package/es/form/Components/SelectTable2/index.d.ts +97 -0
  9. package/es/form/Components/SelectTable2/index.js +39 -0
  10. package/es/form/Filter/AdvancedFilter.js +39 -18
  11. package/es/form/ProForm/index.js +3 -1
  12. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  13. package/es/form/SchemaForm/adapterType.js +2 -1
  14. package/es/form/typing.d.ts +12 -0
  15. package/es/global.scss +9 -0
  16. package/es/index.d.ts +1 -1
  17. package/es/index.js +1 -1
  18. package/es/table/components/Cell/index.d.ts +18 -0
  19. package/es/table/components/Cell/index.js +219 -0
  20. package/es/table/components/Filter/index.js +0 -1
  21. package/es/table/components/Layout/index.js +9 -7
  22. package/es/table/components/Pagination/index.d.ts +5 -4
  23. package/es/table/components/Pagination/index.js +5 -3
  24. package/es/table/components/TableContent/index.d.ts +7 -0
  25. package/es/table/components/TableContent/index.js +23 -0
  26. package/es/table/components/ToolBar/FilterColumnIcon.js +14 -6
  27. package/es/table/index.js +127 -127
  28. package/es/table/index.scss +11 -2
  29. package/es/table/typing.d.ts +9 -2
  30. package/es/table/utils/genAutoWidthColumns.d.ts +2 -2
  31. package/es/table/utils/genAutoWidthColumns.js +65 -16
  32. package/es/table/utils/genProColumnToColumn.d.ts +1 -1
  33. package/es/table/utils/genProColumnToColumn.js +43 -4
  34. package/es/table/utils/processColumns.d.ts +8 -0
  35. package/es/table/utils/processColumns.js +39 -0
  36. package/es/table/utils/useTableSelection.js +54 -5
  37. package/es/xconsole.scss +4 -4
  38. package/lib/form/Components/FormItem2/index.js +0 -1
  39. package/lib/form/Components/SelectTable2/index.d.ts +97 -0
  40. package/lib/form/Components/SelectTable2/index.js +47 -0
  41. package/lib/form/Filter/AdvancedFilter.js +39 -18
  42. package/lib/form/ProForm/index.js +3 -1
  43. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  44. package/lib/form/SchemaForm/adapterType.js +2 -1
  45. package/lib/form/typing.d.ts +12 -0
  46. package/lib/global.scss +9 -0
  47. package/lib/index.d.ts +1 -1
  48. package/lib/index.js +1 -1
  49. package/lib/table/components/Cell/index.d.ts +18 -0
  50. package/lib/table/components/Cell/index.js +224 -0
  51. package/lib/table/components/Filter/index.js +0 -1
  52. package/lib/table/components/Layout/index.js +8 -6
  53. package/lib/table/components/Pagination/index.d.ts +5 -4
  54. package/lib/table/components/Pagination/index.js +4 -2
  55. package/lib/table/components/TableContent/index.d.ts +7 -0
  56. package/lib/table/components/TableContent/index.js +34 -0
  57. package/lib/table/components/ToolBar/FilterColumnIcon.js +14 -6
  58. package/lib/table/index.js +129 -129
  59. package/lib/table/index.scss +11 -2
  60. package/lib/table/typing.d.ts +9 -2
  61. package/lib/table/utils/genAutoWidthColumns.d.ts +2 -2
  62. package/lib/table/utils/genAutoWidthColumns.js +64 -15
  63. package/lib/table/utils/genProColumnToColumn.d.ts +1 -1
  64. package/lib/table/utils/genProColumnToColumn.js +42 -3
  65. package/lib/table/utils/processColumns.d.ts +8 -0
  66. package/lib/table/utils/processColumns.js +46 -0
  67. package/lib/table/utils/useTableSelection.js +57 -5
  68. package/lib/xconsole.scss +4 -4
  69. package/package.json +1 -1
@@ -9,7 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _utils = require("@teamix/utils");
10
10
  var _ProForm = _interopRequireDefault(require("../ProForm"));
11
11
  var _utils2 = require("../utils");
12
- var _excluded = ["schema", "onSubmit", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "gridProps", "forceClear"];
12
+ var _excluded = ["schema", "onSubmit", "onReset", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "gridProps", "forceClear", "submitProps", "resetProps", "buttonGroup"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -39,9 +39,46 @@ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
39
39
  breakpoints = props.breakpoints,
40
40
  gridProps = props.gridProps,
41
41
  forceClear = props.forceClear,
42
+ _props$submitProps = props.submitProps,
43
+ submitProps = _props$submitProps === void 0 ? {} : _props$submitProps,
44
+ _props$resetProps = props.resetProps,
45
+ resetProps = _props$resetProps === void 0 ? {} : _props$resetProps,
46
+ buttonGroup = props.buttonGroup,
42
47
  otherProps = _objectWithoutProperties(props, _excluded);
43
48
  var prefixCls = (0, _utils.usePrefixCls)('teamix-pro-form-query-filter-advanced');
44
49
  var gridSchema = (0, _react.useMemo)(function () {
50
+ var resetSchema = _objectSpread(_objectSpread({
51
+ name: 'AdvancedFilterReset',
52
+ component: 'Reset'
53
+ }, resetProps), {}, {
54
+ props: _objectSpread({
55
+ onResetValidateSuccess: onReset,
56
+ forceClear: !!forceClear,
57
+ children: (0, _utils.getMessage)('reset')
58
+ }, resetProps === null || resetProps === void 0 ? void 0 : resetProps.props)
59
+ });
60
+ var submitSchema = _objectSpread(_objectSpread({
61
+ component: 'Submit'
62
+ }, submitProps), {}, {
63
+ props: _objectSpread({
64
+ style: {
65
+ marginRight: -4
66
+ },
67
+ children: (0, _utils.getMessage)('search')
68
+ }, submitProps === null || submitProps === void 0 ? void 0 : submitProps.props)
69
+ });
70
+ var buttonGroupSchema = [resetSchema, submitSchema];
71
+ if (buttonGroup) {
72
+ buttonGroupSchema = buttonGroup.map(function (item) {
73
+ if (item === 'Submit') {
74
+ return submitSchema;
75
+ }
76
+ if (item === 'Reset') {
77
+ return resetSchema;
78
+ }
79
+ return item;
80
+ });
81
+ }
45
82
  return [{
46
83
  name: 'AdvancedFilterFormGrid',
47
84
  component: 'FormGrid',
@@ -62,23 +99,7 @@ var AdvancedFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
62
99
  props: {
63
100
  align: 'right'
64
101
  },
65
- children: [{
66
- name: 'AdvancedFilterReset',
67
- component: 'Reset',
68
- props: {
69
- onResetValidateSuccess: onReset,
70
- forceClear: !!forceClear,
71
- children: (0, _utils.getMessage)('reset')
72
- }
73
- }, {
74
- component: 'Submit',
75
- props: {
76
- style: {
77
- marginRight: -4
78
- },
79
- children: (0, _utils.getMessage)('search')
80
- }
81
- }]
102
+ children: _toConsumableArray(buttonGroupSchema)
82
103
  }]
83
104
  }])
84
105
  }];
@@ -24,6 +24,7 @@ var _useInitialRequest = _interopRequireDefault(require("./useInitialRequest"));
24
24
  var _validate = _interopRequireDefault(require("../locales/validate"));
25
25
  require("./index.scss");
26
26
  var _FormItem = _interopRequireDefault(require("../Components/FormItem2"));
27
+ var _SelectTable = _interopRequireDefault(require("../Components/SelectTable2"));
27
28
  var _excluded = ["form", "initialValues", "initialRequest", "scope", "context", "components", "onChange", "onChangeType", "onSubmit", "onSubmitFailed", "onInitialComplete", "className", "validateFirst", "schema", "children"];
28
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -61,7 +62,8 @@ var formilyComponents = {
61
62
  Affix: _components.Affix,
62
63
  LightFilter: _LightFilter.default,
63
64
  Text: _index.default,
64
- FormItem2: _FormItem.default
65
+ FormItem2: _FormItem.default,
66
+ SelectTable2: _SelectTable.default
65
67
  };
66
68
  var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
67
69
  var outerForm = _ref.form,
@@ -16,7 +16,7 @@ var _default = function _default(decorator, component) {
16
16
  if (decorator !== undefined) {
17
17
  return decorator;
18
18
  }
19
- if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'SelectTable', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
19
+ if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'SelectTable', 'SelectTable2', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
20
20
  return 'FormItem';
21
21
  }
22
22
  return decorator;
@@ -54,7 +54,8 @@ var typeMap = (_typeMap = {
54
54
  Range: 'string',
55
55
  Search: 'array',
56
56
  SelectGroup: 'array',
57
- SelectTable: 'array'
57
+ SelectTable: 'array',
58
+ SelectTable2: 'array'
58
59
  }, _defineProperty(_typeMap, 'SelectTable.Column', 'string'), _defineProperty(_typeMap, "ArrayCollapse", 'array'), _defineProperty(_typeMap, "ArrayCards", 'array'), _defineProperty(_typeMap, "ArrayTable", 'array'), _defineProperty(_typeMap, "ArrayItems", 'array'), _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
59
60
  var _default = function _default(type, component) {
60
61
  return type || typeMap[component] || 'void';
@@ -115,6 +115,12 @@ export interface FilterProps extends ProFormProps {
115
115
  activeFilterValueRef?: React.MutableRefObject<any>;
116
116
  forceClear?: boolean;
117
117
  onReset?: (payload?: any) => void;
118
+ /** 搜索按钮配置 */
119
+ submitProps?: ProFormSchemaItem;
120
+ /** 重置按钮配置 */
121
+ resetProps?: ProFormSchemaItem;
122
+ /** 操作区按钮组配置 */
123
+ buttonGroup?: (ProFormSchemaItem | 'Submit' | 'Reset')[];
118
124
  }
119
125
  export interface QueryFilterLayoutProps {
120
126
  prefixCls?: string;
@@ -164,6 +170,12 @@ export interface QueryFilterProps extends ProFormProps {
164
170
  onReset?: (payload?: any) => void;
165
171
  /** 高级筛选按钮切换 */
166
172
  onExpand?: (expand: boolean) => void;
173
+ /** 搜索按钮配置 */
174
+ submitProps?: ProFormSchemaItem;
175
+ /** 重置按钮配置 */
176
+ resetProps?: ProFormSchemaItem;
177
+ /** 操作区按钮组配置 */
178
+ buttonGroup?: (ProFormSchemaItem | 'Submit' | 'Reset')[];
167
179
  }
168
180
  /**
169
181
  * 兼容性导出
package/lib/global.scss CHANGED
@@ -45,3 +45,12 @@ button.next-btn.next-medium.next-btn-normal {
45
45
  .next-tag.next-tag.next-tag.next-tag-closable.next-tag-level-normal.next-tag-closable {
46
46
  transition: color 0s;
47
47
  }
48
+
49
+ // 配置dialog弹窗内容可以换行
50
+ .next-message-content {
51
+ white-space: pre-wrap;
52
+ }
53
+ // table 锁列层级变高
54
+ .next-table-fix-left, .next-table-fix-right {
55
+ z-index: 5;
56
+ }
package/lib/index.d.ts CHANGED
@@ -30,5 +30,5 @@ export * from './sidebar';
30
30
  export * from './utils';
31
31
  export * from './timeline';
32
32
  export * from './image';
33
- declare const version = "1.5.33";
33
+ declare const version = "1.5.35";
34
34
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, ProImage, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -299,7 +299,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
299
299
  if (!((_window = window) === null || _window === void 0 ? void 0 : _window.TEAMIXPRO_WITHOUT_ICON)) {
300
300
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
301
301
  }
302
- var version = '1.5.33';
302
+ var version = '1.5.35';
303
303
  // By TeamixTest
304
304
  exports.version = version;
305
305
  window.postMessage({
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 渲染列的逻辑函数
3
+ */
4
+ import React from 'react';
5
+ import { ProTableColumnProps, ProTableActionType } from '../../typing';
6
+ interface ICellProps {
7
+ value: any;
8
+ item: ProTableColumnProps;
9
+ index: number;
10
+ record: any;
11
+ actionRef: React.MutableRefObject<ProTableActionType | undefined>;
12
+ /** 接收外部比如 dialog-table 传过来的 context,用于弹窗关闭等 */
13
+ context?: any;
14
+ dataTeamixSpm?: string;
15
+ forcedUpdate?: boolean;
16
+ }
17
+ declare const _default: React.MemoExoticComponent<(props: ICellProps) => JSX.Element>;
18
+ export default _default;
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _utils = require("@teamix/utils");
9
+ var _actions = require("../../../actions");
10
+ var _field = _interopRequireDefault(require("../../../field"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ 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."); }
18
+ 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); }
19
+ 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; }
20
+ 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; }
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+ 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; }
23
+ 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; }
24
+ 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; }
25
+ /**
26
+ * 负责单元格的具体渲染
27
+ */
28
+ var Cell = function Cell(props) {
29
+ var _actionSchema$actions;
30
+ var recordValue = props.value,
31
+ record = props.record,
32
+ index = props.index,
33
+ item = props.item,
34
+ actionRef = props.actionRef,
35
+ context = props.context,
36
+ dataTeamixSpm = props.dataTeamixSpm;
37
+ var _item$valueType = item.valueType,
38
+ valueType = _item$valueType === void 0 ? 'text' : _item$valueType,
39
+ render = item.render,
40
+ actionSchema = item.actionSchema,
41
+ dataIndex = item.dataIndex,
42
+ format = item.format;
43
+ var value = recordValue;
44
+ // return JSON.stringify(value)
45
+ // 如果没传 dataIndex,返回 null
46
+ if (!dataIndex) {
47
+ value = null;
48
+ }
49
+ // 处理 dataIndex 为数组的情况
50
+ if (Array.isArray(dataIndex)) {
51
+ value = dataIndex.map(function (item) {
52
+ return (0, _utils.getTargetValue)("{{".concat(item, "}}"), _objectSpread(_objectSpread({}, record), {}, {
53
+ record: record
54
+ }));
55
+ });
56
+ }
57
+ var newRender = null;
58
+ var newDataSource = null;
59
+ var itemProps = item.props;
60
+ // 如果 render 直接传函数
61
+ if (typeof render === 'function') {
62
+ newRender = function newRender() {
63
+ return render === null || render === void 0 ? void 0 : render(value, index, record);
64
+ };
65
+ } else {
66
+ newRender = processBuriedPoint(processRenderFunction(render, value, index, record), record, value, index, context);
67
+ if (valueType === 'selectGroup') {
68
+ newRender = _objectSpread(_objectSpread({
69
+ maxShowNumber: 'auto',
70
+ foldText: 'more',
71
+ editOnClick: function editOnClick() {},
72
+ edit: true
73
+ }, newRender), {}, {
74
+ ellipsis: false
75
+ });
76
+ itemProps = _objectSpread({
77
+ valueAlias: {
78
+ value: 'TagValue',
79
+ key: 'TagKey'
80
+ }
81
+ }, itemProps);
82
+ }
83
+ if ((render === null || render === void 0 ? void 0 : render.type) === 'step') {
84
+ newRender = _objectSpread(_objectSpread({}, newRender), {}, {
85
+ ellipsis: false
86
+ });
87
+ }
88
+ }
89
+ // 渲染操作组
90
+ if (actionSchema && ((_actionSchema$actions = actionSchema.actions) === null || _actionSchema$actions === void 0 ? void 0 : _actionSchema$actions.length)) {
91
+ // 默认 context
92
+ var defaultContext = _objectSpread({
93
+ value: value,
94
+ index: index,
95
+ record: record,
96
+ action: actionRef.current
97
+ }, context);
98
+ return /*#__PURE__*/_react.default.createElement(_actions.ProActionGroup, _objectSpread(_objectSpread({
99
+ type: "text"
100
+ }, actionSchema), {}, {
101
+ context: _objectSpread(_objectSpread({}, defaultContext), actionSchema.context),
102
+ "data-teamix-spm": dataTeamixSpm ? "".concat(dataTeamixSpm, "-columnAction") : undefined
103
+ }));
104
+ }
105
+ // dataSource可传函数
106
+ if (typeof item.dataSource === 'function') {
107
+ var _item$dataSource;
108
+ newDataSource = (_item$dataSource = item.dataSource) === null || _item$dataSource === void 0 ? void 0 : _item$dataSource.call(item, value, index, record);
109
+ } else {
110
+ var _item$dataSource2;
111
+ newDataSource = ((_item$dataSource2 = item.dataSource) !== null && _item$dataSource2 !== void 0 ? _item$dataSource2 : []).map(function (item) {
112
+ return Object.fromEntries(Object.entries(item).map(function (_ref) {
113
+ var _ref2 = _slicedToArray(_ref, 2),
114
+ k = _ref2[0],
115
+ v = _ref2[1];
116
+ return [k, (0, _utils.getTargetValue)(v, _objectSpread(_objectSpread({}, record), {}, {
117
+ record: record,
118
+ value: value,
119
+ index: index
120
+ }))];
121
+ }));
122
+ });
123
+ }
124
+ // 渲染 ProField
125
+ return /*#__PURE__*/_react.default.createElement(_field.default, _objectSpread({
126
+ type: valueType || 'text',
127
+ value: value,
128
+ render: newRender,
129
+ dataSource: newDataSource,
130
+ format: format,
131
+ // 预留 context 位置
132
+ context: context
133
+ }, itemProps));
134
+ };
135
+ /**
136
+ * 处理 render 配置项是函数的情况
137
+ * @param render ProFieldRender
138
+ * @param value table cell value
139
+ * @param index table cell index
140
+ * @param record table cell record
141
+ * @returns
142
+ */
143
+ var processRenderFunction = function processRenderFunction() {
144
+ var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
145
+ var value = arguments.length > 1 ? arguments[1] : undefined;
146
+ var index = arguments.length > 2 ? arguments[2] : undefined;
147
+ var record = arguments.length > 3 ? arguments[3] : undefined;
148
+ // 当 ProField render 类型为 function 时。需要表格预先处理以塞入 record
149
+ var external = ['linkOnClick', 'link', 'value', 'renderEdit', 'descriptionRenderEdit', 'editPopConfirmProps', 'descriptionEditPopConfirmProps', 'editOnClick', 'descriptionEditOnClick', 'extra', 'prefixExtra'];
150
+ return Object.fromEntries(Object.entries(render).map(function (_ref3) {
151
+ var _ref4 = _slicedToArray(_ref3, 2),
152
+ k = _ref4[0],
153
+ v = _ref4[1];
154
+ if (typeof v === 'function') {
155
+ var _v;
156
+ if (external.includes(k)) {
157
+ return [k, function () {
158
+ for (var _len = arguments.length, others = new Array(_len), _key = 0; _key < _len; _key++) {
159
+ others[_key] = arguments[_key];
160
+ }
161
+ return v === null || v === void 0 ? void 0 : v.apply(void 0, [value, index, record].concat(others));
162
+ }];
163
+ }
164
+ return [k, (_v = v === null || v === void 0 ? void 0 : v(value, index, record)) !== null && _v !== void 0 ? _v : ''];
165
+ }
166
+ return [k, v];
167
+ }));
168
+ };
169
+ /**
170
+ * 处理 render 数据,取出 {{xxx}} 匹配值
171
+ * @param render ProFieldRender
172
+ * @param record table cell record
173
+ * @returns
174
+ */
175
+ var processBuriedPoint = function processBuriedPoint() {
176
+ var render = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
177
+ var record = arguments.length > 1 ? arguments[1] : undefined;
178
+ var value = arguments.length > 2 ? arguments[2] : undefined;
179
+ var index = arguments.length > 3 ? arguments[3] : undefined;
180
+ var context = arguments.length > 4 ? arguments[4] : undefined;
181
+ return Object.fromEntries([
182
+ // 默认 ellipsis、descriptionEllipsis 为 true
183
+ // emptyText 默认为 '-'
184
+ ['ellipsis', true], ['descriptionEllipsis', true], ['emptyText', '-']].concat(_toConsumableArray(Object.entries(render).map(function (_ref5) {
185
+ var _ref6 = _slicedToArray(_ref5, 2),
186
+ k = _ref6[0],
187
+ v = _ref6[1];
188
+ return [k, (0, _utils.getTargetValue)(v, _objectSpread(_objectSpread({}, record), {}, {
189
+ record: record,
190
+ value: value,
191
+ index: index
192
+ }, context))];
193
+ }))));
194
+ };
195
+ var equalColumns = function equalColumns(prevProps, nextProps) {
196
+ var preValue = prevProps.value;
197
+ var nextValue = nextProps.value;
198
+ // columns 强制更新参数
199
+ if (nextProps === null || nextProps === void 0 ? void 0 : nextProps.forcedUpdate) {
200
+ return false;
201
+ }
202
+ // 操作列的时候强制刷新
203
+ if (preValue === false && nextValue === false) {
204
+ return false;
205
+ }
206
+ if (preValue === nextValue) {
207
+ return true;
208
+ }
209
+ // 针对 value 是数组类型的判断 value 是否和原来相等,相等则不渲染
210
+ if (Array.isArray(nextValue) && Array.isArray(preValue)) {
211
+ var nextValueStr = nextValue.map(function (item) {
212
+ return item.TagValue;
213
+ });
214
+ var preValueStr = preValue.map(function (item) {
215
+ return item.TagValue;
216
+ });
217
+ if (nextValueStr.toString() === preValueStr.toString()) {
218
+ return true;
219
+ }
220
+ }
221
+ return false;
222
+ };
223
+ var _default = /*#__PURE__*/_react.default.memo(Cell, equalColumns);
224
+ exports.default = _default;
@@ -84,7 +84,6 @@ var Filter = function Filter(props) {
84
84
  });
85
85
  });
86
86
  }
87
- // console.log(filters);
88
87
  return filters;
89
88
  }, [column]);
90
89
  // 点击确定回调
@@ -75,7 +75,7 @@ var Layout = function Layout(props) {
75
75
  }, otherProps)));
76
76
  };
77
77
  // 渲染新版 QueryFilter
78
- var renderQueryFilter = function renderQueryFilter() {
78
+ var renderQueryFilter = (0, _react.useMemo)(function () {
79
79
  var _dataFilter$schema;
80
80
  if (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema = dataFilter.schema) === null || _dataFilter$schema === void 0 ? void 0 : _dataFilter$schema.length) {
81
81
  var _dataFilter$schema2;
@@ -137,7 +137,9 @@ var Layout = function Layout(props) {
137
137
  }, afterDataFilter) : null
138
138
  }));
139
139
  }
140
- };
140
+ }, [
141
+ //todo: 重复render 问题都在这里
142
+ dataFilter, mainAction, dataFilterFormRef, afterDataFilter]);
141
143
  // 区域组合渲染
142
144
  var renderLayout = function renderLayout() {
143
145
  if (header && mainAction) {
@@ -151,7 +153,7 @@ var Layout = function Layout(props) {
151
153
  actionRef: actionRef,
152
154
  quickAction: extra,
153
155
  rowSelection: rowSelection
154
- }))), renderQueryFilter());
156
+ }))), renderQueryFilter);
155
157
  } else if (header && !mainAction) {
156
158
  var _dataFilter$schema3, _dataFilter$schema4;
157
159
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
@@ -164,14 +166,14 @@ var Layout = function Layout(props) {
164
166
  actionRef: actionRef,
165
167
  quickAction: extra,
166
168
  rowSelection: rowSelection
167
- }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter())), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter());
169
+ }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter)), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter);
168
170
  } else if (!header && mainAction) {
169
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter());
171
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter);
170
172
  } else if (!header && !mainAction) {
171
173
  if (!dataFilterFormRef && !extra) {
172
174
  return null;
173
175
  }
174
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter());
176
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter);
175
177
  }
176
178
  };
177
179
  if ((dataFilter === null || dataFilter === void 0 ? void 0 : dataFilter.schema) || mainAction || header || extra || toolBar !== false) {
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  import { PaginationProps } from '@alicloudfe/components/types/pagination';
2
3
  import { responsivePaginationType } from '../../typing';
3
4
  import './index.scss';
4
- declare const _default: (props: PaginationProps & {
5
- responsivePaginationType?: responsivePaginationType;
6
- useMaxData?: boolean;
7
- }) => JSX.Element;
5
+ declare const _default: React.MemoExoticComponent<(props: PaginationProps & {
6
+ responsivePaginationType?: responsivePaginationType | undefined;
7
+ useMaxData?: boolean | undefined;
8
+ }) => JSX.Element>;
8
9
  export default _default;
@@ -24,13 +24,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
24
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
25
  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; }
26
26
  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; }
27
- var _default = function _default(props) {
27
+ var ProPagination = function ProPagination(props) {
28
28
  var className = props.className,
29
29
  propsOnChange = props.onChange,
30
30
  total = props.total,
31
31
  pageSize = props.pageSize,
32
32
  current = props.current,
33
- pageSizeList = props.pageSizeList,
33
+ _props$pageSizeList = props.pageSizeList,
34
+ pageSizeList = _props$pageSizeList === void 0 ? [5, 10, 20, 50, 100] : _props$pageSizeList,
34
35
  pageSizeSelector = props.pageSizeSelector,
35
36
  onPageSizeChange = props.onPageSizeChange,
36
37
  responsivePaginationType = props.responsivePaginationType,
@@ -250,4 +251,5 @@ var _default = function _default(props) {
250
251
  }, renderPagination())
251
252
  );
252
253
  };
254
+ var _default = /*#__PURE__*/_react.default.memo(ProPagination);
253
255
  exports.default = _default;
@@ -0,0 +1,7 @@
1
+ import { EmptyContentProps } from '@teamix/pro-field';
2
+ import { TableProps } from '@alicloudfe/components/types/table';
3
+ export interface ITableContentProps extends TableProps {
4
+ emptyProps?: EmptyContentProps;
5
+ }
6
+ declare const TableContent: (props: ITableContentProps) => JSX.Element;
7
+ export default TableContent;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _components = require("@alicloudfe/components");
10
+ var _proField = require("@teamix/pro-field");
11
+ var _getTableSortIcons = _interopRequireDefault(require("../../utils/getTableSortIcons"));
12
+ var _excluded = ["emptyProps"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ 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; }
17
+ 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; }
18
+ 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; }
19
+ 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; }
20
+ 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; }
21
+ var TableContent = function TableContent(props) {
22
+ var emptyProps = props.emptyProps,
23
+ rest = _objectWithoutProperties(props, _excluded);
24
+ var memorizedEmptyContent = (0, _react.useMemo)(function () {
25
+ return /*#__PURE__*/_react.default.createElement(_proField.EmptyContent, _objectSpread({}, emptyProps));
26
+ }, [emptyProps]);
27
+ var memorizedGetTableSortIcons = (0, _react.useMemo)(_getTableSortIcons.default, []);
28
+ return /*#__PURE__*/_react.default.createElement(_components.Table.StickyLock, _objectSpread({
29
+ sortIcons: memorizedGetTableSortIcons,
30
+ emptyContent: memorizedEmptyContent
31
+ }, rest));
32
+ };
33
+ var _default = TableContent;
34
+ exports.default = _default;
@@ -34,7 +34,11 @@ var Row = _components.Grid.Row,
34
34
  var cls = (0, _utils.usePrefixCls)('teamix-pro-table-toolbar-filter-column');
35
35
  var processColumns = function processColumns(columns) {
36
36
  var _getGlobalConfig;
37
+ var filterColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
37
38
  var globalFilterColumns = (_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
39
+ var filterColumnsKey = filterColumns.map(function (item) {
40
+ return item === null || item === void 0 ? void 0 : item.dataIndex;
41
+ });
38
42
  // hidden 为 true 时不展示
39
43
  columns = columns.filter(function (item) {
40
44
  return (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(item));
@@ -44,11 +48,14 @@ var processColumns = function processColumns(columns) {
44
48
  return item;
45
49
  }
46
50
  return _objectSpread(_objectSpread({}, item), {}, {
47
- columnFilters: true
51
+ columnFilters: filterColumnsKey.findIndex(function (key) {
52
+ return item.dataIndex === key;
53
+ }) >= 0 ? true : false
48
54
  });
49
55
  });
50
56
  };
51
57
  var FilterColumnIcon = function FilterColumnIcon(props) {
58
+ var _actionRef$current, _actionRef$current3;
52
59
  var _props$columns = props.columns,
53
60
  columns = _props$columns === void 0 ? [] : _props$columns,
54
61
  actionRef = props.actionRef,
@@ -61,7 +68,7 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
61
68
  _useState4 = _slicedToArray(_useState3, 2),
62
69
  indeterminate = _useState4[0],
63
70
  setIndeterminate = _useState4[1];
64
- var _useState5 = (0, _react.useState)(processColumns(columns)),
71
+ var _useState5 = (0, _react.useState)(processColumns(columns, (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : _actionRef$current.filterColumns)),
65
72
  _useState6 = _slicedToArray(_useState5, 2),
66
73
  newColumns = _useState6[0],
67
74
  setNewColumns = _useState6[1];
@@ -107,8 +114,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
107
114
  };
108
115
  });
109
116
  (0, _react.useEffect)(function () {
110
- setNewColumns(processColumns(columns));
111
- }, [columns]);
117
+ var _actionRef$current2;
118
+ setNewColumns(processColumns(columns, (_actionRef$current2 = actionRef.current) === null || _actionRef$current2 === void 0 ? void 0 : _actionRef$current2.filterColumns));
119
+ }, [columns, (_actionRef$current3 = actionRef.current) === null || _actionRef$current3 === void 0 ? void 0 : _actionRef$current3.filterColumns]);
112
120
  // 全选
113
121
  var onChangeAllColumns = function onChangeAllColumns(check) {
114
122
  setAllVisible(check);
@@ -200,10 +208,10 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
200
208
  };
201
209
  // 通知表格渲染
202
210
  var notifyTableRender = function notifyTableRender(columns) {
203
- var _actionRef$current, _actionRef$current$se;
211
+ var _actionRef$current4, _actionRef$current4$s;
204
212
  calculateSelectAllState(columns);
205
213
  setNewColumns(columns);
206
- (_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setColumn) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, columns, false);
214
+ (_actionRef$current4 = actionRef.current) === null || _actionRef$current4 === void 0 ? void 0 : (_actionRef$current4$s = _actionRef$current4.setColumn) === null || _actionRef$current4$s === void 0 ? void 0 : _actionRef$current4$s.call(_actionRef$current4, columns, false);
207
215
  };
208
216
  // 计算全选状态
209
217
  var calculateSelectAllState = function calculateSelectAllState(columns) {