@logicflow/core 1.1.25 → 1.1.26

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.
@@ -5487,7 +5487,7 @@ $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PR
5487
5487
  var $ = __webpack_require__(16);
5488
5488
  var getBuiltIn = __webpack_require__(46);
5489
5489
  var apply = __webpack_require__(76);
5490
- var bind = __webpack_require__(198);
5490
+ var bind = __webpack_require__(199);
5491
5491
  var aConstructor = __webpack_require__(157);
5492
5492
  var anObject = __webpack_require__(32);
5493
5493
  var isObject = __webpack_require__(33);
@@ -5966,6 +5966,21 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
5966
5966
 
5967
5967
  /***/ }),
5968
5968
  /* 30 */
5969
+ /***/ (function(module, exports, __webpack_require__) {
5970
+
5971
+ var $ = __webpack_require__(16);
5972
+ var assign = __webpack_require__(198);
5973
+
5974
+ // `Object.assign` method
5975
+ // https://tc39.es/ecma262/#sec-object.assign
5976
+ // eslint-disable-next-line es/no-object-assign -- required for testing
5977
+ $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
5978
+ assign: assign
5979
+ });
5980
+
5981
+
5982
+ /***/ }),
5983
+ /* 31 */
5969
5984
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5970
5985
 
5971
5986
  "use strict";
@@ -5981,21 +5996,6 @@ var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"] || fre
5981
5996
  /* harmony default export */ __webpack_exports__["a"] = (root);
5982
5997
 
5983
5998
 
5984
- /***/ }),
5985
- /* 31 */
5986
- /***/ (function(module, exports, __webpack_require__) {
5987
-
5988
- var $ = __webpack_require__(16);
5989
- var assign = __webpack_require__(200);
5990
-
5991
- // `Object.assign` method
5992
- // https://tc39.es/ecma262/#sec-object.assign
5993
- // eslint-disable-next-line es/no-object-assign -- required for testing
5994
- $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
5995
- assign: assign
5996
- });
5997
-
5998
-
5999
5999
  /***/ }),
6000
6000
  /* 32 */
