amis-editor-core 5.6.0-beta.0 → 5.6.2

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/lib/util.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import type { Schema } from 'amis';
2
3
  import { Diff } from 'deep-diff';
3
4
  declare const guid: any, omitControls: any, isObjectShallowModified: any, cloneObject: any, anyChanged: any, noop: any, makeHorizontalDeeper: any, isEmpty: any, eachTree: any, createObject: any;
@@ -11,12 +12,8 @@ export declare function cleanUndefined(obj: any): any;
11
12
  * 给每个节点加个 $$id 这样方便编辑
12
13
  * @param obj
13
14
  */
14
- export declare function JSONPipeIn(obj: any): any;
15
+ export declare function JSONPipeIn(obj: any, generateId?: boolean): any;
15
16
  export declare function JSONPipeOut(obj: any, filterHiddenProps?: boolean | ((key: string, prop: any) => boolean)): any;
16
- /**
17
- * 如果存在themeCss属性,则给对应的className加上name
18
- */
19
- export declare function addStyleClassName(obj: Schema): Schema;
20
17
  export declare function JSONGetByPath(json: any, paths: Array<string>, stacks?: Array<any>): any;
21
18
  export declare function JSONGetPathById(json: any, id: string, idKey?: string): Array<string> | null;
22
19
  export declare function JSONGetById(json: any, id: string, idKey?: string): any;
@@ -71,8 +68,9 @@ export declare function patchDiff(left: any, changes: Array<DiffChange> | undefi
71
68
  * 遍历 schema
72
69
  * @param json
73
70
  * @param mapper
71
+ * @param ignore
74
72
  */
75
- export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
73
+ export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any, ignore?: (value: any, key: string | number) => boolean | void): void;
76
74
  export type PanelSchemaObject = Schema;
77
75
  /**
78
76
  * 判断输入内容是否为数字格式
@@ -111,7 +109,7 @@ export declare function needDefaultWidth(elemType: string): boolean;
111
109
  /** 是否开启应用国际化 */
112
110
  export declare function getI18nEnabled(): any;
113
111
  /** schema 翻译方法 */
114
- export declare function translateSchema(schema: any, replaceData?: any): any;
112
+ export declare function translateSchema(schema: any, replaceData?: any, skipFn?: any): any;
115
113
  /** 应用级别的翻译方法 */
116
114
  export declare function appTranslate(value?: string): any;
117
115
  /**
@@ -119,8 +117,14 @@ export declare function appTranslate(value?: string): any;
119
117
  */
120
118
  export declare function needFillPlaceholder(curProps: any): boolean;
121
119
  export declare function setThemeConfig(config: any): void;
122
- export declare function setThemeDefaultData(data: any): any;
123
- export declare function deleteThemeConfigData(data: any): any;
120
+ export declare function getThemeConfig(): any;
121
+ /**
122
+ * 将style转换为组件ThemeCSS格式
123
+ *
124
+ * @param data - 组件schema
125
+ * @returns 处理后的数据
126
+ */
127
+ export declare function style2ThemeCss(data: any): any;
124
128
  /**
125
129
  * 从amis数据域中取变量数据
126
130
  * @param node
@@ -139,3 +143,21 @@ export declare function getVariables(that: any): Promise<any>;
139
143
  * @returns
140
144
  */
141
145
  export declare const updateComponentContext: (variables: any[]) => any[];
146
+ /**
147
+ * dom 滚动到可见区域
148
+ * @param selector dom 选择器
149
+ */
150
+ export declare const scrollToActive: import("lodash").DebouncedFunc<(selector: string) => void>;
151
+ /**
152
+ * 获取弹窗事件
153
+ * @param schema 遍历的schema
154
+ * @param listType 列表形式,弹窗list或label value形式的数据源
155
+ * @param filterId 要过滤弹窗的id
156
+ */
157
+ export declare const getDialogActions: (schema: Schema, listType: 'list' | 'source', filterId?: string) => any[];
158
+ /**
159
+ * 获取弹窗的类型,来源于事件或definitions,由于历史数据可能没有type: dialog,在这里兼容一下
160
+ * @param json
161
+ * @param previewDialogId
162
+ */
163
+ export declare const getFixDialogType: (json: Schema, dialogId: string) => any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis-editor-core",
3
- "version": "5.6.0-beta.0",
3
+ "version": "5.6.2",
4
4
  "description": "amis 可视化编辑器",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -67,7 +67,7 @@
