@logicflow/core 1.2.1 → 1.2.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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <p align="center">
2
- <a href="http://logic-flow.org" target="_blank">
2
+ <a href="https://docs.logic-flow.cn" target="_blank">
3
3
  <img
4
- src="http://logic-flow.org/new-logo.png"
4
+ src="https://docs.logic-flow.cn/docs/_images/logo.png"
5
5
  alt="LogicFlow logo"
6
6
  width="250"
7
7
  />
@@ -104,13 +104,10 @@ lf.render(data);
104
104
 
105
105
  ## 文档
106
106
 
107
- [官方文档](http://logic-flow.org)
107
+ [官方文档](https://docs.logic-flow.cn)
108
108
 
109
- - [快速上手](http://logic-flow.org/guide/start.html#安装)
110
- - [基础教程](http://logic-flow.org/guide/basic/logic-flow.html)
111
- - [进阶指南](http://logic-flow.org/guide/advance/theme.html)
112
- - [拓展](http://logic-flow.org/guide/extension/extension-components.html)
113
- - [示例](http://logic-flow.org/usage/bpmn.html)
109
+ - [快速上手](https://docs.logic-flow.cn/docs/#/zh/guide/start)
110
+ - [示例](https://docs.logic-flow.cn/examples/#/gallery)
114
111
 
115
112
  ## 核心能力
116
113
 
@@ -35036,7 +35036,7 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35036
35036
  y: endY
35037
35037
  }, graphModel); // 如果一定的坐标能够找到目标节点,预结算当前节点与目标节点的路径进行展示
35038
35038
 
35039
- if (info && info.node && _this.isAllowAdjust(info)) {
35039
+ if (info && info.node && _this.isAllowAdjust(info).pass) {
35040
35040
  var params;
35041
35041
  var startPoint = edgeModel.startPoint,
35042
35042
  endPoint = edgeModel.endPoint,
@@ -35121,51 +35121,67 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35121
35121
  var needRecoveryEdge = false;
35122
35122
  var createEdgeInfo;
35123
35123
 
35124
- if (info && info.node && _this.isAllowAdjust(info)) {
35125
- var _edgeData$text;
35126
-
35127
- var edgeData = edgeModel.getData();
35128
- createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, edgeData), {}, {
35129
- sourceAnchorId: '',
35130
- targetAnchorId: '',
35131
- text: (edgeData === null || edgeData === void 0 ? void 0 : (_edgeData$text = edgeData.text) === null || _edgeData$text === void 0 ? void 0 : _edgeData$text.value) || ''
35132
- }); // 根据调整点是边的起点或重点,计算创建边需要的参数
35133
-
35134
- if (type === AdjustType.SOURCE) {
35135
- var edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(info.node.id).getData(), graphModel.getNodeModelById(edgeModel.targetNodeId).getData(), createEdgeInfo);
35136
- createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, edgeInfo), {}, {
35137
- sourceNodeId: info.node.id,
35138
- sourceAnchorId: info.anchor.id,
35139
- startPoint: {
35140
- x: info.anchor.x,
35141
- y: info.anchor.y
35142
- },
35143
- targetNodeId: edgeModel.targetNodeId,
35144
- endPoint: AdjustPoint_objectSpread({}, edgeModel.endPoint)
35145
- }); // 找到的是原有的源节点上的原锚点时,还原边
35146
-
35147
- if (edgeModel.sourceNodeId === info.node.id && edgeModel.sourceAnchorId === info.anchor.id) {
35148
- needRecoveryEdge = true;
35149
- }
35150
- } else if (type === AdjustType.TARGET) {
35151
- var _edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(edgeModel.sourceNodeId).getData(), graphModel.getNodeModelById(info.node.id).getData(), createEdgeInfo);
35152
-
35153
- createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, _edgeInfo), {}, {
35154
- sourceNodeId: edgeModel.sourceNodeId,
35155
- startPoint: AdjustPoint_objectSpread({}, edgeModel.startPoint),
35156
- targetNodeId: info.node.id,
35157
- targetAnchorId: info.anchor.id,
35158
- endPoint: {
35159
- x: info.anchor.x,
35160
- y: info.anchor.y
35124
+ if (info && info.node) {
35125
+ var _this$isAllowAdjust = _this.isAllowAdjust(info),
35126
+ pass = _this$isAllowAdjust.pass,
35127
+ msg = _this$isAllowAdjust.msg,
35128
+ newTargetNode = _this$isAllowAdjust.newTargetNode;
35129
+
35130
+ if (pass) {
35131
+ var _edgeData$text;
35132
+
35133
+ var edgeData = edgeModel.getData();
35134
+ createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, edgeData), {}, {
35135
+ sourceAnchorId: '',
35136
+ targetAnchorId: '',
35137
+ text: (edgeData === null || edgeData === void 0 ? void 0 : (_edgeData$text = edgeData.text) === null || _edgeData$text === void 0 ? void 0 : _edgeData$text.value) || ''
35138
+ }); // 根据调整点是边的起点或重点,计算创建边需要的参数
35139
+
35140
+ if (type === AdjustType.SOURCE) {
35141
+ var edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(info.node.id).getData(), graphModel.getNodeModelById(edgeModel.targetNodeId).getData(), createEdgeInfo);
35142
+ createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, edgeInfo), {}, {
35143
+ sourceNodeId: info.node.id,
35144
+ sourceAnchorId: info.anchor.id,
35145
+ startPoint: {
35146
+ x: info.anchor.x,
35147
+ y: info.anchor.y
35148
+ },
35149
+ targetNodeId: edgeModel.targetNodeId,
35150
+ endPoint: AdjustPoint_objectSpread({}, edgeModel.endPoint)
35151
+ }); // 找到的是原有的源节点上的原锚点时,还原边
35152
+
35153
+ if (edgeModel.sourceNodeId === info.node.id && edgeModel.sourceAnchorId === info.anchor.id) {
35154
+ needRecoveryEdge = true;
35161
35155
  }
35162
- }); // 找到的是原有的目标节点上的原锚点时,还原边
35156
+ } else if (type === AdjustType.TARGET) {
35157
+ var _edgeInfo = graphModel.edgeGenerator(graphModel.getNodeModelById(edgeModel.sourceNodeId).getData(), graphModel.getNodeModelById(info.node.id).getData(), createEdgeInfo);
35158
+
35159
+ createEdgeInfo = AdjustPoint_objectSpread(AdjustPoint_objectSpread({}, _edgeInfo), {}, {
35160
+ sourceNodeId: edgeModel.sourceNodeId,
35161
+ startPoint: AdjustPoint_objectSpread({}, edgeModel.startPoint),
35162
+ targetNodeId: info.node.id,
35163
+ targetAnchorId: info.anchor.id,
35164
+ endPoint: {
35165
+ x: info.anchor.x,
35166
+ y: info.anchor.y
35167
+ }
35168
+ }); // 找到的是原有的目标节点上的原锚点时,还原边
35163
35169
 
35164
- if (edgeModel.targetNodeId === info.node.id && edgeModel.targetAnchorId === info.anchor.id) {
35165
- needRecoveryEdge = true;
35170
+ if (edgeModel.targetNodeId === info.node.id && edgeModel.targetAnchorId === info.anchor.id) {
35171
+ needRecoveryEdge = true;
35172
+ }
35166
35173
  }
35174
+ } else {
35175
+ // 如果没有通过校验,还原边并抛出CONNECTION_NOT_ALLOWED事件
35176
+ needRecoveryEdge = true;
35177
+ var nodeData = newTargetNode.getData();
35178
+ graphModel.eventCenter.emit(EventType.CONNECTION_NOT_ALLOWED, {
35179
+ data: nodeData,
35180
+ msg: msg
35181
+ });
35167
35182
  }
35168
35183
  } else {
35184
+ // 如果没有找到目标节点,还原边
35169
35185
  needRecoveryEdge = true;
35170
35186
  }
