vap1 0.0.7 → 0.0.8
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/components/SearchBar/ActionButtons.d.ts +2 -1
- package/components/SearchBar/ByKeyword.js +1 -1
- package/components/Tables/ApiTableModal.d.ts +2 -2
- package/components/Tables/TopTable.js +3 -3
- package/components/Tables/TopTableModal.d.ts +2 -2
- package/components/Tables/VTable.js +3 -1
- package/components/Trees/ActionTree.d.ts +3 -1
- package/components/Trees/ActionTree.js +77 -20
- package/components/Trees/BaseTree.d.ts +8 -3
- package/components/Trees/BaseTree.js +12 -3
- package/components/Trees/FTree.js +0 -1
- package/components/Trees/STree.js +6 -7
- package/components/Trees/index.d.ts +6 -1
- package/components/UForm/UForm.js +40 -8
- package/components/UForm/UFormModal.js +4 -1
- package/components/UForm/UInfoModal.js +3 -0
- package/components/UForm/UModal.js +10 -5
- package/components/UForm/index.d.ts +8 -3
- package/components/Upload/UploadModal.d.ts +2 -2
- package/components/Upload/UploadModal.js +5 -1
- package/components/Upload/useUpload.d.ts +2 -2
- package/components/_adapt/Alert.d.ts +3 -3
- package/components/_adapt/Breadcrumb.d.ts +15 -0
- package/components/_adapt/Breadcrumb.js +18 -0
- package/components/_adapt/Button.d.ts +5 -5
- package/components/_adapt/Button.js +2 -0
- package/components/_adapt/Collapse.d.ts +7 -7
- package/components/_adapt/ConfigProvider.d.ts +6 -0
- package/components/_adapt/ConfigProvider.js +10 -0
- package/components/_adapt/Drawer.d.ts +3 -3
- package/components/_adapt/Dropdown.d.ts +6 -6
- package/components/_adapt/FloatButton.d.ts +3 -3
- package/components/_adapt/FloatButton.js +1 -0
- package/components/_adapt/Form.d.ts +14 -0
- package/components/_adapt/Form.js +48 -0
- package/components/_adapt/Input.d.ts +17 -0
- package/components/_adapt/Input.js +43 -0
- package/components/_adapt/InputNumber.d.ts +8 -0
- package/components/_adapt/InputNumber.js +60 -0
- package/components/_adapt/Menu.d.ts +8 -7
- package/components/_adapt/Menu.js +12 -20
- package/components/_adapt/Modal.d.ts +9 -7
- package/components/_adapt/Modal.js +12 -20
- package/components/_adapt/Popconfirm.d.ts +3 -3
- package/components/_adapt/Popover.d.ts +3 -3
- package/components/_adapt/Progress.d.ts +3 -3
- package/components/_adapt/Radio.d.ts +16 -0
- package/components/_adapt/Radio.js +24 -0
- package/components/_adapt/Select.d.ts +15 -8
- package/components/_adapt/Select.js +134 -13
- package/components/_adapt/Slider.d.ts +31 -0
- package/components/_adapt/Slider.js +5 -0
- package/components/_adapt/Table.d.ts +26 -0
- package/components/_adapt/Table.js +43 -0
- package/components/_adapt/Tabs.d.ts +4 -4
- package/components/_adapt/Tag.d.ts +9 -7
- package/components/_adapt/Tag.js +4 -3
- package/components/_adapt/Tooltip.d.ts +3 -3
- package/components/_adapt/TreeSelect.d.ts +13 -0
- package/components/_adapt/TreeSelect.js +46 -0
- package/components/_adapt/_Antd5.d.ts +11 -0
- package/components/_adapt/_Antd5.js +5 -0
- package/components/_adapt/notification.d.ts +22 -0
- package/components/_adapt/notification.js +5 -0
- package/components/_adapt/todo/Image.d.ts +1 -1
- package/components/_adapt/todo/Segmented.d.ts +1 -1
- package/components/_adapt/utils.d.ts +1 -1
- package/components/_adapt/utils.js +1 -0
- package/components/_common/AutoComplete.js +1 -1
- package/components/_setup/UForm/UFormTree.js +1 -1
- package/deps/SpringCloud.d.ts +1 -1
- package/hooks/useAjaxQuery.d.ts +5 -8
- package/hooks/useAjaxQuery.js +21 -25
- package/index.d.ts +43 -30
- package/index.js +23 -13
- package/package.json +1 -1
- package/utils/Const.d.ts +1 -1
- package/utils/CustomApp.d.ts +3 -3
- package/utils/Global.js +39 -0
- package/utils/PageUtil.d.ts +5 -1
- package/utils/PageUtil.js +15 -1
- package/utils/Renders/StatusRender.d.ts +1 -1
- package/utils/TreeUtil.d.ts +9 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { ButtonType
|
|
2
|
+
import type { ButtonType } from '../_adapt/_Antd5';
|
|
3
|
+
import type { ButtonProps } from '../_adapt/Button';
|
|
3
4
|
import type { ButtonSize } from 'antd/es/button';
|
|
4
5
|
export type ActButton = {
|
|
5
6
|
/**
|
|
@@ -27,7 +27,7 @@ const SearchBarByKeyword = (props) => {
|
|
|
27
27
|
react_1.default.createElement("div", { className: 'c-searchbar' },
|
|
28
28
|
react_1.default.createElement(ByField_1.SearchBarByField, Object.assign({}, props, {
|
|
29
29
|
// @ts-ignore
|
|
30
|
-
__innerExpand: true, __innerOutside: true })))),
|
|
30
|
+
__innerExpand: true, __innerOutside: true })))), overlayClassName: 'c-searchbar-keyword-more', getPopupContainer: () => document.getElementById('vap-app-content') },
|
|
31
31
|
react_1.default.createElement("span", { className: 'vicon vicon-menu', title: utils_1.i18n.txt(Const_1.V.INPUT_SEARCH_ADVANCE) }));
|
|
32
32
|
}
|
|
33
33
|
return react_1.default.createElement(antd_1.Input.Search, Object.assign({}, inputProps, { onSearch: keyword => props.onSearch({ keyword_: keyword }), enterButton: utils_1.i18n.txt(Const_1.V.BTN_SEARCH) }));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ModalProps } from '../_adapt/Modal';
|
|
3
3
|
import type { ApiTableProps } from './ApiTable';
|
|
4
4
|
import type { ApiModel } from '../../hooks/_list';
|
|
5
|
-
export type ApiTableModalProps = ApiTableProps &
|
|
5
|
+
export type ApiTableModalProps = ApiTableProps & ModalProps;
|
|
6
6
|
export declare const ApiTableModal: React.ForwardRefExoticComponent<import(".").TableDefine & {
|
|
7
7
|
mode?: import("../Box/Box").BoxMode;
|
|
8
8
|
columns: import(".").TableColumn[];
|
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.TopTable = void 0;
|
|
30
30
|
const lodash_1 = __importDefault(require("lodash"));
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
|
-
const
|
|
32
|
+
const Table_1 = require("../_adapt/Table");
|
|
33
33
|
const utils_1 = require("../../utils");
|
|
34
34
|
const Util_1 = require("./Util");
|
|
35
35
|
const VTable_1 = require("./VTable");
|
|
@@ -127,7 +127,7 @@ const TopTable = props => {
|
|
|
127
127
|
tableLayout: 'fixed',
|
|
128
128
|
rowKey,
|
|
129
129
|
size: utils_1.GLOBAL.CONFIG.TABLE.SIZE,
|
|
130
|
-
|
|
130
|
+
showSorterTooltip: false,
|
|
131
131
|
pagination: false,
|
|
132
132
|
};
|
|
133
133
|
if (lodash_1.default.isFunction(props.onRowSelect)) {
|
|
@@ -137,7 +137,7 @@ const TopTable = props => {
|
|
|
137
137
|
}
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
|
-
return react_1.default.createElement(
|
|
140
|
+
return react_1.default.createElement(Table_1.Table, Object.assign({}, tableProps, props, {
|
|
141
141
|
// ref={tableRef}
|
|
142
142
|
rowClassName: (record, i) => {
|
|
143
143
|
let clazz = [];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ModalProps } from '../_adapt/Modal';
|
|
3
3
|
import type { TopTableProps } from './TopTable';
|
|
4
|
-
export type TopTableModalProps = TopTableProps &
|
|
4
|
+
export type TopTableModalProps = TopTableProps & ModalProps;
|
|
5
5
|
export declare const TopTableModal: React.FC<TopTableModalProps>;
|
|
@@ -178,7 +178,9 @@ const _VTable = react_1.default.forwardRef((props, ref) => {
|
|
|
178
178
|
},
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
|
-
return react_1.default.createElement(antd_1.Table, Object.assign({ rowKey: props.rowKey || rowKey,
|
|
181
|
+
return react_1.default.createElement(antd_1.Table, Object.assign({ rowKey: record => record[props.rowKey || rowKey],
|
|
182
|
+
// scroll={scroll}
|
|
183
|
+
// tableLayout="fixed"
|
|
182
184
|
// showSorterTooltip={false}
|
|
183
185
|
size: utils_1.GLOBAL.CONFIG.TABLE.SIZE }, props, tableProps, { className: utils_1.StringUtil.className(['c-table'], props.className), pagination: false, columns: columns, locale: { emptyText: react_1.default.createElement(antd_1.Empty, { style: { marginTop: 24 } }) }, dataSource: list, loading: isQuerying, onChange: (x, y, field) => {
|
|
184
186
|
if (field.column) {
|
|
@@ -45,7 +45,9 @@ export declare const ActionTree: React.ForwardRefExoticComponent<import("../../u
|
|
|
45
45
|
defaultExpandAll?: boolean;
|
|
46
46
|
mustSelect?: boolean;
|
|
47
47
|
disabled?: boolean;
|
|
48
|
-
disabledNode?: (node: PlainObject) => boolean;
|
|
48
|
+
disabledNode?: (node: PlainObject) => boolean; /**
|
|
49
|
+
* 清理缓存方法
|
|
50
|
+
*/
|
|
49
51
|
onSelect?: (key: Key, node: PlainObject, parentNode: PlainObject, crumb: PlainObject[], pos: number[]) => void;
|
|
50
52
|
searchValue?: string;
|
|
51
53
|
} & ActionProps & CacheTree & React.RefAttributes<ActionRef>>;
|
|
@@ -81,6 +81,7 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
81
81
|
canUpdate: false,
|
|
82
82
|
canUpdateRoot: false,
|
|
83
83
|
canDelete: false,
|
|
84
|
+
canDeleteRoot: false,
|
|
84
85
|
canSort: false,
|
|
85
86
|
notCache: false,
|
|
86
87
|
};
|
|
@@ -99,8 +100,11 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
99
100
|
if (props.canUpdateRoot)
|
|
100
101
|
action.canUpdateRoot = true;
|
|
101
102
|
}
|
|
102
|
-
if (props.canDelete)
|
|
103
|
+
if (props.canDelete) {
|
|
103
104
|
action.canDelete = true;
|
|
105
|
+
if (props.canDeleteRoot)
|
|
106
|
+
action.canDeleteRoot = true;
|
|
107
|
+
}
|
|
104
108
|
if (props.canSort && treeState.sortField)
|
|
105
109
|
action.canSort = true;
|
|
106
110
|
}
|
|
@@ -393,9 +397,8 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
393
397
|
let rootPath = '';
|
|
394
398
|
let arr;
|
|
395
399
|
const { idForApiField } = props;
|
|
396
|
-
const { keyField, parentField, titleField, treeData } = treeState;
|
|
400
|
+
const { keyField, parentField, titleField, treeData, } = treeState;
|
|
397
401
|
const { api, objectName } = action;
|
|
398
|
-
const idField = idForApiField || keyField;
|
|
399
402
|
if (root.length == 0) {
|
|
400
403
|
arr = lodash_1.default.concat([], treeData);
|
|
401
404
|
}
|
|
@@ -404,8 +407,7 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
404
407
|
rootPath = nodePath + '.children';
|
|
405
408
|
arr = lodash_1.default.concat([], lodash_1.default.get(treeData, rootPath));
|
|
406
409
|
}
|
|
407
|
-
const
|
|
408
|
-
const resp = yield utils_1.Ajax.DELETE(api, { ids: delId });
|
|
410
|
+
const resp = yield utils_1.Ajax.DELETE(api, { ids: node[idForApiField || keyField] });
|
|
409
411
|
if (resp.code != '0') {
|
|
410
412
|
antd_1.message.error(txt(Const_1.V.ACT_DELETE_FAIL_NAMED, `${objectName} : ${node[titleField]}`));
|
|
411
413
|
return;
|
|
@@ -413,10 +415,10 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
413
415
|
props.clearCache(node[parentField]);
|
|
414
416
|
let tree = lodash_1.default.concat([], treeData);
|
|
415
417
|
if (rootPath) {
|
|
416
|
-
lodash_1.default.set(tree, rootPath, utils_1.ArrayUtil.del(lodash_1.default.get(tree, rootPath),
|
|
418
|
+
lodash_1.default.set(tree, rootPath, utils_1.ArrayUtil.del(lodash_1.default.get(tree, rootPath), node[keyField], keyField));
|
|
417
419
|
}
|
|
418
420
|
else {
|
|
419
|
-
tree = utils_1.ArrayUtil.del(tree,
|
|
421
|
+
tree = utils_1.ArrayUtil.del(tree, node[keyField], keyField);
|
|
420
422
|
}
|
|
421
423
|
setTreeData(tree);
|
|
422
424
|
antd_1.message.success(txt(Const_1.V.ACT_DELETE_SUCCESS_NAMED, `${objectName} : ${node[titleField]}`));
|
|
@@ -501,12 +503,64 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
501
503
|
setTreeData(tree);
|
|
502
504
|
antd_1.message.success(txt(Const_1.V.TREE_SORT_SUCCESS));
|
|
503
505
|
});
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
506
|
+
const ADD_TITLE = () => {
|
|
507
|
+
// console.log(modals.modalState)
|
|
508
|
+
const { pos, node } = modals.modalState.extra || {};
|
|
509
|
+
if (!action.canSort) {
|
|
510
|
+
if (pos == INSER_POS.INNER) {
|
|
511
|
+
return react_1.default.createElement("span", null,
|
|
512
|
+
"\u6DFB\u52A0 ",
|
|
513
|
+
react_1.default.createElement("b", null, action.objectName),
|
|
514
|
+
" (\u4ECE\u5C5E\u4E8E ",
|
|
515
|
+
react_1.default.createElement("b", null, node[treeState.titleField]),
|
|
516
|
+
") ");
|
|
517
|
+
}
|
|
518
|
+
return react_1.default.createElement("span", null,
|
|
519
|
+
"\u5728\u6839\u8282\u70B9\u6DFB\u52A0 ",
|
|
520
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
521
|
+
}
|
|
522
|
+
switch (pos) {
|
|
523
|
+
case INSER_POS.TOP:
|
|
524
|
+
return react_1.default.createElement("span", null,
|
|
525
|
+
"\u5728\u9876\u90E8\u6DFB\u52A0 ",
|
|
526
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
527
|
+
case INSER_POS.BOTTOM:
|
|
528
|
+
return react_1.default.createElement("span", null,
|
|
529
|
+
"\u5728\u5E95\u90E8\u6DFB\u52A0 ",
|
|
530
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
531
|
+
case INSER_POS.INNER:
|
|
532
|
+
return react_1.default.createElement("span", null,
|
|
533
|
+
"\u6DFB\u52A0 ",
|
|
534
|
+
react_1.default.createElement("b", null, action.objectName),
|
|
535
|
+
" (\u4ECE\u5C5E\u4E8E ",
|
|
536
|
+
react_1.default.createElement("b", null, node[treeState.titleField]),
|
|
537
|
+
") ");
|
|
538
|
+
case INSER_POS.BEFORE:
|
|
539
|
+
return react_1.default.createElement("span", null,
|
|
540
|
+
"\u5728 ",
|
|
541
|
+
react_1.default.createElement("b", null, node[treeState.titleField]),
|
|
542
|
+
" \u524D\u9762\u6DFB\u52A0 ",
|
|
543
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
544
|
+
case INSER_POS.AFTER:
|
|
545
|
+
return react_1.default.createElement("span", null,
|
|
546
|
+
"\u5728 ",
|
|
547
|
+
react_1.default.createElement("b", null, node[treeState.titleField]),
|
|
548
|
+
" \u540E\u9762\u6DFB\u52A0 ",
|
|
549
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
550
|
+
default:
|
|
551
|
+
return react_1.default.createElement("span", null,
|
|
552
|
+
"\u6DFB\u52A0 ",
|
|
553
|
+
react_1.default.createElement("b", null, action.objectName));
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
return react_1.default.createElement(ActionTreeContext.Provider, { value: { action, showAdd, showEdit, del, up, down, } },
|
|
508
557
|
props.children,
|
|
509
|
-
react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({
|
|
558
|
+
react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({ title: modals.modalState.isEdit ? react_1.default.createElement("span", null,
|
|
559
|
+
" ",
|
|
560
|
+
txt(Const_1.V.ACT_UPDATE),
|
|
561
|
+
action.objectName,
|
|
562
|
+
" : ",
|
|
563
|
+
react_1.default.createElement("b", null, treeState.titleField)) : ADD_TITLE() }, modals.modalState.modalProps, { fields: FIELDS.current, default: getDefault(), onOk: data => {
|
|
510
564
|
modals.hide();
|
|
511
565
|
if (modals.modalState.isEdit) {
|
|
512
566
|
update(data, modals.modalState.extra.position);
|
|
@@ -521,14 +575,17 @@ const _Actiontree = (0, react_1.forwardRef)((props, ref) => {
|
|
|
521
575
|
*/
|
|
522
576
|
exports.ActionTree = (0, react_1.forwardRef)((props, ref) => react_1.default.createElement(BaseTree_1.BaseTree, Object.assign({}, props),
|
|
523
577
|
react_1.default.createElement(_Actiontree, Object.assign({}, props, { ref: ref }))));
|
|
524
|
-
const getActionParam = (node, position, state, search, disabledNode, context, parentLen) => {
|
|
525
|
-
const param = (0, BaseTree_1.getNodeParam)(node, position, state, search, disabledNode);
|
|
578
|
+
const getActionParam = (node, position, state, search, disabledNode, folderChecker, context, parentLen) => {
|
|
579
|
+
const param = (0, BaseTree_1.getNodeParam)(node, position, state, search, disabledNode, folderChecker);
|
|
526
580
|
const isRoot = position.length == 1;
|
|
527
581
|
if (param.disabled)
|
|
528
582
|
return param;
|
|
529
|
-
const { action: { canAdd, canAddRoot, canUpdate, canUpdateRoot, canDelete, canSort } } = context;
|
|
583
|
+
const { action: { canAdd, canAddRoot, canUpdate, canUpdateRoot, canDelete, canDeleteRoot, canSort } } = context;
|
|
584
|
+
if (param.selectable === false && (canAdd || canDelete || canSort || canUpdate)) {
|
|
585
|
+
param.selectable = true;
|
|
586
|
+
}
|
|
530
587
|
const actions = [];
|
|
531
|
-
if (canAdd) {
|
|
588
|
+
if (canAdd && (!lodash_1.default.isFunction(folderChecker) || folderChecker(node))) {
|
|
532
589
|
if (!canSort || !canAddRoot && isRoot) {
|
|
533
590
|
actions.push(react_1.default.createElement(Dropdown_1.Dropdown, { trigger: ["click"], menu: {
|
|
534
591
|
items: [
|
|
@@ -560,7 +617,7 @@ const getActionParam = (node, position, state, search, disabledNode, context, pa
|
|
|
560
617
|
actions.push(react_1.default.createElement(Icon_1.Icon, { type: "arrow-down", title: txt(Const_1.V.ACT_UPDATE_TITLE_NAMED, node[state.titleField]), onClick: () => context.down(node, position) }));
|
|
561
618
|
}
|
|
562
619
|
}
|
|
563
|
-
if (!isRoot
|
|
620
|
+
if (canDelete && (!isRoot || canDeleteRoot)) {
|
|
564
621
|
actions.push(react_1.default.createElement(Popconfirm_1.Popconfirm, { onConfirm: () => context.del(node, position), title: txt(Const_1.V.ACT_DELETE_CONFIRM, node[state.titleField]) },
|
|
565
622
|
react_1.default.createElement("span", { onClick: (e) => utils_1.PageUtil.stopEvent(e), className: "vicon vicon-delete vicon-clickable", title: txt(Const_1.V.ACT_DELETE) + ' ' + node[state.titleField] })));
|
|
566
623
|
}
|
|
@@ -575,7 +632,7 @@ const getActionParam = (node, position, state, search, disabledNode, context, pa
|
|
|
575
632
|
const renderNode = (props, node, position, state, search, context, parentLen) => {
|
|
576
633
|
if (search.keyword && !search.match.has(position.join('-')))
|
|
577
634
|
return utils_1.Const.NONE;
|
|
578
|
-
const param = getActionParam(node, position, state, search, props.disabledNode, context, parentLen);
|
|
635
|
+
const param = getActionParam(node, position, state, search, props.disabledNode, props.folderChecker, context, parentLen);
|
|
579
636
|
if (lodash_1.default.isArray(node.children) && node.children.length) {
|
|
580
637
|
return react_1.default.createElement(antd_1.Tree.TreeNode, Object.assign({ isLeaf: false }, param), renderNodes(props, state, node.children, position, search, context));
|
|
581
638
|
}
|
|
@@ -590,7 +647,7 @@ const renderNode = (props, node, position, state, search, context, parentLen) =>
|
|
|
590
647
|
};
|
|
591
648
|
const renderNodes = (props, state, data, position, search, context) => data.map((item, idx) => renderNode(props, item, [...position, idx], state, search, context, data.length));
|
|
592
649
|
const renderRoot = (props, state, context) => {
|
|
593
|
-
const { search, treeData } = state;
|
|
650
|
+
const { search, treeData, folderChecker } = state;
|
|
594
651
|
if (search.keyword) {
|
|
595
652
|
if (search.match.size == 0)
|
|
596
653
|
return react_1.default.createElement(antd_1.Tree.TreeNode, { isLeaf: true, title: react_1.default.createElement(antd_1.Empty, { description: txt(Const_1.V.TXT_FIND_NULL, search.word) }), selectable: false, className: "c-tree-empty" });
|
|
@@ -616,7 +673,7 @@ const renderRoot = (props, state, context) => {
|
|
|
616
673
|
else if (canAdd && treeData.length == 1) {
|
|
617
674
|
// 说明 兼容树业务:有些项目技术上使用一个根节点,
|
|
618
675
|
// 当根节点只有一个时,则在业务上认为此节点为固定根节点
|
|
619
|
-
const param = getActionParam(treeData[0], [0], state, search, props.disabledNode, context, 1);
|
|
676
|
+
const param = getActionParam(treeData[0], [0], state, search, props.disabledNode, props.folderChecker, context, 1);
|
|
620
677
|
const childs = (treeData[0].children || []);
|
|
621
678
|
return react_1.default.createElement(antd_1.Tree.TreeNode, Object.assign({}, param),
|
|
622
679
|
react_1.default.createElement(antd_1.Tree.TreeNode, { isLeaf: true, className: 'c-tree-add-root', selectable: false, checkable: false, selected: false, title: react_1.default.createElement("a", { onClick: evt => {
|
|
@@ -4,7 +4,7 @@ import type { BaseTreeOpts, SearchResult, TreeNodeData } from '../../utils/TreeU
|
|
|
4
4
|
import type { AntTreeNodeProps, TreeProps } from 'antd/es/tree';
|
|
5
5
|
import type { PropsWithChildren, ReactNode } from 'react';
|
|
6
6
|
import type { BaseTreeProps } from './index';
|
|
7
|
-
import type { PlainObject } from '../../basetype';
|
|
7
|
+
import type { Key, PlainObject } from '../../basetype';
|
|
8
8
|
export type BaseTreeState = Required<BaseTreeOpts> & {
|
|
9
9
|
className: string;
|
|
10
10
|
baseProps: TreeProps;
|
|
@@ -19,13 +19,18 @@ export type BaseTreeState = Required<BaseTreeOpts> & {
|
|
|
19
19
|
field: string;
|
|
20
20
|
}[];
|
|
21
21
|
};
|
|
22
|
+
type OnSelectFunction = (selectedKeys: Key[], info: {
|
|
23
|
+
selected?: boolean;
|
|
24
|
+
selectedNodes: any[];
|
|
25
|
+
nativeEvent?: MouseEvent;
|
|
26
|
+
}, tree?: PlainObject[]) => void;
|
|
22
27
|
type BaseTreeContext = {
|
|
23
28
|
treeState: BaseTreeState;
|
|
24
|
-
onSelect:
|
|
29
|
+
onSelect: OnSelectFunction;
|
|
25
30
|
setTreeData: (treeData: TreeNodeData[]) => void;
|
|
26
31
|
};
|
|
27
32
|
declare const BaseTreeContext: React.Context<BaseTreeContext>;
|
|
28
33
|
export declare const useBaseTree: () => BaseTreeContext;
|
|
29
34
|
export declare const BaseTree: React.FC<PropsWithChildren<BaseTreeProps>>;
|
|
30
|
-
export declare const getNodeParam: (node: any, position: number[], state: BaseTreeState, search: SearchResult, disabledNode: (node: PlainObject) => boolean) => AntTreeNodeProps;
|
|
35
|
+
export declare const getNodeParam: (node: any, position: number[], state: BaseTreeState, search: SearchResult, disabledNode: (node: PlainObject) => boolean, folderChecker: (node: PlainObject) => boolean) => AntTreeNodeProps;
|
|
31
36
|
export {};
|
|
@@ -60,6 +60,7 @@ const BaseTree = (props) => {
|
|
|
60
60
|
sortField: null,
|
|
61
61
|
parentField: null,
|
|
62
62
|
langs: null,
|
|
63
|
+
folderChecker: null,
|
|
63
64
|
};
|
|
64
65
|
if (props.rootCode)
|
|
65
66
|
DEFAULT.rootCode = props.rootCode;
|
|
@@ -71,6 +72,9 @@ const BaseTree = (props) => {
|
|
|
71
72
|
DEFAULT.sortField = props.sortField;
|
|
72
73
|
if (props.parentField)
|
|
73
74
|
DEFAULT.parentField = props.parentField;
|
|
75
|
+
if (props.folderChecker)
|
|
76
|
+
DEFAULT.folderChecker = props.folderChecker;
|
|
77
|
+
// DEFAULT.
|
|
74
78
|
// if(props.searchValue) DEFAULT.searchValue = props.searchValue;
|
|
75
79
|
// Support I18N Title Field
|
|
76
80
|
if (lodash_1.default.isString(props.titleField)) {
|
|
@@ -115,7 +119,7 @@ const BaseTree = (props) => {
|
|
|
115
119
|
}, [state.treeData]);
|
|
116
120
|
const setTreeData = (treeData) => setState({ treeData: [...treeData] });
|
|
117
121
|
(0, react_1.useEffect)(() => searchByKeyWord(props.searchValue), [props.searchValue]);
|
|
118
|
-
const onSelect = (0, react_1.useCallback)((selectedKeys, evt) => {
|
|
122
|
+
const onSelect = (0, react_1.useCallback)((selectedKeys, evt, tree) => {
|
|
119
123
|
utils_1.PageUtil.stopEvent(evt === null || evt === void 0 ? void 0 : evt.nativeEvent);
|
|
120
124
|
if (props.mustSelect && selectedKeys.length == 0)
|
|
121
125
|
return;
|
|
@@ -137,7 +141,7 @@ const BaseTree = (props) => {
|
|
|
137
141
|
let key = '';
|
|
138
142
|
for (let idx of position) {
|
|
139
143
|
key += `[${idx}]`;
|
|
140
|
-
|
|
144
|
+
crumb.push(lodash_1.default.omit(lodash_1.default.get(tree || state.treeData, key), 'children'));
|
|
141
145
|
key += `.children`;
|
|
142
146
|
}
|
|
143
147
|
props.onSelect(selectedKeys[0], crumb[crumb.length - 1], crumb.length > 1 ? crumb[crumb.length - 2] : null, crumb, position);
|
|
@@ -146,7 +150,7 @@ const BaseTree = (props) => {
|
|
|
146
150
|
return react_1.default.createElement(BaseTreeContext.Provider, { value: { treeState: state, onSelect, setTreeData } }, props.children);
|
|
147
151
|
};
|
|
148
152
|
exports.BaseTree = BaseTree;
|
|
149
|
-
const getNodeParam = (node, position, state, search, disabledNode) => {
|
|
153
|
+
const getNodeParam = (node, position, state, search, disabledNode, folderChecker) => {
|
|
150
154
|
const { titleField, keyField, iconField, } = state;
|
|
151
155
|
let param = { key: node[keyField], data: { node, position } };
|
|
152
156
|
if (search.keyword) {
|
|
@@ -160,6 +164,11 @@ const getNodeParam = (node, position, state, search, disabledNode) => {
|
|
|
160
164
|
param.disabled = true;
|
|
161
165
|
}
|
|
162
166
|
}
|
|
167
|
+
else if (lodash_1.default.isFunction(folderChecker)) {
|
|
168
|
+
if (folderChecker(node)) {
|
|
169
|
+
param.selectable = false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
163
172
|
if (iconField != null) {
|
|
164
173
|
if (lodash_1.default.isString(iconField)) {
|
|
165
174
|
let icon = node[iconField];
|
|
@@ -59,7 +59,6 @@ const _Ftree = (props) => {
|
|
|
59
59
|
const tree = utils_1.TreeUtil.buildFlatTree(treeState, (0, ActionTree_1.getResponseList)(rootResp));
|
|
60
60
|
setTreeData(tree);
|
|
61
61
|
if (props.mustSelect && tree.length > 0) {
|
|
62
|
-
//@ts-ignore
|
|
63
62
|
onSelect([tree[0][treeState.keyField]], { selectedNodes: [{ data: { node: tree[0], position: [0] } }] }, tree);
|
|
64
63
|
}
|
|
65
64
|
setInit(true);
|
|
@@ -56,11 +56,10 @@ const _Stree = (props) => {
|
|
|
56
56
|
}
|
|
57
57
|
setTreeData(tree);
|
|
58
58
|
if (props.mustSelect && tree.length > 0) {
|
|
59
|
-
// @ts-ignore
|
|
60
59
|
onSelect([tree[0][treeState.keyField]], { selectedNodes: [{ data: { node: tree[0], position: [0] } }] }, tree);
|
|
61
60
|
}
|
|
62
61
|
setInit(true);
|
|
63
|
-
}, []);
|
|
62
|
+
}, [props.treeData]);
|
|
64
63
|
if (!init)
|
|
65
64
|
return utils_1.Const.NONE;
|
|
66
65
|
const treeProps = {};
|
|
@@ -73,20 +72,20 @@ const _Stree = (props) => {
|
|
|
73
72
|
}
|
|
74
73
|
return react_1.default.createElement(antd_1.Tree, Object.assign({}, treeState.baseProps, treeProps, { className: treeState.className, disabled: props.disabled, selectedKeys: treeState.selectedKeys, onSelect: onSelect }), renderRoot(props, treeState));
|
|
75
74
|
};
|
|
76
|
-
const renderNode = (node, position, state, search, disabledNode) => {
|
|
75
|
+
const renderNode = (node, position, state, search, disabledNode, folderChecker) => {
|
|
77
76
|
if (search.keyword && !search.match.has(position.join('-')))
|
|
78
77
|
return utils_1.Const.NONE;
|
|
79
|
-
const param = (0, BaseTree_1.getNodeParam)(node, position, state, search, disabledNode);
|
|
78
|
+
const param = (0, BaseTree_1.getNodeParam)(node, position, state, search, disabledNode, folderChecker);
|
|
80
79
|
if (lodash_1.default.isArray(node.children) && node.children.length) {
|
|
81
|
-
return react_1.default.createElement(antd_1.Tree.TreeNode, Object.assign({}, param, { isLeaf: false }), renderNodes(node.children, position, state, search, disabledNode));
|
|
80
|
+
return react_1.default.createElement(antd_1.Tree.TreeNode, Object.assign({}, param, { isLeaf: false }), renderNodes(node.children, position, state, search, disabledNode, folderChecker));
|
|
82
81
|
}
|
|
83
82
|
return react_1.default.createElement(antd_1.Tree.TreeNode, Object.assign({}, param, { isLeaf: true }));
|
|
84
83
|
};
|
|
85
|
-
const renderNodes = (data, position, state, search, disabledNode) => data.map((item, idx) => renderNode(item, [...position, idx], state, search, disabledNode));
|
|
84
|
+
const renderNodes = (data, position, state, search, disabledNode, folderChecker) => data.map((item, idx) => renderNode(item, [...position, idx], state, search, disabledNode, folderChecker));
|
|
86
85
|
const renderRoot = (props, state) => {
|
|
87
86
|
const { search } = state;
|
|
88
87
|
if (search.keyword && search.match.size == 0) {
|
|
89
88
|
return react_1.default.createElement(antd_1.Tree.TreeNode, { isLeaf: true, title: react_1.default.createElement(antd_1.Empty, { description: utils_1.i18n.txt(Const_1.V.TXT_FIND_NULL, search.word) }), selectable: false, className: "c-tree-empty" });
|
|
90
89
|
}
|
|
91
|
-
return state.treeData.map((node, idx) => renderNode(node, [idx], state, search, props.disabledNode));
|
|
90
|
+
return state.treeData.map((node, idx) => renderNode(node, [idx], state, search, props.disabledNode, props.folderChecker));
|
|
92
91
|
};
|
|
@@ -49,7 +49,8 @@ export type BaseTreeProps = BaseTreeOpts & {
|
|
|
49
49
|
* */
|
|
50
50
|
disabled?: boolean;
|
|
51
51
|
/**
|
|
52
|
-
* 是否禁用结点,返回true
|
|
52
|
+
* 是否禁用结点,返回true为禁用,
|
|
53
|
+
* 说明:如果是要禁用文件夹,建议使用 folderChecker
|
|
53
54
|
*/
|
|
54
55
|
disabledNode?: (node: PlainObject) => boolean;
|
|
55
56
|
/**
|
|
@@ -100,6 +101,10 @@ export type ActionProps = {
|
|
|
100
101
|
* 是否可以删除节点
|
|
101
102
|
*/
|
|
102
103
|
canDelete?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* 是否可以删除根节点(第一层的节点)
|
|
106
|
+
*/
|
|
107
|
+
canDeleteRoot?: boolean;
|
|
103
108
|
/**
|
|
104
109
|
* 是否支持排序
|
|
105
110
|
*/
|
|
@@ -147,6 +147,7 @@ const renderFormField = (state, field, form, update, data) => {
|
|
|
147
147
|
if (hiddenFields.current.has(field.field)) {
|
|
148
148
|
return react_1.default.createElement(antd_1.Form.Item, { style: { display: 'none' } }, form.getFieldDecorator(field.field)(react_1.default.createElement(input.component, {
|
|
149
149
|
form,
|
|
150
|
+
// initValue:
|
|
150
151
|
field,
|
|
151
152
|
disabled: disableFields.current.has(field.field),
|
|
152
153
|
options: (0, _FormUtils_1.getOptions)(optionFields.current.has(field.field) ? optionFields.current.get(field.field) : (field.options || []), field, data)
|
|
@@ -154,7 +155,7 @@ const renderFormField = (state, field, form, update, data) => {
|
|
|
154
155
|
}
|
|
155
156
|
const [required, rules] = (0, _FormUtils_1.requireStatus)(field, requireFields.current, disableFields.current, hiddenFields.current);
|
|
156
157
|
const options = {
|
|
157
|
-
|
|
158
|
+
initialValue: form.getFieldValue(field.field),
|
|
158
159
|
validateFirst: true,
|
|
159
160
|
rules,
|
|
160
161
|
getValueFromEvent: (value, extra) => onChangeEvent(state, field, form, update, value, extra),
|
|
@@ -346,9 +347,11 @@ const _FormField = (props) => {
|
|
|
346
347
|
const { form } = props;
|
|
347
348
|
const update = (0, useUpdate_1.useUpdate)();
|
|
348
349
|
(0, react_1.useEffect)(() => {
|
|
350
|
+
// console.log('dfdsaupdate')
|
|
349
351
|
const values = (0, exports.initValue)(props);
|
|
350
352
|
props.initRef.current = values;
|
|
351
|
-
|
|
353
|
+
console.log(values);
|
|
354
|
+
form.setFieldsValue(props.initRef.current);
|
|
352
355
|
props.fields.map(field => {
|
|
353
356
|
if (field == null || field == false)
|
|
354
357
|
return;
|
|
@@ -358,10 +361,12 @@ const _FormField = (props) => {
|
|
|
358
361
|
if (lodash_1.default.isArray(field.link) && field.link.length > 0)
|
|
359
362
|
setTimeout(() => onChangeEvent(props.state, field, form, update, values[field.field]), 2);
|
|
360
363
|
});
|
|
364
|
+
// console.log('google')
|
|
361
365
|
update();
|
|
362
366
|
}, []);
|
|
363
|
-
|
|
364
|
-
|
|
367
|
+
// console.log(props.initRef.current)
|
|
368
|
+
// return Const.NONE
|
|
369
|
+
// if (props.initRef.current === null) return Const.NONE;
|
|
365
370
|
const data = form.getFieldsValue();
|
|
366
371
|
return props.fields.map(field => {
|
|
367
372
|
if (field == null || field === false)
|
|
@@ -392,8 +397,7 @@ const _FormGroup = (props) => {
|
|
|
392
397
|
});
|
|
393
398
|
update();
|
|
394
399
|
}, []);
|
|
395
|
-
if (props.initRef.current === null)
|
|
396
|
-
return utils_1.Const.NONE;
|
|
400
|
+
// if (props.initRef.current === null) return Const.NONE;
|
|
397
401
|
const data = form.getFieldsValue();
|
|
398
402
|
return props.fields.map(group => {
|
|
399
403
|
if (group == null || group === false)
|
|
@@ -449,12 +453,39 @@ const _UForm = (0, react_1.forwardRef)((props, ref) => {
|
|
|
449
453
|
checkMultiple(item);
|
|
450
454
|
}
|
|
451
455
|
});
|
|
456
|
+
// initRef.current = initValue({ ...props, state })
|
|
457
|
+
// if (state.isGroup) {
|
|
458
|
+
// props.fields.map(group => {
|
|
459
|
+
// if (group == null || group == false) return;
|
|
460
|
+
// (group as UFormFieldGroup).fields.map(field => {
|
|
461
|
+
// // @ts-ignore
|
|
462
|
+
// if (field == null || field == false) return;
|
|
463
|
+
// if (!_.has(initRef.current, field.field) || initRef.current[field.field] === null || initRef.current[field.field] === undefined) return;
|
|
464
|
+
// // setFieldsValue 要 render 后才能get ,延时执行 link事件
|
|
465
|
+
// // if (_.isArray(field.link) && field.link.length > 0) setTimeout(() => onChangeEvent(state, field, form, update, values[field.field]), 2);
|
|
466
|
+
// })
|
|
467
|
+
// })
|
|
468
|
+
// } else {
|
|
469
|
+
// props.fields.map(field => {
|
|
470
|
+
// if (field == null || field == false) return;
|
|
471
|
+
// if (!_.has(initRef.current, field.field) || initRef.current[field.field] === null || initRef.current[field.field] === undefined) return;
|
|
472
|
+
// // setFieldsValue 要 render 后才能get ,延时执行 link事件
|
|
473
|
+
// // if (_.isArray(field.link) && field.link.length > 0) setTimeout(() => onChangeEvent(props.state, field, form, update, values[field.field]), 2);
|
|
474
|
+
// })
|
|
475
|
+
// }
|
|
476
|
+
// form.setFieldsValue(initRef.current, () => setChecked(true))
|
|
452
477
|
setChecked(true);
|
|
453
478
|
}, []);
|
|
454
|
-
|
|
479
|
+
if (!checked)
|
|
480
|
+
return utils_1.Const.NONE;
|
|
481
|
+
// console.log(initRef)
|
|
482
|
+
// console.log('fdsafd')
|
|
483
|
+
return react_1.default.createElement(antd_1.Form
|
|
484
|
+
// defaultValue={initRef.current}
|
|
455
485
|
// initialValues={props.default}
|
|
456
486
|
// size={props.size || GLOBAL.CONFIG.FORM.SIZE}
|
|
457
487
|
, {
|
|
488
|
+
// defaultValue={initRef.current}
|
|
458
489
|
// initialValues={props.default}
|
|
459
490
|
// size={props.size || GLOBAL.CONFIG.FORM.SIZE}
|
|
460
491
|
className: state.isGroup ? 'c-form c-form-group' : 'c-form', style: { width: state.width }, form: form },
|
|
@@ -470,6 +501,7 @@ class _UFormAdaptor extends react_1.default.Component {
|
|
|
470
501
|
// 3.0 适配层
|
|
471
502
|
const UFormAdaptor = (0, react_1.memo)((0, react_1.forwardRef)((props, ref) => {
|
|
472
503
|
const FROM = antd_1.Form.create()(_UFormAdaptor);
|
|
504
|
+
// <ConfigProvider ></ConfigProvider>
|
|
473
505
|
return react_1.default.createElement(FROM, Object.assign({}, props, { aref: ref }));
|
|
474
506
|
}));
|
|
475
507
|
/**
|
|
@@ -480,5 +512,5 @@ const UFormAdaptor = (0, react_1.memo)((0, react_1.forwardRef)((props, ref) => {
|
|
|
480
512
|
* 3. 支持 ref 控制方法
|
|
481
513
|
* 4. filed 支持更多提示,验证方法
|
|
482
514
|
*/
|
|
483
|
-
exports.UForm = react_1.
|
|
515
|
+
exports.UForm = (0, react_1.forwardRef)((props, ref) => react_1.default.createElement(FormWrapper_1.FormWrapper, Object.assign({ isInfo: false }, props),
|
|
484
516
|
react_1.default.createElement(UFormAdaptor, Object.assign({}, props, { ref: ref }))));
|
|
@@ -48,6 +48,9 @@ const FormWrapper_1 = require("./FormWrapper");
|
|
|
48
48
|
const FORM_FIELDS = ['layout', 'fields', 'groupType', 'isEdit', 'tip', 'default', 'data', 'mode', 'size'];
|
|
49
49
|
const UFormModal = (props) => {
|
|
50
50
|
const ref = (0, react_1.useRef)(null);
|
|
51
|
+
const [open, afterClose] = (0, Modal_1.useDestoryModal)(props);
|
|
52
|
+
if (!open)
|
|
53
|
+
return utils_1.Const.NONE;
|
|
51
54
|
let modalProps = {
|
|
52
55
|
onOk: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
56
|
const result = yield ref.current.validate();
|
|
@@ -143,7 +146,7 @@ const UFormModal = (props) => {
|
|
|
143
146
|
});
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
|
-
return react_1.default.createElement(Modal_1.Modal, Object.assign({ maskClosable: utils_1.GLOBAL.CONFIG.FORM.maskClosable, destroyOnClose: true }, lodash_1.default.omit(props, FORM_FIELDS), { className: utils_1.StringUtil.className(['u-form-modal'], props.className), onCancel: () => props.onCancel() }, modalProps),
|
|
149
|
+
return react_1.default.createElement(Modal_1.Modal, Object.assign({ maskClosable: utils_1.GLOBAL.CONFIG.FORM.maskClosable, destroyOnClose: true, afterClose: afterClose }, lodash_1.default.omit(props, FORM_FIELDS), { className: utils_1.StringUtil.className(['u-form-modal'], props.className), onCancel: () => props.onCancel() }, modalProps),
|
|
147
150
|
react_1.default.createElement(UForm_1.UForm, Object.assign({}, lodash_1.default.pick(props, FORM_FIELDS), { ref: ref })));
|
|
148
151
|
};
|
|
149
152
|
exports.UFormModal = UFormModal;
|
|
@@ -13,6 +13,9 @@ const Const_1 = require("../_setup/Const");
|
|
|
13
13
|
const FormWrapper_1 = require("./FormWrapper");
|
|
14
14
|
const FORM_FIELDS = ['layout', 'fields', 'groupType', 'isEdit', 'tip', 'default', 'data', 'mode', 'hideBorder', 'theme'];
|
|
15
15
|
const UInfoModal = (props) => {
|
|
16
|
+
const [open, afterClose] = (0, Modal_1.useDestoryModal)(props);
|
|
17
|
+
if (!open)
|
|
18
|
+
return utils_1.Const.NONE;
|
|
16
19
|
const param = lodash_1.default.omit(props, FORM_FIELDS);
|
|
17
20
|
if (!lodash_1.default.has(props, 'title') && lodash_1.default.has(props, 'autoTitle')) {
|
|
18
21
|
let name = null;
|
|
@@ -8,17 +8,22 @@ const react_1 = __importDefault(require("react"));
|
|
|
8
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
9
|
const UFormModal_1 = require("./UFormModal");
|
|
10
10
|
const UInfoModal_1 = require("./UInfoModal");
|
|
11
|
+
const Modal_1 = require("../_adapt/Modal");
|
|
12
|
+
const utils_1 = require("../../utils");
|
|
11
13
|
const UModal = (props) => {
|
|
14
|
+
const [open, afterClose] = (0, Modal_1.useDestoryModal)(props);
|
|
15
|
+
if (!open)
|
|
16
|
+
return utils_1.Const.NONE;
|
|
12
17
|
// 指定模式时,以指定的模式为准
|
|
13
18
|
if (lodash_1.default.has(props, 'mode')) {
|
|
14
19
|
if (props.mode == 'INFO')
|
|
15
|
-
return react_1.default.createElement(UInfoModal_1.UInfoModal, Object.assign({}, props));
|
|
16
|
-
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({}, props));
|
|
20
|
+
return react_1.default.createElement(UInfoModal_1.UInfoModal, Object.assign({ afterClose: afterClose }, props));
|
|
21
|
+
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({ afterClose: afterClose }, props));
|
|
17
22
|
}
|
|
18
23
|
if (props.isEdit)
|
|
19
|
-
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({}, props));
|
|
24
|
+
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({ afterClose: afterClose }, props));
|
|
20
25
|
if (props.data && lodash_1.default.keys(props.data).length)
|
|
21
|
-
return react_1.default.createElement(UInfoModal_1.UInfoModal, Object.assign({}, props));
|
|
22
|
-
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({}, props));
|
|
26
|
+
return react_1.default.createElement(UInfoModal_1.UInfoModal, Object.assign({ afterClose: afterClose }, props));
|
|
27
|
+
return react_1.default.createElement(UFormModal_1.UFormModal, Object.assign({ afterClose: afterClose }, props));
|
|
23
28
|
};
|
|
24
29
|
exports.UModal = UModal;
|
|
@@ -6,8 +6,8 @@ export { UInfoModal } from './UInfoModal';
|
|
|
6
6
|
export { UModal } from './UModal';
|
|
7
7
|
export { UDescriptions } from './UDescriptions';
|
|
8
8
|
import type { BaseOption, PlainObject, BaseItem } from '../../basetype';
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
9
|
+
import type { ModalProps } from '../_adapt/Modal';
|
|
10
|
+
import type { ButtonProps } from '../_adapt/Button';
|
|
11
11
|
import type { ValidationRule } from 'antd/es/form/Form';
|
|
12
12
|
/**
|
|
13
13
|
* 表单布局方式 simple = 1 列 (比较宽松) | common = 2 列 (常规) | compress = 3列 (紧凑)
|
|
@@ -22,6 +22,7 @@ export type UFormLayout = 'common' | 'simple' | 'compress';
|
|
|
22
22
|
export type GroupType = 'default' | 'tabs' | 'collapse';
|
|
23
23
|
export type LinkValue = string | number | boolean;
|
|
24
24
|
import type { _FieldType } from './_FieldType';
|
|
25
|
+
import type { SizeType } from '../_adapt/_Antd5';
|
|
25
26
|
/**
|
|
26
27
|
* 联动结果 : 改变目标字段的交互属性
|
|
27
28
|
* 所有属性为可选,需要改变几项属性,则只返回包含几个属性的对象,
|
|
@@ -223,6 +224,10 @@ export type UFromProps = {
|
|
|
223
224
|
* 表单宽度,仅支持数字,一般不传,需要时使用,
|
|
224
225
|
*/
|
|
225
226
|
width?: number;
|
|
227
|
+
/**
|
|
228
|
+
* 表单大小
|
|
229
|
+
*/
|
|
230
|
+
size?: SizeType;
|
|
226
231
|
/**
|
|
227
232
|
* 说明:
|
|
228
233
|
*
|
|
@@ -286,7 +291,7 @@ export type UFromAction = ButtonProps & {
|
|
|
286
291
|
* 新版本 ModalProps 只支持 open 且必传,
|
|
287
292
|
* 不使用 deprecated 属性
|
|
288
293
|
*/
|
|
289
|
-
export type UModalProps = UFromProps & Omit<
|
|
294
|
+
export type UModalProps = UFromProps & Omit<ModalProps, 'children'> & {
|
|
290
295
|
/**
|
|
291
296
|
* open 为必填项,不使用废弃的 visable 属性
|
|
292
297
|
*/
|