amis-editor 4.1.0-beta.24 → 4.1.0-beta.27

Sign up to get free protection for your applications and to get access to all the features.
package/dist/manager.d.ts CHANGED
@@ -44,6 +44,8 @@ export declare class EditorManager {
44
44
  readonly dnd: EditorDNDManager;
45
45
  readonly id: string;
46
46
  disableHover: boolean;
47
+ private renderersId;
48
+ private panelsId;
47
49
  private clipboardData;
48
50
  readonly hackIn: any;
49
51
  constructor(config: EditorManagerConfig, store: EditorStoreType, parent?: EditorManager | undefined);
@@ -118,13 +120,12 @@ export declare class EditorManager {
118
120
  widthMutable?: boolean | undefined;
119
121
  memberIndex?: number | undefined;
120
122
  }): any;
121
- /**
122
- * 显示组件更换面板
123
+ removeChild(child: any): void;
124
+ toggleFold(e: import("react").MouseEvent<HTMLAnchorElement, MouseEvent>): void; /**
125
+ * 显示插入面板
123
126
  * @param region
124
127
  * @param preferTag
125
128
  */
126
- removeChild(child: any): void;
127
- toggleFold(e: import("react").MouseEvent<HTMLAnchorElement, MouseEvent>): void;
128
129
  patch(store: any, force?: boolean): void;
129
130
  updateSchema(value: any): void;
130
131
  setComponent(value: any): void;
@@ -132,6 +133,11 @@ export declare class EditorManager {
132
133
  calculateHighlightBox(root?: any): void;
133
134
  resetHighlightBox(root: any): void;
134
135
  updateState(state: any, replace?: boolean): void;
136
+ /**
137
+ * 在当前选中元素插入或追加新的元素
138
+ * @param rendererIdOrSchema
139
+ * 备注:可以根据渲染器ID添加新元素,也可以根据现有schema片段添加新元素
140
+ */
135
141
  setWidthMutable(value: any): void;
136
142
  setHeightMutable(value: any): void;
137
143
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -203,13 +209,12 @@ export declare class EditorManager {
203
209
  widthMutable?: boolean | undefined;
204
210
  memberIndex?: number | undefined;
205
211
  }): any;
206
- /**
207
- * 显示组件更换面板
212
+ removeChild(child: any): void;
213
+ toggleFold(e: import("react").MouseEvent<HTMLAnchorElement, MouseEvent>): void; /**
214
+ * 显示插入面板
208
215
  * @param region
209
216
  * @param preferTag
210
217
  */
211
- removeChild(child: any): void;
212
- toggleFold(e: import("react").MouseEvent<HTMLAnchorElement, MouseEvent>): void;
213
218
  patch(store: any, force?: boolean): void;
214
219
  updateSchema(value: any): void;
215
220
  setComponent(value: any): void;