35171
35187
 
@@ -35183,7 +35199,7 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35183
35199
  }
35184
35200
  });
35185
35201
  } else {
35186
- // 如果没有找到目标节点,还原边
35202
+ // 如果没有找到目标节点或者没有通过校验,还原边
35187
35203
  _this.recoveryEdge();
35188
35204
  }
35189
35205
 
@@ -35285,7 +35301,11 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35285
35301
  this.preTargetNode = info.node; // #500 不允许锚点自己连自己, 在锚点一开始连接的时候, 不触发自己连接自己的校验。
35286
35302
 
35287
35303
  if (newTargetAnchor.id === newSourceAnchor.id) {
35288
- return false;
35304
+ return {
35305
+ pass: false,
35306
+ msg: '',
35307
+ newTargetNode: newTargetNode
35308
+ };
35289
35309
  }
35290
35310
 
35291
35311
  var targetInfoId = "".concat(newSourceNode.id, "_").concat(newTargetNode.id, "_").concat(newSourceAnchor.id, "_").concat(newTargetAnchor.id); // 查看鼠标是否进入过target,若有检验结果,表示进入过, 就不重复计算了。
@@ -35298,10 +35318,12 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35298
35318
  }
35299
35319
 
35300
35320
  var _this$sourceRuleResul = this.sourceRuleResults.get(targetInfoId),