67
67
  "@svgr/rollup": "^6.2.1",
68
68
  "@types/async": "^2.0.45",
69
69
  "@types/classnames": "^2.2.3",
70
- "@types/codemirror": "^5.60.5",
70
+ "@types/codemirror": "5.60.10",
71
71
  "@types/deep-diff": "^1.0.0",
72
72
  "@types/history": "^4.6.0",
73
73
  "@types/hoist-non-react-statics": "^3.0.1",
Binary file
Binary file
@@ -1,4 +0,0 @@
1
- /**
2
- * API数据源处理器
3
- */
4
- export {};
@@ -1,253 +0,0 @@
1
- /**
2
- * 数据源构造器,可用于对接当前amis中的扩展数据源
3
- */
4
- import type { ButtonSchema } from 'amis';
5
- import type { CRUD2Schema } from 'amis';
6
- import type { FormSchema, SchemaCollection, SchemaObject } from 'amis';
7
- import { EditorNodeType } from '../store/node';
8
- /**
9
- * 数据源所需操作,目前是因为schema从后端来
10
- */
11
- export declare enum DSBehavior {
12
- create = "create",
13
- view = "view",
14
- update = "update",
15
- table = "table",
16
- filter = "filter"
17
- }
18
- export interface DSField {
19
- value: string;
20
- label: string;
21
- [propKey: string]: any;
22
- }
23
- export interface DSFieldGroup {
24
- value: string;
25
- label: string;
26
- children: DSField[];
27
- [propKey: string]: any;
28
- }
29
- /**
30
- * 支持数据源配置的一些属性名
31
- */
32
- export declare enum DSGrain {
33
- entity = "entity",
34
- list = "list",
35
- piece = "piece"
36
- }
37
- export declare const DSFeature: {
38
- List: {
39
- value: string;
40
- label: string;
41
- };
42
- Insert: {
43
- value: string;
44
- label: string;
45
- };
46
- View: {
47
- value: string;
48
- label: string;
49
- };
50
- Edit: {
51
- value: string;
52
- label: string;
53
- };
54
- Delete: {
55
- value: string;
56
- label: string;
57
- };
58
- BulkEdit: {
59
- value: string;
60
- label: string;
61
- };
62
- BulkDelete: {
63
- value: string;
64
- label: string;
65
- };
66
- Import: {
67
- value: string;
68
- label: string;
69
- };
70
- Export: {
71
- value: string;
72
- label: string;
73
- };
74
- SimpleQuery: {
75
- value: string;
76
- label: string;
77
- };
78
- FuzzyQuery: {
79
- value: string;
80
- label: string;
81
- };
82
- AdvancedQuery: {
83
- value: string;
84
- label: string;
85
- };
86
- };
87
- export type DSFeatureType = keyof typeof DSFeature;
88
- export interface DSSourceSettingFormConfig {
89
- /** 数据源字段名 */
90
- name?: string;
91
- /** 数据源字段标题 */
92
- label?: string;
93
- /** 所需要配置的数据粒度 */
94
- grain?: DSGrain;
95
- /** 数据源所被使用的功能场景 */
96
- feat: DSFeatureType;
97
- /** 渲染器类型 */
98
- renderer?: string;
99
- /**
100
- * @deprecated 待废弃,使用renderer字段代替
101
- * 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置
102
- * */
103
- inCrud?: boolean;
104
- /** 是否在脚手架中 */
105
- inScaffold?: boolean;
106
- }
107
- /**
108
- * 数据源选择构造器
109
- */
110
- export declare abstract class DSBuilder {
111
- /**
112
- * 数据源名字,中文,可以覆盖同名
113
- */
114
- static type: string;
115
- name: string;
116
- order: number;
117
- /**
118
- * 数据源schema运行前转换
119
- */
120
- static schemaFilter?: (schema: any) => any;
121
- /**
122
- * 根据组件、属性名判断是否可以使用这个数据源
123
- */
124
- static accessable: (controlType: string, propKey: string) => boolean;
125
- features: Array<keyof typeof DSFeature>;
126
- /**
127
- * 根据值内容和schema配置状态,看是否是当前数据源
128
- */
129
- abstract match(value: any, schema?: SchemaObject): boolean;
130
- /**
131
- * 生成数据源的配置表单
132
- */
133
- abstract makeSourceSettingForm(config: DSSourceSettingFormConfig): SchemaObject[];
134
- abstract makeFieldsSettingForm(config: {
135
- /** 数据源字段名 */
136
- sourceKey?: string;
137
- feat: DSFeatureType;
138
- inCrud?: boolean;
139
- inScaffold?: boolean;
140
- /** 初次设置字段还是选择字段 */
141
- setting?: boolean;
142
- }): SchemaObject[];
143
- /**
144
- * 生成字段的筛选配置表单
145
- */
146
- abstract makeFieldFilterSetting(config: {
147
- /** 数据源字段名 */
148
- sourceKey: string;
149
- schema: any;
150
- fieldName: string;
151
- }): Promise<SchemaObject[]>;
152
- /**
153
- * 数据源schema生成
154
- */
155
- abstract resolveSourceSchema(config: {
156
- /** schema */
157
- schema: SchemaObject;
158
- /** 数据源配置结果 */
159
- setting: any;
160
- /** 数据源字段名 */
161
- name?: string;
162
- feat?: DSFeatureType;
163
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
164
- inCrud?: boolean;
165
- inScaffold?: boolean;
166
- }): void;
167
- /**
168
- * 数据删除schema生成
169
- */
170
- abstract resolveDeleteSchema(config: {
171
- schema: ButtonSchema;
172
- setting: any;
173
- feat: 'BulkDelete' | 'Delete';
174
- name?: string;
175
- }): any;
176
- /**
177
- * 生成数据创建表单schema
178
- */
179
- abstract resolveCreateSchema(config: {
180
- /** schema */
181
- schema: FormSchema;
182
- /** 脚手架配置数据 */
183
- setting: any;
184
- feat: 'Insert' | 'Edit' | 'BulkEdit';
185
- /** 数据源字段名 */
186
- name?: string;
187
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
188
- inCrud?: boolean;
189
- }): void;
190
- /**
191
- * 生成数据表格列
192
- */
193
- abstract resolveTableSchema(config: {
194
- /** schema */
195
- schema: CRUD2Schema;
196
- /** 脚手架配置数据 */
197
- setting: any;
198
- /** 数据源字段名 */
199
- name?: string;
200
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
201
- inCrud?: boolean;
202
- }): void;
203
- /**
204
- * 生成数据表格列
205
- */
206
- abstract resolveViewSchema(config: {
207
- /** 脚手架配置数据 */
208
- setting: any;
209
- feat?: DSFeatureType;
210
- }): SchemaObject[];
211
- abstract resolveSimpleFilterSchema(config: {
212
- setting: any;
213
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';
214
- }): SchemaObject[];
215
- abstract resolveAdvancedFilterSchema(config: {
216
- setting: any;
217
- }): SchemaObject | void;
218
- abstract makeTableColumnsByFields(fields: any[]): SchemaObject[];
219
- /**
220
- * 当前上下文中使用的字段
221
- */
222
- abstract getContextFileds(config: {
223
- schema: any;
224
- sourceKey: string;
225
- feat: DSFeatureType;
226
- }): Promise<DSField[] | void>;
227
- /**
228
- * 上下文可以使用的字段
229
- */
230
- abstract getAvailableContextFileds(config: {
231
- schema: any;
232
- sourceKey: string;
233
- feat: DSFeatureType;
234
- scopeNode?: EditorNodeType;
235
- }, target: EditorNodeType): Promise<SchemaCollection | void>;
236
- }
237
- export declare const registerDSBuilder: (builderKClass: any) => void;
238
- /**
239
- * 构造器管理工具,便于更好的缓存
240
- */
241
- export declare class DSBuilderManager {
242
- /** 所有可用的数据源构造器实例 */
243
- builders: {
244
- [key: string]: DSBuilder;
245
- };
246
- get builderNum(): number;
247
- constructor(type: string, propKey: string);
248
- resolveBuilderBySetting(setting: any): DSBuilder;
249
- resolveBuilderBySchema(schema: any, propKey: string): DSBuilder;
250
- getDefaultBuilderName(): string;
251
- getDSSwitch(setting?: any): any;
252
- collectFromBuilders(callee: (builder: DSBuilder, builderName: string) => any): any[];
253
- }
@@ -1,4 +0,0 @@
1
- /**
2
- * API数据源处理器
3
- */
4
- export {};
@@ -1,253 +0,0 @@
1
- /**
2
- * 数据源构造器,可用于对接当前amis中的扩展数据源
3
- */
4
- import type { ButtonSchema } from 'amis';
5
- import type { CRUD2Schema } from 'amis';
6
- import type { FormSchema, SchemaCollection, SchemaObject } from 'amis';
7
- import { EditorNodeType } from '../store/node';
8
- /**
9
- * 数据源所需操作,目前是因为schema从后端来
10
- */
11
- export declare enum DSBehavior {
12
- create = "create",
13
- view = "view",
14
- update = "update",
15
- table = "table",
16
- filter = "filter"
17
- }
18
- export interface DSField {
19
- value: string;
20
- label: string;
21
- [propKey: string]: any;
22
- }
23
- export interface DSFieldGroup {
24
- value: string;
25
- label: string;
26
- children: DSField[];
27
- [propKey: string]: any;
28
- }
29
- /**
30
- * 支持数据源配置的一些属性名
31
- */
32
- export declare enum DSGrain {
33
- entity = "entity",
34
- list = "list",
35
- piece = "piece"
36
- }
37
- export declare const DSFeature: {
38
- List: {
39
- value: string;
40
- label: string;
41
- };
42
- Insert: {
43
- value: string;
44
- label: string;
45
- };
46
- View: {
47
- value: string;
48
- label: string;
49
- };
50
- Edit: {
51
- value: string;
52
- label: string;
53
- };
54
- Delete: {
55
- value: string;
56
- label: string;
57
- };
58
- BulkEdit: {
59
- value: string;
60
- label: string;
61
- };
62
- BulkDelete: {
63
- value: string;
64
- label: string;
65
- };
66
- Import: {
67
- value: string;
68
- label: string;
69
- };
70
- Export: {
71
- value: string;
72
- label: string;
73
- };
74
- SimpleQuery: {
75
- value: string;
76
- label: string;
77
- };
78
- FuzzyQuery: {
79
- value: string;
80
- label: string;
81
- };
82
- AdvancedQuery: {
83
- value: string;
84
- label: string;
85
- };
86
- };
87
- export type DSFeatureType = keyof typeof DSFeature;
88
- export interface DSSourceSettingFormConfig {
89
- /** 数据源字段名 */
90
- name?: string;
91
- /** 数据源字段标题 */
92
- label?: string;
93
- /** 所需要配置的数据粒度 */
94
- grain?: DSGrain;
95
- /** 数据源所被使用的功能场景 */
96
- feat: DSFeatureType;
97
- /** 渲染器类型 */
98
- renderer?: string;
99
- /**
100
- * @deprecated 待废弃,使用renderer字段代替
101
- * 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置
102
- * */
103
- inCrud?: boolean;
104
- /** 是否在脚手架中 */
105
- inScaffold?: boolean;
106
- }
107
- /**
108
- * 数据源选择构造器
109
- */
110
- export declare abstract class DSBuilder {
111
- /**
112
- * 数据源名字,中文,可以覆盖同名
113
- */
114
- static type: string;
115
- name: string;
116
- order: number;
117
- /**
118
- * 数据源schema运行前转换
119
- */
120
- static schemaFilter?: (schema: any) => any;
121
- /**
122
- * 根据组件、属性名判断是否可以使用这个数据源
123
- */
124
- static accessable: (controlType: string, propKey: string) => boolean;
125
- features: Array<keyof typeof DSFeature>;
126
- /**
127
- * 根据值内容和schema配置状态,看是否是当前数据源
128
- */
129
- abstract match(value: any, schema?: SchemaObject): boolean;
130
- /**
131
- * 生成数据源的配置表单
132
- */
133
- abstract makeSourceSettingForm(config: DSSourceSettingFormConfig): SchemaObject[];
134
- abstract makeFieldsSettingForm(config: {
135
- /** 数据源字段名 */
136
- sourceKey?: string;
137
- feat: DSFeatureType;
138
- inCrud?: boolean;
139
- inScaffold?: boolean;
140
- /** 初次设置字段还是选择字段 */
141
- setting?: boolean;
142
- }): SchemaObject[];
143
- /**
144
- * 生成字段的筛选配置表单
145
- */
146
- abstract makeFieldFilterSetting(config: {
147
- /** 数据源字段名 */
148
- sourceKey: string;
149
- schema: any;
150
- fieldName: string;
151
- }): Promise<SchemaObject[]>;
152
- /**
153
- * 数据源schema生成
154
- */
155
- abstract resolveSourceSchema(config: {
156
- /** schema */
157
- schema: SchemaObject;
158
- /** 数据源配置结果 */
159
- setting: any;
160
- /** 数据源字段名 */
161
- name?: string;
162
- feat?: DSFeatureType;
163
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
164
- inCrud?: boolean;
165
- inScaffold?: boolean;
166
- }): void;
167
- /**
168
- * 数据删除schema生成
169
- */
170
- abstract resolveDeleteSchema(config: {
171
- schema: ButtonSchema;
172
- setting: any;
173
- feat: 'BulkDelete' | 'Delete';
174
- name?: string;
175
- }): any;
176
- /**
177
- * 生成数据创建表单schema
178
- */
179
- abstract resolveCreateSchema(config: {
180
- /** schema */
181
- schema: FormSchema;
182
- /** 脚手架配置数据 */
183
- setting: any;
184
- feat: 'Insert' | 'Edit' | 'BulkEdit';
185
- /** 数据源字段名 */
186
- name?: string;
187
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
188
- inCrud?: boolean;
189
- }): void;
190
- /**
191
- * 生成数据表格列
192
- */
193
- abstract resolveTableSchema(config: {
194
- /** schema */
195
- schema: CRUD2Schema;
196
- /** 脚手架配置数据 */
197
- setting: any;
198
- /** 数据源字段名 */
199
- name?: string;
200
- /** 是否是在CRUD场景下,有的数据源在CRUD中可以统一设置 */
201
- inCrud?: boolean;
202
- }): void;
203
- /**
204
- * 生成数据表格列
205
- */
206
- abstract resolveViewSchema(config: {
207
- /** 脚手架配置数据 */
208
- setting: any;
209
- feat?: DSFeatureType;
210
- }): SchemaObject[];
211
- abstract resolveSimpleFilterSchema(config: {
212
- setting: any;
213
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';
214
- }): SchemaObject[];
215
- abstract resolveAdvancedFilterSchema(config: {
216
- setting: any;
217
- }): SchemaObject | void;
218
- abstract makeTableColumnsByFields(fields: any[]): SchemaObject[];
219
- /**
220
- * 当前上下文中使用的字段
221
- */
222
- abstract getContextFileds(config: {
223
- schema: any;
224
- sourceKey: string;
225
- feat: DSFeatureType;
226
- }): Promise<DSField[] | void>;
227
- /**
228
- * 上下文可以使用的字段
229
- */
230
- abstract getAvailableContextFileds(config: {
231
- schema: any;
232
- sourceKey: string;
233
- feat: DSFeatureType;
234
- scopeNode?: EditorNodeType;
235
- }, target: EditorNodeType): Promise<SchemaCollection | void>;
236
- }
237
- export declare const registerDSBuilder: (builderKClass: any) => void;
238
- /**
239
- * 构造器管理工具,便于更好的缓存
240
- */
241
- export declare class DSBuilderManager {
242
- /** 所有可用的数据源构造器实例 */
243
- builders: {
244
- [key: string]: DSBuilder;
245
- };
246
- get builderNum(): number;
247
- constructor(type: string, propKey: string);
248
- resolveBuilderBySetting(setting: any): DSBuilder;
249
- resolveBuilderBySchema(schema: any, propKey: string): DSBuilder;
250
- getDefaultBuilderName(): string;
251
- getDSSwitch(setting?: any): any;
252
- collectFromBuilders(callee: (builder: DSBuilder, builderName: string) => any): any[];
253
- }
Binary file