@ccs-ui/rc-pro 2.3.6-alpha-8 → 2.3.6-alpha-10
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.
- package/es/ccs.d.ts +10 -2
- package/es/group-form-item/index.d.ts +11 -0
- package/es/group-form-item/index.js +124 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/es/pro-table/form-item.d.ts +1 -1
- package/es/pro-table/form-item.js +27 -11
- package/es/pro-table/head.js +28 -22
- package/es/pro-table/table.d.ts +10 -8
- package/es/pro-table/table.js +22 -6
- package/es/pro-table/tree.d.ts +3 -3
- package/es/pro-table/tree.js +26 -15
- package/package.json +1 -1
package/es/ccs.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ButtonProps, PaginationProps } from 'antd';
|
|
2
2
|
import { Rule } from 'antd/es/form';
|
|
3
|
+
import { NamePath } from 'antd/es/form/interface';
|
|
3
4
|
import { CSSProperties, MutableRefObject, ReactElement, ReactNode } from 'react';
|
|
4
5
|
import { TableColumn } from './pro-table/table';
|
|
5
6
|
type MenuType = {
|
|
@@ -93,11 +94,11 @@ type ShowDependType = {
|
|
|
93
94
|
name: string;
|
|
94
95
|
value: any;
|
|
95
96
|
};
|
|
96
|
-
|
|
97
|
+
type FormItemType = {
|
|
97
98
|
/** label 标题 */
|
|
98
99
|
label?: string;
|
|
99
100
|
/** form name */
|
|
100
|
-
name
|
|
101
|
+
name?: string;
|
|
101
102
|
/** form item element */
|
|
102
103
|
value: ReactElement;
|
|
103
104
|
/** 数据依赖、依赖项对应的name数组 */
|
|
@@ -108,7 +109,14 @@ export type TableFormItem = {
|
|
|
108
109
|
rules?: Rule[];
|
|
109
110
|
/** 在发起请求时调用方法,格式化值 */
|
|
110
111
|
onFormat?: (e: any) => any;
|
|
112
|
+
/** 组表单项名称 */
|
|
113
|
+
groupItemNames?: NamePath[];
|
|
111
114
|
};
|
|
115
|
+
export type TableFormItem = ({
|
|
116
|
+
name: string;
|
|
117
|
+
} & Partial<FormItemType>) | ({
|
|
118
|
+
groupItemNames: NamePath[];
|
|
119
|
+
} & Partial<FormItemType>);
|
|
112
120
|
type TableFormItems = TableFormItem[];
|
|
113
121
|
type TableInstanceRef<T = any> = MutableRefObject<TableInstance<T> | undefined> | React.RefObject<TableInstance<T>>;
|
|
114
122
|
type TableColumns<RecordType = any> = TableColumn<RecordType>[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormItemProps } from 'antd';
|
|
2
|
+
import { NamePath } from 'antd/es/form/interface';
|
|
3
|
+
export type GroupFormItemProps = FormItemProps & {
|
|
4
|
+
/** 组表单项名称 */
|
|
5
|
+
groupItemNames: NamePath[];
|
|
6
|
+
};
|
|
7
|
+
declare function GroupFormItem({ groupItemNames, name, ...formItemProps }: GroupFormItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare namespace GroupFormItem {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
export default GroupFormItem;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["groupItemNames", "name"];
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
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."); }
|
|
10
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
15
|
+
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."); }
|
|
16
|
+
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); }
|
|
17
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
18
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
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
|
+
import { useUpdateEffect } from 'ahooks';
|
|
21
|
+
import { Form } from 'antd';
|
|
22
|
+
import { useEffect, useState } from 'react';
|
|
23
|
+
import { getDataFromFields } from "../select";
|
|
24
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
26
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
|
+
var FormUpdateItem = function FormUpdateItem(_ref) {
|
|
28
|
+
var name = _ref.name,
|
|
29
|
+
getFieldsValue = _ref.getFieldsValue,
|
|
30
|
+
setFieldValue = _ref.setFieldValue,
|
|
31
|
+
getFieldValue = _ref.getFieldValue,
|
|
32
|
+
groupItemNames = _ref.groupItemNames;
|
|
33
|
+
var nameValue = getFieldValue(name);
|
|
34
|
+
useEffect(function () {
|
|
35
|
+
// 初始值
|
|
36
|
+
var initialValues = getFieldsValue(true);
|
|
37
|
+
var initNameValue = [];
|
|
38
|
+
|
|
39
|
+
// 根据子项初始值设置name的默认值
|
|
40
|
+
groupItemNames.forEach(function (item) {
|
|
41
|
+
initNameValue.push(getDataFromFields(initialValues, Array.isArray(item) ? item : [item]));
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// 如果子项有初始值,则设置name的默认值
|
|
45
|
+
if (initNameValue.filter(function (n) {
|
|
46
|
+
return n !== undefined;
|
|
47
|
+
}).length > 0) {
|
|
48
|
+
setFieldValue(name, initNameValue);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// 如果子项没有初始值,主项有初始值
|
|
53
|
+
var groupNameValue = getDataFromFields(initialValues, Array.isArray(name) ? name : [name]);
|
|
54
|
+
if (Array.isArray(groupNameValue)) {
|
|
55
|
+
groupItemNames.forEach(function (item, index) {
|
|
56
|
+
setFieldValue(item, groupNameValue[index]);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, []);
|
|
60
|
+
|
|
61
|
+
// 依赖主字段变更,更新子项属性值
|
|
62
|
+
useUpdateEffect(function () {
|
|
63
|
+
setTimeout(function () {
|
|
64
|
+
groupItemNames.forEach(function (item, index) {
|
|
65
|
+
setFieldValue(item, Array.isArray(nameValue) ? nameValue[index] : undefined);
|
|
66
|
+
});
|
|
67
|
+
}, 1);
|
|
68
|
+
}, [nameValue]);
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
function onGetNameValue() {
|
|
72
|
+
var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
73
|
+
var name = arguments.length > 1 ? arguments[1] : undefined;
|
|
74
|
+
if (!obj) return undefined;
|
|
75
|
+
if (Array.isArray(name)) {
|
|
76
|
+
var names = _toConsumableArray(name);
|
|
77
|
+
var newName = names.shift();
|
|
78
|
+
if (names.length === 0) return obj[newName];
|
|
79
|
+
return onGetNameValue(obj[newName], names);
|
|
80
|
+
}
|
|
81
|
+
return obj[name];
|
|
82
|
+
}
|
|
83
|
+
function GroupFormItem(_ref2) {
|
|
84
|
+
var groupItemNames = _ref2.groupItemNames,
|
|
85
|
+
name = _ref2.name,
|
|
86
|
+
formItemProps = _objectWithoutProperties(_ref2, _excluded);
|
|
87
|
+
var _useState = useState(name || "_".concat(JSON.stringify(groupItemNames).replace(/[^a-zA-Z]/g, ''), "_")),
|
|
88
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
89
|
+
itemName = _useState2[0];
|
|
90
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
91
|
+
children: [/*#__PURE__*/_jsx(Form.Item, _objectSpread({
|
|
92
|
+
name: itemName
|
|
93
|
+
}, formItemProps)), groupItemNames && groupItemNames.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
94
|
+
children: [/*#__PURE__*/_jsx(Form.Item, {
|
|
95
|
+
noStyle: true,
|
|
96
|
+
shouldUpdate: function shouldUpdate(l, r) {
|
|
97
|
+
return onGetNameValue(l, itemName) !== onGetNameValue(r, itemName);
|
|
98
|
+
},
|
|
99
|
+
children: function children(_ref3) {
|
|
100
|
+
var getFieldsValue = _ref3.getFieldsValue,
|
|
101
|
+
setFieldValue = _ref3.setFieldValue,
|
|
102
|
+
getFieldValue = _ref3.getFieldValue;
|
|
103
|
+
return /*#__PURE__*/_jsx(FormUpdateItem, {
|
|
104
|
+
getFieldsValue: getFieldsValue,
|
|
105
|
+
setFieldValue: setFieldValue,
|
|
106
|
+
getFieldValue: getFieldValue,
|
|
107
|
+
groupItemNames: groupItemNames,
|
|
108
|
+
name: itemName
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}), groupItemNames.map(function (item, index) {
|
|
112
|
+
return /*#__PURE__*/_jsx(Form.Item, {
|
|
113
|
+
noStyle: true,
|
|
114
|
+
name: item,
|
|
115
|
+
hidden: true
|
|
116
|
+
}, index);
|
|
117
|
+
})]
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
122
|
+
GroupFormItem.displayName = 'CcsGroupFormItem';
|
|
123
|
+
}
|
|
124
|
+
export default GroupFormItem;
|
package/es/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { default as CcsDialog } from './dialog';
|
|
|
9
9
|
export { default as CcsEditor } from './editor';
|
|
10
10
|
export { default as CcsEllipsis } from './ellipsis';
|
|
11
11
|
export { default as CcsFullScreenButton } from './full-screen';
|
|
12
|
+
export { default as CcsGroupFormItem } from './group-form-item';
|
|
12
13
|
export { default as useAppConfig } from './hooks/use-app';
|
|
13
14
|
export { default as useCcsOnceEvent } from './hooks/use-once-event';
|
|
14
15
|
export { default as useCcsPage } from './hooks/use-page';
|
package/es/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { default as CcsDialog } from "./dialog";
|
|
|
9
9
|
export { default as CcsEditor } from "./editor";
|
|
10
10
|
export { default as CcsEllipsis } from "./ellipsis";
|
|
11
11
|
export { default as CcsFullScreenButton } from "./full-screen";
|
|
12
|
+
export { default as CcsGroupFormItem } from "./group-form-item";
|
|
12
13
|
export { default as useAppConfig } from "./hooks/use-app";
|
|
13
14
|
export { default as useCcsOnceEvent } from "./hooks/use-once-event";
|
|
14
15
|
export { default as useCcsPage } from "./hooks/use-page";
|
|
@@ -3,5 +3,5 @@ import { CcsProTableProps } from './table';
|
|
|
3
3
|
type PropsType = TableFormItem & {
|
|
4
4
|
dependParam?: any;
|
|
5
5
|
} & Pick<CcsProTableProps<any>, 'formItemLabelWidth'>;
|
|
6
|
-
export default function HeadFormItem({ label, name, rules, value, dependParam, formItemLabelWidth, }: PropsType): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default function HeadFormItem({ label, name, rules, value, dependParam, groupItemNames, formItemLabelWidth, }: PropsType): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
1
7
|
import { Form } from 'antd';
|
|
2
8
|
import { cloneElement } from 'react';
|
|
9
|
+
import { CcsGroupFormItem } from '..';
|
|
3
10
|
import { classPrefix } from "./table";
|
|
4
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
12
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -9,19 +16,28 @@ export default function HeadFormItem(_ref) {
|
|
|
9
16
|
rules = _ref.rules,
|
|
10
17
|
value = _ref.value,
|
|
11
18
|
dependParam = _ref.dependParam,
|
|
19
|
+
groupItemNames = _ref.groupItemNames,
|
|
12
20
|
formItemLabelWidth = _ref.formItemLabelWidth;
|
|
21
|
+
var props = {
|
|
22
|
+
name: name,
|
|
23
|
+
rules: rules,
|
|
24
|
+
className: "".concat(classPrefix, "-form-label"),
|
|
25
|
+
label: formItemLabelWidth ? /*#__PURE__*/_jsx("div", {
|
|
26
|
+
style: {
|
|
27
|
+
width: formItemLabelWidth
|
|
28
|
+
},
|
|
29
|
+
children: label
|
|
30
|
+
}) : label
|
|
31
|
+
};
|
|
32
|
+
if (groupItemNames) {
|
|
33
|
+
return /*#__PURE__*/_jsx(CcsGroupFormItem, _objectSpread(_objectSpread({}, props), {}, {
|
|
34
|
+
groupItemNames: groupItemNames,
|
|
35
|
+
children: dependParam ? /*#__PURE__*/cloneElement(value, dependParam) : value
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
13
38
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
14
|
-
children: /*#__PURE__*/_jsx(Form.Item, {
|
|
15
|
-
name: name,
|
|
16
|
-
rules: rules,
|
|
17
|
-
className: "".concat(classPrefix, "-form-label"),
|
|
18
|
-
label: formItemLabelWidth ? /*#__PURE__*/_jsx("div", {
|
|
19
|
-
style: {
|
|
20
|
-
width: formItemLabelWidth
|
|
21
|
-
},
|
|
22
|
-
children: label
|
|
23
|
-
}) : label,
|
|
39
|
+
children: /*#__PURE__*/_jsx(Form.Item, _objectSpread(_objectSpread({}, props), {}, {
|
|
24
40
|
children: dependParam ? /*#__PURE__*/cloneElement(value, dependParam) : value
|
|
25
|
-
})
|
|
41
|
+
}))
|
|
26
42
|
});
|
|
27
43
|
}
|
package/es/pro-table/head.js
CHANGED
|
@@ -105,39 +105,44 @@ function HeadComponent(_ref) {
|
|
|
105
105
|
}), toolbar ? null : tableOperation]
|
|
106
106
|
});
|
|
107
107
|
var renderFormItems = function renderFormItems() {
|
|
108
|
-
return allFormItems.map(function (
|
|
109
|
-
|
|
108
|
+
return allFormItems.map(function (_ref2, index) {
|
|
109
|
+
var depends = _ref2.depends,
|
|
110
|
+
showDepends = _ref2.showDepends,
|
|
111
|
+
name = _ref2.name,
|
|
112
|
+
groupItemNames = _ref2.groupItemNames,
|
|
113
|
+
label = _ref2.label,
|
|
114
|
+
rules = _ref2.rules,
|
|
115
|
+
value = _ref2.value;
|
|
116
|
+
if (depends || showDepends) {
|
|
110
117
|
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
111
118
|
children: /*#__PURE__*/_jsx(Form.Item, {
|
|
112
119
|
noStyle: true,
|
|
113
120
|
shouldUpdate: function shouldUpdate(l, n) {
|
|
114
|
-
|
|
115
|
-
return ((_item$depends = item.depends) === null || _item$depends === void 0 ? void 0 : _item$depends.some(function (i) {
|
|
121
|
+
return (depends === null || depends === void 0 ? void 0 : depends.some(function (i) {
|
|
116
122
|
return l[i] !== n[i];
|
|
117
|
-
})) || (
|
|
123
|
+
})) || (showDepends === null || showDepends === void 0 ? void 0 : showDepends.some(function (i) {
|
|
118
124
|
return l[i.name] !== n[i.name];
|
|
119
125
|
})) || false;
|
|
120
126
|
},
|
|
121
|
-
children: function children(
|
|
122
|
-
var
|
|
123
|
-
var getFieldValue = _ref2.getFieldValue;
|
|
127
|
+
children: function children(_ref3) {
|
|
128
|
+
var getFieldValue = _ref3.getFieldValue;
|
|
124
129
|
var dependParam = {};
|
|
125
|
-
|
|
130
|
+
depends === null || depends === void 0 || depends.forEach(function (i) {
|
|
126
131
|
var value = getFieldValue(i);
|
|
127
132
|
dependParam[i] = value;
|
|
128
133
|
});
|
|
129
134
|
var isShow = true;
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
isShow = (_item$showDepends2 = item.showDepends) === null || _item$showDepends2 === void 0 ? void 0 : _item$showDepends2.every(function (i) {
|
|
135
|
+
if (showDepends && showDepends.length > 0) {
|
|
136
|
+
isShow = showDepends === null || showDepends === void 0 ? void 0 : showDepends.every(function (i) {
|
|
133
137
|
return getFieldValue(i.name) === i.value;
|
|
134
138
|
});
|
|
135
139
|
}
|
|
136
140
|
var itemContent = /*#__PURE__*/_jsx(HeadFormItem, {
|
|
137
|
-
name:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
+
name: name,
|
|
142
|
+
groupItemNames: groupItemNames,
|
|
143
|
+
label: label,
|
|
144
|
+
rules: rules,
|
|
145
|
+
value: value,
|
|
141
146
|
dependParam: dependParam,
|
|
142
147
|
formItemLabelWidth: formItemLabelWidth
|
|
143
148
|
});
|
|
@@ -145,18 +150,19 @@ function HeadComponent(_ref) {
|
|
|
145
150
|
return itemContent;
|
|
146
151
|
}
|
|
147
152
|
})
|
|
148
|
-
},
|
|
153
|
+
}, name);
|
|
149
154
|
}
|
|
150
155
|
var itemContent = /*#__PURE__*/_jsx(HeadFormItem, {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
156
|
+
groupItemNames: groupItemNames,
|
|
157
|
+
name: name,
|
|
158
|
+
value: value,
|
|
159
|
+
rules: rules,
|
|
160
|
+
label: label,
|
|
155
161
|
formItemLabelWidth: formItemLabelWidth
|
|
156
162
|
});
|
|
157
163
|
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
158
164
|
children: itemContent
|
|
159
|
-
},
|
|
165
|
+
}, index);
|
|
160
166
|
});
|
|
161
167
|
};
|
|
162
168
|
var formStyles = {
|
package/es/pro-table/table.d.ts
CHANGED
|
@@ -13,14 +13,16 @@ export type ShowDependType = {
|
|
|
13
13
|
value: any;
|
|
14
14
|
};
|
|
15
15
|
export declare enum TableEvent {
|
|
16
|
-
Search = "search"
|
|
17
|
-
Reset = "reset"
|
|
18
|
-
Reload = "reload"
|
|
19
|
-
ChangePage = "changePage"
|
|
20
|
-
InitSearch = "initSearch"
|
|
21
|
-
FullScreen = "fullScreen"
|
|
22
|
-
ColumnFilter = "columnFilter"
|
|
23
|
-
SelectedRows = "SelectedRows"
|
|
16
|
+
Search = "search",// 查询
|
|
17
|
+
Reset = "reset",// 重置
|
|
18
|
+
Reload = "reload",// 刷新
|
|
19
|
+
ChangePage = "changePage",// 分页
|
|
20
|
+
InitSearch = "initSearch",// 初始化查询
|
|
21
|
+
FullScreen = "fullScreen",// 全屏
|
|
22
|
+
ColumnFilter = "columnFilter",// 列过滤
|
|
23
|
+
SelectedRows = "SelectedRows",// 选中行
|
|
24
|
+
Expand = "Expand",// 异步树展开
|
|
25
|
+
PartialReload = "PartialReload"
|
|
24
26
|
}
|
|
25
27
|
export type TableColumn<RecordType = any> = (Omit<ColumnGroupType<RecordType>, 'ellipsis'> | Omit<ColumnType<RecordType>, 'ellipsis'>) & {
|
|
26
28
|
dataIndex?: keyof RecordType;
|
package/es/pro-table/table.js
CHANGED
|
@@ -55,8 +55,10 @@ export var TableEvent = /*#__PURE__*/function (TableEvent) {
|
|
|
55
55
|
TableEvent["FullScreen"] = "fullScreen";
|
|
56
56
|
TableEvent["ColumnFilter"] = "columnFilter";
|
|
57
57
|
TableEvent["SelectedRows"] = "SelectedRows";
|
|
58
|
+
TableEvent["Expand"] = "Expand";
|
|
59
|
+
TableEvent["PartialReload"] = "PartialReload";
|
|
58
60
|
return TableEvent;
|
|
59
|
-
}({});
|
|
61
|
+
}({}); // 异步树局部刷新
|
|
60
62
|
export var classPrefix = 'ccs-pl';
|
|
61
63
|
|
|
62
64
|
/**
|
|
@@ -169,7 +171,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
169
171
|
var getFormValues = /*#__PURE__*/function () {
|
|
170
172
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
171
173
|
var _formRef$current;
|
|
172
|
-
var formValues;
|
|
174
|
+
var formValues, _delField;
|
|
173
175
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
174
176
|
while (1) switch (_context.prev = _context.next) {
|
|
175
177
|
case 0:
|
|
@@ -177,8 +179,19 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
177
179
|
return (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.validateFields();
|
|
178
180
|
case 2:
|
|
179
181
|
formValues = _context.sent;
|
|
180
|
-
//
|
|
182
|
+
// 删除无意义字段
|
|
183
|
+
if (formValues) {
|
|
184
|
+
_delField = Object.keys(formValues).filter(function (k) {
|
|
185
|
+
return k.startsWith('_') && k.endsWith('_');
|
|
186
|
+
});
|
|
187
|
+
if (_delField.length > 0) {
|
|
188
|
+
_delField.forEach(function (d) {
|
|
189
|
+
return delete formValues[d];
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
181
193
|
if (formatFormItems.length) {
|
|
194
|
+
// 格式化条件
|
|
182
195
|
Object.keys(formValues).forEach(function (k) {
|
|
183
196
|
if (formValues[k] !== undefined) {
|
|
184
197
|
var s = formatFormItems.find(function (f) {
|
|
@@ -189,7 +202,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
189
202
|
});
|
|
190
203
|
}
|
|
191
204
|
return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread({}, requestParam), formInitValues), formValues));
|
|
192
|
-
case
|
|
205
|
+
case 6:
|
|
193
206
|
case "end":
|
|
194
207
|
return _context.stop();
|
|
195
208
|
}
|
|
@@ -274,9 +287,10 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
274
287
|
_context2.next = 19;
|
|
275
288
|
break;
|
|
276
289
|
}
|
|
277
|
-
(_treeRef$current = treeRef.current) === null || _treeRef$current === void 0 || _treeRef$current.onRequestTree(params.query, record);
|
|
290
|
+
(_treeRef$current = treeRef.current) === null || _treeRef$current === void 0 || _treeRef$current.onRequestTree(eventType, params.query, record);
|
|
278
291
|
return _context2.abrupt("return");
|
|
279
292
|
case 19:
|
|
293
|
+
// 事件回调,请求中
|
|
280
294
|
onEvent === null || onEvent === void 0 || onEvent(eventType, {
|
|
281
295
|
loading: true,
|
|
282
296
|
params: params
|
|
@@ -292,6 +306,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
292
306
|
return httpRequest(params);
|
|
293
307
|
case 23:
|
|
294
308
|
requestResult = _context2.sent;
|
|
309
|
+
// 事件回调,请求完成
|
|
295
310
|
onEvent === null || onEvent === void 0 || onEvent(eventType, {
|
|
296
311
|
loading: false,
|
|
297
312
|
params: params,
|
|
@@ -367,7 +382,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
367
382
|
var ids = getAllChildrenId(treeNode.children || [], rowKey);
|
|
368
383
|
// 局部重载
|
|
369
384
|
(_treeRef$current2 = treeRef.current) === null || _treeRef$current2 === void 0 || _treeRef$current2.onExpandKeys(ids);
|
|
370
|
-
(_treeRef$current3 = treeRef.current) === null || _treeRef$current3 === void 0 || _treeRef$current3.onRequestTree({}, treeNode);
|
|
385
|
+
(_treeRef$current3 = treeRef.current) === null || _treeRef$current3 === void 0 || _treeRef$current3.onRequestTree(TableEvent.PartialReload, {}, treeNode);
|
|
371
386
|
};
|
|
372
387
|
useEffect(function () {
|
|
373
388
|
// 判断是否在弹出框中
|
|
@@ -547,6 +562,7 @@ var InternalProTable = function InternalProTable(props) {
|
|
|
547
562
|
sticky: stickyRef.current || true,
|
|
548
563
|
parentFieldName: parentFieldName,
|
|
549
564
|
setData: setData,
|
|
565
|
+
onEvent: onEvent,
|
|
550
566
|
handlePageChange: handlePageChange
|
|
551
567
|
});
|
|
552
568
|
}
|
package/es/pro-table/tree.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ import { RefObject } from 'react';
|
|
|
4
4
|
import CCS from '..';
|
|
5
5
|
import { CcsFieldNamesType } from '../context';
|
|
6
6
|
import { TableRefType } from '../table';
|
|
7
|
-
import { CcsProTableProps } from './table';
|
|
7
|
+
import { CcsProTableProps, TableEvent } from './table';
|
|
8
8
|
export type TreeInstance<T> = {
|
|
9
|
-
onRequestTree: (query: any, record: T | any) => void;
|
|
9
|
+
onRequestTree: (eventType: TableEvent, query: any, record: T | any) => void;
|
|
10
10
|
onExpandKeys: (ids: string[]) => void;
|
|
11
11
|
};
|
|
12
|
-
type TreeTableProps<T> = Pick<CcsProTableProps<T>, 'table' | 'parentFieldName' | 'leafNode'> & {
|
|
12
|
+
type TreeTableProps<T> = Pick<CcsProTableProps<T>, 'table' | 'parentFieldName' | 'leafNode' | 'onEvent'> & {
|
|
13
13
|
data: CCS.TableData<T>;
|
|
14
14
|
sticky: boolean | TableSticky;
|
|
15
15
|
tableRowSize: TableProps['size'];
|
package/es/pro-table/tree.js
CHANGED
|
@@ -22,6 +22,7 @@ import { useImperativeHandle, useState } from 'react';
|
|
|
22
22
|
import { CcsTable } from '..';
|
|
23
23
|
import { useProTableTreeFields } from "../hooks/use-app";
|
|
24
24
|
import { getDataFromFields } from "../select";
|
|
25
|
+
import { TableEvent } from "./table";
|
|
25
26
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
26
27
|
var TableTree = function TableTree(props) {
|
|
27
28
|
var data = props.data,
|
|
@@ -34,7 +35,8 @@ var TableTree = function TableTree(props) {
|
|
|
34
35
|
tableContentRef = props.tableContentRef,
|
|
35
36
|
parentFieldName = props.parentFieldName,
|
|
36
37
|
handlePageChange = props.handlePageChange,
|
|
37
|
-
setData = props.setData
|
|
38
|
+
setData = props.setData,
|
|
39
|
+
onEvent = props.onEvent;
|
|
38
40
|
// async tree expand key
|
|
39
41
|
var _useState = useState([]),
|
|
40
42
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -53,8 +55,8 @@ var TableTree = function TableTree(props) {
|
|
|
53
55
|
var fieldNames = _objectSpread(_objectSpread({}, globalFieldNames), props.fieldNames);
|
|
54
56
|
|
|
55
57
|
// 获取数据
|
|
56
|
-
var
|
|
57
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
58
|
+
var onRequestTree = /*#__PURE__*/function () {
|
|
59
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(eventType) {
|
|
58
60
|
var query,
|
|
59
61
|
record,
|
|
60
62
|
params,
|
|
@@ -64,13 +66,18 @@ var TableTree = function TableTree(props) {
|
|
|
64
66
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
65
67
|
while (1) switch (_context.prev = _context.next) {
|
|
66
68
|
case 0:
|
|
67
|
-
query = _args.length >
|
|
68
|
-
record = _args.length >
|
|
69
|
+
query = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
70
|
+
record = _args.length > 2 ? _args[2] : undefined;
|
|
69
71
|
params = query;
|
|
70
72
|
if (record) {
|
|
71
73
|
params[parentFieldName] = record[rowKey];
|
|
72
74
|
}
|
|
73
75
|
|
|
76
|
+
// 事件回调,请求中
|
|
77
|
+
onEvent === null || onEvent === void 0 || onEvent(eventType, {
|
|
78
|
+
loading: true,
|
|
79
|
+
params: params
|
|
80
|
+
});
|
|
74
81
|
// 发起请求
|
|
75
82
|
setData(function (d) {
|
|
76
83
|
return _objectSpread(_objectSpread({}, d), {}, {
|
|
@@ -79,15 +86,21 @@ var TableTree = function TableTree(props) {
|
|
|
79
86
|
});
|
|
80
87
|
_context.t0 = httpRequest;
|
|
81
88
|
if (!_context.t0) {
|
|
82
|
-
_context.next =
|
|
89
|
+
_context.next = 11;
|
|
83
90
|
break;
|
|
84
91
|
}
|
|
85
|
-
_context.next =
|
|
92
|
+
_context.next = 10;
|
|
86
93
|
return httpRequest(params);
|
|
87
|
-
case 9:
|
|
88
|
-
_context.t0 = _context.sent;
|
|
89
94
|
case 10:
|
|
95
|
+
_context.t0 = _context.sent;
|
|
96
|
+
case 11:
|
|
90
97
|
requestResult = _context.t0;
|
|
98
|
+
onEvent === null || onEvent === void 0 || onEvent(eventType, {
|
|
99
|
+
loading: true,
|
|
100
|
+
params: params,
|
|
101
|
+
data: requestResult
|
|
102
|
+
});
|
|
103
|
+
|
|
91
104
|
// 请求结果
|
|
92
105
|
if (requestResult) {
|
|
93
106
|
// 获取table数据
|
|
@@ -126,21 +139,19 @@ var TableTree = function TableTree(props) {
|
|
|
126
139
|
});
|
|
127
140
|
});
|
|
128
141
|
}
|
|
129
|
-
case
|
|
142
|
+
case 14:
|
|
130
143
|
case "end":
|
|
131
144
|
return _context.stop();
|
|
132
145
|
}
|
|
133
146
|
}, _callee);
|
|
134
147
|
}));
|
|
135
|
-
return function onRequestTree() {
|
|
148
|
+
return function onRequestTree(_x) {
|
|
136
149
|
return _ref2.apply(this, arguments);
|
|
137
150
|
};
|
|
138
151
|
}();
|
|
139
152
|
useImperativeHandle(treeRef, function () {
|
|
140
153
|
return {
|
|
141
|
-
onRequestTree:
|
|
142
|
-
_onRequestTree(query, record);
|
|
143
|
-
},
|
|
154
|
+
onRequestTree: onRequestTree,
|
|
144
155
|
onExpandKeys: function onExpandKeys(ids) {
|
|
145
156
|
setExpandKeys(expandKeys.filter(function (e) {
|
|
146
157
|
return !ids.includes(e);
|
|
@@ -158,7 +169,7 @@ var TableTree = function TableTree(props) {
|
|
|
158
169
|
var _record$childrenColum;
|
|
159
170
|
expandKeys.push(expandId);
|
|
160
171
|
if (((_record$childrenColum = record[childrenColumnName]) === null || _record$childrenColum === void 0 ? void 0 : _record$childrenColum.length) > 0) return;
|
|
161
|
-
|
|
172
|
+
onRequestTree(TableEvent.Expand, {}, record);
|
|
162
173
|
} else {
|
|
163
174
|
setExpandKeys(expandKeys.filter(function (e) {
|
|
164
175
|
return e !== expandId;
|