amis-editor-core 5.5.0 → 5.6.1

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.
Files changed (100) hide show
  1. package/esm/component/AsyncLayer.d.ts +9 -0
  2. package/esm/component/Breadcrumb.d.ts +1 -1
  3. package/esm/component/ClassNameControl.d.ts +4 -4
  4. package/esm/component/ContainerWrapper.d.ts +1 -1
  5. package/esm/component/Editor.d.ts +6 -3
  6. package/esm/component/HighlightBox.d.ts +1 -1
  7. package/esm/component/IFramePreview.d.ts +19 -27
  8. package/esm/component/MiniEditor.d.ts +2 -1
  9. package/esm/component/Panel/AMisCodeEditor.d.ts +1 -1
  10. package/esm/component/Panel/AvailableRenderersPanel.d.ts +1 -1
  11. package/esm/component/Panel/CodeEditorPanel.d.ts +1 -1
  12. package/esm/component/Panel/ContextMenuPanel.d.ts +1 -1
  13. package/esm/component/Panel/DrawerPanel.d.ts +1 -1
  14. package/esm/component/Panel/DrawerRendererPanel.d.ts +1 -1
  15. package/esm/component/Panel/InsertSubRendererPanel.d.ts +1 -1
  16. package/esm/component/Panel/LeftPanels.d.ts +1 -1
  17. package/esm/component/Panel/Outline.d.ts +9 -3
  18. package/esm/component/Panel/RenderersPanel.d.ts +1 -1
  19. package/esm/component/Panel/RightPanels.d.ts +1 -1
  20. package/esm/component/Panel/TargetNamePanel.d.ts +1 -1
  21. package/esm/component/PopOverForm.d.ts +1 -1
  22. package/esm/component/Preview.d.ts +2 -2
  23. package/esm/component/RegionHLBox.d.ts +1 -1
  24. package/esm/component/RegionWrapper.d.ts +30 -2
  25. package/esm/component/RendererThumb.d.ts +1 -1
  26. package/esm/component/ScaffoldModal.d.ts +1 -1
  27. package/esm/component/SubEditor.d.ts +2 -2
  28. package/esm/component/VRenderer.d.ts +39 -31
  29. package/esm/component/base/BackTop.d.ts +1 -1
  30. package/esm/component/base/ErrorRenderer.d.ts +1 -1
  31. package/esm/component/base/SearchCustomRendererPanel.d.ts +1 -1
  32. package/esm/component/base/SearchPanel.d.ts +2 -2
  33. package/esm/component/base/SearchRendererPanel.d.ts +1 -1
  34. package/esm/component/base/ShortcutKey.d.ts +1 -1
  35. package/esm/component/base/WidthDraggableBtn.d.ts +1 -1
  36. package/esm/component/factory.d.ts +2 -1
  37. package/esm/index.d.ts +2 -4
  38. package/esm/index.js +2 -2
  39. package/esm/manager.d.ts +36 -5
  40. package/esm/plugin/DataDebug.d.ts +5 -5
  41. package/esm/plugin.d.ts +37 -4
  42. package/esm/store/editor.d.ts +137 -0
  43. package/esm/store/node.d.ts +24 -0
  44. package/esm/util.d.ts +30 -9
  45. package/lib/component/AsyncLayer.d.ts +9 -0
  46. package/lib/component/Breadcrumb.d.ts +1 -1
  47. package/lib/component/ClassNameControl.d.ts +4 -4
  48. package/lib/component/ContainerWrapper.d.ts +1 -1
  49. package/lib/component/Editor.d.ts +6 -3
  50. package/lib/component/HighlightBox.d.ts +1 -1
  51. package/lib/component/IFramePreview.d.ts +19 -27
  52. package/lib/component/MiniEditor.d.ts +2 -1
  53. package/lib/component/Panel/AMisCodeEditor.d.ts +1 -1
  54. package/lib/component/Panel/AvailableRenderersPanel.d.ts +1 -1
  55. package/lib/component/Panel/CodeEditorPanel.d.ts +1 -1
  56. package/lib/component/Panel/ContextMenuPanel.d.ts +1 -1
  57. package/lib/component/Panel/DrawerPanel.d.ts +1 -1
  58. package/lib/component/Panel/DrawerRendererPanel.d.ts +1 -1
  59. package/lib/component/Panel/InsertSubRendererPanel.d.ts +1 -1
  60. package/lib/component/Panel/LeftPanels.d.ts +1 -1
  61. package/lib/component/Panel/Outline.d.ts +9 -3
  62. package/lib/component/Panel/RenderersPanel.d.ts +1 -1
  63. package/lib/component/Panel/RightPanels.d.ts +1 -1
  64. package/lib/component/Panel/TargetNamePanel.d.ts +1 -1
  65. package/lib/component/PopOverForm.d.ts +1 -1
  66. package/lib/component/Preview.d.ts +2 -2
  67. package/lib/component/RegionHLBox.d.ts +1 -1
  68. package/lib/component/RegionWrapper.d.ts +30 -2
  69. package/lib/component/RendererThumb.d.ts +1 -1
  70. package/lib/component/ScaffoldModal.d.ts +1 -1
  71. package/lib/component/SubEditor.d.ts +2 -2
  72. package/lib/component/VRenderer.d.ts +39 -31
  73. package/lib/component/base/BackTop.d.ts +1 -1
  74. package/lib/component/base/ErrorRenderer.d.ts +1 -1
  75. package/lib/component/base/SearchCustomRendererPanel.d.ts +1 -1
  76. package/lib/component/base/SearchPanel.d.ts +2 -2
  77. package/lib/component/base/SearchRendererPanel.d.ts +1 -1
  78. package/lib/component/base/ShortcutKey.d.ts +1 -1
  79. package/lib/component/base/WidthDraggableBtn.d.ts +1 -1
  80. package/lib/component/factory.d.ts +2 -1
  81. package/lib/editor.js +1 -1
  82. package/lib/index.d.ts +2 -4
  83. package/lib/index.js +2 -2
  84. package/lib/manager.d.ts +36 -5
  85. package/lib/plugin/DataDebug.d.ts +5 -5
  86. package/lib/plugin.d.ts +37 -4
  87. package/lib/store/editor.d.ts +137 -0
  88. package/lib/store/node.d.ts +24 -0
  89. package/lib/style.css +1 -1
  90. package/lib/util.d.ts +30 -9
  91. package/package.json +3 -1
  92. package/static/indication.png +0 -0
  93. package/static/nav-mode.png +0 -0
  94. package/esm/builder/ApiBuilder.d.ts +0 -4
  95. package/esm/builder/DSBuilder.d.ts +0 -253
  96. package/esm/component/IFrameBridge.d.ts +0 -30
  97. package/lib/builder/ApiBuilder.d.ts +0 -4
  98. package/lib/builder/DSBuilder.d.ts +0 -253
  99. package/lib/component/IFrameBridge.d.ts +0 -30
  100. package/static/nav-mode.gif +0 -0
