zmdms-webui 0.0.97 → 0.0.99
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/dist/es/dynamicsetting/useDynamic.js +1 -0
- package/dist/es/form/form.js +2 -2
- package/dist/es/form/hooks.js +10 -2
- package/dist/es/formitem/formItem.d.ts +2 -2
- package/dist/es/formitem/formItem.js +37 -18
- package/dist/es/modal/modal.js +17 -1
- package/dist/es/table/components/EnhanceBodyCell.js +2 -1
- package/dist/es/table/interface.d.ts +11 -1
- package/dist/es/table/useColumns.js +4 -2
- package/dist/index.build.d.ts +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ function recursionDynamicItems(list, currentDynamicList) {
|
|
|
14
14
|
if (currentData) {
|
|
15
15
|
currentData.label = result.label;
|
|
16
16
|
currentData.isFind = true; // 代表当前这个字段被找到
|
|
17
|
+
currentData.disabled = result.disabled;
|
|
17
18
|
// 判断是否是多级表头,这里的逻辑处理是为了兼容
|
|
18
19
|
// 后面改造成多级表头的情况
|
|
19
20
|
if (item.children) {
|
package/dist/es/form/form.js
CHANGED
|
@@ -21,7 +21,7 @@ var FORM_DYNAMIC_KEY = "ztxk-webui-dynamic-form";
|
|
|
21
21
|
// 给子元素设置好了表单配置信息后 接下来的内容 交给动态列配置接管
|
|
22
22
|
var Form = function (props, ref) {
|
|
23
23
|
var form = props.form, bottomBorder = props.bottomBorder, _a = props.isFlex, isFlex = _a === void 0 ? true : _a, wrapClassName = props.wrapClassName, leftClassName = props.leftClassName; props.itemClassName; var rightWrapVisible = props.rightWrapVisible, rightClassName = props.rightClassName, children = props.children, dynamicKey = props.dynamicKey, formPreferences = props.formPreferences, items = props.items, outsideState = props.outsideState, onValuesChange = props.onValuesChange, isResetAndClear = props.isResetAndClear, onResetHandle = props.onResetHandle, onSearchHandle = props.onSearchHandle, type = props.type, directionColumn = props.directionColumn, isToggle = props.isToggle, toggleNum = props.toggleNum, defaultToggle = props.defaultToggle, restProps = __rest(props, ["form", "bottomBorder", "isFlex", "wrapClassName", "leftClassName", "itemClassName", "rightWrapVisible", "rightClassName", "children", "dynamicKey", "formPreferences", "items", "outsideState", "onValuesChange", "isResetAndClear", "onResetHandle", "onSearchHandle", "type", "directionColumn", "isToggle", "toggleNum", "defaultToggle"]);
|
|
24
|
-
// 获取新的items
|
|
24
|
+
// 获取新的items 如果传入了配置项的话,配置项优先
|
|
25
25
|
var configInfoItems = useFormPreferencesCreateNewItems(formPreferences, items).configInfoItems;
|
|
26
26
|
// 根据items 和 dynamicKey 获取到动态列配置信息
|
|
27
27
|
var _b = useDynamicListByItems(configInfoItems, dynamicKey, formPreferences), dynamicList = _b.dynamicList, onCurrentListChange = _b.onCurrentListChange, newItems = _b.newItems, dynamicSettingRef = _b.dynamicSettingRef;
|
|
@@ -69,7 +69,7 @@ var Form = function (props, ref) {
|
|
|
69
69
|
// 这里用undefined当清空值得话,会有点问题。
|
|
70
70
|
// https://github.com/react-component/select/commit/305b3dcfe627482686055a1ec9c34705623d807f
|
|
71
71
|
// 对于下拉框来说 会报这个警告 `label` of `value` is not same as `label` in Select options.
|
|
72
|
-
// 暂时不知道如何消除这个警告
|
|
72
|
+
// 暂时不知道如何消除这个警告 用 null 和 "" 都可以
|
|
73
73
|
// TODO: 暂时改成null
|
|
74
74
|
(_a = form === null || form === void 0 ? void 0 : form.setFieldValue) === null || _a === void 0 ? void 0 : _a.call(form, nameKey, null);
|
|
75
75
|
// form?.setFieldsValue?.({
|
package/dist/es/form/hooks.js
CHANGED
|
@@ -27,9 +27,12 @@ function useDynamicListByItems(items, dynamicKey, formPreferences) {
|
|
|
27
27
|
var result = [];
|
|
28
28
|
if (dynamicKey && items) {
|
|
29
29
|
result = items.map(function (item, index) {
|
|
30
|
-
var name = item.name, key = item.key, label = item.label, dynamicDisabled = item.dynamicDisabled, isDisplay = item.isDisplay;
|
|
30
|
+
var name = item.name, configName = item.configName, key = item.key, label = item.label, dynamicDisabled = item.dynamicDisabled, isDisplay = item.isDisplay;
|
|
31
31
|
return {
|
|
32
|
-
key:
|
|
32
|
+
key: configName ||
|
|
33
|
+
name ||
|
|
34
|
+
key ||
|
|
35
|
+
"".concat(Date.now(), "-").concat(index),
|
|
33
36
|
label: label,
|
|
34
37
|
disabled: dynamicDisabled === true ? true : false,
|
|
35
38
|
// 如果用户传入了 isDisplay
|
|
@@ -64,6 +67,11 @@ function useDynamicListByItems(items, dynamicKey, formPreferences) {
|
|
|
64
67
|
var key = item.key, checked = item.checked;
|
|
65
68
|
var childrenItem = items === null || items === void 0 ? void 0 : items.find(function (item) { return (item === null || item === void 0 ? void 0 : item.name) === key || (item === null || item === void 0 ? void 0 : item.key) === key; });
|
|
66
69
|
if (childrenItem) {
|
|
70
|
+
// 如果已经禁用选中 不选中了 那么isDisplay不受动态列影响
|
|
71
|
+
if (childrenItem.dynamicDisabled) {
|
|
72
|
+
result.push(childrenItem);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
67
75
|
if (!checked) {
|
|
68
76
|
childrenItem.isDisplay = false;
|
|
69
77
|
}
|
|
@@ -10,11 +10,11 @@ interface IFormItem extends FormItemProps {
|
|
|
10
10
|
/**
|
|
11
11
|
* 是否必填
|
|
12
12
|
*/
|
|
13
|
-
isRequired?: boolean | string;
|
|
13
|
+
isRequired?: boolean | string | ((formInstance: FormInstance<any>) => boolean);
|
|
14
14
|
/**
|
|
15
15
|
* 是否可修改
|
|
16
16
|
*/
|
|
17
|
-
isChangeable?: boolean | string;
|
|
17
|
+
isChangeable?: boolean | string | ((formInstance: FormInstance<any>) => boolean);
|
|
18
18
|
/**
|
|
19
19
|
* 强调
|
|
20
20
|
*/
|
|
@@ -10,22 +10,11 @@ import { Col, Tooltip } from 'antd';
|
|
|
10
10
|
|
|
11
11
|
var hiddenLabelCol = { span: 0 };
|
|
12
12
|
var FormItem = function (props) {
|
|
13
|
-
var _a;
|
|
14
13
|
var children = props.children, isDisplay = props.isDisplay, isRequired = props.isRequired, isChangeable = props.isChangeable, isStress = props.isStress, preNode = props.preNode, nextNode = props.nextNode; props.dynamicDisabled; var hiddenBorder = props.hiddenBorder, singleSelectShowBorder = props.singleSelectShowBorder, singleSelect = props.singleSelect, hiddenLabel = props.hiddenLabel, width = props.width, className = props.className, itemClassName = props.itemClassName, render = props.render, shouldUpdateNames = props.shouldUpdateNames; props.shouldUpdateClear; var dependencies = props.dependencies, shouldUpdate = props.shouldUpdate; props.index; props.outsideState; props.shouldUpdateBeOutsideState; props.nonForm; var isCustomItem = props.isCustomItem, customStyle = props.customStyle, tipString = props.tipString, resetProps = __rest(props, ["children", "isDisplay", "isRequired", "isChangeable", "isStress", "preNode", "nextNode", "dynamicDisabled", "hiddenBorder", "singleSelectShowBorder", "singleSelect", "hiddenLabel", "width", "className", "itemClassName", "render", "shouldUpdateNames", "shouldUpdateClear", "dependencies", "shouldUpdate", "index", "outsideState", "shouldUpdateBeOutsideState", "nonForm", "isCustomItem", "customStyle", "tipString"]);
|
|
15
14
|
var form = MemoForm.useFormInstance();
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
if (typeof isDisplay === "function") {
|
|
22
|
-
var isD = isDisplay(form);
|
|
23
|
-
if (!isD) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
// 是否必填
|
|
28
|
-
if (isRequired !== undefined) {
|
|
15
|
+
// 更新是否必填配置
|
|
16
|
+
var updateIsRequired = function (isRequired) {
|
|
17
|
+
var _a;
|
|
29
18
|
var isRequireBoolean = !!isRequired;
|
|
30
19
|
var rules = Array.isArray(resetProps.rules) ? resetProps.rules : [];
|
|
31
20
|
// 是否之前就传入了必填非必填逻辑
|
|
@@ -50,12 +39,21 @@ var FormItem = function (props) {
|
|
|
50
39
|
});
|
|
51
40
|
}
|
|
52
41
|
resetProps.rules = rules;
|
|
42
|
+
};
|
|
43
|
+
// 根据配置属性,判断是否渲染表单项
|
|
44
|
+
// 是否显示表单项
|
|
45
|
+
if (isDisplay === false || isDisplay === "0") {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
// 是否必填
|
|
49
|
+
if (isRequired !== undefined && typeof isRequired !== "function") {
|
|
50
|
+
updateIsRequired(isRequired);
|
|
53
51
|
}
|
|
54
52
|
// 是否禁用
|
|
55
53
|
var itemProps = {
|
|
56
54
|
disabled: false,
|
|
57
55
|
};
|
|
58
|
-
if (isChangeable !== undefined) {
|
|
56
|
+
if (isChangeable !== undefined && typeof isChangeable !== "function") {
|
|
59
57
|
itemProps.disabled = isChangeable === "0" ? true : !isChangeable;
|
|
60
58
|
}
|
|
61
59
|
var itemClasses = classNames("ztxk-form__item", itemClassName, {
|
|
@@ -94,9 +92,30 @@ var FormItem = function (props) {
|
|
|
94
92
|
return false;
|
|
95
93
|
}
|
|
96
94
|
: shouldUpdate;
|
|
97
|
-
return (
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
return (jsx(MemoForm.Item, __assign({ shouldUpdate: shouldUpdateHandle, noStyle: true }, { children: function (formInstance) {
|
|
96
|
+
if (typeof isDisplay === "function") {
|
|
97
|
+
var isD = isDisplay(form);
|
|
98
|
+
if (!isD) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (typeof isRequired === "function") {
|
|
103
|
+
var isR = isRequired(form);
|
|
104
|
+
updateIsRequired(isR);
|
|
105
|
+
}
|
|
106
|
+
if (typeof isChangeable === "function") {
|
|
107
|
+
var isC = isChangeable(form);
|
|
108
|
+
itemProps.disabled = !isC;
|
|
109
|
+
// 禁止修改的话
|
|
110
|
+
if (itemProps.disabled) {
|
|
111
|
+
itemClasses = itemClasses + " ztxk-form__item--disabled";
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
itemClasses = itemClasses.replace(" ztxk-form__item--disabled", "");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return resetProps.name ? (jsxs(ItemWrap, __assign({ width: width, className: className, tipString: tipString }, { children: [preNode ? preNode : null, jsx(MemoForm.Item, __assign({}, resetProps, { className: itemClasses }, { children: render && render(itemProps, formInstance) })), nextNode ? nextNode : null] }))) : (jsxs(ItemWrap, __assign({ width: width, className: className, tipString: tipString }, { children: [preNode ? preNode : null, render && render(itemProps, formInstance), nextNode ? nextNode : null] })));
|
|
118
|
+
} })));
|
|
100
119
|
}
|
|
101
120
|
return (jsxs(ItemWrap, __assign({ width: width, className: className, tipString: tipString }, { children: [preNode ? preNode : null, jsx(MemoForm.Item, __assign({}, resetProps, { className: itemClasses }, { children: render ? render(itemProps, form) : children })), nextNode ? nextNode : null] })));
|
|
102
121
|
};
|
package/dist/es/modal/modal.js
CHANGED
|
@@ -142,12 +142,28 @@ var Modal = function (_a, ref) {
|
|
|
142
142
|
return (jsx(Modal$1, __assign({ open: open, onCancel: close, className: classes, okText: "\u4FDD\u5B58", onOk: footer ? undefined : onOkHandle, width: "70%", title: title, keyboard: false, maskClosable: false, confirmLoading: loading, cancelButtonProps: { loading: loading }, footer: footer }, resetProps)));
|
|
143
143
|
};
|
|
144
144
|
var ModalComponent = forwardRef(Modal);
|
|
145
|
+
var ModalConfirm = function (modalProps) {
|
|
146
|
+
var onOk = modalProps.onOk, resetModalProps = __rest(modalProps, ["onOk"]);
|
|
147
|
+
var modalConfirm = Modal$1.confirm(__assign(__assign({}, resetModalProps), { onOk: onOk
|
|
148
|
+
? function () {
|
|
149
|
+
setCancelBtnProps(modalConfirm, { loading: true });
|
|
150
|
+
onOk()
|
|
151
|
+
.then(function () {
|
|
152
|
+
setCancelBtnProps(modalConfirm, { loading: false, open: false });
|
|
153
|
+
})
|
|
154
|
+
.catch(function (err) {
|
|
155
|
+
setCancelBtnProps(modalConfirm, { loading: false, open: true });
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
: undefined }));
|
|
159
|
+
return modalConfirm;
|
|
160
|
+
};
|
|
145
161
|
ModalComponent.displayName = "ZTXK_WEBUI_ModalComponent";
|
|
146
162
|
ModalComponent.info = Modal$1.info;
|
|
147
163
|
ModalComponent.success = Modal$1.success;
|
|
148
164
|
ModalComponent.error = Modal$1.error;
|
|
149
165
|
ModalComponent.warning = Modal$1.warning;
|
|
150
|
-
ModalComponent.confirm =
|
|
166
|
+
ModalComponent.confirm = ModalConfirm;
|
|
151
167
|
ModalComponent.destroyAll = Modal$1.destroyAll;
|
|
152
168
|
|
|
153
169
|
export { ModalComponent as default };
|
|
@@ -68,7 +68,8 @@ var EnhanceCell = function (props) {
|
|
|
68
68
|
addErrorClass();
|
|
69
69
|
setShowPopover({
|
|
70
70
|
open: true,
|
|
71
|
-
|
|
71
|
+
// 应该只需要errors字段,但是很多人都没有按照规范传入指定的字段
|
|
72
|
+
message: (err_1 === null || err_1 === void 0 ? void 0 : err_1.errors) || (err_1 === null || err_1 === void 0 ? void 0 : err_1.msg) || (err_1 === null || err_1 === void 0 ? void 0 : err_1.message),
|
|
72
73
|
});
|
|
73
74
|
return [3 /*break*/, 3];
|
|
74
75
|
case 3: return [2 /*return*/];
|
|
@@ -27,6 +27,16 @@ interface IEditableConfig extends Partial<IEditableConfigOtherProps> {
|
|
|
27
27
|
*/
|
|
28
28
|
[props: string]: any;
|
|
29
29
|
}
|
|
30
|
+
interface ValidateErrorObject {
|
|
31
|
+
/** 这个必传,但是为了兼容之前的逻辑 无奈这么做 */
|
|
32
|
+
errors?: string;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated 这个类型即将被废弃,不要使用。本身文档里面就是需要用errors表示错误信息的.
|
|
35
|
+
*/
|
|
36
|
+
msg?: string;
|
|
37
|
+
/** 其他任何值,当你需要的时候 */
|
|
38
|
+
[props: string]: any;
|
|
39
|
+
}
|
|
30
40
|
interface IColumnType<RecordType> extends ColumnType<RecordType> {
|
|
31
41
|
/**
|
|
32
42
|
* 是否禁止取消显示
|
|
@@ -294,4 +304,4 @@ interface IOrder {
|
|
|
294
304
|
order: "ascend" | "descend" | undefined;
|
|
295
305
|
}
|
|
296
306
|
|
|
297
|
-
export { IColumnGroupType, IColumnType, IColumnsType, IColumnsTypeProp, IEditableConfig, IFields, IOrder, ISummaryConfig, ITableProps, TableComponent };
|
|
307
|
+
export { IColumnGroupType, IColumnType, IColumnsType, IColumnsTypeProp, IEditableConfig, IFields, IOrder, ISummaryConfig, ITableProps, TableComponent, ValidateErrorObject };
|
|
@@ -168,7 +168,9 @@ function useColumns(columns, options) {
|
|
|
168
168
|
// 如果配置了增减行
|
|
169
169
|
if (isAdd || isDel) {
|
|
170
170
|
var newColumn = {
|
|
171
|
-
title: function () {
|
|
171
|
+
title: function () {
|
|
172
|
+
return isDelAll ? jsx(ColumnDelAll, { onAddAndDel: onAddAndDel }) : null;
|
|
173
|
+
},
|
|
172
174
|
width: 52,
|
|
173
175
|
fixed: "left",
|
|
174
176
|
align: "center",
|
|
@@ -183,7 +185,7 @@ function useColumns(columns, options) {
|
|
|
183
185
|
// 处理一些配置放置的位置
|
|
184
186
|
if (dynamicKey && !hiddenDynamicIcon) {
|
|
185
187
|
myNewColumns[0].title = function () {
|
|
186
|
-
return isAdd || isDel ? (jsxs(Fragment, { children: [isDelAll ? jsx(ColumnDelAll, {}) : null, jsx(ColumnDynamic, { dynamicSettingRef: dynamicSettingRef })] })) : (jsx(ColumnDynamic, { dynamicSettingRef: dynamicSettingRef }));
|
|
188
|
+
return isAdd || isDel ? (jsxs(Fragment, { children: [isDelAll ? jsx(ColumnDelAll, { onAddAndDel: onAddAndDel }) : null, jsx(ColumnDynamic, { dynamicSettingRef: dynamicSettingRef })] })) : (jsx(ColumnDynamic, { dynamicSettingRef: dynamicSettingRef }));
|
|
187
189
|
};
|
|
188
190
|
}
|
|
189
191
|
}
|
package/dist/index.build.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export { default as Placeholder } from './es/placeholder/placeholder.js';
|
|
|
38
38
|
export { Affix, Alert, Anchor, AutoComplete, Avatar, BackTop, Badge, Breadcrumb, Card, Carousel, Cascader, Checkbox, Col, Comment, ConfigProvider, Divider, Drawer, Dropdown, Empty, Grid, Image, Layout, List, Mentions, Menu, PageHeader, Popconfirm, Popover, Progress, Radio, Rate, Result, Row, Segmented, Skeleton, Slider, Space, Spin, Statistic, Steps, Switch, Timeline, Tooltip, Transfer, Typography, Upload, message, notification } from 'antd';
|
|
39
39
|
export { IModalOpenOptions, IModalProps, IModalRef } from './es/modal/interface.js';
|
|
40
40
|
export { IFooterDom, IFooterProps } from './es/footer/interface.js';
|
|
41
|
-
export { IColumnsType, ITableProps } from './es/table/interface.js';
|
|
41
|
+
export { IColumnsType, ITableProps, ValidateErrorObject } from './es/table/interface.js';
|
|
42
42
|
export { IFormItemProps, IProFormProps } from './es/form/interface.js';
|
|
43
43
|
export { IOperationBtn } from './es/operationbtn/interface.js';
|
|
44
44
|
export { ISelectProps } from './es/select/interface.js';
|