6001
6001
  /***/ (function(module, exports, __webpack_require__) {
@@ -6332,7 +6332,7 @@ var $ = __webpack_require__(16);
6332
6332
  var call = __webpack_require__(35);
6333
6333
  var isObject = __webpack_require__(33);
6334
6334
  var anObject = __webpack_require__(32);
6335
- var isDataDescriptor = __webpack_require__(199);
6335
+ var isDataDescriptor = __webpack_require__(200);
6336
6336
  var getOwnPropertyDescriptorModule = __webpack_require__(51);
6337
6337
  var getPrototypeOf = __webpack_require__(96);
6338
6338
 
@@ -6359,7 +6359,7 @@ $({ target: 'Reflect', stat: true }, {
6359
6359
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6360
6360
 
6361
6361
  "use strict";
6362
- /* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
6362
+ /* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
6363
6363
  /* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(165);
6364
6364
 
6365
6365
 
@@ -8062,7 +8062,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object
8062
8062
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8063
8063
 
8064
8064
  "use strict";
8065
- /* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
8065
+ /* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
8066
8066
 
8067
8067
 
8068
8068
  /** Detect free variable `exports`. */
@@ -14161,57 +14161,6 @@ module.exports = function (matched, str, position, captures, namedCaptures, repl
14161
14161
 
14162
14162
  "use strict";
14163
14163
 
14164
- var global = __webpack_require__(7);
14165
- var uncurryThis = __webpack_require__(15);
14166
- var aCallable = __webpack_require__(55);
14167
- var isObject = __webpack_require__(33);
14168
- var hasOwn = __webpack_require__(34);
14169
- var arraySlice = __webpack_require__(101);
14170
-
14171
- var Function = global.Function;
14172
- var concat = uncurryThis([].concat);
14173
- var join = uncurryThis([].join);
14174
- var factories = {};
14175
-
14176
- var construct = function (C, argsLength, args) {
14177
- if (!hasOwn(factories, argsLength)) {
14178
- for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
14179
- factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');
14180
- } return factories[argsLength](C, args);
14181
- };
14182
-
14183
- // `Function.prototype.bind` method implementation
14184
- // https://tc39.es/ecma262/#sec-function.prototype.bind
14185
- module.exports = Function.bind || function bind(that /* , ...args */) {
14186
- var F = aCallable(this);
14187
- var Prototype = F.prototype;
14188
- var partArgs = arraySlice(arguments, 1);
14189
- var boundFunction = function bound(/* args... */) {
14190
- var args = concat(partArgs, arraySlice(arguments));
14191
- return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);
14192
- };
14193
- if (isObject(Prototype)) boundFunction.prototype = Prototype;
14194
- return boundFunction;
14195
- };
14196
-
14197
-
14198
- /***/ }),
14199
- /* 199 */
14200
- /***/ (function(module, exports, __webpack_require__) {
14201
-
14202
- var hasOwn = __webpack_require__(34);
14203
-
14204
- module.exports = function (descriptor) {
14205
- return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));
14206
- };
14207
-
14208
-
14209
- /***/ }),
14210
- /* 200 */
14211
- /***/ (function(module, exports, __webpack_require__) {
14212
-
14213
- "use strict";
14214
-
14215
14164
  var DESCRIPTORS = __webpack_require__(36);
14216
14165
  var uncurryThis = __webpack_require__(15);
14217
14166
  var call = __webpack_require__(35);
@@ -14270,6 +14219,57 @@ module.exports = !$assign || fails(function () {
14270
14219
  } : $assign;
14271
14220
 
14272
14221
 
14222
+ /***/ }),
14223
+ /* 199 */
14224
+ /***/ (function(module, exports, __webpack_require__) {
14225
+
14226
+ "use strict";
14227
+
14228
+ var global = __webpack_require__(7);
14229
+ var uncurryThis = __webpack_require__(15);
14230
+ var aCallable = __webpack_require__(55);
14231
+ var isObject = __webpack_require__(33);
14232
+ var hasOwn = __webpack_require__(34);
14233
+ var arraySlice = __webpack_require__(101);
14234
+
14235
+ var Function = global.Function;
14236
+ var concat = uncurryThis([].concat);
14237
+ var join = uncurryThis([].join);
14238
+ var factories = {};
14239
+
14240
+ var construct = function (C, argsLength, args) {
14241
+ if (!hasOwn(factories, argsLength)) {
14242
+ for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
14243
+ factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');
14244
+ } return factories[argsLength](C, args);
14245
+ };
14246
+
14247
+ // `Function.prototype.bind` method implementation
14248
+ // https://tc39.es/ecma262/#sec-function.prototype.bind
14249
+ module.exports = Function.bind || function bind(that /* , ...args */) {
14250
+ var F = aCallable(this);
14251
+ var Prototype = F.prototype;
14252
+ var partArgs = arraySlice(arguments, 1);
14253
+ var boundFunction = function bound(/* args... */) {
14254
+ var args = concat(partArgs, arraySlice(arguments));
14255
+ return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);
14256
+ };
14257
+ if (isObject(Prototype)) boundFunction.prototype = Prototype;
14258
+ return boundFunction;
14259
+ };
14260
+
14261
+
14262
+ /***/ }),
14263
+ /* 200 */
14264
+ /***/ (function(module, exports, __webpack_require__) {
14265
+
14266
+ var hasOwn = __webpack_require__(34);
14267
+
14268
+ module.exports = function (descriptor) {
14269
+ return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));
14270
+ };
14271
+
14272
+
14273
14273
  /***/ }),
14274
14274
  /* 201 */
