cnhis-design-vue 3.1.17-beta.2 → 3.1.17-beta.5
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/packages/big-table/src/components/separate.js +1 -1
- package/es/packages/big-table/src/hooks/useSeparateRow.js +2 -2
- package/es/packages/button-print/index.d.ts +1 -1
- package/es/packages/button-print/src/ButtonPrint.vue.d.ts +1 -1
- package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +13 -17
- package/es/packages/fabric-chart/src/hooks/useLeft.js +3 -1
- package/es/packages/fabric-chart/src/hooks/useRight.js +8 -2
- package/es/packages/form-config/index.d.ts +8282 -6776
- package/es/packages/form-config/src/FormConfig.js +23 -26
- package/es/packages/form-config/src/FormConfig.vue.d.ts +8283 -6777
- package/es/packages/form-config/src/components/FormConfigCreator.js +3 -3
- package/es/packages/form-config/src/components/FormConfigDragDisplay.js +42 -0
- package/es/packages/form-config/src/components/FormConfigDragDisplay.vue.d.ts +106 -0
- package/es/packages/form-config/src/components/FormConfigEdit.js +1 -1
- package/es/packages/form-config/src/components/FormConfigEdit.vue.d.ts +2 -0
- package/es/packages/form-config/src/components/index.d.ts +5 -0
- package/es/packages/form-config/src/components/index.js +6 -0
- package/es/packages/form-config/src/components/renderer/CloseButton.js +45 -0
- package/es/packages/form-config/src/components/renderer/CloseButton.vue.d.ts +1499 -0
- package/es/packages/form-config/src/components/renderer/ComplexNode.js +44 -0
- package/es/packages/form-config/src/components/renderer/ComplexNode.vue.d.ts +1641 -0
- package/es/packages/form-config/src/components/renderer/DefaultNode.js +59 -0
- package/es/packages/form-config/src/components/renderer/DefaultNode.vue.d.ts +3266 -0
- package/es/packages/form-config/src/components/renderer/index.d.ts +4 -0
- package/es/packages/form-config/src/components/renderer/index.js +3 -0
- package/es/packages/form-config/src/constants/index.d.ts +2 -0
- package/es/packages/form-config/src/constants/index.js +5 -2
- package/es/packages/form-config/src/hooks/index.d.ts +1 -1
- package/es/packages/form-config/src/hooks/index.js +1 -1
- package/es/packages/form-config/src/hooks/usePresetRenderer.d.ts +2 -2
- package/es/packages/form-config/src/hooks/usePresetRenderer.js +5 -84
- package/es/packages/form-config/src/hooks/{useSortable.d.ts → useSortalbeConfig.d.ts} +2 -2
- package/es/packages/form-config/src/hooks/{useSortable.js → useSortalbeConfig.js} +7 -11
- package/es/packages/form-config/src/types/index.d.ts +2 -1
- package/es/packages/form-config/src/utils/index.d.ts +6 -1
- package/es/packages/form-config/src/utils/index.js +20 -9
- package/es/packages/form-config/style/index.css +35 -20
- package/es/packages/form-render/src/FormRender.js +5 -7
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +1 -2
- package/es/packages/form-render/src/hooks/useFormContext.js +1 -4
- package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +1 -0
- package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -2
- package/es/packages/form-render/src/utils/index.js +1 -1
- package/es/packages/form-render/src/utils/schema.d.ts +0 -1
- package/es/packages/form-render/src/utils/schema.js +1 -12
- package/es/packages/form-render/style/index.css +1 -1
- package/es/packages/index.css +36 -21
- package/es/packages/shortcut-setter/src/ShortcutSetter.js +2 -1
- package/package.json +1 -1
|
@@ -59,4 +59,6 @@ export declare function isNullOptionConfig(): {
|
|
|
59
59
|
value: boolean;
|
|
60
60
|
};
|
|
61
61
|
};
|
|
62
|
+
export declare const InjectionFieldList: InjectionKey<Ref<FormConfigItem[]>>;
|
|
63
|
+
export declare const InjectionMaterialList: InjectionKey<Ref<FormConfigItem[]>>;
|
|
62
64
|
export declare const InjectionActiveFieldItem: InjectionKey<Ref<UndefinedAble<FormConfigItem>>>;
|
|
@@ -24,7 +24,8 @@ function widgetWidthOptionConfig() {
|
|
|
24
24
|
{ text: "1/3", value: "ONE_THREE" },
|
|
25
25
|
{ text: "3/4", value: "THREE_FOUR" },
|
|
26
26
|
{ text: "1/4", value: "ONE_FOUR" },
|
|
27
|
-
{ text: "1/6", value: "ONE_SIX" }
|
|
27
|
+
{ text: "1/6", value: "ONE_SIX" },
|
|
28
|
+
{ text: "1/8", value: "ONE_EIGHT" }
|
|
28
29
|
]
|
|
29
30
|
};
|
|
30
31
|
}
|
|
@@ -52,6 +53,8 @@ function isNullOptionConfig() {
|
|
|
52
53
|
close: { describe: "\u4E0D\u5FC5\u586B", value: false }
|
|
53
54
|
};
|
|
54
55
|
}
|
|
56
|
+
const InjectionFieldList = Symbol("InjectionFieldList");
|
|
57
|
+
const InjectionMaterialList = Symbol("InjectionMaterialList");
|
|
55
58
|
const InjectionActiveFieldItem = Symbol("InjectionActiveFieldItem");
|
|
56
59
|
|
|
57
|
-
export { EditAbleField, InjectionActiveFieldItem, WidgetTextMap, isEditOptionConfig, isNotFoldOptionConfig, isNullOptionConfig, isShowOptionConfig, widgetWidthOptionConfig };
|
|
60
|
+
export { EditAbleField, InjectionActiveFieldItem, InjectionFieldList, InjectionMaterialList, WidgetTextMap, isEditOptionConfig, isNotFoldOptionConfig, isNullOptionConfig, isShowOptionConfig, widgetWidthOptionConfig };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormConfigItem
|
|
2
|
-
export declare function usePresetRenderer(
|
|
1
|
+
import { FormConfigItem } from '../types';
|
|
2
|
+
export declare function usePresetRenderer(): {
|
|
3
3
|
getRenderer: (fieldItem: FormConfigItem) => import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>;
|
|
4
4
|
};
|
|
@@ -1,94 +1,15 @@
|
|
|
1
|
-
import { defineComponent, computed, createVNode, mergeProps, inject } from 'vue';
|
|
2
1
|
import { isString, isArray, isFunction } from 'lodash-es';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { useSortable } from '../../../../packages/form-config/src/hooks/useSortable';
|
|
6
|
-
import { layoutWidthEnum2Column } from '../../../../packages/form-config/src/utils';
|
|
7
|
-
import { NEllipsis } from 'naive-ui';
|
|
2
|
+
import { computed } from 'vue';
|
|
3
|
+
import { DefaultNode, ComplexNode } from '../../../../packages/form-config/src/components';
|
|
8
4
|
|
|
9
|
-
function usePresetRenderer(
|
|
5
|
+
function usePresetRenderer() {
|
|
10
6
|
const renderDefaultNode = {
|
|
11
7
|
matcher: () => true,
|
|
12
|
-
renderer
|
|
13
|
-
fieldItem
|
|
14
|
-
}) {
|
|
15
|
-
const currentActiveEditField = inject(InjectionActiveFieldItem);
|
|
16
|
-
return createVNode("section", {
|
|
17
|
-
"onClick": () => currentActiveEditField.value = fieldItem,
|
|
18
|
-
"class": {
|
|
19
|
-
"is-active": currentActiveEditField.value === fieldItem
|
|
20
|
-
}
|
|
21
|
-
}, [createVNode(NEllipsis, {
|
|
22
|
-
"class": ["form-config__renderer--default", {
|
|
23
|
-
"is-required": fieldItem.required,
|
|
24
|
-
"is-disabled": fieldItem.editable === false
|
|
25
|
-
}]
|
|
26
|
-
}, {
|
|
27
|
-
default: () => getDisplayText()
|
|
28
|
-
})]);
|
|
29
|
-
function getDisplayText() {
|
|
30
|
-
const type = WidgetTextMap.get(fieldItem.type);
|
|
31
|
-
return textFormatter(fieldItem, `${fieldItem.name}${type ? `(${type})` : ""}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
8
|
+
renderer: DefaultNode
|
|
34
9
|
};
|
|
35
10
|
const renderComplexNode = {
|
|
36
11
|
matcher: ["COMPLEX", "COMBINATION"],
|
|
37
|
-
renderer:
|
|
38
|
-
props: {
|
|
39
|
-
fieldItem: {
|
|
40
|
-
type: Object,
|
|
41
|
-
required: true
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
setup(props) {
|
|
45
|
-
function fieldFor(key) {
|
|
46
|
-
return props.fieldItem[key];
|
|
47
|
-
}
|
|
48
|
-
const classList = computed(() => {
|
|
49
|
-
return "form-config__renderer--complex form-config__renderer--complex--grid";
|
|
50
|
-
});
|
|
51
|
-
const style = computed(() => {
|
|
52
|
-
return {
|
|
53
|
-
"--item-column": layoutWidthEnum2Column(fieldFor("layoutWidthEnum"))
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
function renderField(fieldItem) {
|
|
57
|
-
const Renderer = getRenderer(fieldItem);
|
|
58
|
-
return createVNode("div", {
|
|
59
|
-
"class": "form-config__displayContentItem",
|
|
60
|
-
"style": {
|
|
61
|
-
"--item-column": layoutWidthEnum2Column(fieldItem.layoutWidthEnum)
|
|
62
|
-
}
|
|
63
|
-
}, [createVNode(Renderer, {
|
|
64
|
-
"fieldItem": fieldItem
|
|
65
|
-
}, null)]);
|
|
66
|
-
}
|
|
67
|
-
const childrenList = computed({
|
|
68
|
-
get() {
|
|
69
|
-
return fieldFor("children");
|
|
70
|
-
},
|
|
71
|
-
set(v) {
|
|
72
|
-
props.fieldItem.children = v;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
const {
|
|
76
|
-
commonConfig
|
|
77
|
-
} = useSortable();
|
|
78
|
-
const DraggableComponent = Draggable;
|
|
79
|
-
return () => createVNode(DraggableComponent, mergeProps(commonConfig, {
|
|
80
|
-
"class": classList.value,
|
|
81
|
-
"style": style.value,
|
|
82
|
-
"group": fieldFor("key"),
|
|
83
|
-
"modelValue": childrenList.value,
|
|
84
|
-
"onUpdate:modelValue": ($event) => childrenList.value = $event
|
|
85
|
-
}), {
|
|
86
|
-
item: ({
|
|
87
|
-
element
|
|
88
|
-
}) => renderField(element)
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
})
|
|
12
|
+
renderer: ComplexNode
|
|
92
13
|
};
|
|
93
14
|
const rendererWithPreset = computed(() => {
|
|
94
15
|
return [renderComplexNode, renderDefaultNode];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Sortable from 'sortablejs';
|
|
2
|
-
export declare function
|
|
3
|
-
|
|
2
|
+
export declare function useSortableConfig(): {
|
|
3
|
+
getCommonConfig: () => {
|
|
4
4
|
onMove: ({ to, from }: Sortable.SortableEvent) => void;
|
|
5
5
|
onChoose: ({ target, item }: Sortable.SortableEvent) => void;
|
|
6
6
|
onUnchoose: ({ from, to, target, item }: Sortable.SortableEvent) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function useSortableConfig() {
|
|
2
2
|
let timer = null;
|
|
3
3
|
function onChoose({ target, item }) {
|
|
4
4
|
timer = setTimeout(() => {
|
|
@@ -15,17 +15,13 @@ function useSortable() {
|
|
|
15
15
|
}
|
|
16
16
|
let prevTo;
|
|
17
17
|
function onMove({ to, from }) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} else {
|
|
22
|
-
from.classList.remove("is-choosing-area");
|
|
23
|
-
prevTo = to;
|
|
24
|
-
}
|
|
18
|
+
prevTo == null ? void 0 : prevTo.classList.remove("is-choosing-area");
|
|
19
|
+
prevTo = to;
|
|
20
|
+
to !== from && from.classList.remove("is-choosing-area");
|
|
25
21
|
to.classList.add("is-choosing-area");
|
|
26
22
|
}
|
|
27
|
-
const
|
|
28
|
-
return {
|
|
23
|
+
const getCommonConfig = () => ({ onMove, onChoose, onUnchoose, tag: "section", animation: "150", "item-key": "key" });
|
|
24
|
+
return { getCommonConfig };
|
|
29
25
|
}
|
|
30
26
|
|
|
31
|
-
export {
|
|
27
|
+
export { useSortableConfig };
|
|
@@ -8,7 +8,7 @@ export declare type FormConfigRenderer = {
|
|
|
8
8
|
renderer: Component | FunctionalComponent;
|
|
9
9
|
};
|
|
10
10
|
export declare type FormConfigType = 'NEWLINE' | 'LINE_BAR' | 'OTHER' | string;
|
|
11
|
-
export declare type FormConfigWidth = 'ALL_LINE' | 'HALF_LINE' | 'FIVE_SIX' | 'TWO_THREE' | 'ONE_THREE' | 'THREE_FOUR' | 'ONE_FOUR' | 'ONE_SIX';
|
|
11
|
+
export declare type FormConfigWidth = 'ALL_LINE' | 'HALF_LINE' | 'FIVE_SIX' | 'TWO_THREE' | 'ONE_THREE' | 'THREE_FOUR' | 'ONE_FOUR' | 'ONE_SIX' | 'ONE_EIGHT';
|
|
12
12
|
export declare type FormConfigItem = {
|
|
13
13
|
key: string;
|
|
14
14
|
layoutWidthEnum: FormConfigWidth;
|
|
@@ -24,6 +24,7 @@ export declare type FormConfigItem = {
|
|
|
24
24
|
notes: string;
|
|
25
25
|
desc: string;
|
|
26
26
|
children: FormConfigItem[];
|
|
27
|
+
__new: boolean;
|
|
27
28
|
}>;
|
|
28
29
|
export interface FormConfigTextFormatter {
|
|
29
30
|
(fieldItem: FormConfigItem, parsedText: string): string;
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
import { FormConfigWidth } from '../../../../../es/packages/form-config';
|
|
1
|
+
import { FormConfigItem, FormConfigWidth } from '../../../../../es/packages/form-config';
|
|
2
2
|
export declare function layoutWidthEnum2Column(layoutWidthEnum: FormConfigWidth): number;
|
|
3
|
+
export declare function bindHover(fieldItem: FormConfigItem): {
|
|
4
|
+
onMouseenter: () => FormConfigItem;
|
|
5
|
+
onMouseleave: () => undefined;
|
|
6
|
+
'is-hovering': boolean;
|
|
7
|
+
};
|
|
@@ -1,15 +1,26 @@
|
|
|
1
|
+
import { ref } from 'vue';
|
|
2
|
+
|
|
1
3
|
function layoutWidthEnum2Column(layoutWidthEnum) {
|
|
2
4
|
const transferMap = {
|
|
3
|
-
ALL_LINE:
|
|
4
|
-
HALF_LINE:
|
|
5
|
-
FIVE_SIX:
|
|
6
|
-
TWO_THREE:
|
|
7
|
-
ONE_THREE:
|
|
8
|
-
THREE_FOUR:
|
|
9
|
-
ONE_FOUR:
|
|
10
|
-
ONE_SIX:
|
|
5
|
+
ALL_LINE: 24,
|
|
6
|
+
HALF_LINE: 12,
|
|
7
|
+
FIVE_SIX: 20,
|
|
8
|
+
TWO_THREE: 16,
|
|
9
|
+
ONE_THREE: 8,
|
|
10
|
+
THREE_FOUR: 18,
|
|
11
|
+
ONE_FOUR: 6,
|
|
12
|
+
ONE_SIX: 4,
|
|
13
|
+
ONE_EIGHT: 3
|
|
11
14
|
};
|
|
12
15
|
return transferMap[layoutWidthEnum] || 12;
|
|
13
16
|
}
|
|
17
|
+
const hovering = ref();
|
|
18
|
+
function bindHover(fieldItem) {
|
|
19
|
+
return {
|
|
20
|
+
onMouseenter: () => hovering.value = fieldItem,
|
|
21
|
+
onMouseleave: () => hovering.value = void 0,
|
|
22
|
+
"is-hovering": hovering.value === fieldItem
|
|
23
|
+
};
|
|
24
|
+
}
|
|
14
25
|
|
|
15
|
-
export { layoutWidthEnum2Column };
|
|
26
|
+
export { bindHover, layoutWidthEnum2Column };
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
flex-shrink: 0;
|
|
9
9
|
width: 200px;
|
|
10
|
-
background: white;
|
|
11
10
|
}
|
|
12
11
|
.form-config__materialHeader {
|
|
13
12
|
display: flex;
|
|
@@ -27,12 +26,7 @@
|
|
|
27
26
|
gap: 8px;
|
|
28
27
|
}
|
|
29
28
|
.form-config__materialContentItem {
|
|
30
|
-
|
|
31
|
-
align-items: center;
|
|
32
|
-
padding: 8px;
|
|
33
|
-
border: 1px dashed #d9d9d9;
|
|
34
|
-
box-sizing: border-box;
|
|
35
|
-
background-color: #fafafa;
|
|
29
|
+
cursor: move;
|
|
36
30
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
37
31
|
}
|
|
38
32
|
.form-config__displayWrapper {
|
|
@@ -56,10 +50,9 @@
|
|
|
56
50
|
overflow-y: auto;
|
|
57
51
|
max-height: var(--max-height);
|
|
58
52
|
height: fit-content;
|
|
59
|
-
background: #eeeeee;
|
|
60
53
|
display: grid !important;
|
|
61
|
-
grid-template-columns: repeat(
|
|
62
|
-
gap: 8px
|
|
54
|
+
grid-template-columns: repeat(24, minmax(0px, 1fr));
|
|
55
|
+
gap: 8px;
|
|
63
56
|
}
|
|
64
57
|
.form-config__displayContentItem {
|
|
65
58
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
@@ -70,7 +63,6 @@
|
|
|
70
63
|
box-sizing: border-box;
|
|
71
64
|
flex-shrink: 0;
|
|
72
65
|
width: 240px;
|
|
73
|
-
background: white;
|
|
74
66
|
}
|
|
75
67
|
.form-config__configHeader {
|
|
76
68
|
display: flex;
|
|
@@ -85,32 +77,44 @@
|
|
|
85
77
|
overflow-y: auto;
|
|
86
78
|
max-height: var(--max-height);
|
|
87
79
|
}
|
|
80
|
+
.form-config__renderer {
|
|
81
|
+
cursor: move;
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
justify-content: flex-start;
|
|
85
|
+
}
|
|
88
86
|
.form-config__renderer--default {
|
|
87
|
+
width: 100%;
|
|
89
88
|
display: flex;
|
|
90
89
|
align-items: center;
|
|
91
90
|
padding: 8px;
|
|
92
|
-
border: 1px dashed #d9d9d9;
|
|
93
91
|
box-sizing: border-box;
|
|
94
|
-
background-color: #fafafa;
|
|
95
92
|
user-select: none;
|
|
96
93
|
position: relative;
|
|
97
|
-
width: 100%;
|
|
98
94
|
}
|
|
99
95
|
.form-config__renderer--complex {
|
|
100
|
-
border: 1px dashed
|
|
96
|
+
border: 1px dashed skyblue;
|
|
97
|
+
border-radius: 8px;
|
|
101
98
|
padding: 8px;
|
|
102
99
|
}
|
|
100
|
+
.form-config__renderer--complexHeader {
|
|
101
|
+
display: flex;
|
|
102
|
+
justify-content: center;
|
|
103
|
+
padding: 8px;
|
|
104
|
+
margin-top: -8px;
|
|
105
|
+
position: relative;
|
|
106
|
+
}
|
|
103
107
|
.form-config__renderer--complex--grid {
|
|
104
108
|
display: grid !important;
|
|
105
|
-
grid-template-columns: repeat(
|
|
106
|
-
gap: 8px
|
|
109
|
+
grid-template-columns: repeat(24, minmax(0px, 1fr));
|
|
110
|
+
gap: 8px;
|
|
107
111
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
108
112
|
}
|
|
109
113
|
.form-config__renderer--complex--flex {
|
|
110
114
|
display: flex;
|
|
111
115
|
}
|
|
112
116
|
.form-config .is-disabled {
|
|
113
|
-
background: #e5e5e5;
|
|
117
|
+
background: #e5e5e5 !important;
|
|
114
118
|
}
|
|
115
119
|
.form-config .is-required {
|
|
116
120
|
padding-left: 16px !important;
|
|
@@ -122,11 +126,22 @@
|
|
|
122
126
|
color: red;
|
|
123
127
|
}
|
|
124
128
|
.form-config .is-active {
|
|
125
|
-
color: #5585f5;
|
|
129
|
+
color: #5585f5 !important;
|
|
126
130
|
}
|
|
127
131
|
.form-config .is-choosing {
|
|
128
132
|
box-shadow: #5585f5 0 0 0 2px !important;
|
|
133
|
+
opacity: 0.7;
|
|
129
134
|
}
|
|
130
135
|
.form-config .is-choosing-area {
|
|
131
|
-
background:
|
|
136
|
+
background: rgba(128, 128, 128, 0.1);
|
|
137
|
+
}
|
|
138
|
+
.form-config [is-hovering='true'] .form-config__renderer--closeButton {
|
|
139
|
+
visibility: visible;
|
|
140
|
+
}
|
|
141
|
+
.form-config .form-config__renderer--closeButton {
|
|
142
|
+
position: absolute;
|
|
143
|
+
visibility: hidden;
|
|
144
|
+
top: 50%;
|
|
145
|
+
transform: translateY(-50%);
|
|
146
|
+
right: 5px;
|
|
132
147
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, isRef, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle,
|
|
1
|
+
import { defineComponent, ref, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, isRef, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle, toDisplayString, nextTick } from 'vue';
|
|
2
2
|
import { createForm, onFieldValueChange, isField } from '@formily/core';
|
|
3
3
|
import { FormProvider, FormConsumer } from '@formily/vue';
|
|
4
4
|
import { isObject } from '@vue/shared';
|
|
@@ -183,9 +183,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
183
183
|
}, [
|
|
184
184
|
createVNode(unref(FormProvider), { form: unref(formModel) }, {
|
|
185
185
|
default: withCtx(() => [
|
|
186
|
-
|
|
187
|
-
createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"])
|
|
188
|
-
]),
|
|
186
|
+
createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"]),
|
|
189
187
|
__props.consumer ? (openBlock(), createBlock(unref(FormConsumer), { key: 0 }, {
|
|
190
188
|
default: withCtx(({ form }) => [
|
|
191
189
|
createElementVNode("div", _hoisted_2, toDisplayString(JSON.stringify(form.values, null, 2)), 1)
|
|
@@ -193,14 +191,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
193
191
|
_: 1
|
|
194
192
|
})) : createCommentVNode("v-if", true)
|
|
195
193
|
]),
|
|
196
|
-
_:
|
|
194
|
+
_: 1
|
|
197
195
|
}, 8, ["form"])
|
|
198
196
|
], 36)
|
|
199
197
|
]),
|
|
200
|
-
_:
|
|
198
|
+
_: 1
|
|
201
199
|
}, 8, ["theme-overrides"])
|
|
202
200
|
]),
|
|
203
|
-
_:
|
|
201
|
+
_: 1
|
|
204
202
|
});
|
|
205
203
|
};
|
|
206
204
|
}
|
|
@@ -228,8 +228,7 @@ function useFieldListAdaptor(collector) {
|
|
|
228
228
|
return fin;
|
|
229
229
|
}, {});
|
|
230
230
|
function bindIndex(schema, idx) {
|
|
231
|
-
schema
|
|
232
|
-
return schema;
|
|
231
|
+
return { ...schema, "x-index": idx };
|
|
233
232
|
}
|
|
234
233
|
function createFieldName(fieldItem) {
|
|
235
234
|
if (fieldItem.suffixConfig) {
|
|
@@ -28,10 +28,7 @@ function useFormContext(props, formModel) {
|
|
|
28
28
|
}
|
|
29
29
|
}));
|
|
30
30
|
const SchemaField = injectOrProvide(InjectionSchemaField, () => createSchemaField({
|
|
31
|
-
components: {
|
|
32
|
-
...components,
|
|
33
|
-
...props.components
|
|
34
|
-
},
|
|
31
|
+
components: { ...components, ...props.components },
|
|
35
32
|
scope: Object.assign({}, usePresetScope(), props.scope)
|
|
36
33
|
}).SchemaField);
|
|
37
34
|
const businessCollector = useBusinessBinding().create(formModel, props.businessFormatter);
|
|
@@ -3,6 +3,7 @@ import { DependKeyType } from '../../../../../es/packages/form-render';
|
|
|
3
3
|
export declare class FormItemDepsCollector {
|
|
4
4
|
private readonly collector;
|
|
5
5
|
setDeps(key: string, dependKeys: DependKeyType, callback: Func): void;
|
|
6
|
+
getDeps(dependKey: string): Map<string, Func<any[], any>> | undefined;
|
|
6
7
|
trigger(dependKey: string, payload?: unknown): void;
|
|
7
8
|
}
|
|
8
9
|
export declare function useFormItemDeps(): {
|
|
@@ -12,9 +12,12 @@ class FormItemDepsCollector {
|
|
|
12
12
|
this.collector.set(dependKey, map);
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
+
getDeps(dependKey) {
|
|
16
|
+
return this.collector.get(dependKey);
|
|
17
|
+
}
|
|
15
18
|
trigger(dependKey, payload) {
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
var _a;
|
|
20
|
+
(_a = this.getDeps(dependKey)) == null ? void 0 : _a.forEach((cb) => isFunction(cb) && cb(payload));
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
function useFormItemDeps() {
|
|
@@ -4,7 +4,7 @@ import { isObject } from '@vue/shared';
|
|
|
4
4
|
import { isNumber, isString, isFunction } from 'lodash-es';
|
|
5
5
|
export { isIdCard, isMobile, parseAge2Birthday, parseAge2FromContext, parseBirthday, parseIdCard, transformDateFormat } from './business.js';
|
|
6
6
|
export { queryDecorator, queryInput } from './dom.js';
|
|
7
|
-
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey,
|
|
7
|
+
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema } from './schema.js';
|
|
8
8
|
|
|
9
9
|
function formRenderLog(message, type = "log") {
|
|
10
10
|
console[type](`[FormRender]: ${message}`);
|
|
@@ -13,7 +13,6 @@ export declare function getParentLinebar(key: string, fieldList: FieldItem[]): s
|
|
|
13
13
|
export declare function assignUpdateValue(props: AnyObject, field: GeneralField): {
|
|
14
14
|
[x: string]: any;
|
|
15
15
|
};
|
|
16
|
-
export declare function traverseFieldList(fieldList: FieldItem[], handler: (field: FieldItem) => void): void;
|
|
17
16
|
export declare function createObjSchema(properties: Record<string, ISchema>): {
|
|
18
17
|
type: string;
|
|
19
18
|
properties: Record<string, import("@formily/json-schema/esm/types").Stringify<{
|
|
@@ -79,19 +79,8 @@ function assignUpdateValue(props, field) {
|
|
|
79
79
|
}
|
|
80
80
|
return _props;
|
|
81
81
|
}
|
|
82
|
-
function traverseFieldList(fieldList, handler) {
|
|
83
|
-
function traverse(fieldList2) {
|
|
84
|
-
if (!isArray(fieldList2))
|
|
85
|
-
return;
|
|
86
|
-
fieldList2.forEach((field) => {
|
|
87
|
-
handler(field);
|
|
88
|
-
traverse(field.properties);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
traverse(fieldList);
|
|
92
|
-
}
|
|
93
82
|
function createObjSchema(properties) {
|
|
94
83
|
return { type: "object", properties };
|
|
95
84
|
}
|
|
96
85
|
|
|
97
|
-
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey,
|
|
86
|
+
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema };
|
package/es/packages/index.css
CHANGED
|
@@ -2936,7 +2936,7 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
2936
2936
|
}
|
|
2937
2937
|
.form-render__combinationClose {
|
|
2938
2938
|
position: absolute;
|
|
2939
|
-
right:
|
|
2939
|
+
right: 5px;
|
|
2940
2940
|
top: 5px;
|
|
2941
2941
|
width: 14px;
|
|
2942
2942
|
height: 14px;
|
|
@@ -3189,7 +3189,6 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3189
3189
|
box-sizing: border-box;
|
|
3190
3190
|
flex-shrink: 0;
|
|
3191
3191
|
width: 200px;
|
|
3192
|
-
background: white;
|
|
3193
3192
|
}
|
|
3194
3193
|
.form-config__materialHeader {
|
|
3195
3194
|
display: flex;
|
|
@@ -3209,12 +3208,7 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3209
3208
|
gap: 8px;
|
|
3210
3209
|
}
|
|
3211
3210
|
.form-config__materialContentItem {
|
|
3212
|
-
|
|
3213
|
-
align-items: center;
|
|
3214
|
-
padding: 8px;
|
|
3215
|
-
border: 1px dashed #d9d9d9;
|
|
3216
|
-
box-sizing: border-box;
|
|
3217
|
-
background-color: #fafafa;
|
|
3211
|
+
cursor: move;
|
|
3218
3212
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
3219
3213
|
}
|
|
3220
3214
|
.form-config__displayWrapper {
|
|
@@ -3238,10 +3232,9 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3238
3232
|
overflow-y: auto;
|
|
3239
3233
|
max-height: var(--max-height);
|
|
3240
3234
|
height: fit-content;
|
|
3241
|
-
background: #eeeeee;
|
|
3242
3235
|
display: grid !important;
|
|
3243
|
-
grid-template-columns: repeat(
|
|
3244
|
-
gap: 8px
|
|
3236
|
+
grid-template-columns: repeat(24, minmax(0px, 1fr));
|
|
3237
|
+
gap: 8px;
|
|
3245
3238
|
}
|
|
3246
3239
|
.form-config__displayContentItem {
|
|
3247
3240
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
@@ -3252,7 +3245,6 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3252
3245
|
box-sizing: border-box;
|
|
3253
3246
|
flex-shrink: 0;
|
|
3254
3247
|
width: 240px;
|
|
3255
|
-
background: white;
|
|
3256
3248
|
}
|
|
3257
3249
|
.form-config__configHeader {
|
|
3258
3250
|
display: flex;
|
|
@@ -3267,32 +3259,44 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3267
3259
|
overflow-y: auto;
|
|
3268
3260
|
max-height: var(--max-height);
|
|
3269
3261
|
}
|
|
3262
|
+
.form-config__renderer {
|
|
3263
|
+
cursor: move;
|
|
3264
|
+
width: 100%;
|
|
3265
|
+
height: 100%;
|
|
3266
|
+
justify-content: flex-start;
|
|
3267
|
+
}
|
|
3270
3268
|
.form-config__renderer--default {
|
|
3269
|
+
width: 100%;
|
|
3271
3270
|
display: flex;
|
|
3272
3271
|
align-items: center;
|
|
3273
3272
|
padding: 8px;
|
|
3274
|
-
border: 1px dashed #d9d9d9;
|
|
3275
3273
|
box-sizing: border-box;
|
|
3276
|
-
background-color: #fafafa;
|
|
3277
3274
|
user-select: none;
|
|
3278
3275
|
position: relative;
|
|
3279
|
-
width: 100%;
|
|
3280
3276
|
}
|
|
3281
3277
|
.form-config__renderer--complex {
|
|
3282
|
-
border: 1px dashed
|
|
3278
|
+
border: 1px dashed skyblue;
|
|
3279
|
+
border-radius: 8px;
|
|
3283
3280
|
padding: 8px;
|
|
3284
3281
|
}
|
|
3282
|
+
.form-config__renderer--complexHeader {
|
|
3283
|
+
display: flex;
|
|
3284
|
+
justify-content: center;
|
|
3285
|
+
padding: 8px;
|
|
3286
|
+
margin-top: -8px;
|
|
3287
|
+
position: relative;
|
|
3288
|
+
}
|
|
3285
3289
|
.form-config__renderer--complex--grid {
|
|
3286
3290
|
display: grid !important;
|
|
3287
|
-
grid-template-columns: repeat(
|
|
3288
|
-
gap: 8px
|
|
3291
|
+
grid-template-columns: repeat(24, minmax(0px, 1fr));
|
|
3292
|
+
gap: 8px;
|
|
3289
3293
|
grid-column: span var(--item-column) / span var(--item-column);
|
|
3290
3294
|
}
|
|
3291
3295
|
.form-config__renderer--complex--flex {
|
|
3292
3296
|
display: flex;
|
|
3293
3297
|
}
|
|
3294
3298
|
.form-config .is-disabled {
|
|
3295
|
-
background: #e5e5e5;
|
|
3299
|
+
background: #e5e5e5 !important;
|
|
3296
3300
|
}
|
|
3297
3301
|
.form-config .is-required {
|
|
3298
3302
|
padding-left: 16px !important;
|
|
@@ -3304,11 +3308,22 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3304
3308
|
color: red;
|
|
3305
3309
|
}
|
|
3306
3310
|
.form-config .is-active {
|
|
3307
|
-
color: #5585f5;
|
|
3311
|
+
color: #5585f5 !important;
|
|
3308
3312
|
}
|
|
3309
3313
|
.form-config .is-choosing {
|
|
3310
3314
|
box-shadow: #5585f5 0 0 0 2px !important;
|
|
3315
|
+
opacity: 0.7;
|
|
3311
3316
|
}
|
|
3312
3317
|
.form-config .is-choosing-area {
|
|
3313
|
-
background:
|
|
3318
|
+
background: rgba(128, 128, 128, 0.1);
|
|
3319
|
+
}
|
|
3320
|
+
.form-config [is-hovering='true'] .form-config__renderer--closeButton {
|
|
3321
|
+
visibility: visible;
|
|
3322
|
+
}
|
|
3323
|
+
.form-config .form-config__renderer--closeButton {
|
|
3324
|
+
position: absolute;
|
|
3325
|
+
visibility: hidden;
|
|
3326
|
+
top: 50%;
|
|
3327
|
+
transform: translateY(-50%);
|
|
3328
|
+
right: 5px;
|
|
3314
3329
|
}
|
|
@@ -44,7 +44,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
placeholder: shortcut.placeholder,
|
|
45
45
|
operation: shortcut.operation
|
|
46
46
|
},
|
|
47
|
-
elem_width:
|
|
47
|
+
elem_width: 6
|
|
48
48
|
};
|
|
49
49
|
});
|
|
50
50
|
key.value++;
|
|
@@ -83,6 +83,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
83
83
|
});
|
|
84
84
|
return (_ctx, _cache) => {
|
|
85
85
|
return openBlock(), createBlock(unref(FormRender), {
|
|
86
|
+
column: 12,
|
|
86
87
|
key: key.value,
|
|
87
88
|
"label-placement": "left",
|
|
88
89
|
"field-list": fieldList.value,
|