dcim-topology2d 2.2.4 → 2.2.5
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/chart-diagram/src/utils/conversion.js +9 -1
- package/core/src/activeLayer.d.ts +1 -1
- package/core/src/activeLayer.js +13 -5
- package/core/src/common.d.ts +2 -2
- package/core/src/common.js +8 -15
- package/core/src/core.d.ts +2 -2
- package/core/src/core.js +236 -179
- package/core/src/healps/changeData.d.ts +0 -1
- package/core/src/healps/changeData.js +0 -4
- package/core/src/middles/default.js +8 -3
- package/core/src/middles/nodes/{arbitrarygraph.anchor.d.ts → basic/arbitrarygraph.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{arbitrarygraph.anchor.js → basic/arbitrarygraph.anchor.js} +1 -1
- package/core/src/middles/nodes/{arbitrarygraph.d.ts → basic/arbitrarygraph.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.anchor.d.ts → basic/arrow.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.anchor.js → basic/arrow.anchor.js} +2 -2
- package/core/src/middles/nodes/{arrow.d.ts → basic/arrow.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.rect.d.ts → basic/arrow.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{arrow.rect.js → basic/arrow.rect.js} +1 -1
- package/core/src/middles/nodes/{circle.anchor.d.ts → basic/circle.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{circle.anchor.js → basic/circle.anchor.js} +2 -2
- package/core/src/middles/nodes/{circle.d.ts → basic/circle.d.ts} +1 -1
- package/core/src/middles/nodes/{circle.rect.d.ts → basic/circle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{circle.rect.js → basic/circle.rect.js} +1 -1
- package/core/src/middles/nodes/{cloud.anchor.d.ts → basic/cloud.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.anchor.js → basic/cloud.anchor.js} +2 -2
- package/core/src/middles/nodes/{cloud.d.ts → basic/cloud.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.rect.d.ts → basic/cloud.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{cloud.rect.js → basic/cloud.rect.js} +1 -1
- package/core/src/middles/nodes/{cube.anchor.d.ts → basic/cube.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.anchor.js → basic/cube.anchor.js} +2 -2
- package/core/src/middles/nodes/{cube.d.ts → basic/cube.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.model.d.ts → basic/cube.model.d.ts} +2 -2
- package/core/src/middles/nodes/{cube.model.js → basic/cube.model.js} +2 -2
- package/core/src/middles/nodes/{cube.rect.d.ts → basic/cube.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{cube.rect.js → basic/cube.rect.js} +1 -1
- package/core/src/middles/nodes/{diamond.d.ts → basic/diamond.d.ts} +1 -1
- package/core/src/middles/nodes/{diamond.rect.d.ts → basic/diamond.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{diamond.rect.js → basic/diamond.rect.js} +1 -1
- package/core/src/middles/nodes/{file.d.ts → basic/file.d.ts} +1 -1
- package/core/src/middles/nodes/{iframe.d.ts → basic/iframe.d.ts} +1 -1
- package/core/src/middles/nodes/{iframe.js → basic/iframe.js} +3 -3
- package/core/src/middles/nodes/{image.anchor.d.ts → basic/image.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{image.anchor.js → basic/image.anchor.js} +2 -2
- package/core/src/middles/nodes/{image.rect.d.ts → basic/image.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{image.rect.js → basic/image.rect.js} +1 -1
- package/core/src/middles/nodes/{line.anchor.d.ts → basic/line.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{line.anchor.js → basic/line.anchor.js} +2 -2
- package/core/src/middles/nodes/{line.d.ts → basic/line.d.ts} +1 -1
- package/core/src/middles/nodes/{line.rect.d.ts → basic/line.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{line.rect.js → basic/line.rect.js} +1 -1
- package/core/src/middles/nodes/{message.anchor.d.ts → basic/message.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{message.anchor.js → basic/message.anchor.js} +2 -2
- package/core/src/middles/nodes/{message.d.ts → basic/message.d.ts} +1 -1
- package/core/src/middles/nodes/{message.rect.d.ts → basic/message.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{message.rect.js → basic/message.rect.js} +1 -1
- package/core/src/middles/nodes/{pentagon.anchor.d.ts → basic/pentagon.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.anchor.js → basic/pentagon.anchor.js} +2 -2
- package/core/src/middles/nodes/{pentagon.d.ts → basic/pentagon.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.rect.d.ts → basic/pentagon.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagon.rect.js → basic/pentagon.rect.js} +1 -1
- package/core/src/middles/nodes/{pentagram.anchor.d.ts → basic/pentagram.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.anchor.js → basic/pentagram.anchor.js} +2 -2
- package/core/src/middles/nodes/{pentagram.d.ts → basic/pentagram.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.rect.d.ts → basic/pentagram.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{pentagram.rect.js → basic/pentagram.rect.js} +1 -1
- package/core/src/middles/nodes/{people.d.ts → basic/people.d.ts} +1 -1
- package/core/src/middles/nodes/{people.rect.d.ts → basic/people.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{people.rect.js → basic/people.rect.js} +1 -1
- package/core/src/middles/nodes/{rectangle.d.ts → basic/rectangle.d.ts} +1 -1
- package/core/src/middles/nodes/{rectangle.js → basic/rectangle.js} +1 -1
- package/core/src/middles/nodes/{rectangle.rect.d.ts → basic/rectangle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{rectangle.rect.js → basic/rectangle.rect.js} +1 -1
- package/core/src/middles/nodes/{text.d.ts → basic/text.d.ts} +2 -2
- package/core/src/middles/nodes/{triangle.anchor.d.ts → basic/triangle.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.anchor.js → basic/triangle.anchor.js} +2 -2
- package/core/src/middles/nodes/{triangle.d.ts → basic/triangle.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.rect.d.ts → basic/triangle.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{triangle.rect.js → basic/triangle.rect.js} +1 -1
- package/core/src/middles/nodes/custom/humiture.d.ts +2 -0
- package/core/src/middles/nodes/custom/humiture.js +24 -0
- package/core/src/middles/nodes/{hexagon.anchor.d.ts → flow/hexagon.anchor.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.anchor.js → flow/hexagon.anchor.js} +2 -2
- package/core/src/middles/nodes/{hexagon.d.ts → flow/hexagon.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.rect.d.ts → flow/hexagon.rect.d.ts} +1 -1
- package/core/src/middles/nodes/{hexagon.rect.js → flow/hexagon.rect.js} +1 -1
- package/core/src/middles/nodes/form/formDatePicker.d.ts +2 -0
- package/core/src/middles/nodes/{formDatePicker.js → form/formDatePicker.js} +5 -5
- package/core/src/middles/nodes/{formoverflow.js → form/formoverflow.js} +2 -2
- package/core/src/middles/nodes/{formselect.d.ts → form/formselect.d.ts} +1 -1
- package/core/src/middles/nodes/{formselect.js → form/formselect.js} +6 -7
- package/core/src/middles/nodes/{formtable.d.ts → form/formtable.d.ts} +1 -1
- package/core/src/middles/nodes/{progress.d.ts → form/progress.d.ts} +1 -1
- package/core/src/middles/nodes/{tablePagination.d.ts → form/tablePagination.d.ts} +1 -1
- package/core/src/middles/nodes/{time.d.ts → form/time.d.ts} +1 -1
- package/core/src/middles/nodes/icon/echartLine.d.ts +2 -0
- package/core/src/middles/nodes/icon/echartLine.js +99 -0
- package/core/src/middles/nodes/index.d.ts +54 -52
- package/core/src/middles/nodes/index.js +54 -53
- package/core/src/models/line.js +1 -1
- package/core/src/models/node.js +7 -6
- package/core/src/models/pen.d.ts +6 -0
- package/core/src/models/rect.d.ts +1 -0
- package/core/src/models/rect.js +13 -7
- package/core/src/options.js +2 -1
- package/core/src/preview.js +11 -12
- package/core/src/utils/assignment.js +41 -43
- package/core/src/utils/construction.d.ts +17 -3
- package/core/src/utils/construction.js +22 -2
- package/core/src/utils/conversion.d.ts +5 -7
- package/core/src/utils/conversion.js +185 -10
- package/core/src/utils/math.d.ts +0 -1
- package/core/src/utils/math.js +0 -11
- package/core/src/utils/params.js +1 -0
- package/myShape-diagram/index.js +1 -2
- package/package.json +1 -1
- package/static/icon.js +10 -0
- package/static/index.js +2 -1
- package/store/actions.js +14 -1
- package/store/clear.js +8 -2
- package/core/src/middles/nodes/formDatePicker.d.ts +0 -2
- /package/core/src/middles/nodes/{arbitrarygraph.js → basic/arbitrarygraph.js} +0 -0
- /package/core/src/middles/nodes/{arrow.anchor.js.map → basic/arrow.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{arrow.js → basic/arrow.js} +0 -0
- /package/core/src/middles/nodes/{arrow.js.map → basic/arrow.js.map} +0 -0
- /package/core/src/middles/nodes/{arrow.rect.js.map → basic/arrow.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.anchor.js.map → basic/circle.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.js → basic/circle.js} +0 -0
- /package/core/src/middles/nodes/{circle.js.map → basic/circle.js.map} +0 -0
- /package/core/src/middles/nodes/{circle.rect.js.map → basic/circle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.anchor.js.map → basic/cloud.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.js → basic/cloud.js} +0 -0
- /package/core/src/middles/nodes/{cloud.js.map → basic/cloud.js.map} +0 -0
- /package/core/src/middles/nodes/{cloud.rect.js.map → basic/cloud.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.anchor.js.map → basic/cube.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.js → basic/cube.js} +0 -0
- /package/core/src/middles/nodes/{cube.js.map → basic/cube.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.model.js.map → basic/cube.model.js.map} +0 -0
- /package/core/src/middles/nodes/{cube.rect.js.map → basic/cube.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{diamond.js → basic/diamond.js} +0 -0
- /package/core/src/middles/nodes/{diamond.js.map → basic/diamond.js.map} +0 -0
- /package/core/src/middles/nodes/{diamond.rect.js.map → basic/diamond.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{file.js → basic/file.js} +0 -0
- /package/core/src/middles/nodes/{file.js.map → basic/file.js.map} +0 -0
- /package/core/src/middles/nodes/{image.anchor.js.map → basic/image.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{image.rect.js.map → basic/image.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{line.anchor.js.map → basic/line.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{line.js → basic/line.js} +0 -0
- /package/core/src/middles/nodes/{line.js.map → basic/line.js.map} +0 -0
- /package/core/src/middles/nodes/{line.rect.js.map → basic/line.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{message.anchor.js.map → basic/message.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{message.js → basic/message.js} +0 -0
- /package/core/src/middles/nodes/{message.js.map → basic/message.js.map} +0 -0
- /package/core/src/middles/nodes/{message.rect.js.map → basic/message.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.anchor.js.map → basic/pentagon.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.js → basic/pentagon.js} +0 -0
- /package/core/src/middles/nodes/{pentagon.js.map → basic/pentagon.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagon.rect.js.map → basic/pentagon.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.anchor.js.map → basic/pentagram.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.js → basic/pentagram.js} +0 -0
- /package/core/src/middles/nodes/{pentagram.js.map → basic/pentagram.js.map} +0 -0
- /package/core/src/middles/nodes/{pentagram.rect.js.map → basic/pentagram.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{people.js → basic/people.js} +0 -0
- /package/core/src/middles/nodes/{people.js.map → basic/people.js.map} +0 -0
- /package/core/src/middles/nodes/{people.rect.js.map → basic/people.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{rectangle.js.map → basic/rectangle.js.map} +0 -0
- /package/core/src/middles/nodes/{rectangle.rect.js.map → basic/rectangle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{text.js → basic/text.js} +0 -0
- /package/core/src/middles/nodes/{text.js.map → basic/text.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.anchor.js.map → basic/triangle.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.js → basic/triangle.js} +0 -0
- /package/core/src/middles/nodes/{triangle.js.map → basic/triangle.js.map} +0 -0
- /package/core/src/middles/nodes/{triangle.rect.js.map → basic/triangle.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.anchor.js.map → flow/hexagon.anchor.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.js → flow/hexagon.js} +0 -0
- /package/core/src/middles/nodes/{hexagon.js.map → flow/hexagon.js.map} +0 -0
- /package/core/src/middles/nodes/{hexagon.rect.js.map → flow/hexagon.rect.js.map} +0 -0
- /package/core/src/middles/nodes/{formtable.js → form/formtable.js} +0 -0
- /package/core/src/middles/nodes/{progress.js → form/progress.js} +0 -0
- /package/core/src/middles/nodes/{progress.js.map → form/progress.js.map} +0 -0
- /package/core/src/middles/nodes/{switchs.d.ts → form/switchs.d.ts} +0 -0
- /package/core/src/middles/nodes/{switchs.js → form/switchs.js} +0 -0
- /package/core/src/middles/nodes/{tablePagination.js → form/tablePagination.js} +0 -0
- /package/core/src/middles/nodes/{time.js → form/time.js} +0 -0
- /package/static/{echartsDefaultData.js → echarts.js} +0 -0
package/core/src/core.js
CHANGED
|
@@ -22,19 +22,18 @@ import {
|
|
|
22
22
|
s8,
|
|
23
23
|
pointInRect,
|
|
24
24
|
formatPadding,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
setAssetIdData,
|
|
28
|
-
setAreaIdData,
|
|
29
|
-
setVarValueData,
|
|
30
|
-
setBranchAddressData,
|
|
31
|
-
setThreeCategoryIdData,
|
|
25
|
+
setConfBindPointMonitorData,
|
|
26
|
+
createEchartsLineIcon,
|
|
32
27
|
setConnectionTagForConf,
|
|
33
28
|
setConnectionTabsData,
|
|
34
|
-
getTabConnectSHConf,
|
|
29
|
+
getTabConnectSHConf,
|
|
30
|
+
bindDataConfig,
|
|
31
|
+
hasBoundData,
|
|
32
|
+
dataBindType
|
|
35
33
|
} from './utils';
|
|
36
34
|
import {setSelectElementPosition} from './element';
|
|
37
35
|
import {elementType} from '../../static';
|
|
36
|
+
import {bindDataWithIconAssociationPool, iconMotionData} from "../../store";
|
|
38
37
|
|
|
39
38
|
var resizeCursors = ['nw-resize', 'ne-resize', 'se-resize', 'sw-resize'];
|
|
40
39
|
var dockOffset = 10;
|
|
@@ -129,8 +128,9 @@ var Topology = (function (_super) {
|
|
|
129
128
|
_this.raf = null;
|
|
130
129
|
if (!_this.mouseDown) {
|
|
131
130
|
_this.getMoveIn(pos);
|
|
131
|
+
const hoverNode = _this.moveIn.hoverNode;
|
|
132
132
|
// Render hover anchors.
|
|
133
|
-
if (
|
|
133
|
+
if (hoverNode !== _this.lastHoverNode) {
|
|
134
134
|
if (_this.lastHoverNode) {
|
|
135
135
|
// Send a move event.
|
|
136
136
|
_this.dispatch('moveOutNode', _this.lastHoverNode);
|
|
@@ -138,11 +138,11 @@ var Topology = (function (_super) {
|
|
|
138
138
|
// Clear hover anchors.
|
|
139
139
|
_this.hoverLayer.node = null;
|
|
140
140
|
}
|
|
141
|
-
if (
|
|
142
|
-
_this.hoverLayer.node =
|
|
141
|
+
if (hoverNode) {
|
|
142
|
+
_this.hoverLayer.node = hoverNode;
|
|
143
143
|
// Send a move event.
|
|
144
|
-
_this.dispatch('moveInNode',
|
|
145
|
-
_this.showTip(
|
|
144
|
+
_this.dispatch('moveInNode', hoverNode);
|
|
145
|
+
_this.showTip(hoverNode, pos);
|
|
146
146
|
// _this.showTipText(_this.moveIn.hoverNode, pos);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
@@ -161,14 +161,15 @@ var Topology = (function (_super) {
|
|
|
161
161
|
} else if (_this.hoverLayer.hoverLineCP) {
|
|
162
162
|
_this.hoverLayer.hoverLineCP = null;
|
|
163
163
|
}
|
|
164
|
-
if (
|
|
164
|
+
if (hoverNode !== _this.lastHoverNode ||
|
|
165
165
|
_this.moveIn.type === _this.moveInType.HoverAnchors ||
|
|
166
166
|
_this.hoverLayer.lasthoverLineCP !== _this.hoverLayer.hoverLineCP) {
|
|
167
167
|
_this.hoverLayer.lasthoverLineCP = _this.hoverLayer.hoverLineCP;
|
|
168
168
|
_this.render();
|
|
169
169
|
}
|
|
170
170
|
_this.scheduledAnimationFrame = false;
|
|
171
|
-
|
|
171
|
+
const lastHoverOrder = _this.lastHoverNode && _this.lastHoverNode.order;
|
|
172
|
+
if(hoverNode && (_this.moveIn.type === _this.moveInType.Nodes) && hoverNode.order !== lastHoverOrder){
|
|
172
173
|
// 鼠标hover元件之上,改变背景色
|
|
173
174
|
_this.hoverChangeFollowOperation(_this.moveIn.hoverNode, _this.lastHoverNode);
|
|
174
175
|
}
|
|
@@ -506,7 +507,7 @@ var Topology = (function (_super) {
|
|
|
506
507
|
}
|
|
507
508
|
}else {
|
|
508
509
|
// 存在多个选中元件时,如果点击选中区域外则取消多个元件的选中
|
|
509
|
-
if(!_this.
|
|
510
|
+
if(!_this.moveIn.sizeCPs){
|
|
510
511
|
_this.activeLayer.setPens([_this.moveIn.activeNode]);
|
|
511
512
|
_this.dispatch('node', _this.moveIn.activeNode);
|
|
512
513
|
}
|
|
@@ -714,8 +715,7 @@ var Topology = (function (_super) {
|
|
|
714
715
|
try {
|
|
715
716
|
var json = event.dataTransfer.getData('Topology') ||
|
|
716
717
|
event.dataTransfer.getData('Text');
|
|
717
|
-
if (!json)
|
|
718
|
-
return;
|
|
718
|
+
if (!json) return;
|
|
719
719
|
var obj = JSON.parse(json);
|
|
720
720
|
event.preventDefault();
|
|
721
721
|
if(obj.type && obj.type === 'temp') {
|
|
@@ -913,13 +913,8 @@ var Topology = (function (_super) {
|
|
|
913
913
|
// console.log('创建自定义组件 ', json);
|
|
914
914
|
console.log('store 中的 自定义 ');
|
|
915
915
|
_this.dropDefineNode(json, offsetX, offsetY);
|
|
916
|
-
} else
|
|
917
|
-
// 温湿度元件
|
|
918
|
-
_this.dropTempNode(json);
|
|
919
|
-
}else {
|
|
916
|
+
} else {
|
|
920
917
|
var node = new Node(json);
|
|
921
|
-
if(node.name === 'echarts') node.dash = 4;
|
|
922
|
-
if(node.name === 'iframe') node.iframe = 'http://www.yingzeshiji.com.cn/'; // 默认展示盈泽世纪官网
|
|
923
918
|
node.setTID(_this.id);
|
|
924
919
|
node.clearChildrenIds();
|
|
925
920
|
_this.addNode(node, true);
|
|
@@ -956,21 +951,6 @@ var Topology = (function (_super) {
|
|
|
956
951
|
}
|
|
957
952
|
this.switchStaticsCheckType(node, {dcimStaticForType: 'SH'});
|
|
958
953
|
};
|
|
959
|
-
// 添加温湿度元件
|
|
960
|
-
Topology.prototype.dropTempNode = function(json) {
|
|
961
|
-
const nodeChildren = json.children;
|
|
962
|
-
delete json['children'];
|
|
963
|
-
const node = this.setNodeData(json);
|
|
964
|
-
const combinTempData = [];
|
|
965
|
-
for (let i = 0; i < nodeChildren.length; i++) {
|
|
966
|
-
const childNode = this.setNodeData(nodeChildren[i]);
|
|
967
|
-
calculateTempRect(node.rect.x, node.rect.y, i, childNode);
|
|
968
|
-
combinTempData.push(childNode);
|
|
969
|
-
}
|
|
970
|
-
this.combine(combinTempData, null, 'temp');
|
|
971
|
-
this.render();
|
|
972
|
-
this.cache();
|
|
973
|
-
};
|
|
974
954
|
// 添加自定义元件
|
|
975
955
|
Topology.prototype.dropDefineNode = function(josn, offsetX, offsetY) {
|
|
976
956
|
var _this = this;
|
|
@@ -1010,7 +990,7 @@ var Topology = (function (_super) {
|
|
|
1010
990
|
|
|
1011
991
|
_this.dispatch('addNode', renderNodesList[0]);
|
|
1012
992
|
};
|
|
1013
|
-
Topology.prototype.addNode = function (node, focus, visit) {
|
|
993
|
+
Topology.prototype.addNode = function (node, focus, visit, cache) {
|
|
1014
994
|
if (focus === void 0) {
|
|
1015
995
|
focus = false;
|
|
1016
996
|
}
|
|
@@ -1044,7 +1024,7 @@ var Topology = (function (_super) {
|
|
|
1044
1024
|
this.dispatch('addNode', node);
|
|
1045
1025
|
}
|
|
1046
1026
|
}
|
|
1047
|
-
this.cache();
|
|
1027
|
+
!cache && this.cache();
|
|
1048
1028
|
return node;
|
|
1049
1029
|
};
|
|
1050
1030
|
Topology.prototype.addLine = function (line, focus) {
|
|
@@ -1069,8 +1049,8 @@ var Topology = (function (_super) {
|
|
|
1069
1049
|
return line;
|
|
1070
1050
|
};
|
|
1071
1051
|
// open - redraw by the data
|
|
1072
|
-
Topology.prototype.open = function (topoJSon
|
|
1073
|
-
this.conversionData(topoJSon
|
|
1052
|
+
Topology.prototype.open = function (topoJSon) {
|
|
1053
|
+
this.conversionData(topoJSon);
|
|
1074
1054
|
Store.set(this.generateStoreKey('LT:scale'), this.store.data.scale);
|
|
1075
1055
|
this.dispatch('scale', this.store.data.scale);
|
|
1076
1056
|
this.store.parentElem.scrollLeft = 0;
|
|
@@ -1108,6 +1088,7 @@ var Topology = (function (_super) {
|
|
|
1108
1088
|
this.moveIn.hoverNode = null;
|
|
1109
1089
|
this.moveIn.lineControlPoint = null;
|
|
1110
1090
|
this.moveIn.hoverLine = null;
|
|
1091
|
+
this.moveIn.sizeCPs = false;
|
|
1111
1092
|
this.hoverLayer.hoverAnchorIndex = -1;
|
|
1112
1093
|
if (!this.store.data.locked &&
|
|
1113
1094
|
!(this.activeLayer.pens.length === 1 && this.activeLayer.pens[0].type) &&
|
|
@@ -1124,6 +1105,7 @@ var Topology = (function (_super) {
|
|
|
1124
1105
|
if (this.activeLayer.pens.length > 1 &&
|
|
1125
1106
|
pointInRect(pt, this.activeLayer.sizeCPs)) {
|
|
1126
1107
|
this.moveIn.type = this.moveInType.Nodes;
|
|
1108
|
+
this.moveIn.sizeCPs = true;
|
|
1127
1109
|
}
|
|
1128
1110
|
if (!this.store.data.locked &&
|
|
1129
1111
|
!this.activeLayer.locked() &&
|
|
@@ -1624,6 +1606,7 @@ var Topology = (function (_super) {
|
|
|
1624
1606
|
if (this.store.options.disableEmptyLine) {
|
|
1625
1607
|
this.delEmptyLines(pen.id);
|
|
1626
1608
|
}
|
|
1609
|
+
if(pen.isPointMonitor) this.deletePointAssociationIconData(pen.id);
|
|
1627
1610
|
pens.push.apply(pens, this.store.data.pens.splice(found, 1));
|
|
1628
1611
|
// this.setSwitchTabData(pen, found, 'delete');
|
|
1629
1612
|
--i;
|
|
@@ -1638,6 +1621,13 @@ var Topology = (function (_super) {
|
|
|
1638
1621
|
this.cache();
|
|
1639
1622
|
this.dispatch('delete', pens);
|
|
1640
1623
|
};
|
|
1624
|
+
// 删除点位监控元件关联的小图标
|
|
1625
|
+
Topology.prototype.deletePointAssociationIconData = function (id) {
|
|
1626
|
+
const dataPool = bindDataWithIconAssociationPool;
|
|
1627
|
+
if(!dataPool.size || !dataPool.has(id)) return;
|
|
1628
|
+
const iconOrder = dataPool.get(dataPool.get(id).cid).order;
|
|
1629
|
+
this.store.data.pens.splice(iconOrder, 1);
|
|
1630
|
+
};
|
|
1641
1631
|
Topology.prototype.resetAssociateDateData = function (dateIds) {
|
|
1642
1632
|
// 重置关联日期数据的元件属性值
|
|
1643
1633
|
const pens = this.store.data.pens;
|
|
@@ -1711,14 +1701,24 @@ var Topology = (function (_super) {
|
|
|
1711
1701
|
this.render();
|
|
1712
1702
|
this.dispatch('delete', this.clipboard.pens);
|
|
1713
1703
|
};
|
|
1714
|
-
Topology.prototype.copy = function () {
|
|
1704
|
+
Topology.prototype.copy = function (type) {
|
|
1715
1705
|
let isAnimate = this.activeLayer.pens.find((item) => {
|
|
1716
1706
|
return item.animatePlay;
|
|
1717
1707
|
});
|
|
1718
1708
|
if(isAnimate) return false;
|
|
1719
|
-
|
|
1720
|
-
pens
|
|
1721
|
-
|
|
1709
|
+
if (type === 'paste') {
|
|
1710
|
+
// 粘贴:保留 initPens,为空则取 pens
|
|
1711
|
+
this.clipboard = {
|
|
1712
|
+
initPens: this.clipboard.initPens || this.clipboard.pens,
|
|
1713
|
+
pens: []
|
|
1714
|
+
};
|
|
1715
|
+
} else {
|
|
1716
|
+
// 非粘贴:保存初始区域 + 重置剪贴板
|
|
1717
|
+
if (this.activeLayer.pens.length > 1) this.activeLayer.initialSizeCPs = [...this.activeLayer.sizeCPs];
|
|
1718
|
+
this.clipboard = {
|
|
1719
|
+
pens: []
|
|
1720
|
+
};
|
|
1721
|
+
}
|
|
1722
1722
|
for (var _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) {
|
|
1723
1723
|
var pen = _a[_i];
|
|
1724
1724
|
this.clipboard.pens.push(pen.clone());
|
|
@@ -1726,31 +1726,38 @@ var Topology = (function (_super) {
|
|
|
1726
1726
|
return true;
|
|
1727
1727
|
};
|
|
1728
1728
|
Topology.prototype.paste = function (position) {
|
|
1729
|
-
if (!this.clipboard || this.store.data.locked)
|
|
1730
|
-
return;
|
|
1731
|
-
}
|
|
1729
|
+
if (!this.clipboard || this.store.data.locked) return;
|
|
1732
1730
|
this.hoverLayer.node = null;
|
|
1733
1731
|
this.hoverLayer.line = null;
|
|
1734
1732
|
this.activeLayer.pens = [];
|
|
1735
1733
|
var idMaps = {};
|
|
1736
|
-
const
|
|
1737
|
-
|
|
1738
|
-
|
|
1734
|
+
const { pens: clipPens, cpx, options } = this.clipboard;
|
|
1735
|
+
|
|
1736
|
+
// 计算中心点
|
|
1737
|
+
if (!cpx && clipPens.length > 1 && position) this.clipboard.cpx = this.activeLayer.getCenterPoints();
|
|
1738
|
+
|
|
1739
|
+
const targetPens = position ? (this.clipboard.initPens || clipPens) : clipPens;
|
|
1740
|
+
const clipboardPens = JSON.parse(JSON.stringify(targetPens));
|
|
1741
|
+
|
|
1742
|
+
for (const [i, list] of clipboardPens.entries()) {
|
|
1743
|
+
list.isBind && this.activeLayer.clear();
|
|
1739
1744
|
let pen = {};
|
|
1740
1745
|
if (list.type === PenType.Node) {
|
|
1741
1746
|
pen = new Node(list);
|
|
1742
1747
|
this.newId(pen, idMaps);
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
if (pen.subName
|
|
1747
|
-
|
|
1748
|
-
pen.children.forEach((item, index) => {
|
|
1749
|
-
calculateTempRect(pen.rect.x, pen.rect.y, index, item);
|
|
1750
|
-
defaultTextRect(item);
|
|
1751
|
-
})
|
|
1752
|
-
}
|
|
1748
|
+
this.resetRect(position, this.clipboard.cpx, pen.rect);
|
|
1749
|
+
// 温湿度/温度节点初始化
|
|
1750
|
+
const isSpecialNode = ['temp', 'humiture'].includes(pen.subName);
|
|
1751
|
+
if (isSpecialNode && drawNodeFns[pen.subName]) drawNodeFns[pen.subName](null, pen, true);
|
|
1752
|
+
|
|
1753
1753
|
pen.init();
|
|
1754
|
+
|
|
1755
|
+
// 绑定数据:自动生成折线图标
|
|
1756
|
+
if (list.isBind && options[i]) {
|
|
1757
|
+
const { type, node, bindName, count } = options[i];
|
|
1758
|
+
if (type !== dataBindType.ASSET) pen.text = pen.isAlias ? bindName : pen.defaultText;
|
|
1759
|
+
pen.isPointMonitor && this.bindWithIconAssociation(type, pen, node, i + 1, count);
|
|
1760
|
+
}
|
|
1754
1761
|
}
|
|
1755
1762
|
if (list.type === PenType.Line) {
|
|
1756
1763
|
pen = new Line(list);
|
|
@@ -1772,7 +1779,7 @@ var Topology = (function (_super) {
|
|
|
1772
1779
|
this.render();
|
|
1773
1780
|
this.animate(true);
|
|
1774
1781
|
this.cache();
|
|
1775
|
-
this.copy();
|
|
1782
|
+
!position && this.copy('paste'); // 非鼠标右键的粘贴才执行拷贝
|
|
1776
1783
|
if (this.clipboard.pens.length > 1) {
|
|
1777
1784
|
this.dispatch('multi', {
|
|
1778
1785
|
pens: this.clipboard.pens,
|
|
@@ -1785,113 +1792,162 @@ var Topology = (function (_super) {
|
|
|
1785
1792
|
}
|
|
1786
1793
|
}
|
|
1787
1794
|
};
|
|
1788
|
-
//
|
|
1789
|
-
Topology.prototype.resetRect = function (position,
|
|
1795
|
+
// 重置元件偏移位置
|
|
1796
|
+
Topology.prototype.resetRect = function (position, cpx, rect) {
|
|
1790
1797
|
if(!position) {
|
|
1791
|
-
x+=20;
|
|
1792
|
-
y+=20;
|
|
1798
|
+
rect.x += 20;
|
|
1799
|
+
rect.y += 20;
|
|
1800
|
+
}else if(!cpx && position) {
|
|
1801
|
+
rect.x = position.x;
|
|
1802
|
+
rect.y = position.y;
|
|
1803
|
+
}else if(cpx && position) {
|
|
1804
|
+
rect.x = rect.x + (position.x - cpx.x);
|
|
1805
|
+
rect.y = rect.y + (position.y - cpx.y);
|
|
1806
|
+
}
|
|
1807
|
+
rect.init();
|
|
1808
|
+
};
|
|
1809
|
+
/**
|
|
1810
|
+
* 绑定数据
|
|
1811
|
+
* @param data 绑定的数据 Array
|
|
1812
|
+
* @param type 绑定的数据类型 Number
|
|
1813
|
+
* @param batch 批量绑定 Boolean
|
|
1814
|
+
*/
|
|
1815
|
+
Topology.prototype.bind = function (data, type, batch) {
|
|
1816
|
+
const pen = this.activeLayer.pens[0];
|
|
1817
|
+
const boundData = new Set();
|
|
1818
|
+
// 获取已绑定的数据标识
|
|
1819
|
+
const targetKeys = new Set(['tagId', 'kpiAddr', 'assetId', 'areaId', 'varId', 'branchVal']);
|
|
1820
|
+
if(pen.data && pen.data.length) {
|
|
1821
|
+
for (const node of pen.data) {
|
|
1822
|
+
if (targetKeys.has(node.key)) boundData.add(node.value);
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1825
|
+
// 非视频:自动添加 MQTT 事件
|
|
1826
|
+
if(type !== dataBindType.VIDEO) {
|
|
1827
|
+
// 除 视频绑定外的其他数据绑定后,自动添加mqtt事件
|
|
1828
|
+
const hasMqtt = pen.events.find((ev) => { return ev.type === 3 });
|
|
1829
|
+
if(!hasMqtt) pen.events.push({ type: 3, action: 2, value: '', show: true });
|
|
1830
|
+
}
|
|
1831
|
+
let result = [];
|
|
1832
|
+
// 剪贴板数据初始化
|
|
1833
|
+
this.clipboard = { pens: [], options: [], cpx: null, initPens: null };
|
|
1834
|
+
for (const [i, item] of data.entries()) {
|
|
1835
|
+
|
|
1836
|
+
if (hasBoundData(boundData, item, type)) continue; // 如果已绑定该数据则跳过
|
|
1837
|
+
|
|
1838
|
+
const options = bindDataConfig(item, type);
|
|
1839
|
+
// 赋值标题、事件
|
|
1840
|
+
if(options.title) pen.title = options.title;
|
|
1841
|
+
if(options.events.length) pen.events = options.events;
|
|
1842
|
+
// 赋值子级
|
|
1843
|
+
if(options.children.length) {
|
|
1844
|
+
pen.children.forEach((sub, c) => {
|
|
1845
|
+
const subNode = options.children[c];
|
|
1846
|
+
if(!subNode) return;
|
|
1847
|
+
sub.data = subNode.data;
|
|
1848
|
+
sub.events = subNode.events;
|
|
1849
|
+
});
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
if(batch && i !== 0) {
|
|
1853
|
+
// 批量绑定数据
|
|
1854
|
+
const clonePen = pen.clone();
|
|
1855
|
+
clonePen.isBind = true;
|
|
1856
|
+
clonePen.data = [...options.data];
|
|
1857
|
+
clonePen.rect.x += 20 * (i-1);
|
|
1858
|
+
clonePen.rect.y += 20 * (i-1);
|
|
1859
|
+
|
|
1860
|
+
this.clipboard.pens.push(clonePen);
|
|
1861
|
+
this.clipboard.options.push({
|
|
1862
|
+
node: item.default || item,
|
|
1863
|
+
count: length - 1,
|
|
1864
|
+
bindName: options.bindName,
|
|
1865
|
+
type
|
|
1866
|
+
});
|
|
1867
|
+
}else {
|
|
1868
|
+
// 单个绑定数据
|
|
1869
|
+
result = [...pen.data, ...options.data];
|
|
1870
|
+
if(type !== dataBindType.asset) pen.text = pen.isAlias ? options.bindName : pen.defaultText;
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
if(result.length) {
|
|
1874
|
+
pen.data = result;
|
|
1875
|
+
pen.isPointMonitor && this.bindWithIconAssociation(type, pen, data[0].default || data[0], 0, 0); // 点位监控 自动生成折线小图标;
|
|
1876
|
+
}
|
|
1877
|
+
// 批量粘贴
|
|
1878
|
+
this.clipboard.pens.length && this.paste();
|
|
1879
|
+
};
|
|
1880
|
+
/**
|
|
1881
|
+
* 绑定数据关联图标的操作
|
|
1882
|
+
* @param type 绑定的数据类型
|
|
1883
|
+
* @param pen 元件的节点数据
|
|
1884
|
+
* @param data 绑定的节点数据
|
|
1885
|
+
* @param index 批量绑定时的数据索引
|
|
1886
|
+
* @param count 对应索引下标的总数据
|
|
1887
|
+
*/
|
|
1888
|
+
Topology.prototype.bindWithIconAssociation = function (type, pen, data, index, count) {
|
|
1889
|
+
const dataPool = bindDataWithIconAssociationPool;
|
|
1890
|
+
if(dataPool.has(pen.id)){
|
|
1891
|
+
// 修改绑定的数据
|
|
1892
|
+
const iconId = dataPool.get(pen.id).cid;
|
|
1893
|
+
const iconEvents = this.store.data.pens[dataPool.get(iconId).order].events;
|
|
1894
|
+
iconEvents.forEach((ev) => {
|
|
1895
|
+
setConfBindPointMonitorData(type, ev, data);
|
|
1896
|
+
})
|
|
1793
1897
|
}else {
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1898
|
+
// 添加绑定的数据
|
|
1899
|
+
const iconData = createEchartsLineIcon(type, pen, data);
|
|
1900
|
+
const newNode = this.setNodeData(iconData);
|
|
1901
|
+
const pencx = pen.rect.center.x,
|
|
1902
|
+
pency = pen.rect.center.y,
|
|
1903
|
+
iconcx = newNode.rect.center.x,
|
|
1904
|
+
iconcy = newNode.rect.center.y;
|
|
1905
|
+
// 存储矩形偏移及关联信息
|
|
1906
|
+
dataPool.set(pen.id, {
|
|
1907
|
+
cid: newNode.id,
|
|
1908
|
+
order: -1,
|
|
1909
|
+
cx: pencx,
|
|
1910
|
+
cy: pency,
|
|
1911
|
+
dx: iconcx - pencx, // 图标中心点与矩形中心点的距离,固定不变
|
|
1912
|
+
dy: iconcy - pency // 图标中心点与矩形中心点的距离,固定不变
|
|
1913
|
+
});
|
|
1914
|
+
// 存储图标偏移及关联信息
|
|
1915
|
+
dataPool.set(newNode.id, {
|
|
1916
|
+
cid: pen.id,
|
|
1917
|
+
order: -1,
|
|
1918
|
+
cx: iconcx,
|
|
1919
|
+
cy: iconcy
|
|
1920
|
+
});
|
|
1921
|
+
this.addNode(newNode, index === count, true, true);
|
|
1922
|
+
}
|
|
1923
|
+
};
|
|
1924
|
+
// 设置绑定的点位监控数据与小图标关联
|
|
1925
|
+
Topology.prototype.resetBindWithIconConnectData = function () {
|
|
1926
|
+
const dataPool = bindDataWithIconAssociationPool;
|
|
1927
|
+
if(!dataPool.size) return;
|
|
1928
|
+
for (let i = 0, pen = this.store.data.pens; i < pen.length; i++) {
|
|
1929
|
+
const node = pen[i];
|
|
1930
|
+
if(dataPool.has(node.id)) dataPool.get(node.id).order = i;
|
|
1931
|
+
}
|
|
1932
|
+
};
|
|
1933
|
+
// 元件移动或缩放时,关联的图标也跟随移动改变位置
|
|
1934
|
+
Topology.prototype.resetBindWithIconConnectRect = function (pen) {
|
|
1935
|
+
const dataPool = bindDataWithIconAssociationPool;
|
|
1936
|
+
if(!dataPool.size || !dataPool.has(pen.id)) return;
|
|
1937
|
+
const penData = dataPool.get(pen.id); // 若是图标元件,则penData为icon的预存数据, pen 为icon节点数据
|
|
1938
|
+
if(!pen.isPointMonitor) {
|
|
1939
|
+
// 小图标基本属性变化,重置关联的固定值
|
|
1940
|
+
const node = dataPool.get(penData.cid); // 元件的预存数据。
|
|
1941
|
+
const oldPen = this.store.data.pens[node.order];
|
|
1942
|
+
node.dx = pen.rect.center.x - oldPen.rect.center.x;
|
|
1943
|
+
node.dy = pen.rect.center.y - oldPen.rect.center.y;
|
|
1944
|
+
return;
|
|
1817
1945
|
}
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
if ([0, '0'].includes(type)) {
|
|
1824
|
-
bindName = itemNode.tagName;
|
|
1825
|
-
const setTagId = setTagIdData(itemNode);
|
|
1826
|
-
pen.data.push(...setTagId);
|
|
1827
|
-
// 绑定悬浮文字
|
|
1828
|
-
pen.title = itemNode.touchpname
|
|
1829
|
-
//用于处理场地监控,点击一个资产类别后,隐藏掉这个类别下的所有元件
|
|
1830
|
-
const setThreeCategory = setThreeCategoryIdData(pen, itemNode);
|
|
1831
|
-
pen.data.push(...setThreeCategory);
|
|
1832
|
-
} else if ([1, '1'].includes(type)) {
|
|
1833
|
-
bindName = itemNode.kpiName;
|
|
1834
|
-
const setKpiAddr = setKpiAddrData(itemNode);
|
|
1835
|
-
pen.data.push(...setKpiAddr);
|
|
1836
|
-
} else if ([2, '2'].includes(type)) {
|
|
1837
|
-
bindName = itemNode.name;
|
|
1838
|
-
const setAssetId = setAssetIdData(itemNode);
|
|
1839
|
-
pen.data.push(...setAssetId);
|
|
1840
|
-
// 绑定悬浮文字
|
|
1841
|
-
pen.title = itemNode.bak
|
|
1842
|
-
if (pen.subName && pen.subName == 'temp') {
|
|
1843
|
-
// 温湿度元件
|
|
1844
|
-
// 通讯状态
|
|
1845
|
-
pen.children[0].data = []
|
|
1846
|
-
if (index > 0) {
|
|
1847
|
-
pen.children[0].text = index + 1 + '#'
|
|
1848
|
-
}
|
|
1849
|
-
this.bindInfo(itemNode, pen.children[0], type);
|
|
1850
|
-
// 温度
|
|
1851
|
-
if(item.temperature) {
|
|
1852
|
-
pen.children[1].data = [];
|
|
1853
|
-
this.bindInfo(item.temperature, pen.children[1], 0);
|
|
1854
|
-
}
|
|
1855
|
-
// 湿度
|
|
1856
|
-
if(item.dampness) {
|
|
1857
|
-
pen.children[2].data = []
|
|
1858
|
-
this.bindInfo(item.dampness, pen.children[2], 0);
|
|
1859
|
-
}
|
|
1860
|
-
pen.children.forEach((itemNode) => {
|
|
1861
|
-
itemNode.events = [{
|
|
1862
|
-
"type": 3,
|
|
1863
|
-
"action": 2,
|
|
1864
|
-
"value": "",
|
|
1865
|
-
"show": true
|
|
1866
|
-
}]
|
|
1867
|
-
})
|
|
1868
|
-
}
|
|
1869
|
-
} else if ([3, '3'].includes(type)) {
|
|
1870
|
-
bindName = itemNode.name;
|
|
1871
|
-
const setAreaId = setAreaIdData(itemNode);
|
|
1872
|
-
pen.data.push(...setAreaId);
|
|
1873
|
-
}else if ([4, '4'].includes(type)) {
|
|
1874
|
-
bindName = itemNode.name;
|
|
1875
|
-
const setVarId = setVarValueData(itemNode);
|
|
1876
|
-
pen.data.push(...setVarId);
|
|
1877
|
-
}else if ([5, '5'].includes(type)) {
|
|
1878
|
-
bindName = itemNode.value;
|
|
1879
|
-
const setBranch = setBranchAddressData(itemNode);
|
|
1880
|
-
pen.data.push(...setBranch);
|
|
1881
|
-
}else if (['video'].includes(type)) {
|
|
1882
|
-
bindName = '';
|
|
1883
|
-
pen.title = itemNode.params.name
|
|
1884
|
-
pen.events = [itemNode];
|
|
1885
|
-
}
|
|
1886
|
-
pen.text = pen.isAlias ? bindName : pen.defaultText;
|
|
1887
|
-
// if([0, 2, '0', '2'].includes(type)) {
|
|
1888
|
-
// //用于处理场地监控,点击一个资产类别后,隐藏掉这个类别下的所有元件
|
|
1889
|
-
// const setThreeCategory = setThreeCategoryIdData(pen, itemNode);
|
|
1890
|
-
//
|
|
1891
|
-
// pen.data.push(...setThreeCategory);
|
|
1892
|
-
// }
|
|
1893
|
-
if(exite) this.cache();
|
|
1894
|
-
return pen;
|
|
1946
|
+
// 小图标便宜位置更新
|
|
1947
|
+
const iconNode = this.store.data.pens[dataPool.get(penData.cid).order];
|
|
1948
|
+
iconNode.rect.center.x = pen.rect.center.x + penData.dx;
|
|
1949
|
+
iconNode.rect.center.y = pen.rect.center.y + penData.dy;
|
|
1950
|
+
iconNode.rect.calcOffset();
|
|
1895
1951
|
};
|
|
1896
1952
|
Topology.prototype.newId = function (node, idMaps) {
|
|
1897
1953
|
var old = node.id;
|
|
@@ -1904,13 +1960,15 @@ var Topology = (function (_super) {
|
|
|
1904
1960
|
}
|
|
1905
1961
|
}
|
|
1906
1962
|
};
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1963
|
+
/**
|
|
1964
|
+
* 更新节点数据
|
|
1965
|
+
* @param motion 关联节点是否跟随移动
|
|
1966
|
+
* @param cache
|
|
1967
|
+
* @param pens
|
|
1968
|
+
*/
|
|
1969
|
+
Topology.prototype.updateProps = function (motion = false, cache, pens) {
|
|
1970
|
+
if (cache === void 0) cache = true;
|
|
1971
|
+
if (!pens) pens = this.activeLayer.pens;
|
|
1914
1972
|
let isAnimate = false;
|
|
1915
1973
|
for (var _i = 0, pens_1 = pens; _i < pens_1.length; _i++) {
|
|
1916
1974
|
var pen = pens_1[_i];
|
|
@@ -1929,6 +1987,7 @@ var Topology = (function (_super) {
|
|
|
1929
1987
|
if (!pen.strokeStyle) {
|
|
1930
1988
|
pen.strokeStyle = 'transparent'
|
|
1931
1989
|
}
|
|
1990
|
+
if(motion === true || iconMotionData[motion]) this.resetBindWithIconConnectRect(pen); // 点位监控关联的小图标跟随移动
|
|
1932
1991
|
}
|
|
1933
1992
|
}
|
|
1934
1993
|
this.activeLayer.updateLines(pens);
|
|
@@ -2426,11 +2485,9 @@ var Topology = (function (_super) {
|
|
|
2426
2485
|
}
|
|
2427
2486
|
}
|
|
2428
2487
|
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
}
|
|
2488
|
+
return !(window.location.pathname.includes('workspace') || (isClickTpye === true && !window.location.pathname.includes('workspace')));
|
|
2489
|
+
|
|
2432
2490
|
|
|
2433
|
-
return true
|
|
2434
2491
|
};
|
|
2435
2492
|
return Topology;
|
|
2436
2493
|
}(Common));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {Pen} from "../models";
|
|
2
2
|
|
|
3
3
|
export declare function setConfItemNode(item: any[], syncData: Node): Node;
|
|
4
|
-
export declare function setNodeEvents(item: any[], pen: Pen): void;
|
|
5
4
|
export declare function setControlData(pen: Pen, syncData: Node): void;
|
|
6
5
|
export declare function getControlNode(item: any, data: any): Node;
|
|
7
6
|
export declare function getDetailData(data: Node): void;
|
|
@@ -10,14 +10,15 @@ import {
|
|
|
10
10
|
circle, circleIconRect, circleTextRect, circleAnchors,
|
|
11
11
|
triangle, triangleIconRect, triangleTextRect, triangleAnchors,
|
|
12
12
|
pentagon, pentagonIconRect, pentagonTextRect, pentagonAnchors,
|
|
13
|
-
hexagon, hexagonAnchors, hexagonIconRect, hexagonTextRect,
|
|
13
|
+
hexagon, hexagonAnchors, hexagonIconRect, hexagonTextRect, humiture,
|
|
14
14
|
pentagram, pentagramAnchors, pentagramIconRect, pentagramTextRect,
|
|
15
15
|
cloud, cloudAnchors, cloudIconRect, cloudTextRect,
|
|
16
16
|
message, messageIconRect, messageTextRect, messageAnchors,
|
|
17
17
|
imageIconRect, imageTextRect,
|
|
18
18
|
cube, cubeAnchors, cubeIconRect, cubeTextRect,
|
|
19
19
|
people, peopleIconRect, peopleTextRect,
|
|
20
|
-
arbitraryGraph, arbitraryGraphAnchors, time, switchs, progress
|
|
20
|
+
arbitraryGraph, arbitraryGraphAnchors, time, switchs, progress,
|
|
21
|
+
svgEchartsLine
|
|
21
22
|
} from './nodes';
|
|
22
23
|
import {
|
|
23
24
|
line,
|
|
@@ -61,7 +62,9 @@ export var drawLineFns = {};
|
|
|
61
62
|
export var drawArrowFns = {};
|
|
62
63
|
function init() {
|
|
63
64
|
console.log('Init middles.');
|
|
64
|
-
// ********Default nodes.*******
|
|
65
|
+
// ********Default nodes.*******
|
|
66
|
+
// svgEchartsLine
|
|
67
|
+
drawNodeFns.svgEchartsLine = svgEchartsLine;
|
|
65
68
|
// datePicker
|
|
66
69
|
drawNodeFns.datePicker = fromDatePicker;
|
|
67
70
|
// select
|
|
@@ -104,6 +107,8 @@ function init() {
|
|
|
104
107
|
iconRectFns.hexagon = hexagonIconRect;
|
|
105
108
|
textRectFns.hexagon = hexagonTextRect;
|
|
106
109
|
anchorsFns.hexagon = hexagonAnchors;
|
|
110
|
+
// humiture
|
|
111
|
+
drawNodeFns.humiture = humiture;
|
|
107
112
|
// Pentagon
|
|
108
113
|
drawNodeFns.pentagon = pentagon;
|
|
109
114
|
iconRectFns.pentagon = pentagonIconRect;
|
package/core/src/middles/nodes/{arbitrarygraph.anchor.d.ts → basic/arbitrarygraph.anchor.d.ts}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Node } from '
|
|
1
|
+
import { Node } from '../../../models';
|
|
2
2
|
export declare function arbitraryGraphAnchors(node: Node): void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Node } from '
|
|
1
|
+
import { Node } from '../../../models';
|
|
2
2
|
export declare function arbitraryGraph(ctx: CanvasRenderingContext2D, node: Node): void;
|