14275
14275
  /***/ (function(module, exports, __webpack_require__) {
@@ -16699,7 +16699,7 @@ function stackHas(key) {
16699
16699
  /* harmony default export */ var _stackHas = (stackHas);
16700
16700
 
16701
16701
  // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/lodash-es/_root.js
16702
- var _root = __webpack_require__(30);
16702
+ var _root = __webpack_require__(31);
16703
16703
 
16704
16704
  // CONCATENATED MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/lodash-es/_Symbol.js
16705
16705
 
@@ -22730,6 +22730,9 @@ var es_string_replace = __webpack_require__(125);
22730
22730
  // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.number.max-safe-integer.js
22731
22731
  var es_number_max_safe_integer = __webpack_require__(80);
22732
22732
 
22733
+ // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.object.assign.js
22734
+ var es_object_assign = __webpack_require__(30);
22735
+
22733
22736
  // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.object.set-prototype-of.js
22734
22737
  var es_object_set_prototype_of = __webpack_require__(12);
22735
22738
 
@@ -22742,9 +22745,6 @@ var es_reflect_construct = __webpack_require__(14);
22742
22745
  // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.reflect.get.js
22743
22746
  var es_reflect_get = __webpack_require__(47);
22744
22747
 
22745
- // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.object.assign.js
22746
- var es_object_assign = __webpack_require__(31);
22747
-
22748
22748
  // CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/rng.js
22749
22749
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
22750
22750
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -23510,14 +23510,7 @@ var BaseEdgeModel_BaseEdgeModel = (BaseEdgeModel_class = /*#__PURE__*/function (
23510
23510
 
23511
23511
  this.graphModel = graphModel;
23512
23512
  this.initEdgeData(data);
23513
- this.setAttributes(); // 设置边的 anchors,也就是边的两个端点
23514
- // 端点依赖于 edgeData 的 sourceNode 和 targetNode
23515
-
23516
- this.setAnchors(); // 边的拐点依赖于两个端点
23517
-
23518
- this.initPoints(); // 文本位置依赖于边上的所有拐点
23519
-
23520
- this.formatText(data);
23513
+ this.setAttributes();
23521
23514
  }
23522
23515
  /**
23523
23516
  * @overridable 支持重写
@@ -23549,7 +23542,15 @@ var BaseEdgeModel_BaseEdgeModel = (BaseEdgeModel_class = /*#__PURE__*/function (
23549
23542
 
23550
23543
  if (overlapMode === OverlapMode.INCREASE) {
23551
23544
  this.zIndex = data.zIndex || getZIndex();
23552
- }
23545
+ } // 设置边的 anchors,也就是边的两个端点
23546
+ // 端点依赖于 edgeData 的 sourceNode 和 targetNode
23547
+
23548
+
23549
+ this.setAnchors(); // 边的拐点依赖于两个端点
23550
+
23551
+ this.initPoints(); // 文本位置依赖于边上的所有拐点
23552
+
23553
+ this.formatText(data);
23553
23554
  }
23554
23555
  /**
23555
23556
  * 设置model属性,每次properties发生变化会触发
@@ -25102,6 +25103,7 @@ function edge_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25102
25103
 
25103
25104
 
25104
25105
 
25106
+
25105
25107
 
25106
25108
 
25107
25109
  /* 手动创建边时edge->edgeModel */
@@ -25937,6 +25939,39 @@ var twoPointDistance = function twoPointDistance(source, target) {
25937
25939
  // };
25938
25940
  return Math.sqrt(Math.pow(source.x - target.x, 2) + Math.pow(source.y - target.y, 2));
25939
25941
  };
25942
+ /**
25943
+ * 包装边生成函数
25944
+ * @param graphModel graph model
25945
+ * @param generator 用户自定义的边生成函数
25946
+ */
25947
+
25948
+ function createEdgeGenerator(graphModel, generator) {
25949
+ if (typeof generator !== 'function') {
25950
+ return function (sourceNode, targetNode, currentEdge) {
25951
+ return Object.assign({
25952
+ type: graphModel.edgeType
25953
+ }, currentEdge);
25954
+ };
25955
+ }
25956
+
25957
+ return function (sourceNode, targetNode, currentEdge) {
25958
+ var result = generator(sourceNode, targetNode, currentEdge); // 无结果使用默认类型
25959
+
25960
+ if (!result) return {
25961
+ type: graphModel.edgeType
25962
+ };
25963
+
25964
+ if (typeof result === 'string') {
25965
+ return Object.assign({}, currentEdge, {
25966
+ type: result
25967
+ });
25968
+ }
25969
+
25970
+ return Object.assign({
25971
+ type: result
25972
+ }, currentEdge);
25973
+ };
25974
+ }
25940
25975
  // EXTERNAL MODULE: /Users/didi/niu-workspace/LogicFlow/node_modules/core-js/modules/es.promise.js
25941
25976
  var es_promise = __webpack_require__(204);
25942
25977
 
@@ -26357,6 +26392,8 @@ var GraphModel_GraphModel = (GraphModel_class = /*#__PURE__*/function () {
26357
26392
 
26358
26393
  GraphModel_defineProperty(this, "idGenerator", void 0);
26359
26394
 
26395
+ GraphModel_defineProperty(this, "edgeGenerator", void 0);
26396
+
26360
26397
  GraphModel_defineProperty(this, "nodeMoveRules", []);
26361
26398
 
26362
26399
  GraphModel_initializerDefineProperty(this, "edgeType", GraphModel_descriptor3, this);
@@ -26384,6 +26421,7 @@ var GraphModel_GraphModel = (GraphModel_class = /*#__PURE__*/function () {
26384
26421
  background = _options$background === void 0 ? {} : _options$background,
26385
26422
  grid = options.grid,
26386
26423
  idGenerator = options.idGenerator,
26424
+ edgeGenerator = options.edgeGenerator,
26387
26425
  animation = options.animation;
26388
26426
  this.background = background;
26389
26427
 
@@ -26403,6 +26441,7 @@ var GraphModel_GraphModel = (GraphModel_class = /*#__PURE__*/function () {
26403
26441
  this.partial = options.partial;
26404
26442
  this.overlapMode = options.overlapMode || 0;
26405
26443
  this.idGenerator = idGenerator;
26444
+ this.edgeGenerator = createEdgeGenerator(this, edgeGenerator);
26406
26445
  this.width = options.width || this.rootEl.getBoundingClientRect().width;
26407
26446
  this.height = options.height || this.rootEl.getBoundingClientRect().height;
26408
26447
  }
@@ -32594,8 +32633,8 @@ var Anchor_Anchor = /*#__PURE__*/function (_Component) {
32594
32633
 
32595
32634
  if (isSourcePass && isTargetPass) {
32596
32635
  targetNode.setElementState(ElementState.DEFAULT);
32597
- var edgeModel = graphModel.addEdge({
32598
- type: edgeType,
32636
+ var edgeData = graphModel.edgeGenerator(nodeModel.getData(), graphModel.getNodeModelById(info.node.id).getData());
32637
+ var edgeModel = graphModel.addEdge(Anchor_objectSpread(Anchor_objectSpread({}, edgeData), {}, {
32599
32638
  sourceNodeId: nodeModel.id,
32600
32639
  sourceAnchorId: id,
32601
32640
  startPoint: {
@@ -32608,7 +32647,7 @@ var Anchor_Anchor = /*#__PURE__*/function (_Component) {
32608
32647
  x: info.anchor.x,
32609
32648
  y: info.anchor.y
32610
32649
  }
32611
- });
32650
+ }));
32612
32651
  var anchorData = _this.props.anchorData;
32613
32652
  graphModel.eventCenter.emit(EventType.ANCHOR_DROP, {
32614
32653
  data: anchorData,
@@ -34857,7 +34896,8 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
34857
34896
 
34858
34897
 
34859
34898
  if (type === AdjustType.SOURCE) {
34860
- createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, createEdgeInfo), {}, {
34899
+ var edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(info.node.id).getData(), graphModel.getNodeModelById(edgeModel.targetNodeId).getData(), createEdgeInfo);
34900
+ createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, edgeInfo), {}, {
34861
34901
  sourceNodeId: info.node.id,
34862
34902
  sourceAnchorId: info.anchor.id,
34863
34903
  startPoint: {
@@ -34868,7 +34908,9 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
34868
34908
  endPoint: AdjustPoint_objectSpread({}, edgeModel.endPoint)
34869
34909
  });
34870
34910
  } else if (type === AdjustType.TARGET) {
34871
- createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, createEdgeInfo), {}, {
34911
+ var _edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(edgeModel.sourceNodeId).getData(), graphModel.getNodeModelById(info.node.id).getData(), createEdgeInfo);
34912
+
34913
+ createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, _edgeInfo), {}, {
34872
34914
  sourceNodeId: edgeModel.sourceNodeId,
34873
34915
  startPoint: AdjustPoint_objectSpread({}, edgeModel.startPoint),
34874
34916
  targetNodeId: info.node.id,