@next-core/editor-bricks-helper 0.42.26 → 0.44.0

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.esm.js CHANGED
@@ -722,6 +722,7 @@ var BuilderInternalEventType;
722
722
  BuilderInternalEventType["NODE_MOVE"] = "builder.node.move";
723
723
  BuilderInternalEventType["NODE_REORDER"] = "builder.node.reorder";
724
724
  BuilderInternalEventType["NODE_CLICK"] = "builder.node.click";
725
+ BuilderInternalEventType["NODE_UPDATE"] = "builder.node.update";
725
726
  BuilderInternalEventType["SNIPPET_APPLY"] = "builder.snippet.apply";
726
727
  BuilderInternalEventType["CONTEXT_MENU_CHANGE"] = "builder.contextMenu.change";
727
728
  BuilderInternalEventType["DATA_CHANGE"] = "builder.data.change";
@@ -857,7 +858,9 @@ class BuilderDataManager {
857
858
  var rootNode = nodes.find(node => node.$$uid === rootId);
858
859
  var rootNodeIsCustomTemplate = rootNode.type === "custom-template";
859
860
  this.relatedNodesBasedOnEventsMap = getRelatedNodesBasedOnEvents(nodes, rootNodeIsCustomTemplate);
860
- this.eventTarget.dispatchEvent(new CustomEvent(BuilderInternalEventType.DATA_CHANGE));
861
+ this.eventTarget.dispatchEvent(new CustomEvent(BuilderInternalEventType.DATA_CHANGE, {
862
+ detail: this.data
863
+ }));
861
864
  }
862
865
 
863
866
  runAddNodeAction(detail) {
@@ -906,6 +909,41 @@ class BuilderDataManager {
906
909
  this.runAddNodeAction(detail);
907
910
  }
908
911
 
912
+ updateNode(instanceId, detail) {
913
+ var {
914
+ rootId,
915
+ nodes,
916
+ edges,
917
+ wrapperNode
918
+ } = this.data;
919
+ var updateNode = nodes.find(item => item.instanceId === instanceId);
920
+ var newNodes = nodes.map(item => {
921
+ if (item.instanceId === instanceId) {
922
+ return _objectSpread(_objectSpread({}, item), detail);
923
+ }
924
+
925
+ return item;
926
+ });
927
+ var newEdges = detail.mountPoint === undefined || detail.mountPoint === null ? edges : edges.map(item => {
928
+ if (item.child === updateNode.$$uid) {
929
+ return _objectSpread(_objectSpread({}, item), {}, {
930
+ mountPoint: detail.mountPoint
931
+ });
932
+ }
933
+
934
+ return item;
935
+ });
936
+ this.data = {
937
+ rootId,
938
+ nodes: newNodes,
939
+ edges: newEdges,
940
+ wrapperNode
941
+ };
942
+ this.eventTarget.dispatchEvent(new CustomEvent(BuilderInternalEventType.NODE_UPDATE, {
943
+ detail: this.data
944
+ }));
945
+ }
946
+
909
947
  redirectMountPoint(detail) {
910
948
  var {
911
949
  rootId,
@@ -1201,14 +1239,14 @@ class BuilderDataManager {
1201
1239
  var {
1202
1240
  nodeData,
1203
1241
  dragOverInstanceId,
1204
- parentInstanceId,
1205
1242
  dragStatus,
1206
1243
  mountPoint
1207
1244
  } = detail;
1208
1245
 
1209
- if (nodeData.instanceId) ; else {
1246
+ if (nodeData.instanceId && !nodeData.instanceId.startsWith("mock")) ; else {
1210
1247
  // insert
1211
- var newNodeUid = getUniqueNodeId();
1248
+ var parentInstanceId = detail.parent || detail.parentInstanceId;
1249
+ var newNodeUid = nodeData.$$uid || getUniqueNodeId();
1212
1250
  var overNode = nodes.find(item => item.instanceId === dragOverInstanceId);
1213
1251
  var dragOverNodeUid = overNode.$$uid;
1214
1252
  var realDragStatus = dragStatus;
@@ -1241,6 +1279,7 @@ class BuilderDataManager {
1241
1279
  });
1242
1280
  nodeData.parent = parentInstanceId;
1243
1281
  nodeData.mountPoint = mountPoint;
1282
+ nodeData.sort = sortIndex;
1244
1283
 
1245
1284
  if (nodeData.bricks) {
1246
1285
  // snippet
@@ -1484,6 +1523,13 @@ class BuilderDataManager {
1484
1523
  };
1485
1524
  }
1486
1525
 
1526
+ onNodeUpdate(fn) {
1527
+ this.eventTarget.addEventListener(BuilderInternalEventType.NODE_UPDATE, fn);
1528
+ return () => {
1529
+ this.eventTarget.removeEventListener(BuilderInternalEventType.NODE_UPDATE, fn);
1530
+ };
1531
+ }
1532
+
1487
1533
  onContextMenuChange(fn) {
1488
1534
  this.eventTarget.addEventListener(BuilderInternalEventType.CONTEXT_MENU_CHANGE, fn);
1489
1535
  return () => {