@flowgram.ai/document 0.5.0 → 0.5.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/dist/index.d.mts CHANGED
@@ -494,7 +494,7 @@ declare class FlowNodeRenderData extends EntityData<FlowNodeRenderSchema> {
494
494
  }>;
495
495
  get key(): string;
496
496
  getDefaultData(): FlowNodeRenderSchema;
497
- updateExtInfo(info: Record<string, any>): void;
497
+ updateExtInfo(info: Record<string, any>, fullUpdate?: boolean): void;
498
498
  getExtInfo(): Record<string, any> | undefined;
499
499
  constructor(entity: FlowNodeEntity);
500
500
  get addable(): boolean;
@@ -757,7 +757,7 @@ declare class FlowNodeEntity extends Entity<FlowNodeEntityConfig> {
757
757
  * 修改节点扩展信息
758
758
  * @param info
759
759
  */
760
- updateExtInfo<T extends Record<string, any> = Record<string, any>>(extInfo: T): void;
760
+ updateExtInfo<T extends Record<string, any> = Record<string, any>>(extInfo: T, fullUpdate?: boolean): void;
761
761
  /**
762
762
  * 获取节点扩展信息
763
763
  */
@@ -841,6 +841,7 @@ interface FlowRendererState {
841
841
  nodeDragIds?: string[];
842
842
  nodeDragIdsWithChildren?: string[];
843
843
  dragLabelSide?: LABEL_SIDE_TYPE;
844
+ dragging?: boolean;
844
845
  }
845
846
  /**
846
847
  * 渲染相关的全局状态管理
@@ -851,6 +852,8 @@ declare class FlowRendererStateEntity extends ConfigEntity<FlowRendererState, Fl
851
852
  constructor(conf: FlowRendererStateEntityConfig);
852
853
  getNodeHovered(): FlowNodeEntity | undefined;
853
854
  setNodeHovered(node: FlowNodeEntity | undefined): void;
855
+ get dragging(): boolean | undefined;
856
+ setDragging(dragging: boolean): void;
854
857
  getDragLabelSide(): LABEL_SIDE_TYPE | undefined;
855
858
  setDragLabelSide(dragLabelSide?: LABEL_SIDE_TYPE): void;
856
859
  getNodeDroppingId(): string | undefined;
@@ -1574,10 +1577,12 @@ declare class FlowDragService {
1574
1577
  protected onDropEmitter: Emitter<{
1575
1578
  dropNode: FlowNodeEntity;
1576
1579
  dragNodes: FlowNodeEntity[];
1580
+ dragJSON?: FlowNodeJSON;
1577
1581
  }>;
1578
1582
  readonly onDrop: _flowgram_ai_utils.Event<{
1579
1583
  dropNode: FlowNodeEntity;
1580
1584
  dragNodes: FlowNodeEntity[];
1585
+ dragJSON?: FlowNodeJSON;
1581
1586
  }>;
1582
1587
  get renderState(): FlowRendererStateEntity;
1583
1588
  get dragStartNode(): FlowNodeEntity;
@@ -1591,6 +1596,11 @@ declare class FlowDragService {
1591
1596
  * 放置到目标分支
1592
1597
  */
1593
1598
  dropBranch(): void;
1599
+ /**
1600
+ * 移动并且创建节点
1601
+ * Move and create node
1602
+ */
1603
+ dropCreateNode(json: FlowNodeJSON, onCreateNode?: (json: FlowNodeJSON, dropEntity: FlowNodeEntity) => Promise<FlowNodeEntity>): Promise<void>;
1594
1604
  /**
1595
1605
  * 移动到目标节点
1596
1606
  */
package/dist/index.d.ts CHANGED
@@ -494,7 +494,7 @@ declare class FlowNodeRenderData extends EntityData<FlowNodeRenderSchema> {
494
494
  }>;
495
495
  get key(): string;
496
496
  getDefaultData(): FlowNodeRenderSchema;
497
- updateExtInfo(info: Record<string, any>): void;
497
+ updateExtInfo(info: Record<string, any>, fullUpdate?: boolean): void;
498
498
  getExtInfo(): Record<string, any> | undefined;
499
499
  constructor(entity: FlowNodeEntity);
500
500
  get addable(): boolean;
@@ -757,7 +757,7 @@ declare class FlowNodeEntity extends Entity<FlowNodeEntityConfig> {
757
757
  * 修改节点扩展信息
758
758
  * @param info
759
759
  */
760
- updateExtInfo<T extends Record<string, any> = Record<string, any>>(extInfo: T): void;
760
+ updateExtInfo<T extends Record<string, any> = Record<string, any>>(extInfo: T, fullUpdate?: boolean): void;
761
761
  /**
762
762
  * 获取节点扩展信息
763
763
  */
@@ -841,6 +841,7 @@ interface FlowRendererState {
841
841
  nodeDragIds?: string[];
842
842
  nodeDragIdsWithChildren?: string[];
843
843
  dragLabelSide?: LABEL_SIDE_TYPE;
844
+ dragging?: boolean;
844
845
  }
845
846
  /**
846
847
  * 渲染相关的全局状态管理
@@ -851,6 +852,8 @@ declare class FlowRendererStateEntity extends ConfigEntity<FlowRendererState, Fl
851
852
  constructor(conf: FlowRendererStateEntityConfig);
852
853
  getNodeHovered(): FlowNodeEntity | undefined;
853
854
  setNodeHovered(node: FlowNodeEntity | undefined): void;
855
+ get dragging(): boolean | undefined;
856
+ setDragging(dragging: boolean): void;
854
857
  getDragLabelSide(): LABEL_SIDE_TYPE | undefined;
855
858
  setDragLabelSide(dragLabelSide?: LABEL_SIDE_TYPE): void;
856
859
  getNodeDroppingId(): string | undefined;
@@ -1574,10 +1577,12 @@ declare class FlowDragService {
1574
1577
  protected onDropEmitter: Emitter<{
1575
1578
  dropNode: FlowNodeEntity;
1576
1579
  dragNodes: FlowNodeEntity[];
1580
+ dragJSON?: FlowNodeJSON;
1577
1581
  }>;
1578
1582
  readonly onDrop: _flowgram_ai_utils.Event<{
1579
1583
  dropNode: FlowNodeEntity;
1580
1584
  dragNodes: FlowNodeEntity[];
1585
+ dragJSON?: FlowNodeJSON;
1581
1586
  }>;
1582
1587
  get renderState(): FlowRendererStateEntity;
1583
1588
  get dragStartNode(): FlowNodeEntity;
@@ -1591,6 +1596,11 @@ declare class FlowDragService {
1591
1596
  * 放置到目标分支
1592
1597
  */
1593
1598
  dropBranch(): void;
1599
+ /**
1600
+ * 移动并且创建节点
1601
+ * Move and create node
1602
+ */
1603
+ dropCreateNode(json: FlowNodeJSON, onCreateNode?: (json: FlowNodeJSON, dropEntity: FlowNodeEntity) => Promise<FlowNodeEntity>): Promise<void>;
1594
1604
  /**
1595
1605
  * 移动到目标节点
1596
1606
  */
package/dist/index.js CHANGED
@@ -348,13 +348,14 @@ var _FlowNodeRenderData = class _FlowNodeRenderData extends import_core.EntityDa
348
348
  stackIndex: 0
349
349
  };
350
350
  }
