cnhis-design-vue 3.1.16-beta.7 → 3.1.16
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/index.d.ts +1 -1
- package/es/packages/big-table/src/BigTable.vue.d.ts +3 -19
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +6 -4
- package/es/packages/big-table/src/components/edit-form/edit-date.js +13 -3
- package/es/packages/big-table/src/components/edit-form/edit-time.js +1 -0
- package/es/packages/big-table/src/hooks/useAnchor.d.ts +1 -1
- package/es/packages/big-table/src/hooks/useAnchor.js +20 -12
- package/es/packages/big-table/src/hooks/useSeparateRow.js +5 -2
- package/es/packages/button-print/index.d.ts +4 -1
- package/es/packages/button-print/src/ButtonPrint.vue.d.ts +4 -1
- package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +2 -1
- package/es/packages/button-print/src/components/IdentityVerification.js +5 -7
- package/es/packages/button-print/src/components/IdentityVerification.vue.d.ts +4 -1
- package/es/packages/fabric-chart/src/FabricChart.js +1 -1
- package/es/packages/fabric-chart/src/components/PopupTip.js +2 -2
- package/es/packages/fabric-chart/src/hooks/constant.js +5 -5
- package/es/packages/fabric-chart/src/hooks/useCenter.js +31 -25
- package/es/packages/fabric-chart/src/hooks/useDraw.js +11 -4
- package/es/packages/fabric-chart/src/hooks/useEvent.js +11 -3
- package/es/packages/fabric-chart/src/hooks/useOther.js +63 -13
- package/es/packages/fabric-chart/src/hooks/useTop.js +5 -8
- package/es/packages/form-config/index.d.ts +89 -3337
- package/es/packages/form-config/src/FormConfig.js +42 -34
- package/es/packages/form-config/src/FormConfig.vue.d.ts +132 -3380
- package/es/packages/form-config/src/components/FormConfigCreator.js +13 -11
- package/es/packages/form-config/src/components/FormConfigCreator.vue.d.ts +13 -8
- package/es/packages/form-config/src/components/FormConfigEdit.js +1 -1
- package/es/packages/form-config/src/components/FormConfigEdit.vue.d.ts +64 -33
- package/es/packages/form-config/src/constants/index.d.ts +20 -20
- package/es/packages/form-config/src/constants/index.js +27 -36
- package/es/packages/form-config/src/hooks/useConfigurationField.d.ts +2 -1
- package/es/packages/form-config/src/hooks/useConfigurationField.js +28 -42
- package/es/packages/form-config/src/hooks/usePresetRenderer.d.ts +2 -3
- package/es/packages/form-config/src/hooks/usePresetRenderer.js +16 -19
- package/es/packages/form-config/src/hooks/useSortable.js +1 -1
- package/es/packages/form-config/src/types/index.d.ts +22 -4
- package/es/packages/form-config/src/utils/index.d.ts +2 -0
- package/es/packages/form-config/src/utils/index.js +15 -0
- package/es/packages/form-config/style/index.css +27 -3
- package/es/packages/form-render/index.d.ts +3 -1
- package/es/packages/form-render/index.js +0 -1
- package/es/packages/form-render/src/FormRender.js +7 -8
- package/es/packages/form-render/src/FormRender.vue.d.ts +3 -1
- package/es/packages/form-render/src/components/renderer/cascader.d.ts +2 -14
- package/es/packages/form-render/src/components/renderer/{combination/index.d.ts → combination.d.ts} +3 -3
- package/es/packages/form-render/src/components/renderer/combination.js +92 -0
- package/es/packages/form-render/src/components/renderer/date.js +12 -4
- package/es/packages/form-render/src/components/renderer/formItem.js +11 -3
- package/es/packages/form-render/src/components/renderer/index.d.ts +1 -0
- package/es/packages/form-render/src/components/renderer/index.js +2 -1
- package/es/packages/form-render/src/components/renderer/{combination → jsonCombination}/hooks/useDeepValidate.d.ts +0 -0
- package/es/packages/form-render/src/components/renderer/{combination → jsonCombination}/hooks/useDeepValidate.js +0 -0
- package/es/packages/form-render/src/components/renderer/jsonCombination/index.d.ts +44 -0
- package/es/packages/form-render/src/components/renderer/{combination → jsonCombination}/index.js +29 -14
- package/es/packages/form-render/src/components/renderer/select.d.ts +1 -10
- package/es/packages/form-render/src/components/renderer/select.js +7 -4
- package/es/packages/form-render/src/hooks/index.d.ts +0 -1
- package/es/packages/form-render/src/hooks/index.js +0 -1
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.d.ts +1 -1
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +12 -5
- package/es/packages/form-render/src/hooks/useTypeNormalize.js +2 -1
- package/es/packages/form-render/src/types/fieldItem.d.ts +15 -12
- package/es/packages/form-render/src/types/index.d.ts +2 -2
- package/es/packages/form-render/src/utils/index.js +3 -2
- package/es/packages/form-render/src/utils/schema.d.ts +60 -0
- package/es/packages/form-render/src/utils/schema.js +5 -2
- package/es/packages/form-render/style/index.css +11 -8
- package/es/packages/index.css +38 -11
- package/es/packages/index.js +0 -1
- package/es/packages/shortcut-provider/src/hooks/useShortcuts.js +1 -0
- package/es/packages/shortcut-setter/index.d.ts +9 -6
- package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +9 -6
- package/es/src/utils/index.d.ts +1 -0
- package/es/src/utils/index.js +11 -1
- package/package.json +4 -4
- package/es/packages/form-render/src/hooks/useInitialData.d.ts +0 -5
- package/es/packages/form-render/src/hooks/useInitialData.js +0 -16
package/es/packages/form-render/src/components/renderer/{combination → jsonCombination}/index.js
RENAMED
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, watch, onMounted, createVNode
|
|
1
|
+
import { defineComponent, ref, computed, watch, onMounted, createVNode } from 'vue';
|
|
2
2
|
import { isField } from '@formily/core';
|
|
3
3
|
import { Path } from '@formily/path';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { AddCircleOutline, RemoveCircle } from '@vicons/ionicons5';
|
|
5
|
+
import { isNumber, isArray, isEqual } from 'lodash-es';
|
|
6
|
+
import { useDeepValidate } from '../../../../../../packages/form-render/src/components/renderer/jsonCombination/hooks/useDeepValidate';
|
|
7
|
+
import { formRenderLog, mergeDeepProperties } from '../../../utils/index.js';
|
|
7
8
|
import { connect, mapProps } from '@formily/vue';
|
|
8
9
|
import { useDebounceFn, isObject } from '@vueuse/core';
|
|
9
|
-
import { NButton } from 'naive-ui';
|
|
10
|
+
import { NButton, NIcon } from 'naive-ui';
|
|
10
11
|
import FormRender from '../../../FormRender.js';
|
|
11
12
|
import { assignUpdateValue } from '../../../utils/schema.js';
|
|
12
13
|
|
|
13
14
|
const script = defineComponent({
|
|
14
|
-
name: "
|
|
15
|
+
name: "FormJsonCombination",
|
|
15
16
|
props: {
|
|
16
17
|
title: {
|
|
17
18
|
type: String,
|
|
18
19
|
default: ""
|
|
19
20
|
},
|
|
20
21
|
value: {
|
|
21
|
-
type: String
|
|
22
|
+
type: [String, Array]
|
|
22
23
|
},
|
|
23
24
|
maxGroupNum: {
|
|
24
25
|
type: Number
|
|
@@ -35,12 +36,18 @@ const script = defineComponent({
|
|
|
35
36
|
setup(props, {
|
|
36
37
|
emit
|
|
37
38
|
}) {
|
|
39
|
+
formRenderLog("\u5F53\u524DCOMBINATION\u63A7\u4EF6\u4E3Ajson\u6A21\u5F0F,\u63A8\u8350\u4F7F\u7528\u975Ejson\u6A21\u5F0F,FieldItem.jsonCombination=false", "warn");
|
|
38
40
|
const emitChange = useDebounceFn(function emitChange2() {
|
|
39
41
|
emit("update:value", JSON.stringify(combinationData.value));
|
|
40
42
|
}, 300);
|
|
41
43
|
const combinationData = ref([]);
|
|
42
44
|
const currentGroupNum = computed(() => combinationData.value.length);
|
|
43
45
|
function setCombinationData(data, withInitialData = false) {
|
|
46
|
+
if (isArray(data)) {
|
|
47
|
+
if (!data.length)
|
|
48
|
+
data.push({});
|
|
49
|
+
data = JSON.stringify(data);
|
|
50
|
+
}
|
|
44
51
|
const parsedData = getParsedData(data);
|
|
45
52
|
if (!needLoad(parsedData))
|
|
46
53
|
return;
|
|
@@ -66,7 +73,6 @@ const script = defineComponent({
|
|
|
66
73
|
return null;
|
|
67
74
|
return result;
|
|
68
75
|
} catch (e) {
|
|
69
|
-
formRenderLog(`invalid JSON value ${data2} in COMBINATION => ${props.title}`, "warn");
|
|
70
76
|
return null;
|
|
71
77
|
}
|
|
72
78
|
}
|
|
@@ -137,22 +143,31 @@ const script = defineComponent({
|
|
|
137
143
|
"text": true,
|
|
138
144
|
"disabled": currentGroupNum.value >= maxGroupNum.value
|
|
139
145
|
}, {
|
|
140
|
-
|
|
146
|
+
icon: () => createVNode(NIcon, {
|
|
147
|
+
"component": AddCircleOutline
|
|
148
|
+
}, null),
|
|
149
|
+
default: () => "\u65B0\u589E"
|
|
141
150
|
})]), Array.from({
|
|
142
151
|
length: currentGroupNum.value
|
|
143
152
|
}).map((_, idx) => createVNode("section", {
|
|
144
|
-
"class": "form-
|
|
153
|
+
"class": "form-render__combinationContentJson"
|
|
145
154
|
}, [createVNode(FormRenderComponent, {
|
|
146
155
|
"ref": (_ref) => setFormRenderRef(idx, _ref),
|
|
147
156
|
"fieldList": props.getProperties(),
|
|
148
157
|
"onFormChange": (payload) => onChange(idx, payload)
|
|
149
|
-
}, null), idx === 0 ? null : createVNode(
|
|
158
|
+
}, null), idx === 0 ? null : createVNode(NButton, {
|
|
159
|
+
"text": true,
|
|
150
160
|
"class": "form-render__combinationClose",
|
|
161
|
+
"type": "error",
|
|
151
162
|
"onClick": () => removeGroup(idx)
|
|
152
|
-
},
|
|
163
|
+
}, {
|
|
164
|
+
icon: () => createVNode(NIcon, {
|
|
165
|
+
"component": RemoveCircle
|
|
166
|
+
}, null)
|
|
167
|
+
})]))]);
|
|
153
168
|
};
|
|
154
169
|
}
|
|
155
170
|
});
|
|
156
|
-
const
|
|
171
|
+
const JSON_COMBINATION = connect(script, mapProps(assignUpdateValue));
|
|
157
172
|
|
|
158
|
-
export {
|
|
173
|
+
export { JSON_COMBINATION };
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { AnyObject, Func } from '../../../../../../es/src/types';
|
|
2
|
-
import {
|
|
2
|
+
import { UrlConfig } from '../../types';
|
|
3
3
|
import { PropType } from 'vue';
|
|
4
|
-
declare type UrlConfig = {
|
|
5
|
-
method: FormRequestType;
|
|
6
|
-
dependKey?: string | string[];
|
|
7
|
-
nameKey: string;
|
|
8
|
-
url: string;
|
|
9
|
-
params?: AnyObject;
|
|
10
|
-
valueKey: string;
|
|
11
|
-
};
|
|
12
4
|
export declare const SELECT: import("vue").DefineComponent<{
|
|
13
5
|
value: {
|
|
14
6
|
type: StringConstructor;
|
|
@@ -53,4 +45,3 @@ export declare const SELECT: import("vue").DefineComponent<{
|
|
|
53
45
|
options: AnyObject[];
|
|
54
46
|
lazyRequest: boolean;
|
|
55
47
|
}>;
|
|
56
|
-
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, inject, nextTick, watch, createVNode } from 'vue';
|
|
2
2
|
import { isField } from '@formily/core';
|
|
3
|
-
import { cloneDeep, isEqual } from 'lodash-es';
|
|
3
|
+
import { cloneDeep, isEqual, isString } from 'lodash-es';
|
|
4
4
|
import { useCommonInjection } from '../../../../../packages/form-render/src/hooks/useCommonInjection';
|
|
5
5
|
import { InjectAsyncQueue, InjectionChangeContextCollector, InjectionFormItemDepsCollector } from '../../constants/index.js';
|
|
6
|
+
import { formRenderLog } from '../../utils/index.js';
|
|
6
7
|
import { connect, mapProps } from '@formily/vue';
|
|
7
8
|
import { NSelect } from 'naive-ui';
|
|
8
9
|
import { useFormField } from '../../hooks/useFormField.js';
|
|
@@ -61,9 +62,11 @@ const script = defineComponent({
|
|
|
61
62
|
}
|
|
62
63
|
if (remoteOptions.value)
|
|
63
64
|
return;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
})
|
|
65
|
+
try {
|
|
66
|
+
remoteOptions.value = await asyncQueue.addAsync(await createParams(configFor(props), field.value, fieldKey.value));
|
|
67
|
+
} catch (e) {
|
|
68
|
+
isString(e) && formRenderLog(e, "warn");
|
|
69
|
+
}
|
|
67
70
|
async function createParams(config, field2, key) {
|
|
68
71
|
const _params = {};
|
|
69
72
|
try {
|
|
@@ -9,6 +9,5 @@ export { useFormValidator } from './useFormValidator.js';
|
|
|
9
9
|
export { BusinessCollector, useBusinessBinding } from './useBusinessBinding.js';
|
|
10
10
|
export { ContextCollector, useChangeContext } from './useChangeContext.js';
|
|
11
11
|
export { FormItemDepsCollector, useFormItemDeps } from './useFormItemDeps.js';
|
|
12
|
-
export { useInitialData } from './useInitialData.js';
|
|
13
12
|
export { useAnchor } from './useAnchor.js';
|
|
14
13
|
export { useFormContext } from './useFormContext.js';
|
|
@@ -3,7 +3,7 @@ import { FieldItem } from '../types';
|
|
|
3
3
|
/**
|
|
4
4
|
* @description 胶水层, 将低代码平台中的fieldList转换为JSONSchema
|
|
5
5
|
*/
|
|
6
|
-
export declare function useFieldListAdaptor(collector: BusinessCollector
|
|
6
|
+
export declare function useFieldListAdaptor(collector: BusinessCollector): {
|
|
7
7
|
schemaAdaptor: (fieldList: FieldItem[]) => Record<string, import("@formily/json-schema/esm/types").Stringify<{
|
|
8
8
|
[key: symbol]: any;
|
|
9
9
|
[key: `x-${string}`]: any;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { isObject } from '@vueuse/core';
|
|
2
2
|
import { pick } from 'lodash-es';
|
|
3
3
|
import { useFormValidator, useTypeNormalize } from '../../../../packages/form-render';
|
|
4
|
-
import { arrayed, parseNumberFromMaybeString } from '../utils/index.js';
|
|
5
|
-
import { fieldKeyEscape, createLinebarId
|
|
4
|
+
import { arrayed, parseNumberFromMaybeString, formRenderLog } from '../utils/index.js';
|
|
5
|
+
import { fieldKeyEscape, createLinebarId } from '../utils/schema.js';
|
|
6
6
|
import { transformDateFormat } from '../utils/business.js';
|
|
7
7
|
|
|
8
|
-
function useFieldListAdaptor(collector
|
|
8
|
+
function useFieldListAdaptor(collector) {
|
|
9
9
|
const { createValidatorSchema } = useFormValidator();
|
|
10
10
|
const createStandardSchema = (item) => {
|
|
11
11
|
var _a;
|
|
@@ -14,6 +14,7 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
14
14
|
type: (_a = item.fieldType) != null ? _a : "string",
|
|
15
15
|
title: item.alias || item.name,
|
|
16
16
|
"x-component": item.html_type,
|
|
17
|
+
default: item.default_val,
|
|
17
18
|
"x-component-props": {
|
|
18
19
|
placeholder: item.placeholder,
|
|
19
20
|
clearable: item.is_empty === "0",
|
|
@@ -38,7 +39,6 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
38
39
|
showLabel: item.hide_title !== "1",
|
|
39
40
|
propertyKey: item.val_key,
|
|
40
41
|
annotation: item.annotation,
|
|
41
|
-
id: elementIdEscape(`${uuid}-${item.val_key}`),
|
|
42
42
|
...item.decoratorProps || {}
|
|
43
43
|
}
|
|
44
44
|
});
|
|
@@ -102,6 +102,10 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
102
102
|
};
|
|
103
103
|
const createCombinationSchema = (item) => {
|
|
104
104
|
const schema = createStandardSchema(item);
|
|
105
|
+
schema.type = "array";
|
|
106
|
+
if (item.jsonCombination !== false) {
|
|
107
|
+
schema["x-component"] = "JSON_COMBINATION";
|
|
108
|
+
}
|
|
105
109
|
Object.assign(schema["x-decorator-props"], {
|
|
106
110
|
showLabel: false,
|
|
107
111
|
showFeedback: false
|
|
@@ -158,7 +162,10 @@ function useFieldListAdaptor(collector, uuid) {
|
|
|
158
162
|
};
|
|
159
163
|
const createComplexSchema = (item) => {
|
|
160
164
|
const schema = createStandardSchema(item);
|
|
161
|
-
|
|
165
|
+
if (Array.isArray(item.properties)) {
|
|
166
|
+
formRenderLog("COMPLEX\u63A7\u4EF6\u7684properties\u5C5E\u6027\u5DF2\u7ECF\u5E9F\u5F03, \u8BF7\u4F7F\u7528children\u4F5C\u4E3A\u66FF\u4EE3, \u5728\u4E4B\u540E\u7684\u7248\u672C\u4E2Dproperties\u5C5E\u6027\u5C06\u4E0D\u518D\u652F\u6301", "warn");
|
|
167
|
+
}
|
|
168
|
+
const properties = Array.isArray(item.properties || item.children) ? schemaAdaptor(item.properties || item.children) : {};
|
|
162
169
|
schema.type = item.fieldType || "void";
|
|
163
170
|
schema.properties = properties;
|
|
164
171
|
Object.assign(schema["x-decorator-props"], { showFeedback: false });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyObject, ArrayAble } from '../../../../../es/src/types';
|
|
2
2
|
import { SchemaTypes } from '@formily/vue';
|
|
3
3
|
import { CSSProperties, VNode } from 'vue';
|
|
4
|
-
import { DependKeyType, FormCommonState } from '../../../../../es/packages/form-render';
|
|
4
|
+
import { DependKeyType, FormCommonState, FormRequestType } from '../../../../../es/packages/form-render';
|
|
5
5
|
declare type FieldBusinessType = 'password' | 'id_card' | 'age' | 'age_unit' | 'mobile' | 'telephone' | 'email' | 'sex' | 'birthday' | 'bank_card' | 'website' | 'gestational_weeks' | 'gestational_stage' | 'customer_name';
|
|
6
6
|
export declare type ValidateItem = Partial<{
|
|
7
7
|
/**
|
|
@@ -36,6 +36,15 @@ interface FormRendererPayload {
|
|
|
36
36
|
export interface FormRenderer {
|
|
37
37
|
(payload: FormRendererPayload): ArrayAble<VNode> | any;
|
|
38
38
|
}
|
|
39
|
+
export declare type UrlConfig = {
|
|
40
|
+
url: string;
|
|
41
|
+
} & Partial<{
|
|
42
|
+
method?: FormRequestType;
|
|
43
|
+
nameKey?: string;
|
|
44
|
+
valueKey?: string;
|
|
45
|
+
params?: AnyObject;
|
|
46
|
+
dependKey?: DependKeyType;
|
|
47
|
+
}>;
|
|
39
48
|
interface SwitchProperty {
|
|
40
49
|
value?: any;
|
|
41
50
|
describe?: string;
|
|
@@ -141,17 +150,7 @@ export declare type FieldItem = {
|
|
|
141
150
|
* slider控件间距
|
|
142
151
|
*/
|
|
143
152
|
step_length: string | number;
|
|
144
|
-
urlConfig:
|
|
145
|
-
url: string;
|
|
146
|
-
method: 'post' | 'get' | 'put' | 'patch' | 'delete';
|
|
147
|
-
/**
|
|
148
|
-
* 请求参数依赖关系
|
|
149
|
-
*/
|
|
150
|
-
dependKey: DependKeyType;
|
|
151
|
-
params: AnyObject;
|
|
152
|
-
nameKey: string;
|
|
153
|
-
valueKey: string;
|
|
154
|
-
}>;
|
|
153
|
+
urlConfig: UrlConfig;
|
|
155
154
|
/**
|
|
156
155
|
* 控件组
|
|
157
156
|
*/
|
|
@@ -172,6 +171,10 @@ export declare type FieldItem = {
|
|
|
172
171
|
* COMBINATION控件最大表单组数量
|
|
173
172
|
*/
|
|
174
173
|
maxGroupNum: number;
|
|
174
|
+
/**
|
|
175
|
+
* COMBINATION json format
|
|
176
|
+
*/
|
|
177
|
+
jsonCombination: boolean;
|
|
175
178
|
/**
|
|
176
179
|
* COMBINATION控件子项
|
|
177
180
|
*/
|
|
@@ -25,7 +25,7 @@ export declare type FormAsyncQueue = AsyncQueue<FormAsyncQueueItem, any, AnyObje
|
|
|
25
25
|
export declare type AgeContext = Record<'age' | 'day' | 'month' | 'year', number>;
|
|
26
26
|
export declare type IdCardParseInfo = Record<'sex' | 'birthday', string> & AgeContext;
|
|
27
27
|
export declare type FormRenderExpose = {
|
|
28
|
-
validate(path?: string): Promise<
|
|
28
|
+
validate(path?: string): Promise<unknown>;
|
|
29
29
|
getFormValues(): AnyObject;
|
|
30
30
|
setFieldState(path: string, setter: (field: Field) => void): void;
|
|
31
31
|
resetFields(path?: string): void;
|
|
@@ -43,7 +43,7 @@ export declare type FormChangePayload = {
|
|
|
43
43
|
fieldKey: string;
|
|
44
44
|
fieldName: string;
|
|
45
45
|
fieldInstance: DataField;
|
|
46
|
-
context
|
|
46
|
+
context?: FormChangeContext;
|
|
47
47
|
};
|
|
48
48
|
export declare type DependKeyType = string | Record<string, string> | Array<{
|
|
49
49
|
paramName: string;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { inject, provide, computed, createVNode, Fragment } from 'vue';
|
|
2
|
+
import { Path } from '@formily/path';
|
|
2
3
|
import { isObject } from '@vue/shared';
|
|
3
4
|
import { isNumber, isString, isFunction } from 'lodash-es';
|
|
4
5
|
export { isIdCard, isMobile, parseAge2Birthday, parseAge2FromContext, parseBirthday, parseIdCard, transformDateFormat } from './business.js';
|
|
5
6
|
export { queryDecorator, queryInput } from './dom.js';
|
|
6
|
-
export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema } from './schema.js';
|
|
7
|
+
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema } from './schema.js';
|
|
7
8
|
|
|
8
9
|
function formRenderLog(message, type = "log") {
|
|
9
10
|
console[type](`[FormRender]: ${message}`);
|
|
@@ -19,7 +20,7 @@ function mergeDeepProperties(target, fieldList, traverseProperties = ["children"
|
|
|
19
20
|
if (!isObject(field))
|
|
20
21
|
return;
|
|
21
22
|
if (targetPropertyFor(field) != null && _target[propertyFor(field)] == null) {
|
|
22
|
-
_target
|
|
23
|
+
Path.setIn(_target, propertyFor(field), targetPropertyFor(field));
|
|
23
24
|
}
|
|
24
25
|
traverseProperties.forEach((p) => {
|
|
25
26
|
if (!field[p])
|
|
@@ -14,3 +14,63 @@ export declare function assignUpdateValue(props: AnyObject, field: GeneralField)
|
|
|
14
14
|
[x: string]: any;
|
|
15
15
|
};
|
|
16
16
|
export declare function traverseFieldList(fieldList: FieldItem[], handler: (field: FieldItem) => void): void;
|
|
17
|
+
export declare function createObjSchema(properties: Record<string, ISchema>): {
|
|
18
|
+
type: string;
|
|
19
|
+
properties: Record<string, import("@formily/json-schema/esm/types").Stringify<{
|
|
20
|
+
[key: symbol]: any;
|
|
21
|
+
[key: `x-${string}`]: any;
|
|
22
|
+
[key: `x-${number}`]: any;
|
|
23
|
+
version?: string | undefined;
|
|
24
|
+
name?: import("@formily/json-schema/esm/types").SchemaKey | undefined;
|
|
25
|
+
title?: any;
|
|
26
|
+
description?: any;
|
|
27
|
+
default?: any;
|
|
28
|
+
readOnly?: boolean | undefined;
|
|
29
|
+
writeOnly?: boolean | undefined;
|
|
30
|
+
type?: import("@formily/json-schema/esm/types").SchemaTypes | undefined;
|
|
31
|
+
enum?: import("@formily/json-schema/esm/types").SchemaEnum<any> | undefined;
|
|
32
|
+
const?: any;
|
|
33
|
+
multipleOf?: number | undefined;
|
|
34
|
+
maximum?: number | undefined;
|
|
35
|
+
exclusiveMaximum?: number | undefined;
|
|
36
|
+
minimum?: number | undefined;
|
|
37
|
+
exclusiveMinimum?: number | undefined;
|
|
38
|
+
maxLength?: number | undefined;
|
|
39
|
+
minLength?: number | undefined;
|
|
40
|
+
pattern?: string | RegExp | undefined;
|
|
41
|
+
maxItems?: number | undefined;
|
|
42
|
+
minItems?: number | undefined;
|
|
43
|
+
uniqueItems?: boolean | undefined;
|
|
44
|
+
maxProperties?: number | undefined;
|
|
45
|
+
minProperties?: number | undefined;
|
|
46
|
+
required?: string | boolean | string[] | undefined;
|
|
47
|
+
format?: string | undefined;
|
|
48
|
+
$ref?: string | undefined;
|
|
49
|
+
$namespace?: string | undefined;
|
|
50
|
+
definitions?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
51
|
+
properties?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
52
|
+
items?: import("@formily/json-schema/esm/types").SchemaItems<any, any, any, any, any, any, any, any> | undefined;
|
|
53
|
+
additionalItems?: import("@formily/json-schema/esm/types").Stringify<any> | undefined;
|
|
54
|
+
patternProperties?: import("@formily/json-schema/esm/types").SchemaProperties<any, any, any, any, any, any, any, any> | undefined;
|
|
55
|
+
additionalProperties?: import("@formily/json-schema/esm/types").Stringify<any> | undefined;
|
|
56
|
+
"x-value"?: any;
|
|
57
|
+
"x-index"?: number | undefined;
|
|
58
|
+
"x-pattern"?: any;
|
|
59
|
+
"x-display"?: any;
|
|
60
|
+
"x-validator"?: any;
|
|
61
|
+
"x-decorator"?: any;
|
|
62
|
+
"x-decorator-props"?: any;
|
|
63
|
+
"x-component"?: any;
|
|
64
|
+
"x-component-props"?: any;
|
|
65
|
+
"x-reactions"?: import("@formily/json-schema/esm/types").SchemaReactions<any> | undefined;
|
|
66
|
+
"x-content"?: any;
|
|
67
|
+
"x-data"?: any;
|
|
68
|
+
"x-visible"?: boolean | undefined;
|
|
69
|
+
"x-hidden"?: boolean | undefined;
|
|
70
|
+
"x-disabled"?: boolean | undefined;
|
|
71
|
+
"x-editable"?: boolean | undefined;
|
|
72
|
+
"x-read-only"?: boolean | undefined;
|
|
73
|
+
"x-read-pretty"?: boolean | undefined;
|
|
74
|
+
"x-compile-omitted"?: string[] | undefined;
|
|
75
|
+
}>>;
|
|
76
|
+
};
|
|
@@ -14,7 +14,7 @@ function fieldKeyEscape(fieldList) {
|
|
|
14
14
|
return fieldList.map((f) => f.val_key).join("-").replace(/[.]/g, "_");
|
|
15
15
|
}
|
|
16
16
|
function elementIdEscape(id) {
|
|
17
|
-
return id.replace(
|
|
17
|
+
return id.replace(/[.]/g, "-");
|
|
18
18
|
}
|
|
19
19
|
function createLinebarId(id) {
|
|
20
20
|
return elementIdEscape(`id-${id}`);
|
|
@@ -90,5 +90,8 @@ function traverseFieldList(fieldList, handler) {
|
|
|
90
90
|
}
|
|
91
91
|
traverse(fieldList);
|
|
92
92
|
}
|
|
93
|
+
function createObjSchema(properties) {
|
|
94
|
+
return { type: "object", properties };
|
|
95
|
+
}
|
|
93
96
|
|
|
94
|
-
export { assignUpdateValue, createLinebarId, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema };
|
|
97
|
+
export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema };
|
|
@@ -105,6 +105,10 @@
|
|
|
105
105
|
padding: 0;
|
|
106
106
|
margin: 0;
|
|
107
107
|
}
|
|
108
|
+
.form-render__combinationHeader .n-button__icon {
|
|
109
|
+
font-size: 14px;
|
|
110
|
+
margin: 0 2px 0 0;
|
|
111
|
+
}
|
|
108
112
|
.form-render__combinationHeaderText {
|
|
109
113
|
font-size: 16px;
|
|
110
114
|
font-weight: 500;
|
|
@@ -115,18 +119,17 @@
|
|
|
115
119
|
top: 5px;
|
|
116
120
|
width: 14px;
|
|
117
121
|
height: 14px;
|
|
118
|
-
border-radius: 50%;
|
|
119
|
-
background: red;
|
|
120
|
-
cursor: pointer;
|
|
121
|
-
display: inline-flex;
|
|
122
|
-
align-items: center;
|
|
123
|
-
justify-content: center;
|
|
124
|
-
color: white;
|
|
125
|
-
vertical-align: middle;
|
|
126
122
|
font-size: 16px;
|
|
127
123
|
}
|
|
124
|
+
.form-render__combinationContentJson {
|
|
125
|
+
position: relative;
|
|
126
|
+
}
|
|
128
127
|
.form-render__combinationContent {
|
|
129
128
|
position: relative;
|
|
129
|
+
display: grid !important;
|
|
130
|
+
grid-template-columns: repeat(var(--column), minmax(0px, 1fr));
|
|
131
|
+
align-items: start;
|
|
132
|
+
gap: 0 16px;
|
|
130
133
|
}
|
|
131
134
|
.form-render__complex {
|
|
132
135
|
width: 100%;
|
package/es/packages/index.css
CHANGED
|
@@ -2926,6 +2926,10 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
2926
2926
|
padding: 0;
|
|
2927
2927
|
margin: 0;
|
|
2928
2928
|
}
|
|
2929
|
+
.form-render__combinationHeader .n-button__icon {
|
|
2930
|
+
font-size: 14px;
|
|
2931
|
+
margin: 0 2px 0 0;
|
|
2932
|
+
}
|
|
2929
2933
|
.form-render__combinationHeaderText {
|
|
2930
2934
|
font-size: 16px;
|
|
2931
2935
|
font-weight: 500;
|
|
@@ -2936,18 +2940,17 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
2936
2940
|
top: 5px;
|
|
2937
2941
|
width: 14px;
|
|
2938
2942
|
height: 14px;
|
|
2939
|
-
border-radius: 50%;
|
|
2940
|
-
background: red;
|
|
2941
|
-
cursor: pointer;
|
|
2942
|
-
display: inline-flex;
|
|
2943
|
-
align-items: center;
|
|
2944
|
-
justify-content: center;
|
|
2945
|
-
color: white;
|
|
2946
|
-
vertical-align: middle;
|
|
2947
2943
|
font-size: 16px;
|
|
2948
2944
|
}
|
|
2945
|
+
.form-render__combinationContentJson {
|
|
2946
|
+
position: relative;
|
|
2947
|
+
}
|
|
2949
2948
|
.form-render__combinationContent {
|
|
2950
2949
|
position: relative;
|
|
2950
|
+
display: grid !important;
|
|
2951
|
+
grid-template-columns: repeat(var(--column), minmax(0px, 1fr));
|
|
2952
|
+
align-items: start;
|
|
2953
|
+
gap: 0 16px;
|
|
2951
2954
|
}
|
|
2952
2955
|
.form-render__complex {
|
|
2953
2956
|
width: 100%;
|
|
@@ -3184,6 +3187,7 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3184
3187
|
.form-config__material {
|
|
3185
3188
|
padding: 16px;
|
|
3186
3189
|
box-sizing: border-box;
|
|
3190
|
+
flex-shrink: 0;
|
|
3187
3191
|
width: 200px;
|
|
3188
3192
|
background: white;
|
|
3189
3193
|
}
|
|
@@ -3194,8 +3198,12 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3194
3198
|
height: 40px;
|
|
3195
3199
|
}
|
|
3196
3200
|
.form-config__materialContent {
|
|
3197
|
-
padding:
|
|
3198
|
-
|
|
3201
|
+
padding: 16px;
|
|
3202
|
+
box-sizing: border-box;
|
|
3203
|
+
flex-shrink: 0;
|
|
3204
|
+
overflow-y: auto;
|
|
3205
|
+
max-height: var(--max-height);
|
|
3206
|
+
min-height: 200px;
|
|
3199
3207
|
display: flex;
|
|
3200
3208
|
flex-direction: column;
|
|
3201
3209
|
gap: 8px;
|
|
@@ -3212,6 +3220,8 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3212
3220
|
.form-config__displayWrapper {
|
|
3213
3221
|
padding: 16px;
|
|
3214
3222
|
box-sizing: border-box;
|
|
3223
|
+
flex-shrink: 0;
|
|
3224
|
+
min-width: 400px;
|
|
3215
3225
|
flex: 1;
|
|
3216
3226
|
padding: 16px 0;
|
|
3217
3227
|
}
|
|
@@ -3224,6 +3234,9 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3224
3234
|
.form-config__displayContent {
|
|
3225
3235
|
padding: 16px;
|
|
3226
3236
|
box-sizing: border-box;
|
|
3237
|
+
flex-shrink: 0;
|
|
3238
|
+
overflow-y: auto;
|
|
3239
|
+
max-height: var(--max-height);
|
|
3227
3240
|
height: fit-content;
|
|
3228
3241
|
background: #eeeeee;
|
|
3229
3242
|
display: grid !important;
|
|
@@ -3237,9 +3250,23 @@ body > .vxe-table--tooltip-wrapper {
|
|
|
3237
3250
|
.form-config__config {
|
|
3238
3251
|
padding: 16px;
|
|
3239
3252
|
box-sizing: border-box;
|
|
3240
|
-
|
|
3253
|
+
flex-shrink: 0;
|
|
3254
|
+
width: 240px;
|
|
3241
3255
|
background: white;
|
|
3242
3256
|
}
|
|
3257
|
+
.form-config__configHeader {
|
|
3258
|
+
display: flex;
|
|
3259
|
+
align-items: center;
|
|
3260
|
+
justify-content: space-between;
|
|
3261
|
+
height: 40px;
|
|
3262
|
+
}
|
|
3263
|
+
.form-config__configContent {
|
|
3264
|
+
padding: 16px;
|
|
3265
|
+
box-sizing: border-box;
|
|
3266
|
+
flex-shrink: 0;
|
|
3267
|
+
overflow-y: auto;
|
|
3268
|
+
max-height: var(--max-height);
|
|
3269
|
+
}
|
|
3243
3270
|
.form-config__renderer--default {
|
|
3244
3271
|
display: flex;
|
|
3245
3272
|
align-items: center;
|
package/es/packages/index.js
CHANGED
|
@@ -51,7 +51,6 @@ export { useFormValidator } from './form-render/src/hooks/useFormValidator.js';
|
|
|
51
51
|
export { BusinessCollector, useBusinessBinding } from './form-render/src/hooks/useBusinessBinding.js';
|
|
52
52
|
export { ContextCollector, useChangeContext } from './form-render/src/hooks/useChangeContext.js';
|
|
53
53
|
export { FormItemDepsCollector, useFormItemDeps } from './form-render/src/hooks/useFormItemDeps.js';
|
|
54
|
-
export { useInitialData } from './form-render/src/hooks/useInitialData.js';
|
|
55
54
|
export { useAnchor } from './form-render/src/hooks/useAnchor.js';
|
|
56
55
|
export { useFormContext } from './form-render/src/hooks/useFormContext.js';
|
|
57
56
|
export { GlobalShortcutProvider, ShortcutManager, useShortcuts } from './shortcut-provider/src/hooks/useShortcuts.js';
|
|
@@ -88,6 +88,7 @@ class ShortcutManager {
|
|
|
88
88
|
const callback = this.shortcutCallbackMap.get(keySignature);
|
|
89
89
|
if (!callback)
|
|
90
90
|
return;
|
|
91
|
+
event.preventDefault();
|
|
91
92
|
const shortcutItem = Object.values(this.shortcutCache.value).find((item) => item.currentKeySignature === keySignature);
|
|
92
93
|
if (!shortcutItem || shortcutItem.status !== ShortcutStatus.ACTIVE || shortcutItem.disabled)
|
|
93
94
|
return;
|
|
@@ -106,22 +106,23 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
106
106
|
date_format?: string | undefined;
|
|
107
107
|
step_length?: string | number | undefined;
|
|
108
108
|
urlConfig?: {
|
|
109
|
-
url
|
|
110
|
-
method?: "
|
|
109
|
+
url: string;
|
|
110
|
+
method?: import("..").FormRequestType | undefined;
|
|
111
|
+
nameKey?: string | undefined;
|
|
112
|
+
valueKey?: string | undefined;
|
|
113
|
+
params?: import("../../../es/src/types").AnyObject | undefined;
|
|
111
114
|
dependKey?: string | Record<string, string> | (string | {
|
|
112
115
|
paramName: string;
|
|
113
116
|
paramValue?: string | undefined;
|
|
114
117
|
required?: boolean | undefined;
|
|
115
118
|
})[] | undefined;
|
|
116
|
-
params?: import("../../../es/src/types").AnyObject | undefined;
|
|
117
|
-
nameKey?: string | undefined;
|
|
118
|
-
valueKey?: string | undefined;
|
|
119
119
|
} | undefined;
|
|
120
120
|
suffixConfig?: any | any[] | undefined;
|
|
121
121
|
fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
|
|
122
122
|
content?: string | import("..").FormRenderer | Record<string, import("..").FormRenderer> | undefined;
|
|
123
123
|
lazyRequest?: boolean | undefined;
|
|
124
124
|
maxGroupNum?: number | undefined;
|
|
125
|
+
jsonCombination?: boolean | undefined;
|
|
125
126
|
children?: any[] | undefined;
|
|
126
127
|
properties?: any[] | undefined;
|
|
127
128
|
componentProps?: import("../../../es/src/types").AnyObject | undefined;
|
|
@@ -1931,7 +1932,9 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
1931
1932
|
}>>;
|
|
1932
1933
|
emit: (event: "formChange", ...args: any[]) => void;
|
|
1933
1934
|
nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
|
|
1934
|
-
formModel: import("@formily/core").Form<
|
|
1935
|
+
formModel: import("@formily/core").Form<{
|
|
1936
|
+
[x: string]: any;
|
|
1937
|
+
}>;
|
|
1935
1938
|
SchemaField: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
|
|
1936
1939
|
businessCollector: import("..").BusinessCollector;
|
|
1937
1940
|
formItemDepsCollector: import("..").FormItemDepsCollector;
|
|
@@ -108,22 +108,23 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
108
108
|
date_format?: string | undefined;
|
|
109
109
|
step_length?: string | number | undefined;
|
|
110
110
|
urlConfig?: {
|
|
111
|
-
url
|
|
112
|
-
method?: "
|
|
111
|
+
url: string;
|
|
112
|
+
method?: import("../../../../es/packages/form-render").FormRequestType | undefined;
|
|
113
|
+
nameKey?: string | undefined;
|
|
114
|
+
valueKey?: string | undefined;
|
|
115
|
+
params?: import("../../../../es/src/types").AnyObject | undefined;
|
|
113
116
|
dependKey?: string | Record<string, string> | (string | {
|
|
114
117
|
paramName: string;
|
|
115
118
|
paramValue?: string | undefined;
|
|
116
119
|
required?: boolean | undefined;
|
|
117
120
|
})[] | undefined;
|
|
118
|
-
params?: import("../../../../es/src/types").AnyObject | undefined;
|
|
119
|
-
nameKey?: string | undefined;
|
|
120
|
-
valueKey?: string | undefined;
|
|
121
121
|
} | undefined;
|
|
122
122
|
suffixConfig?: any | any[] | undefined;
|
|
123
123
|
fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
|
|
124
124
|
content?: string | import("../../../../es/packages/form-render").FormRenderer | Record<string, import("../../../../es/packages/form-render").FormRenderer> | undefined;
|
|
125
125
|
lazyRequest?: boolean | undefined;
|
|
126
126
|
maxGroupNum?: number | undefined;
|
|
127
|
+
jsonCombination?: boolean | undefined;
|
|
127
128
|
children?: any[] | undefined;
|
|
128
129
|
properties?: any[] | undefined;
|
|
129
130
|
componentProps?: import("../../../../es/src/types").AnyObject | undefined;
|
|
@@ -1933,7 +1934,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1933
1934
|
}>>;
|
|
1934
1935
|
emit: (event: "formChange", ...args: any[]) => void;
|
|
1935
1936
|
nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
|
|
1936
|
-
formModel: import("@formily/core").Form<
|
|
1937
|
+
formModel: import("@formily/core").Form<{
|
|
1938
|
+
[x: string]: any;
|
|
1939
|
+
}>;
|
|
1937
1940
|
SchemaField: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
|
|
1938
1941
|
businessCollector: import("../../../../es/packages/form-render").BusinessCollector;
|
|
1939
1942
|
formItemDepsCollector: import("../../../../es/packages/form-render").FormItemDepsCollector;
|
package/es/src/utils/index.d.ts
CHANGED