@@ -217,6 +222,11 @@ export declare class EditorManager {
217
222
  calculateHighlightBox(root?: any): void;
218
223
  resetHighlightBox(root: any): void;
219
224
  updateState(state: any, replace?: boolean): void;
225
+ /**
226
+ * 在当前选中元素插入或追加新的元素
227
+ * @param rendererIdOrSchema
228
+ * 备注:可以根据渲染器ID添加新元素,也可以根据现有schema片段添加新元素
229
+ */
220
230
  setWidthMutable(value: any): void;
221
231
  setHeightMutable(value: any): void;
222
232
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -233,8 +243,8 @@ export declare class EditorManager {
233
243
  buildJSONSchemaUri(): void;
234
244
  buildToolbars(): void;
235
245
  collectPanels(node: EditorNodeType, triggerEvent?: boolean, secondFactor?: boolean): BasicPanelItem[];
236
- buildPanels(): void;
237
- collectRenderers(region?: string, id?: string): Promise<SubRendererInfo[]>;
246
+ buildPanels(curRendererId?: string): void;
247
+ collectRenderers(region?: string, activeContainerId?: string): Promise<SubRendererInfo[]>;
238
248
  buildRenderers(region?: string): Promise<void>;
239
249
  rebuild(): Promise<void>;
240
250
  /**
package/dist/plugin.d.ts CHANGED
@@ -281,10 +281,10 @@ export interface ToolbarItem {
281
281
  level?: 'primary' | 'secondary' | 'special';
282
282
  className?: string;
283
283
  draggable?: boolean;
284
- onDragStart?: (e: React.DragEvent) => void;
284
+ onDragStart?: (e: any) => void;
285
285
  icon?: string;
286
286
  iconSvg?: string;
287
- onClick?: (e: React.MouseEvent) => void;
287
+ onClick?: (e: any) => void;
288
288
  tooltip?: string;
289
289
  placement?: 'top' | 'bottom' | 'right' | 'left';
290
290
  }
@@ -363,9 +363,9 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
363
363
  setWidthMutable(value: any): void;
364
364
  setHeightMutable(value: any): void;
365
365
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>)[];
366
- getNodeById(id: string, region?: string | undefined): EditorNodeType | undefined;
366
+ getNodeById(id: string, region?: string): EditorNodeType | undefined;
367
367
  readonly activeNodeInfo: RendererInfo | null | undefined;
368
- getSchema(id?: string | undefined): any;
368
+ getSchema(id?: string): any;
369
369
  getSchemaParentById(id: string): any;
370
370
  getSchemaPath(id: string): string;
371
371
  getSimpleSchema(curSchema: any): any;
@@ -878,13 +878,13 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
878
878
  */
879
879
  readonly customRenderersByOrder: SubRendererInfo[];
880
880
  /** 根据关键字过滤组件 */
881
- groupedRenderersByKeyword(_subRenderers: Array<SubRendererInfo>, keywords?: string | undefined): {
881
+ groupedRenderersByKeyword(_subRenderers: Array<SubRendererInfo>, keywords?: string): {
882
882
  [propName: string]: SubRendererInfo[];
883
883
  };
884
884
  /** 根据关键字过滤预置组件
885
885
  * 备注:组件搜索中需要
886
886
  */
887
- groupedSubRenderersByKeyword(_subRenderers?: SubRendererInfo[] | undefined, keywords?: string | undefined): {
887
+ groupedSubRenderersByKeyword(_subRenderers?: Array<SubRendererInfo>, keywords?: string): {
888
888
  [propName: string]: SubRendererInfo[];
889
889
  };
890
890
  /**
@@ -895,7 +895,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
895
895
  [propName: string]: SubRendererInfo[];
896
896
  };
897
897
  /** 根据关键字过滤自定义组件 */
898
- groupedCustomRenderersByKeyword(_subRenderers?: SubRendererInfo[] | undefined, keywords?: string | undefined): {
898
+ groupedCustomRenderersByKeyword(_subRenderers?: Array<SubRendererInfo>, keywords?: string): {
899
899
  [propName: string]: SubRendererInfo[];
900
900
  };
901
901
  /**
@@ -920,7 +920,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
920
920
  getDoc(): Document;
921
921
  setIframe(value: any): void;
922
922
  getIframe(): HTMLIFrameElement | undefined;
923
- setIsMobile(value?: boolean | undefined): void;
923
+ setIsMobile(value?: boolean): void;
924
924
  setCtx(value: any): void;
925
925
  setTheme(value: string): void;
926
926
  setIsSubEditor(isSubEditor: boolean): void;
@@ -931,7 +931,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
931
931
  setActiveId(id: string, region?: string, selections?: Array<string>): void;
932
932
  setSelections(ids: Array<string>): void;
933
933
  clearSelection(): void;
934
- setHoverId(id: string, region?: string | undefined): void;
934
+ setHoverId(id: string, region?: string): void;
935
935
  setMouseMoveRegion(region: string): void;
936
936
  setInsertId(id: string): void;
937
937
  setContextId(id: string): void;
@@ -952,9 +952,9 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
952
952
  changeLeftPanelKey(key: string): void;
953
953
  changeRenderersTabsKey(key: string): void;
954
954
  changeLeftPanelOpenStatus(isOpenStatus: boolean): void;
955
- showRendererPanel(tag?: string | undefined, msg?: string | undefined): void;
955
+ showRendererPanel(tag?: string, msg?: string): void;
956
956
  changeValue(value: Schema, diff?: any): void;
957
- changeValueById(id: string, value: Schema, diff?: any, replace?: boolean | undefined, noTrace?: boolean | undefined): void;
957
+ changeValueById(id: string, value: Schema, diff?: any, replace?: boolean, noTrace?: boolean): void;
958
958
  moveUp(id: string): void;
959
959
  moveDown(id: string): void;
960
960
  del(id: string): void;
@@ -962,7 +962,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
962
962
  duplicate(id: string | Array<string>): void;
963
963
  emptyRegion(id: string, region: string): void;
964
964
  replaceChild(id: string, json: any): void;
965
- setInsertRegion(region: string, id?: string, tag?: string, mode?: 'insert' | 'replace', originId?: string, beforeId?: string | undefined): void;
965
+ setInsertRegion(region: string, id?: string, tag?: string, mode?: 'insert' | 'replace', originId?: string, beforeId?: string): void;
966
966
  closeInsertPanel(): void;
967
967
  showInsertRendererPanel(): void;
968
968
  closeInsertRendererPanel(): void;
@@ -991,7 +991,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
991
991
  * 更新可供 target 及 reload 使用的名称列表
992
992
  */
993
993
  updateTargetName(): void;
994
- traceableSetSchema(schema: any, noTrace?: boolean | undefined): void;
994
+ traceableSetSchema(schema: any, noTrace?: boolean): void;
995
995
  undo(): void;
996
996
  redo(): void;
997
997
  resetHistory(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis-editor",
3
- "version": "4.1.0-beta.24",
3
+ "version": "4.1.0-beta.27",
4
4
  "description": "amis 可视化编辑器",
5
5
  "main": "dist/index.min.js",
6
6
  "types": "dist/index.d.ts",
@@ -291,7 +291,7 @@ export class ActionPlugin extends BasePlugin {
291
291
  mode: 'inline',
292
292
  className: 'w-full',
293
293
  label: '是否用新窗口打开',
294
- pipeIn: defaultValue(true)
294
+ value: true
295
295
  },
296
296
 
297
297
  isInDialog
@@ -21,7 +21,7 @@ export class AvailableRenderersPlugin extends BasePlugin {
21
21
  return;
22
22
  }
23
23
 
24
- if (store.activeContainerId && store.subRenderers.length) {
24
+ if (store.subRenderers.length) {
25
25
  panels.push({
26
26
  key: 'renderers',
27
27
  icon: 'png-icon renderers-png', // 'fa fa-cube',
package/src/plugin.ts CHANGED
@@ -374,10 +374,10 @@ export interface ToolbarItem {
374
374
  level?: 'primary' | 'secondary' | 'special';
375
375
  className?: string;
376
376
  draggable?: boolean;
377
- onDragStart?: (e: React.DragEvent) => void;
377
+ onDragStart?: (e: any) => void;
378
378
  icon?: string;
379
379
  iconSvg?: string; // 自定义icon(svg格式)
380
- onClick?: (e: React.MouseEvent) => void;
380
+ onClick?: (e: any) => void;
381
381
  tooltip?: string;
382
382
  placement?: 'top' | 'bottom' | 'right' | 'left';
383
383
  }
@@ -412,7 +412,7 @@ export interface PanelItem {
412
412
  component?: React.ComponentType<PanelProps | any>;
413
413
  order: number;
414
414
  position?: 'left' | 'right';
415
- render?: (props: PanelProps) => JSX.Element;
415
+ render?:(props: PanelProps) => JSX.Element;
416
416
  menus?: Array<any>;
417
417
  }
418
418
 
@@ -841,9 +841,10 @@ export abstract class BasePlugin implements PluginInterface {
841
841
  panels: Array<BasicPanelItem>
842
842
  ) {
843
843
  const plugin: PluginInterface = this;
844
+ const store = this.manager.store;
844
845
 
845
- // 多选时不处理
846
- if (context.selections.length) {
846
+ // 没有选中元素 或者 多选时不处理
847
+ if (!store.activeId || context.selections.length) {
847
848
  return;
848
849
  }
849
850