35301
- isSourcePass = _this$sourceRuleResul.isAllPass;
35321
+ isSourcePass = _this$sourceRuleResul.isAllPass,
35322
+ sourceMsg = _this$sourceRuleResul.msg;
35302
35323
 
35303
35324
  var _this$targetRuleResul = this.targetRuleResults.get(targetInfoId),
35304
- isTargetPass = _this$targetRuleResul.isAllPass; // 实时提示出即将连接的节点是否允许连接
35325
+ isTargetPass = _this$targetRuleResul.isAllPass,
35326
+ targetMsg = _this$targetRuleResul.msg; // 实时提示出即将连接的节点是否允许连接
35305
35327
 
35306
35328
 
35307
35329
  var state = isSourcePass && isTargetPass ? ElementState.ALLOW_CONNECT : ElementState.NOT_ALLOW_CONNECT;
@@ -35312,7 +35334,11 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35312
35334
  newTargetNode.setElementState(state);
35313
35335
  }
35314
35336
 
35315
- return isSourcePass && isTargetPass;
35337
+ return {
35338
+ pass: isSourcePass && isTargetPass,
35339
+ msg: targetMsg || sourceMsg,
35340
+ newTargetNode: newTargetNode
35341
+ };
35316
35342
  }
35317
35343
  }, {
35318
35344
  key: "render",
@@ -35320,12 +35346,13 @@ var AdjustPoint_AdjustPoint = /*#__PURE__*/function (_Component) {
35320
35346
  var _this$props6 = this.props,
35321
35347
  x = _this$props6.x,
35322
35348
  y = _this$props6.y,
35323
- getAdjustPointShape = _this$props6.getAdjustPointShape;
35349
+ getAdjustPointShape = _this$props6.getAdjustPointShape,
35350
+ edgeModel = _this$props6.edgeModel;
35324
35351
  var dragging = this.state.dragging;
35325
35352
  return Object(preact_module["g" /* h */])("g", {
35326
35353
  pointerEvents: dragging ? 'none' : '',
35327
35354
  onMouseDown: this.handleMouseDown
35328
- }, getAdjustPointShape(x, y, dragging));
35355
+ }, !dragging ? getAdjustPointShape(x, y, edgeModel) : '');
35329
35356
  }
35330
35357
  }]);
35331
35358
 