351
- updateExtInfo(info) {
352
- if (import_utils.Compare.isChanged(this.data.extInfo, info)) {
353
- const oldInfo = this.data.extInfo;
351
+ updateExtInfo(info, fullUpdate) {
352
+ const oldInfo = this.data.extInfo;
353
+ const newInfo = fullUpdate ? info : { ...oldInfo, ...info };
354
+ if (import_utils.Compare.isChanged(oldInfo, newInfo)) {
354
355
  this.update({
355
- extInfo: info
356
+ extInfo: newInfo
356
357
  });
357
- this.onExtInfoChangeEmitter.fire({ oldInfo, newInfo: info });
358
+ this.onExtInfoChangeEmitter.fire({ oldInfo, newInfo });
358
359
  }
359
360
  }
360
361
  getExtInfo() {
@@ -1100,8 +1101,8 @@ var FlowNodeEntity = class extends import_core4.Entity {
1100
1101
  * 修改节点扩展信息
1101
1102
  * @param info
1102
1103
  */
1103
- updateExtInfo(extInfo) {
1104
- this.getData(FlowNodeRenderData).updateExtInfo(extInfo);
1104
+ updateExtInfo(extInfo, fullUpdate) {
1105
+ this.getData(FlowNodeRenderData).updateExtInfo(extInfo, fullUpdate);
1105
1106
  }
1106
1107
  /**
1107
1108
  * 获取节点扩展信息
@@ -1253,6 +1254,14 @@ var FlowRendererStateEntity = class extends import_core6.ConfigEntity {
1253
1254
  nodeHoveredId: node?.id
1254
1255
  });
1255
1256
  }
1257
+ get dragging() {
1258
+ return this.config.dragging;
1259
+ }
1260
+ setDragging(dragging) {
1261
+ this.updateConfig({
1262
+ dragging
1263
+ });
1264
+ }
1256
1265
  getDragLabelSide() {
1257
1266
  return this.config.dragLabelSide;
1258
1267
  }
@@ -2516,8 +2525,7 @@ var FlowDragService = class {
2516
2525
  return this.renderState.config.nodeDragIdsWithChildren || [];
2517
2526
  }
2518
2527
  get dragging() {
2519
- const renderData = this.dragStartNode?.getData(FlowNodeRenderData);
2520
- return !!renderData?.dragging;
2528
+ return !!this.renderState.dragging;
2521
2529
  }
2522
2530
  get labelSide() {
2523
2531
  return this.renderState.config.dragLabelSide;
@@ -2528,6 +2536,24 @@ var FlowDragService = class {
2528
2536
  dropBranch() {
2529
2537
  this.dropNode();
2530
2538
  }
2539
+ /**
2540
+ * 移动并且创建节点
2541
+ * Move and create node
2542
+ */
2543
+ async dropCreateNode(json, onCreateNode) {
2544
+ const dropEntity = this.document.getNode(this.dropNodeId);
2545
+ if (!dropEntity) {
2546
+ return;
2547
+ }
2548
+ if (json) {
2549
+ const dragNodes = await onCreateNode?.(json, dropEntity);
2550
+ this.onDropEmitter.fire({
2551
+ dropNode: dropEntity,
2552
+ dragNodes: dragNodes ? [dragNodes] : [],
2553
+ dragJSON: json
2554
+ });
2555
+ }
2556
+ }
2531
2557
  /**
2532
2558
  * 移动到目标节点
2533
2559
  */