@blueking/bkui-form 0.0.42 → 0.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/vue2/common/FieldGroupWrap.d.ts +4 -3
- package/dist/adapter/vue2/field/ArrayField.d.ts +3 -3
- package/dist/adapter/vue2/field/BooleanField.d.ts +3 -3
- package/dist/adapter/vue2/field/CompositionField.d.ts +3 -3
- package/dist/adapter/vue2/field/NumberField.d.ts +3 -3
- package/dist/adapter/vue2/field/ObjectField.d.ts +1 -1
- package/dist/adapter/vue2/field/SchemaField.d.ts +1 -1
- package/dist/adapter/vue2/field/StringField.d.ts +3 -3
- package/dist/adapter/vue2/widget/ArrayWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/ButtonWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/CheckboxWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/CollapseGroupWidget.d.ts +2 -1
- package/dist/adapter/vue2/widget/ColorPickerWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/InputWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/KeyValueArrayWidget.d.ts +3 -3
- package/dist/adapter/vue2/widget/RadioWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/SelectWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/SwitchWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/TabGroupWidget.d.ts +1 -1
- package/dist/adapter/vue2/widget/TableWidget.d.ts +3 -3
- package/dist/adapter/vue2/widget/UploadWidget.d.ts +14 -0
- package/dist/adapter/vue2/widget/Widget.d.ts +1 -1
- package/dist/bkui-form-es-min.js +3 -3
- package/dist/bkui-form-es.js +490 -262
- package/dist/bkui-form-es.js.map +1 -1
- package/dist/bkui-form-umd-min.js +3 -3
- package/dist/bkui-form-umd.js +490 -262
- package/dist/bkui-form-umd.js.map +1 -1
- package/dist/bkui-form.css +58 -3
- package/dist/controller/form-vue2.d.ts +9 -6
- package/dist/controller/props.d.ts +4 -0
- package/dist/core/expression.d.ts +3 -1
- package/dist/core/reaction.d.ts +2 -1
- package/dist/core/validator.d.ts +6 -5
- package/dist/core/widgetTree.d.ts +1 -2
- package/dist/types/bkui-form.d.ts +50 -8
- package/dist/util/index.d.ts +5 -1
- package/package.json +6 -6
package/dist/bkui-form.css
CHANGED
|
@@ -80,8 +80,24 @@
|
|
|
80
80
|
font-size: 14px;
|
|
81
81
|
font-weight: 600;
|
|
82
82
|
color: #63656E;
|
|
83
|
+
position: relative;
|
|
84
|
+
}
|
|
85
|
+
.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.is-required:after {
|
|
86
|
+
height: 8px;
|
|
87
|
+
line-height: 1;
|
|
88
|
+
content: "*";
|
|
89
|
+
color: #ea3636;
|
|
90
|
+
font-size: 12px;
|
|
91
|
+
position: absolute;
|
|
92
|
+
display: inline-block;
|
|
93
|
+
vertical-align: middle;
|
|
94
|
+
top: 50%;
|
|
95
|
+
transform: translate(3px, -50%);
|
|
96
|
+
}
|
|
97
|
+
.bk-schema-form .bk-schema-form-group .group-has-desc{
|
|
98
|
+
border-bottom: 1px dashed #979ba5;
|
|
99
|
+
cursor: pointer;
|
|
83
100
|
}
|
|
84
|
-
|
|
85
101
|
.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.default {
|
|
86
102
|
display: inline-block;
|
|
87
103
|
margin-bottom: 10px;
|
|
@@ -104,12 +120,12 @@
|
|
|
104
120
|
margin: 0 -24px 8px -24px;
|
|
105
121
|
}
|
|
106
122
|
|
|
107
|
-
.bk-schema-form .bk-collapse-item .bk-collapse-item-header {
|
|
123
|
+
.bk-schema-form .bk-collapse.normal .bk-collapse-item .bk-collapse-item-header {
|
|
108
124
|
height: 54px;
|
|
109
125
|
padding: 0;
|
|
110
126
|
}
|
|
111
127
|
|
|
112
|
-
.bk-schema-form .bk-collapse-item .bk-collapse-item-content {
|
|
128
|
+
.bk-schema-form .bk-collapse.normal .bk-collapse-item .bk-collapse-item-content {
|
|
113
129
|
background: #f5f7fa;
|
|
114
130
|
padding: 0 34px 16px 34px;
|
|
115
131
|
}
|
|
@@ -120,6 +136,36 @@
|
|
|
120
136
|
cursor: pointer;
|
|
121
137
|
display: flex;
|
|
122
138
|
align-items: center;
|
|
139
|
+
font-size: 12px;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.bk-schema-form .bk-schema-form-group-add.large {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
justify-content: center;
|
|
146
|
+
height: 32px;
|
|
147
|
+
flex: 1;
|
|
148
|
+
border: 1px dashed #3a84ff;
|
|
149
|
+
border-radius: 2px;
|
|
150
|
+
color: #3a84ff;
|
|
151
|
+
cursor: pointer;
|
|
152
|
+
text-align: center;
|
|
153
|
+
}
|
|
154
|
+
.bk-schema-form .bk-schema-form-group-add.large.error {
|
|
155
|
+
border: 1px dashed #f5222d;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.bk-schema-form .bk-schema-form-group-add.disabled {
|
|
159
|
+
color: #c4c6cc;
|
|
160
|
+
cursor: not-allowed;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.bk-schema-form .bk-schema-form-group-add.large.disabled {
|
|
164
|
+
border: 1px dashed #c4c6cc;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.bk-schema-form .bk-schema-form-group-add.readonly {
|
|
168
|
+
color: #c4c6cc;
|
|
123
169
|
}
|
|
124
170
|
|
|
125
171
|
.bk-schema-form .bk-schema-form-group-delete {
|
|
@@ -128,6 +174,15 @@
|
|
|
128
174
|
color: #979bA5;
|
|
129
175
|
}
|
|
130
176
|
|
|
177
|
+
.bk-schema-form .bk-schema-form-group-delete.disabled {
|
|
178
|
+
color: #c4c6cc;
|
|
179
|
+
cursor: not-allowed;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.bk-schema-form .bk-schema-form-group-delete.readonly {
|
|
183
|
+
color: #c4c6cc;
|
|
184
|
+
}
|
|
185
|
+
|
|
131
186
|
.bk-schema-form .bk-schema-form-group-delete:hover {
|
|
132
187
|
color: #3a84ff;
|
|
133
188
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { IFormOption } from '@/@types';
|
|
2
2
|
import Vue from 'vue';
|
|
3
3
|
import './form-vue2.css';
|
|
4
|
-
|
|
4
|
+
import { WidgetTree } from '@/core/widgetTree';
|
|
5
|
+
export default function createForm<T>(opts?: Partial<IFormOption<T>>): import("vue/types/vue").ExtendedVue<Vue<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
5
6
|
rootData: {};
|
|
6
7
|
formKey: string;
|
|
8
|
+
widgetTree: WidgetTree;
|
|
7
9
|
}, {
|
|
8
10
|
initFormData(): void;
|
|
9
11
|
emitFormValueChange(newValue: any, oldValue: any): void;
|
|
10
|
-
validateForm
|
|
11
|
-
validateFormItem
|
|
12
|
-
validate
|
|
12
|
+
validateForm(): boolean;
|
|
13
|
+
validateFormItem(path: string): import("@/@types").IValidateResult;
|
|
14
|
+
validate(): Promise<import("@/@types").IValidateResult[]>;
|
|
13
15
|
validateSchema: (schema: import("ajv").AnySchema) => Promise<unknown>;
|
|
14
16
|
}, unknown, {
|
|
15
17
|
value: any;
|
|
@@ -21,6 +23,7 @@ export default function createForm<T>(opts?: Partial<IFormOption<T>>): import("v
|
|
|
21
23
|
context: any;
|
|
22
24
|
httpAdapter: any;
|
|
23
25
|
readonly: boolean;
|
|
24
|
-
|
|
26
|
+
disabled: boolean;
|
|
27
|
+
readonlyMode: string;
|
|
25
28
|
labelWidth: number;
|
|
26
|
-
}>;
|
|
29
|
+
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
@@ -7,7 +7,9 @@ export declare const getContext: (instance: any) => {
|
|
|
7
7
|
$validate: any;
|
|
8
8
|
$rootData: any;
|
|
9
9
|
$widgetNode: any;
|
|
10
|
+
$getValue: any;
|
|
11
|
+
$getCookie: (name: string) => string | null;
|
|
10
12
|
};
|
|
11
|
-
export declare const executeExpression: (expression: string | object, instance: Vue, $dep?: Array<Vue
|
|
13
|
+
export declare const executeExpression: (expression: string | object, instance: Vue, $dep?: Array<Vue>, $args?: {}) => any;
|
|
12
14
|
export declare const parseStrTemplate: (expression: string) => any;
|
|
13
15
|
export declare const isExpression: (expression: any) => boolean;
|
package/dist/core/reaction.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IReaction } from '../@types';
|
|
2
|
-
|
|
2
|
+
import { WidgetTree } from './widgetTree';
|
|
3
|
+
export declare const reactionRegister: (path: string, reactions: IReaction[] | undefined, widgetTree: WidgetTree) => void;
|
|
3
4
|
export declare const reactionUnRegister: (path: string) => void;
|
|
4
5
|
export declare const reactionDispatch: (path: string, typeName: string) => void;
|
package/dist/core/validator.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Ajv, { AnySchema } from 'ajv';
|
|
2
2
|
import { IRules, IValidateResult } from '@/@types';
|
|
3
|
+
import { WidgetTree } from './widgetTree';
|
|
3
4
|
export declare const ajv: Ajv;
|
|
4
5
|
export declare const DEFAULT_RULES: {
|
|
5
6
|
required: {
|
|
@@ -12,23 +13,23 @@ export declare const DEFAULT_RULES: {
|
|
|
12
13
|
* @param rules
|
|
13
14
|
*/
|
|
14
15
|
export declare const registryGlobalRules: (rules: IRules) => void;
|
|
15
|
-
export declare const setWidgetErrorTips: (path: string, isError: Boolean, errorMsg: any) => void;
|
|
16
|
+
export declare const setWidgetErrorTips: (path: string, isError: Boolean, errorMsg: any, widgetTree: WidgetTree) => void;
|
|
16
17
|
/**
|
|
17
18
|
* 校验单个表单项
|
|
18
19
|
* @param path 字段路径
|
|
19
20
|
*/
|
|
20
|
-
export declare const validateFormItem: (path: string) => IValidateResult;
|
|
21
|
+
export declare const validateFormItem: (path: string, widgetTree: WidgetTree) => IValidateResult;
|
|
21
22
|
/**
|
|
22
23
|
* 校验整个表单
|
|
23
24
|
*/
|
|
24
|
-
export declare const validateForm: () => boolean;
|
|
25
|
+
export declare const validateForm: (widgetTree: WidgetTree) => boolean;
|
|
25
26
|
/**
|
|
26
27
|
* 校验表单(抛出具体错误信息)
|
|
27
28
|
*/
|
|
28
|
-
export declare const validateFormWithResult: () => Promise<IValidateResult[]>;
|
|
29
|
+
export declare const validateFormWithResult: (widgetTree: WidgetTree) => Promise<IValidateResult[]>;
|
|
29
30
|
export declare const validateSchema: (schema: AnySchema) => Promise<unknown>;
|
|
30
31
|
/**
|
|
31
32
|
* 触发校验
|
|
32
33
|
* @param path 字段路径
|
|
33
34
|
*/
|
|
34
|
-
export declare const dispatchValidate: (path: string) => IValidateResult;
|
|
35
|
+
export declare const dispatchValidate: (path: string, widgetTree: WidgetTree) => IValidateResult;
|
|
@@ -36,5 +36,4 @@ export declare class WidgetTree {
|
|
|
36
36
|
addWidgetNode(path: string, instance: any, type: 'node' | 'group', index?: number): void;
|
|
37
37
|
removeWidgetNode(path: string, instance: any): void;
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
export default _default;
|
|
39
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as vue_types_vue from 'vue/types/vue';
|
|
2
|
+
import * as Vue from 'vue';
|
|
3
|
+
import Vue__default, { VNodeData } from 'vue';
|
|
2
4
|
import * as ajv from 'ajv';
|
|
3
5
|
import * as json_schema from 'json-schema';
|
|
4
6
|
import { JSONSchema6TypeName, JSONSchema7 } from 'json-schema';
|
|
5
|
-
import Vue, { VNodeData } from 'vue';
|
|
6
7
|
import styleInject from '../node_modules/style-inject/dist/style-inject.es.js';
|
|
7
8
|
|
|
8
9
|
type GlobalComponents = any;
|
|
@@ -31,18 +32,58 @@ interface IValidateResult {
|
|
|
31
32
|
path: string
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
var css_248z = ".bk-schema-form .mr24 {\n margin-right: 24px;\n}\n\n.bk-schema-form .bk-form-item {\n margin-top: unset !important;\n}\n\n.bk-schema-form .bk-form-item .bk-form-content .group-text {\n background-color: #f2f4f8;\n height: 100%;\n}\n\n.bk-schema-form .bk-form-item .bk-select {\n background-color: #fff;\n}\n\n.bk-schema-form .bk-form-item .bk-select.is-disabled {\n background-color: #fafbfd;\n}\n\n.bk-schema-form .bk-schema-form-group.normal {\n padding: 24px;\n position: relative;\n}\n\n.bk-schema-form .bk-schema-form-group.card{\n background: #fff;\n padding: 0 24px 24px 24px;\n border-radius: 2px;\n}\n\n.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content {\n row-gap: 0 !important;\n}\n\n.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content .bk-form-item {\n margin-bottom: 20px;\n}\n\n.bk-schema-form-group--error{\n border-color: #f5222d !important;\n}\n\n.bk-schema-form-group__error-tips{\n position: relative;\n display: block;\n width: 10px;\n height: 10px;\n}\n\n.bk-schema-form-group__error-tips-popover {\n position: absolute;\n top: -5px;\n left: 0;\n z-index: 1;\n background: #fff;\n border: 1px solid #f5222d;\n color: #f5222d;\n font-size: 12px;\n margin-left: 10px;\n font-weight: normal;\n padding: 5px 10px;\n border-radius: 2px;\n max-height: 50px;\n overflow:hidden;\n}\n\n.bk-schema-form-group__error-tips-popover:hover {\n max-height: unset;\n}\n\n.bk-schema-form-group__error-tips-popover > p {\n padding: 0;\n margin: 0;\n white-space: nowrap;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title {\n font-size: 14px;\n font-weight: 600;\n color: #63656E;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.default {\n display: inline-block;\n margin-bottom: 10px;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.normal {\n position: absolute;\n top: -1em;\n left: 10px;\n line-height: 2em;\n padding: 0 0.5em;\n background: #fff;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.card{\n display: flex;\n height: 50px;\n align-items: center;\n padding: 0 24px;\n margin: 0 -24px 8px -24px;\n}\n\n.bk-schema-form .bk-collapse-item .bk-collapse-item-header {\n height: 54px;\n padding: 0;\n}\n\n.bk-schema-form .bk-collapse-item .bk-collapse-item-content {\n background: #f5f7fa;\n padding: 0 34px 16px 34px;\n}\n\n.bk-schema-form .bk-schema-form-group-add {\n font-size: 14px;\n color: #3a84ff;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.bk-schema-form .bk-schema-form-group-delete {\n position: absolute;\n cursor: pointer;\n color: #979bA5;\n}\n\n.bk-schema-form .bk-schema-form-group-delete:hover {\n color: #3a84ff;\n}\n\n.bk-schema-form-item__error-tips {\n color: #f5222d;\n font-size: 12px;\n margin-top: 5px;\n margin: 0;\n line-height: 1.5em;\n}\n\n.bk-schema-form-item--error input,\n.bk-schema-form-item--error .bk-textarea-wrapper,\n.bk-schema-form-item--error .bk-select {\n border: 1px solid #f5222d;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-form-unit-input .bk-textarea-wrapper {\n min-height: 32px;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-form-unit-input textarea {\n min-height: 30px;\n}\n\n.bk-schema-form .bk-schema-form-item-auto-height .bk-form-content {\n min-height: auto;\n line-height: 1;\n}\n\n.bk-schema-form .table-widget-actions .action-btn {\n margin-right: 8px;\n font-size: 14px;\n cursor: pointer;\n}\n.bk-schema-form .table-widget-actions .action-btn:hover {\n color: #3a84ff;\n}\n.bk-schema-form .is-disabled .action-btn {\n color: #dcdee5 !important;\n cursor: not-allowed;\n}\n.bk-schema-form .bk-table-fixed-right {\n height: 100% !important;\n border-bottom: 1px solid #dfe0e5;\n}";
|
|
35
|
+
var css_248z = ".bk-schema-form .mr24 {\n margin-right: 24px;\n}\n\n.bk-schema-form .bk-form-item {\n margin-top: unset !important;\n}\n\n.bk-schema-form .bk-form-item .bk-form-content .group-text {\n background-color: #f2f4f8;\n height: 100%;\n}\n\n.bk-schema-form .bk-form-item .bk-select {\n background-color: #fff;\n}\n\n.bk-schema-form .bk-form-item .bk-select.is-disabled {\n background-color: #fafbfd;\n}\n\n.bk-schema-form .bk-schema-form-group.normal {\n padding: 24px;\n position: relative;\n}\n\n.bk-schema-form .bk-schema-form-group.card{\n background: #fff;\n padding: 0 24px 24px 24px;\n border-radius: 2px;\n}\n\n.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content {\n row-gap: 0 !important;\n}\n\n.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content .bk-form-item {\n margin-bottom: 20px;\n}\n\n.bk-schema-form-group--error{\n border-color: #f5222d !important;\n}\n\n.bk-schema-form-group__error-tips{\n position: relative;\n display: block;\n width: 10px;\n height: 10px;\n}\n\n.bk-schema-form-group__error-tips-popover {\n position: absolute;\n top: -5px;\n left: 0;\n z-index: 1;\n background: #fff;\n border: 1px solid #f5222d;\n color: #f5222d;\n font-size: 12px;\n margin-left: 10px;\n font-weight: normal;\n padding: 5px 10px;\n border-radius: 2px;\n max-height: 50px;\n overflow:hidden;\n}\n\n.bk-schema-form-group__error-tips-popover:hover {\n max-height: unset;\n}\n\n.bk-schema-form-group__error-tips-popover > p {\n padding: 0;\n margin: 0;\n white-space: nowrap;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title {\n font-size: 14px;\n font-weight: 600;\n color: #63656E;\n position: relative;\n}\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.is-required:after {\n height: 8px;\n line-height: 1;\n content: \"*\";\n color: #ea3636;\n font-size: 12px;\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n top: 50%;\n transform: translate(3px, -50%);\n}\n.bk-schema-form .bk-schema-form-group .group-has-desc{\n border-bottom: 1px dashed #979ba5;\n cursor: pointer;\n}\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.default {\n display: inline-block;\n margin-bottom: 10px;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.normal {\n position: absolute;\n top: -1em;\n left: 10px;\n line-height: 2em;\n padding: 0 0.5em;\n background: #fff;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.card{\n display: flex;\n height: 50px;\n align-items: center;\n padding: 0 24px;\n margin: 0 -24px 8px -24px;\n}\n\n.bk-schema-form .bk-collapse.normal .bk-collapse-item .bk-collapse-item-header {\n height: 54px;\n padding: 0;\n}\n\n.bk-schema-form .bk-collapse.normal .bk-collapse-item .bk-collapse-item-content {\n background: #f5f7fa;\n padding: 0 34px 16px 34px;\n}\n\n.bk-schema-form .bk-schema-form-group-add {\n font-size: 14px;\n color: #3a84ff;\n cursor: pointer;\n display: flex;\n align-items: center;\n font-size: 12px;\n}\n\n.bk-schema-form .bk-schema-form-group-add.large {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n flex: 1;\n border: 1px dashed #3a84ff;\n border-radius: 2px;\n color: #3a84ff;\n cursor: pointer;\n text-align: center;\n}\n.bk-schema-form .bk-schema-form-group-add.large.error {\n border: 1px dashed #f5222d;\n}\n\n.bk-schema-form .bk-schema-form-group-add.disabled {\n color: #c4c6cc;\n cursor: not-allowed;\n}\n\n.bk-schema-form .bk-schema-form-group-add.large.disabled {\n border: 1px dashed #c4c6cc;\n}\n\n.bk-schema-form .bk-schema-form-group-add.readonly {\n color: #c4c6cc;\n}\n\n.bk-schema-form .bk-schema-form-group-delete {\n position: absolute;\n cursor: pointer;\n color: #979bA5;\n}\n\n.bk-schema-form .bk-schema-form-group-delete.disabled {\n color: #c4c6cc;\n cursor: not-allowed;\n}\n\n.bk-schema-form .bk-schema-form-group-delete.readonly {\n color: #c4c6cc;\n}\n\n.bk-schema-form .bk-schema-form-group-delete:hover {\n color: #3a84ff;\n}\n\n.bk-schema-form-item__error-tips {\n color: #f5222d;\n font-size: 12px;\n margin-top: 5px;\n margin: 0;\n line-height: 1.5em;\n}\n\n.bk-schema-form-item--error input,\n.bk-schema-form-item--error .bk-textarea-wrapper,\n.bk-schema-form-item--error .bk-select {\n border: 1px solid #f5222d;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-form-unit-input .bk-textarea-wrapper {\n min-height: 32px;\n}\n\n.bk-schema-form .bk-schema-form-group .bk-form-unit-input textarea {\n min-height: 30px;\n}\n\n.bk-schema-form .bk-schema-form-item-auto-height .bk-form-content {\n min-height: auto;\n line-height: 1;\n}\n\n.bk-schema-form .table-widget-actions .action-btn {\n margin-right: 8px;\n font-size: 14px;\n cursor: pointer;\n}\n.bk-schema-form .table-widget-actions .action-btn:hover {\n color: #3a84ff;\n}\n.bk-schema-form .is-disabled .action-btn {\n color: #dcdee5 !important;\n cursor: not-allowed;\n}\n.bk-schema-form .bk-table-fixed-right {\n height: 100% !important;\n border-bottom: 1px solid #dfe0e5;\n}";
|
|
35
36
|
styleInject(css_248z);
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
interface INodeConfig {
|
|
39
|
+
id: string;
|
|
40
|
+
type: 'node' | 'group';
|
|
41
|
+
index?: number;
|
|
42
|
+
instance: any;
|
|
43
|
+
parent: WidgetNode | null;
|
|
44
|
+
children: WidgetNode[];
|
|
45
|
+
}
|
|
46
|
+
declare class WidgetNode {
|
|
47
|
+
id: string;
|
|
48
|
+
instance: any;
|
|
49
|
+
parent: WidgetNode | null;
|
|
50
|
+
type: 'node' | 'group';
|
|
51
|
+
index?: number;
|
|
52
|
+
children: WidgetNode[];
|
|
53
|
+
constructor(config: INodeConfig);
|
|
54
|
+
get value(): any;
|
|
55
|
+
get isChildrenVisible(): any;
|
|
56
|
+
/**
|
|
57
|
+
* 获取 parents
|
|
58
|
+
*/
|
|
59
|
+
get parents(): any[];
|
|
60
|
+
get firstChild(): WidgetNode;
|
|
61
|
+
get lastChild(): WidgetNode;
|
|
62
|
+
getSibling(lastProp: string): WidgetNode | undefined;
|
|
63
|
+
getSiblings(): WidgetNode[];
|
|
64
|
+
/**
|
|
65
|
+
* 是否是叶子节点
|
|
66
|
+
*/
|
|
67
|
+
get isLeaf(): boolean;
|
|
68
|
+
appendChild(node: WidgetNode): WidgetNode[] | (WidgetNode & any[]);
|
|
69
|
+
removeChild(node: WidgetNode): WidgetNode[] | (WidgetNode & any[]);
|
|
70
|
+
}
|
|
71
|
+
declare class WidgetTree {
|
|
72
|
+
widgetMap: Record<string, WidgetNode>;
|
|
73
|
+
addWidgetNode(path: string, instance: any, type: 'node' | 'group', index?: number): void;
|
|
74
|
+
removeWidgetNode(path: string, instance: any): void;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
declare function createForm<T>(opts?: Partial<IFormOption<T>>): vue_types_vue.ExtendedVue<Vue__default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue__default<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
38
78
|
rootData: {};
|
|
39
79
|
formKey: string;
|
|
80
|
+
widgetTree: WidgetTree;
|
|
40
81
|
}, {
|
|
41
82
|
initFormData(): void;
|
|
42
83
|
emitFormValueChange(newValue: any, oldValue: any): void;
|
|
43
|
-
validateForm
|
|
44
|
-
validateFormItem
|
|
45
|
-
validate
|
|
84
|
+
validateForm(): boolean;
|
|
85
|
+
validateFormItem(path: string): IValidateResult;
|
|
86
|
+
validate(): Promise<IValidateResult[]>;
|
|
46
87
|
validateSchema: (schema: ajv.AnySchema) => Promise<unknown>;
|
|
47
88
|
}, unknown, {
|
|
48
89
|
value: any;
|
|
@@ -54,9 +95,10 @@ declare function createForm<T>(opts?: Partial<IFormOption<T>>): vue_types_vue.Ex
|
|
|
54
95
|
context: any;
|
|
55
96
|
httpAdapter: any;
|
|
56
97
|
readonly: boolean;
|
|
57
|
-
|
|
98
|
+
disabled: boolean;
|
|
99
|
+
readonlyMode: string;
|
|
58
100
|
labelWidth: number;
|
|
59
|
-
}>;
|
|
101
|
+
}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin>;
|
|
60
102
|
|
|
61
103
|
declare class FormEvent {
|
|
62
104
|
callbacks: Record<string, Record<string, Array<Function>>>;
|
package/dist/util/index.d.ts
CHANGED
|
@@ -10,8 +10,12 @@ export declare function intersection(arr1: any, arr2: any): any;
|
|
|
10
10
|
export declare function gcd(a: any, b: any): any;
|
|
11
11
|
export declare function scm(a: any, b: any): number;
|
|
12
12
|
export declare function initializationValue(type: JSONSchema6TypeName, defaultInitValue?: Partial<Record<JSONSchema6TypeName, any>>): any;
|
|
13
|
-
|
|
13
|
+
type DeepPartial<T> = {
|
|
14
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
15
|
+
};
|
|
16
|
+
export declare function mergeDeep<T extends object>(target: Partial<T>, ...sources: DeepPartial<T>[]): T;
|
|
14
17
|
export declare function deepEquals(a: any, b: any, ca?: any[], cb?: any[]): any;
|
|
15
18
|
export declare function orderProperties(properties: any, order: any): string[];
|
|
16
19
|
export declare function upperFirstLetter(str: string): string;
|
|
17
20
|
export declare const getCookie: (name: any) => string | null;
|
|
21
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.44",
|
|
3
3
|
"main": "dist/bkui-form-umd-min.js",
|
|
4
4
|
"name": "@blueking/bkui-form",
|
|
5
5
|
"scripts": {
|
|
@@ -59,17 +59,17 @@
|
|
|
59
59
|
"ts-jest": "^27.1.1",
|
|
60
60
|
"ts-node": "^10.4.0",
|
|
61
61
|
"tslib": "^2.3.1",
|
|
62
|
-
"typescript": "^4.4.3"
|
|
63
|
-
"vue": "2.6.12",
|
|
64
|
-
"vue-template-compiler": "2.6.12"
|
|
62
|
+
"typescript": "^4.4.3"
|
|
65
63
|
},
|
|
66
64
|
"dependencies": {
|
|
67
65
|
"ajv": "^8.11.0",
|
|
68
66
|
"ajv-formats": "^2.1.1",
|
|
69
67
|
"ajv-i18n": "^4.2.0",
|
|
70
|
-
"bk-magic-vue": "2.
|
|
68
|
+
"bk-magic-vue": "2.5.10-beta.3",
|
|
71
69
|
"koa": "^2.7.0",
|
|
72
|
-
"koa-static": "^5.0.0"
|
|
70
|
+
"koa-static": "^5.0.0",
|
|
71
|
+
"vue": "^2.7.14",
|
|
72
|
+
"vue-template-compiler": "^2.7.14"
|
|
73
73
|
},
|
|
74
74
|
"engines": {
|
|
75
75
|
"node": ">= 12.16.3",
|