@@ -35407,17 +35434,6 @@ var BaseEdge_BaseEdge = /*#__PURE__*/function (_Component) {
35407
35434
 
35408
35435
  BaseEdge_defineProperty(BaseEdge_assertThisInitialized(_this), "textRef", Object(preact_module["f" /* createRef */])());
35409
35436
 
35410
- BaseEdge_defineProperty(BaseEdge_assertThisInitialized(_this), "getAdjustPointShape", function (x, y) {
35411
- var model = _this.props.model;
35412
- var style = model.getAdjustPointStyle();
35413
- return Object(preact_module["g" /* h */])(Circle, BaseEdge_extends({
35414
- className: "lf-edge-adjust-point"
35415
- }, style, {
35416
- x: x,
35417
- y: y
35418
- }));
35419
- });
35420
-
35421
35437
  BaseEdge_defineProperty(BaseEdge_assertThisInitialized(_this), "handleHover", function (hovered, ev) {
35422
35438
  var _this$props = _this.props,
35423
35439
  model = _this$props.model,
@@ -35759,12 +35775,23 @@ var BaseEdge_BaseEdge = /*#__PURE__*/function (_Component) {
35759
35775
  */
35760
35776
 
35761
35777
  }, {
35762
- key: "getAdjustPoints",
35763
- value:
35778
+ key: "getAdjustPointShape",
35779
+ value: function getAdjustPointShape(x, y, model) {
35780
+ var style = model.getAdjustPointStyle();
35781
+ return Object(preact_module["g" /* h */])(Circle, BaseEdge_extends({
35782
+ className: "lf-edge-adjust-point"
35783
+ }, style, {
35784
+ x: x,
35785
+ y: y
35786
+ }));
35787
+ }
35764
35788
  /**
35765
35789
  * 不支持重写。请使用getAdjustPointShape
35766
35790
  */
35767
- function getAdjustPoints() {
35791
+
35792
+ }, {
35793
+ key: "getAdjustPoints",
35794
+ value: function getAdjustPoints() {
35768
35795
  var _this$props5 = this.props,
35769
35796
  model = _this$props5.model,
35770
35797
  graphModel = _this$props5.graphModel;
@@ -38095,15 +38122,15 @@ function initDefaultShortcut(lf, graph) {
38095
38122
  var keyboardOptions = keyboard.options.keyboard; // 复制
38096
38123
 
38097
38124
  keyboard.on(['cmd + c', 'ctrl + c'], function () {
38098
- if (!keyboardOptions.enabled) return;
38099
- if (graph.textEditElement) return;
38125
+ if (!keyboardOptions.enabled) return true;
38126
+ if (graph.textEditElement) return true;
38100
38127
  var guards = lf.options.guards;
38101
38128
  var elements = graph.getSelectElements(false);
38102
38129
  var enabledClone = guards && guards.beforeClone ? guards.beforeClone(elements) : true;
38103
38130
 
38104
- if (!enabledClone) {
38131
+ if (!enabledClone || elements.nodes.length === 0 && elements.edges.length === 0) {
38105
38132
  selected = null;
38106
- return false;
38133
+ return true;
38107
38134
  }
38108
38135
 
38109
38136
  selected = elements;
@@ -38117,13 +38144,13 @@ function initDefaultShortcut(lf, graph) {
38117
38144
  }); // 粘贴
38118
38145
 
38119
38146
  keyboard.on(['cmd + v', 'ctrl + v'], function () {
38120
- if (!keyboardOptions.enabled) return;
38121
- if (graph.textEditElement) return;
38147
+ if (!keyboardOptions.enabled) return true;
38148
+ if (graph.textEditElement) return true;
38122
38149
 
38123
38150
  if (selected && (selected.nodes || selected.edges)) {
38124
38151
  lf.clearSelectElements();
38125
38152
  var addElements = lf.addElements(selected);
38126
- if (!addElements) return;
38153
+ if (!addElements) return true;
38127
38154
  addElements.nodes.forEach(function (node) {
38128
38155
  return lf.selectElementById(node.id, true);
38129
38156
  });
@@ -38142,22 +38169,22 @@ function initDefaultShortcut(lf, graph) {
38142
38169
  }); // undo
38143
38170
 
38144
38171
  keyboard.on(['cmd + z', 'ctrl + z'], function () {
38145
- if (!keyboardOptions.enabled) return;
38146
- if (graph.textEditElement) return;
38172
+ if (!keyboardOptions.enabled) return true;
38173
+ if (graph.textEditElement) return true;
38147
38174
  lf.undo();
38148
38175
  return false;
38149
38176
  }); // redo
38150
38177
 
38151
38178
  keyboard.on(['cmd + y', 'ctrl + y'], function () {
38152
- if (!keyboardOptions.enabled) return;
38153
- if (graph.textEditElement) return;
38179
+ if (!keyboardOptions.enabled) return true;
38180
+ if (graph.textEditElement) return true;
38154
38181
  lf.redo();
38155
38182
  return false;
38156
38183
  }); // delete
38157
38184
 
38158
38185
  keyboard.on(['backspace'], function () {
38159
- if (!keyboardOptions.enabled) return;
38160
- if (graph.textEditElement) return;
38186
+ if (!keyboardOptions.enabled) return true;
38187
+ if (graph.textEditElement) return true;
38161
38188
  var elements = graph.getSelectElements(true);
38162
38189
  lf.clearSelectElements();
38163
38190
  elements.edges.forEach(function (edge) {