package/lib/util.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { Diff } from 'deep-diff';
1
+ /// <reference types="lodash" />
2
2
  import type { Schema } from 'amis';
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;
4
5
  export { guid, isObjectShallowModified, anyChanged, noop, makeHorizontalDeeper, omitControls, isEmpty, cloneObject, eachTree, createObject };
5
6
  export declare let themeConfig: 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;
@@ -54,7 +51,7 @@ export declare function filterSchemaForConfig(schema: any, valueWithConfig?: any
54
51
  */
55
52
  export declare function filterSchemaForEditor(schema: any): any;
56
53
  export declare function blackList(list: Array<string>): (str: string) => boolean;
57
- export declare function sortByList(list: Array<string>, attr: string | Function): (a: any, b: any) => 0 | 1 | -1;
54
+ export declare function sortByList(list: Array<string>, attr: string | Function): (a: any, b: any) => 1 | -1 | 0;
58
55
  export declare function persistGet(key: string, defaultValue?: any): any;
59
56
  export declare function persistSet(key: string, value: any): void;
60
57
  export declare function normalizeId(id: string): string;
@@ -119,8 +116,14 @@ export declare function appTranslate(value?: string): any;
119
116
  */
120
117
  export declare function needFillPlaceholder(curProps: any): boolean;
121
118
  export declare function setThemeConfig(config: any): void;
122
- export declare function setThemeDefaultData(data: any): any;
123
- export declare function deleteThemeConfigData(data: any): any;
119
+ export declare function getThemeConfig(): any;
120
+ /**
121
+ * 将style转换为组件ThemeCSS格式
122
+ *
123
+ * @param data - 组件schema
124
+ * @returns 处理后的数据
125
+ */
126
+ export declare function style2ThemeCss(data: any): any;
124
127
  /**
125
128
  * 从amis数据域中取变量数据
126
129
  * @param node
@@ -139,3 +142,21 @@ export declare function getVariables(that: any): Promise<any>;
139
142
  * @returns
140
143
  */
141
144
  export declare const updateComponentContext: (variables: any[]) => any[];
145
+ /**
146
+ * dom 滚动到可见区域
147
+ * @param selector dom 选择器
148
+ */
149
+ export declare const scrollToActive: import("lodash").DebouncedFunc<(selector: string) => void>;
150
+ /**
151
+ * 获取弹窗事件
152
+ * @param schema 遍历的schema
153
+ * @param listType 列表形式,弹窗list或label value形式的数据源
154
+ * @param filterId 要过滤弹窗的id
155
+ */
156
+ export declare const getDialogActions: (schema: Schema, listType: 'list' | 'source', filterId?: string) => any[];
157
+ /**
158
+ * 获取弹窗的类型,来源于事件或definitions,由于历史数据可能没有type: dialog,在这里兼容一下
159
+ * @param json
160
+ * @param previewDialogId
161
+ */
162
+ 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.5.0",
3
+ "version": "5.6.1",
4
4
  "description": "amis 可视化编辑器",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -28,6 +28,7 @@
28
28
  "scripts": {
29
29
  "test": "echo \"Warnings: no test specified\"",
30
30
  "build": "npm run clean-dist && NODE_ENV=production rollup -c",
31
+ "build-esm": "npm run clean-dist && NODE_ENV=production rollup -c rollup.esm.config.js",
31
32
  "clean-dist": "rimraf lib/* esm/*",
32
33
  "i18n:update": "npx i18n update --config=./i18nConfig.js",
33
34
  "i18n:translate": "npx i18n translate --config=./i18nConfig.js --l=en-US",
@@ -53,6 +54,7 @@
53
54
  "mobx": "^4.5.0",
54
55
  "mobx-react": "^6.3.1",
55
56
  "mobx-state-tree": "^3.17.3",
57
+ "react-frame-component": "^5.2.6",
56
58
  "react-json-view": "^1.21.3",
57
59
  "sortablejs": "^1.14.0"
58
60
  },
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,30 +0,0 @@
1
- import React from 'react';
2
- import { EditorManager } from '../manager';
3
- import { EditorStoreType } from '../store/editor';
4
- export interface IFrameBridgeProps {
5
- className?: string;
6
- url: string;
7
- editable?: boolean;
8
- isMobile?: boolean;
9
- store: EditorStoreType;
10
- manager: EditorManager;
11
- theme?: string;
12
- data?: any;
13
- env?: any;
14
- autoFocus?: boolean;
15
- }
16
- export interface BridgeApi {
17
- update: (props: any) => void;
18
- }
19
- export default class IFrameBridge extends React.PureComponent<IFrameBridgeProps> {
20
- bridgeFnName: string;
21
- bridge?: BridgeApi;
22
- schema: any;
23
- constructor(props: IFrameBridgeProps);
24
- componentDidUpdate(): void;
25
- componentWillUnmount(): void;
26
- iframeRef(iframe: any): void;
27
- update(props?: Readonly<IFrameBridgeProps>): void;
28
- render(): JSX.Element;
29
- }
30
- export declare function mountInIframe(dom: HTMLElement, reactDom: any, envCreator?: any): void;
@@ -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,30 +0,0 @@
1
- import React from 'react';
2
- import { EditorManager } from '../manager';
3
- import { EditorStoreType } from '../store/editor';
4
- export interface IFrameBridgeProps {
5
- className?: string;
6
- url: string;
7
- editable?: boolean;
8
- isMobile?: boolean;
9
- store: EditorStoreType;
10
- manager: EditorManager;
11
- theme?: string;
12
- data?: any;
13
- env?: any;
14
- autoFocus?: boolean;
15
- }
16
- export interface BridgeApi {
17
- update: (props: any) => void;
18
- }
19
- export default class IFrameBridge extends React.PureComponent<IFrameBridgeProps> {
20
- bridgeFnName: string;
21
- bridge?: BridgeApi;
22
- schema: any;
23
- constructor(props: IFrameBridgeProps);
24
- componentDidUpdate(): void;
25
- componentWillUnmount(): void;
26
- iframeRef(iframe: any): void;
27
- update(props?: Readonly<IFrameBridgeProps>): void;
28
- render(): JSX.Element;
29
- }
30
- export declare function mountInIframe(dom: HTMLElement, reactDom: any, envCreator?: any): void;
Binary file