dcim-topology2d 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/chart-diagram/src/echarts/index.js +3 -6
  2. package/core/index.d.ts +1 -0
  3. package/core/index.js +1 -0
  4. package/core/src/activeLayer.d.ts +2 -10
  5. package/core/src/activeLayer.js +42 -41
  6. package/core/src/animateLayer.d.ts +3 -7
  7. package/core/src/animateLayer.js +10 -12
  8. package/core/src/calling.d.ts +1 -4
  9. package/core/src/calling.js +38 -41
  10. package/core/src/canvas.d.ts +1 -6
  11. package/core/src/canvas.js +17 -18
  12. package/core/src/common.d.ts +5 -5
  13. package/core/src/common.js +146 -109
  14. package/core/src/core.d.ts +3 -4
  15. package/core/src/core.js +222 -251
  16. package/core/src/divLayer.d.ts +2 -7
  17. package/core/src/divLayer.js +25 -25
  18. package/core/src/healps/changeData.js +20 -3
  19. package/core/src/hoverLayer.d.ts +2 -9
  20. package/core/src/hoverLayer.js +31 -34
  21. package/core/src/models/index.d.ts +0 -1
  22. package/core/src/models/index.js +0 -1
  23. package/core/src/offscreen.d.ts +1 -4
  24. package/core/src/offscreen.js +10 -8
  25. package/core/src/options.js +1 -0
  26. package/core/src/preview.d.ts +1 -13
  27. package/core/src/preview.js +26 -27
  28. package/core/src/renderLayer.d.ts +1 -3
  29. package/core/src/renderLayer.js +26 -31
  30. package/core/src/store/common.d.ts +9 -0
  31. package/core/src/store/common.js +5 -0
  32. package/core/src/store/data.d.ts +126 -0
  33. package/core/src/store/data.js +80 -0
  34. package/core/src/store/index.d.ts +2 -0
  35. package/core/src/store/index.js +2 -0
  36. package/core/src/utils/conversion.d.ts +7 -0
  37. package/core/src/utils/conversion.js +54 -0
  38. package/core/src/utils/dom.d.ts +4 -3
  39. package/package.json +1 -1
  40. package/core/src/models/data.d.ts +0 -26
  41. package/core/src/models/data.js +0 -77
  42. package/core/src/models/data.js.map +0 -1
  43. package/core/src/mqtt.d.ts +0 -14
  44. package/core/src/mqtt.js +0 -82
  45. package/core/src/mqtt.js.map +0 -1
  46. package/core/src/socket.d.ts +0 -10
  47. package/core/src/socket.js +0 -51
  48. package/core/src/socket.js.map +0 -1
package/core/src/core.js CHANGED
@@ -16,9 +16,9 @@ import { Common } from './common'
16
16
  import {HoverLayer} from './hoverLayer';
17
17
  import {ActiveLayer} from './activeLayer';
18
18
  import {KeyType, KeydownType} from './options';
19
- import {PenType, Node, Point, Line, TopologyData, Lock, AnchorMode, Rect} from './models';
19
+ import {PenType, Node, Point, Line, Lock, AnchorMode, Rect} from './models';
20
20
  import {drawNodeFns, drawLineFns} from './middles/index';
21
- import { s8, pointInRect, formatPadding, previewType} from './utils';
21
+ import { s8, pointInRect, formatPadding, setTagIdData, setKpiAddrData, setAssetIdData, setAreaIdData, setThreeCategoryIdData} from './utils';
22
22
  import axios from 'axios'
23
23
 
24
24
  var resizeCursors = ['nw-resize', 'ne-resize', 'se-resize', 'sw-resize'];
@@ -27,8 +27,8 @@ var Topology = (function (_super) {
27
27
  __extends(Topology, _super);
28
28
  function Topology(parent, options) {
29
29
  var _this = _super.call(this, parent, options) || this;
30
- _this.hoverLayer = new HoverLayer(this.options, _this.id);
31
- _this.activeLayer = new ActiveLayer(this.options, _this.id);
30
+ _this.hoverLayer = new HoverLayer(_this.id);
31
+ _this.activeLayer = new ActiveLayer(_this.id);
32
32
  _this.offscreen.getRoutineLayer();
33
33
  _this.activeLayer.topology = this;
34
34
  _this.gridElem = document.createElement('div');
@@ -50,7 +50,7 @@ var Topology = (function (_super) {
50
50
  if (Store.get('addingArbitraryGraph')) {
51
51
  return
52
52
  }
53
- if (_this.scheduledAnimationFrame || _this.data.locked === Lock.NoEvent) {
53
+ if (_this.scheduledAnimationFrame || _this.store.data.locked === Lock.NoEvent) {
54
54
  return;
55
55
  }
56
56
  // https://caniuse.com/#feat=mdn-api_mouseevent_buttons
@@ -61,7 +61,7 @@ var Topology = (function (_super) {
61
61
  }
62
62
  if (_this.mouseDown) {
63
63
  var b = false;
64
- switch (_this.options.translateKey) {
64
+ switch (_this.store.options.translateKey) {
65
65
  case KeyType.None:
66
66
  b = true;
67
67
  break;
@@ -96,7 +96,7 @@ var Topology = (function (_super) {
96
96
  return false;
97
97
  }
98
98
  }
99
- if (_this.data.locked && _this.mouseDown) {
99
+ if (_this.store.data.locked && _this.mouseDown) {
100
100
  return;
101
101
  }
102
102
  _this.scheduledAnimationFrame = true;
@@ -150,18 +150,18 @@ var Topology = (function (_super) {
150
150
  return;
151
151
  }
152
152
  // Move out parent element.
153
- var moveOutX = pos.x + 50 > _this.parentElem.clientWidth + _this.parentElem.scrollLeft;
154
- var moveOutY = pos.y + 50 > _this.parentElem.clientHeight + _this.parentElem.scrollTop;
155
- if (!_this.options.disableMoveOutParent && (moveOutX || moveOutY)) {
153
+ var moveOutX = pos.x + 50 > _this.store.parentElem.clientWidth + _this.store.parentElem.scrollLeft;
154
+ var moveOutY = pos.y + 50 > _this.store.parentElem.clientHeight + _this.store.parentElem.scrollTop;
155
+ if (!_this.store.options.disableMoveOutParent && (moveOutX || moveOutY)) {
156
156
  _this.dispatch('moveOutParent', pos);
157
- if (_this.options.autoExpandDistance > 0) {
157
+ if (_this.store.options.autoExpandDistance > 0) {
158
158
  var resize = false;
159
159
  if (pos.x + 50 > _this.divLayer.canvas.clientWidth) {
160
- _this.canvas.width += _this.options.autoExpandDistance;
160
+ _this.canvas.width += _this.store.options.autoExpandDistance;
161
161
  resize = true;
162
162
  }
163
163
  if (pos.y + 50 > _this.divLayer.canvas.clientHeight) {
164
- _this.canvas.height += _this.options.autoExpandDistance;
164
+ _this.canvas.height += _this.store.options.autoExpandDistance;
165
165
  resize = true;
166
166
  }
167
167
  if (resize) {
@@ -170,11 +170,11 @@ var Topology = (function (_super) {
170
170
  height: _this.canvas.height,
171
171
  });
172
172
  }
173
- _this.scroll(moveOutX ? _this.options.autoExpandDistance / 2 : 0, moveOutY ? _this.options.autoExpandDistance / 2 : 0);
173
+ _this.scroll(moveOutX ? _this.store.options.autoExpandDistance / 2 : 0, moveOutY ? _this.store.options.autoExpandDistance / 2 : 0);
174
174
  }
175
175
  }
176
- var moveLeft = pos.x - 100 < _this.parentElem.scrollLeft;
177
- var moveTop = pos.y - 100 < _this.parentElem.scrollTop;
176
+ var moveLeft = pos.x - 100 < _this.store.parentElem.scrollLeft;
177
+ var moveTop = pos.y - 100 < _this.store.parentElem.scrollTop;
178
178
  if ((moveLeft || moveTop)) {
179
179
  _this.scroll(moveLeft ? -100 : 0, moveTop ? -100 : 0);
180
180
  }
@@ -285,7 +285,7 @@ var Topology = (function (_super) {
285
285
 
286
286
  } else {
287
287
 
288
- var arrow = _this.data.toArrowType;
288
+ var arrow = _this.store.data.toArrowType;
289
289
  if (_this.moveIn.hoverLine) {
290
290
  arrow = _this.moveIn.hoverLine.toArrow;
291
291
  }
@@ -375,7 +375,7 @@ var Topology = (function (_super) {
375
375
  break;
376
376
  case _this.moveInType.LineMove:
377
377
  _this.hoverLayer.initLine = new Line(_this.moveIn.hoverLine);
378
- if (_this.data.locked || _this.moveIn.hoverLine.locked) {
378
+ if (_this.store.data.locked || _this.moveIn.hoverLine.locked) {
379
379
  _this.moveIn.hoverLine.click();
380
380
  }
381
381
  // tslint:disable-next-line:no-switch-case-fall-through
@@ -393,12 +393,12 @@ var Topology = (function (_super) {
393
393
 
394
394
  } else {
395
395
  _this.hoverLayer.line = _this.addLine({
396
- name: _this.data.lineName,
396
+ name: _this.store.data.lineName,
397
397
  from: new Point(_this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].x, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].y, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].direction, _this.moveIn.hoverAnchorIndex, _this.moveIn.hoverNode.id),
398
- fromArrow: _this.data.fromArrowType,
398
+ fromArrow: _this.store.data.fromArrowType,
399
399
  to: new Point(_this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].x, _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex].y),
400
- toArrow: _this.data.toArrowType,
401
- strokeStyle: _this.options.color,
400
+ toArrow: _this.store.data.toArrowType,
401
+ strokeStyle: _this.store.options.color,
402
402
  });
403
403
  _this.dispatch('anchor', {
404
404
  anchor: _this.moveIn.hoverNode.rotatedAnchors[_this.moveIn.hoverAnchorIndex],
@@ -444,7 +444,7 @@ var Topology = (function (_super) {
444
444
  if (activeNode && activeNode.name == 'arbitraryGraph') {
445
445
  _this.dispatch('node', activeNode);
446
446
  } else if (activeNode && activeNode.name == 'tablePagination') {
447
- if (_this.options.type === 'topology') return _this.dispatch('node', activeNode);
447
+ if (_this.store.options.type === 'topology') return _this.dispatch('node', activeNode);
448
448
  const pnlKeys = Object.keys(activeNode.paginationData.pageNumberLocals);
449
449
  const pageNumArea = pnlKeys.find((pna) => {
450
450
  return e.offsetX - 32 < pna && e.offsetX - parseInt(pna) > 0
@@ -470,7 +470,7 @@ var Topology = (function (_super) {
470
470
  }
471
471
  }
472
472
  }
473
- if (_this.data.locked || _this.moveIn.activeNode.locked) {
473
+ if (_this.store.data.locked || _this.moveIn.activeNode.locked) {
474
474
  _this.moveIn.activeNode.click();
475
475
  }
476
476
  break;
@@ -511,10 +511,10 @@ var Topology = (function (_super) {
511
511
  if (_this.hoverLayer.line) {
512
512
  var willAddLine = void 0;
513
513
  if (_this.hoverLayer.line.to.id) {
514
- if (!_this.options.disableRepeatLine) {
514
+ if (!_this.store.options.disableRepeatLine) {
515
515
  willAddLine = true;
516
516
  } else {
517
- var lines = _this.data.pens.filter(function (pen) {
517
+ var lines = _this.store.data.pens.filter(function (pen) {
518
518
  return pen.type === PenType.Line &&
519
519
  pen.from.isSameAs(_this.hoverLayer.line.from) &&
520
520
  pen.to.isSameAs(_this.hoverLayer.line.to);
@@ -522,13 +522,13 @@ var Topology = (function (_super) {
522
522
  willAddLine = lines.length <= 1;
523
523
  }
524
524
  } else {
525
- willAddLine = !_this.options.disableEmptyLine;
525
+ willAddLine = !_this.store.options.disableEmptyLine;
526
526
  }
527
527
  if (willAddLine) {
528
528
  _this.activeLayer.pens = [_this.hoverLayer.line];
529
529
  _this.dispatch('addLine', _this.hoverLayer.line);
530
530
  } else {
531
- _this.data.pens.pop();
531
+ _this.store.data.pens.pop();
532
532
  _this.activeLayer.clear();
533
533
  }
534
534
  }
@@ -547,7 +547,7 @@ var Topology = (function (_super) {
547
547
  (!_this.hoverLayer.line.from.id || !_this.hoverLayer.line.to.id)) {
548
548
  _this.needCache = true;
549
549
  _this.activeLayer.clear();
550
- _this.data.pens.splice(_this.findIndex(_this.hoverLayer.line), 1);
550
+ _this.store.data.pens.splice(_this.findIndex(_this.hoverLayer.line), 1);
551
551
  }
552
552
  break;
553
553
  }
@@ -560,7 +560,7 @@ var Topology = (function (_super) {
560
560
  _this.needCache = false;
561
561
  };
562
562
  _this.onkeydown = function (key) {
563
- if (_this.data.locked ||
563
+ if (_this.store.data.locked ||
564
564
  key.target.tagName === 'INPUT' ||
565
565
  key.target.tagName === 'TEXTAREA') {
566
566
  return;
@@ -571,7 +571,7 @@ var Topology = (function (_super) {
571
571
  switch (key.key) {
572
572
  case 'a':
573
573
  case 'A':
574
- _this.activeLayer.setPens(_this.data.pens);
574
+ _this.activeLayer.setPens(_this.store.data.pens);
575
575
  _this.dispatch('multi', _this.activeLayer.pens);
576
576
  done = true;
577
577
  break;
@@ -709,7 +709,7 @@ var Topology = (function (_super) {
709
709
  }
710
710
  };
711
711
  _this.subcribeAnimateMoved = Store.subscribe(this.generateStoreKey('LT:rectChanged'), function (e) {
712
- _this.activeLayer.updateLines(_this.data.pens);
712
+ _this.activeLayer.updateLines(_this.store.data.pens);
713
713
  });
714
714
  _this.subcribeMediaEnd = Store.subscribe(this.generateStoreKey('mediaEnd'), function (node) {
715
715
  if (node.nextPlay) {
@@ -722,7 +722,7 @@ var Topology = (function (_super) {
722
722
  if (window.location.pathname.includes('workspace')) {
723
723
  return
724
724
  }
725
- _this.hidePenByTag(_this.data.pens, e);
725
+ _this.hidePenByTag(_this.store.data.pens, e);
726
726
  const obj = e ? JSON.parse(e) : {}
727
727
  const visibleRange = obj.visibleRange
728
728
  if (visibleRange == '1') {
@@ -733,10 +733,10 @@ var Topology = (function (_super) {
733
733
  _this.divLayer.canvas.onmousedown = this.onmousedown;
734
734
  _this.divLayer.canvas.onmouseup = this.onmouseup;
735
735
  _this.divLayer.canvas.onwheel = function (event) {
736
- if (_this.options.disableScale) {
736
+ if (_this.store.options.disableScale) {
737
737
  return;
738
738
  }
739
- switch (_this.options.scaleKey) {
739
+ switch (_this.store.options.scaleKey) {
740
740
  case KeyType.None:
741
741
  break;
742
742
  case KeyType.Ctrl:
@@ -771,17 +771,17 @@ var Topology = (function (_super) {
771
771
  } else {
772
772
  if (event.layerX && event.layerY) {
773
773
  _this.scale(0.9, {x: event.layerX, y: event.layerY});
774
- _this.canvas.scale(0.9, {x: event.layerX, y: event.layerY});
774
+ _this.canvas.scale(0.9, {x: event.layerX, y: event.layerY});
775
775
  } else {
776
776
  _this.scale(0.9);
777
- _this.canvas.scale(0.9);
777
+ _this.canvas.scale(0.9);
778
778
  }
779
779
  }
780
780
  _this.divLayer.canvas.focus();
781
781
  return false;
782
782
  };
783
783
  _this.cache();
784
- switch (_this.options.keydown) {
784
+ switch (_this.store.options.keydown) {
785
785
  case KeydownType.Document:
786
786
  document.onkeydown = _this.onkeydown;
787
787
  break;
@@ -795,6 +795,7 @@ var Topology = (function (_super) {
795
795
  clearTimeout(timer);
796
796
  }
797
797
  timer = setTimeout(function () {
798
+ _this.resize();
798
799
  _this.overflow();
799
800
  _this.render();
800
801
  }, 100);
@@ -803,26 +804,26 @@ var Topology = (function (_super) {
803
804
  return _this;
804
805
  }
805
806
  // Render or redraw
806
- Topology.prototype.render = function (noFocus, type) {
807
- try{
808
- if (noFocus === void 0) {
809
- noFocus = false;
810
- }
811
- if (noFocus) {
812
- this.activeLayer.pens = [];
813
- this.hoverLayer.node = null;
814
- this.hoverLayer.line = null;
815
- }
816
- if (this.rendering) {
817
- return this;
818
- }
819
- this.rendering = true;
820
- this.offscreen.render();
821
- this.canvas.render();
822
- this.rendering = false;
823
- }catch (e){
824
- console.log('render-error-------------')
825
- }
807
+ Topology.prototype.render = function (noFocus) {
808
+ try{
809
+ if (noFocus === void 0) {
810
+ noFocus = false;
811
+ }
812
+ if (noFocus) {
813
+ this.activeLayer.pens = [];
814
+ this.hoverLayer.node = null;
815
+ this.hoverLayer.line = null;
816
+ }
817
+ if (this.rendering) {
818
+ return this;
819
+ }
820
+ this.rendering = true;
821
+ this.offscreen.render();
822
+ this.canvas.render();
823
+ this.rendering = false;
824
+ }catch (e){
825
+ //console.log('render-error-------------', e)
826
+ }
826
827
  };
827
828
  Topology.prototype.resize = function (size) {
828
829
  this.canvasResize(size);
@@ -852,12 +853,12 @@ var Topology = (function (_super) {
852
853
  }
853
854
  if (json.name === 'lineAlone') {
854
855
  _this.addLine({
855
- name: _this.data.lineName,
856
+ name: _this.store.data.lineName,
856
857
  from: new Point(json.rect.x, json.rect.y),
857
- fromArrow: _this.data.fromArrowType,
858
+ fromArrow: _this.store.data.fromArrowType,
858
859
  to: new Point(json.rect.x + json.rect.width, json.rect.y + json.rect.height),
859
- toArrow: _this.data.toArrowType,
860
- strokeStyle: _this.options.color,
860
+ toArrow: _this.store.data.toArrowType,
861
+ strokeStyle: _this.store.options.color,
861
862
  }, true);
862
863
  }
863
864
 
@@ -866,7 +867,7 @@ var Topology = (function (_super) {
866
867
  // console.log('创建自定义组件 ', json);
867
868
 
868
869
  console.log('store 中的 自定义 ', Store.get('defineNode'));
869
- if (_this.data.locked) return
870
+ if (_this.store.data.locked) return
870
871
  // let defineNode = Store.get('defineNode');
871
872
  // let nodesList = Store.get('defineNode').pens;
872
873
  let defineNode = JSON.parse(localStorage.getItem("defineNode_"))
@@ -888,7 +889,7 @@ var Topology = (function (_super) {
888
889
 
889
890
  // console.log('push之前的node', node);
890
891
 
891
- _this.data.pens.push(node);
892
+ _this.store.data.pens.push(node);
892
893
 
893
894
  renderNodesList.push(node);
894
895
  }
@@ -911,7 +912,7 @@ var Topology = (function (_super) {
911
912
  _this.dispatch('LT:addDiv', node);
912
913
  }
913
914
  if (node.name === 'formTable') {
914
- _this.data.dataConstruct[node.id] = {
915
+ _this.store.data.dataConstruct[node.id] = {
915
916
  id: node.id,
916
917
  name: 'table'
917
918
  }
@@ -924,26 +925,26 @@ var Topology = (function (_super) {
924
925
  if (focus === void 0) {
925
926
  focus = false;
926
927
  }
927
- if (this.data.locked || !drawNodeFns[node.name]) {
928
+ if (this.store.data.locked || !drawNodeFns[node.name]) {
928
929
  return null;
929
930
  }
930
931
  // if it's not a Node
931
932
  if (!node.init) {
932
933
  node = new Node(node);
933
934
  }
934
- if (!node.strokeStyle && this.options.color) {
935
- node.strokeStyle = this.options.color;
935
+ if (!node.strokeStyle && this.store.options.color) {
936
+ node.strokeStyle = this.store.options.color;
936
937
  }
937
938
  for (var key in node.font) {
938
939
  if (!node.font[key]) {
939
- node.font[key] = this.options.font[key];
940
+ node.font[key] = this.store.options.font[key];
940
941
  }
941
942
  }
942
- if (this.data.scale !== 1) {
943
- node.scale(this.data.scale);
943
+ if (this.store.data.scale !== 1) {
944
+ node.scale(this.store.data.scale);
944
945
  }
945
- this.data.pens.push(node);
946
- this.setSwitchTabData(node, this.data.pens.length-1);
946
+ this.store.data.pens.push(node);
947
+ this.setSwitchTabData(node, this.store.data.pens.length-1);
947
948
  if (focus) {
948
949
  this.activeLayer.setPens([node]);
949
950
  this.render();
@@ -957,14 +958,14 @@ var Topology = (function (_super) {
957
958
  if (focus === void 0) {
958
959
  focus = false;
959
960
  }
960
- if (this.data.locked) {
961
+ if (this.store.data.locked) {
961
962
  return null;
962
963
  }
963
964
  if (!line.clone) {
964
965
  line = new Line(line);
965
966
  line.calcControlPoints(true);
966
967
  }
967
- this.data.pens.push(line);
968
+ this.store.data.pens.push(line);
968
969
  if (focus) {
969
970
  this.activeLayer.setPens([line]);
970
971
  this.render();
@@ -977,10 +978,10 @@ var Topology = (function (_super) {
977
978
  // open - redraw by the data
978
979
  Topology.prototype.open = function (topoJSon) {
979
980
  this.conversionData(topoJSon);
980
- Store.set(this.generateStoreKey('LT:scale'), this.data.scale);
981
- this.dispatch('scale', this.data.scale);
982
- this.parentElem.scrollLeft = 0;
983
- this.parentElem.scrollTop = 0;
981
+ Store.set(this.generateStoreKey('LT:scale'), this.store.data.scale);
982
+ this.dispatch('scale', this.store.data.scale);
983
+ this.store.parentElem.scrollLeft = 0;
984
+ this.store.parentElem.scrollTop = 0;
984
985
  this.caches.list = [];
985
986
  this.divLayer.clear();
986
987
  this.cache();
@@ -990,22 +991,22 @@ var Topology = (function (_super) {
990
991
  this.showGrid();
991
992
  };
992
993
  Topology.prototype.overflow = function () {
993
- try {
994
- var rect = this.getRect();
995
- let _a = this.canvas;
996
- if(!_a.width) return;
997
- let width = _a.width, height = _a.height;
998
- if (width < rect.width) {
999
- width = rect.width;
1000
- }
1001
- if (height < rect.height) {
1002
- height = rect.height;
1003
- }
1004
- this.resize({width: width, height: height});
1005
- return rect;
1006
- }catch (e){
1007
- console.log('init-error-----------')
1008
- }
994
+ try {
995
+ var rect = this.getRect();
996
+ let _a = this.canvas;
997
+ if(!_a.width) return;
998
+ let width = _a.width, height = _a.height;
999
+ if (width < rect.width) {
1000
+ width = rect.width;
1001
+ }
1002
+ if (height < rect.height) {
1003
+ height = rect.height;
1004
+ }
1005
+ this.resize({width: width + 20, height: height + 20});
1006
+ return rect;
1007
+ }catch (e){
1008
+ //console.log('init-error-----------',e)
1009
+ }
1009
1010
  };
1010
1011
  Topology.prototype.getMoveIn = function (pt) {
1011
1012
  this.lastHoverNode = this.moveIn.hoverNode;
@@ -1015,13 +1016,13 @@ var Topology = (function (_super) {
1015
1016
  this.moveIn.lineControlPoint = null;
1016
1017
  this.moveIn.hoverLine = null;
1017
1018
  this.hoverLayer.hoverAnchorIndex = -1;
1018
- if (!this.data.locked &&
1019
+ if (!this.store.data.locked &&
1019
1020
  !(this.activeLayer.pens.length === 1 && this.activeLayer.pens[0].type) &&
1020
1021
  !this.activeLayer.locked() &&
1021
1022
  this.activeLayer.rotateCPs[0] &&
1022
1023
  this.activeLayer.rotateCPs[0].hit(pt, 15)) {
1023
1024
  this.moveIn.type = this.moveInType.Rotate;
1024
- var cursor = this.options.rotateCursor;
1025
+ var cursor = this.store.options.rotateCursor;
1025
1026
  this.divLayer.canvas.style.cursor = cursor.includes('/')
1026
1027
  ? "url(\"" + cursor + "\"), auto"
1027
1028
  : cursor;
@@ -1031,9 +1032,9 @@ var Topology = (function (_super) {
1031
1032
  pointInRect(pt, this.activeLayer.sizeCPs)) {
1032
1033
  this.moveIn.type = this.moveInType.Nodes;
1033
1034
  }
1034
- if (!this.data.locked &&
1035
+ if (!this.store.data.locked &&
1035
1036
  !this.activeLayer.locked() &&
1036
- !this.options.hideSizeCP) {
1037
+ !this.store.options.hideSizeCP) {
1037
1038
  if (this.activeLayer.pens.length > 1 ||
1038
1039
  (!this.activeLayer.pens[0].type && !this.activeLayer.pens[0].hideSizeCP)) {
1039
1040
  for (var i = 0; i < this.activeLayer.sizeCPs.length; ++i) {
@@ -1047,7 +1048,7 @@ var Topology = (function (_super) {
1047
1048
  }
1048
1049
  }
1049
1050
  // In active pen.
1050
- if (!this.data.locked) {
1051
+ if (!this.store.data.locked) {
1051
1052
  for (var _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) {
1052
1053
  var item = _a[_i];
1053
1054
  if (item instanceof Line && !item.locked) {
@@ -1068,13 +1069,13 @@ var Topology = (function (_super) {
1068
1069
  }
1069
1070
  }
1070
1071
  this.divLayer.canvas.style.cursor = 'default';
1071
- var len = this.data.pens.length;
1072
+ var len = this.store.data.pens.length;
1072
1073
  for (var i = len - 1; i > -1; --i) {
1073
- if (this.data.pens[i].type === PenType.Node &&
1074
- this.inNode(pt, this.data.pens[i])) {
1074
+ if (this.store.data.pens[i].type === PenType.Node &&
1075
+ this.inNode(pt, this.store.data.pens[i])) {
1075
1076
  return;
1076
- } else if (this.data.pens[i].type === PenType.Line &&
1077
- this.inLine(pt, this.data.pens[i])) {
1077
+ } else if (this.store.data.pens[i].type === PenType.Line &&
1078
+ this.inLine(pt, this.store.data.pens[i])) {
1078
1079
  // 需要优先判断十分在节点锚点上
1079
1080
  // return;
1080
1081
  }
@@ -1107,7 +1108,7 @@ var Topology = (function (_super) {
1107
1108
  if (inChild === void 0) {
1108
1109
  inChild = false;
1109
1110
  }
1110
- if (this.data.locked === Lock.NoEvent ||
1111
+ if (this.store.data.locked === Lock.NoEvent ||
1111
1112
  (!node.visible && !window.location.pathname.includes('workspace')) ||
1112
1113
  node.locked === Lock.NoEvent) {
1113
1114
  return null;
@@ -1128,21 +1129,22 @@ var Topology = (function (_super) {
1128
1129
  }
1129
1130
  return child;
1130
1131
  }
1132
+ if(!(node instanceof Node)) node = new Node(node);
1131
1133
  if (node.hit(pt)) {
1132
1134
  this.moveIn.hoverNode = node;
1133
1135
  this.moveIn.type = this.moveInType.Nodes;
1134
1136
  // 非绘画页面下禁止不包含点击、双击事件的节点选中鼠标样式
1135
1137
  if (!this.checkNodeOfClickType(node)) {
1136
- if (!this.data.locked && !node.locked) {
1138
+ if (!this.store.data.locked && !node.locked) {
1137
1139
  this.divLayer.canvas.style.cursor = 'move';
1138
1140
  } else {
1139
- this.divLayer.canvas.style.cursor = this.options.hoverCursor;
1141
+ this.divLayer.canvas.style.cursor = this.store.options.hoverCursor;
1140
1142
  }
1141
1143
  }
1142
1144
  // Too small
1143
- if (!this.data.locked &&
1145
+ if (!this.store.data.locked &&
1144
1146
  !node.locked &&
1145
- !(this.options.hideAnchor ||
1147
+ !(this.store.options.hideAnchor ||
1146
1148
  node.hideAnchor ||
1147
1149
  node.rect.width < 20 ||
1148
1150
  node.rect.height < 20)) {
@@ -1165,9 +1167,9 @@ var Topology = (function (_super) {
1165
1167
  }
1166
1168
  return node;
1167
1169
  }
1168
- if (this.options.hideAnchor ||
1170
+ if (this.store.options.hideAnchor ||
1169
1171
  node.hideAnchor ||
1170
- this.data.locked ||
1172
+ this.store.data.locked ||
1171
1173
  node.locked) {
1172
1174
  return null;
1173
1175
  }
@@ -1199,8 +1201,8 @@ var Topology = (function (_super) {
1199
1201
  if (line.from.hit(point, 5)) {
1200
1202
  this.moveIn.type = this.moveInType.LineFrom;
1201
1203
  this.moveIn.hoverLine = line;
1202
- if (this.data.locked || line.locked) {
1203
- this.divLayer.canvas.style.cursor = this.options.hoverCursor;
1204
+ if (this.store.data.locked || line.locked) {
1205
+ this.divLayer.canvas.style.cursor = this.store.options.hoverCursor;
1204
1206
  } else {
1205
1207
  this.divLayer.canvas.style.cursor = 'move';
1206
1208
  }
@@ -1209,8 +1211,8 @@ var Topology = (function (_super) {
1209
1211
  if (line.to.hit(point, 5)) {
1210
1212
  this.moveIn.type = this.moveInType.LineTo;
1211
1213
  this.moveIn.hoverLine = line;
1212
- if (this.data.locked || line.locked) {
1213
- this.divLayer.canvas.style.cursor = this.options.hoverCursor;
1214
+ if (this.store.data.locked || line.locked) {
1215
+ this.divLayer.canvas.style.cursor = this.store.options.hoverCursor;
1214
1216
  } else {
1215
1217
  this.divLayer.canvas.style.cursor = 'move';
1216
1218
  }
@@ -1219,7 +1221,7 @@ var Topology = (function (_super) {
1219
1221
  if (line.pointIn(point)) {
1220
1222
  this.moveIn.type = this.moveInType.LineMove;
1221
1223
  this.moveIn.hoverLine = line;
1222
- this.divLayer.canvas.style.cursor = this.options.hoverCursor;
1224
+ this.divLayer.canvas.style.cursor = this.store.options.hoverCursor;
1223
1225
  if (line.from.id || line.to.id) {
1224
1226
  this.moveIn.type = this.moveInType.Line;
1225
1227
  }
@@ -1229,7 +1231,7 @@ var Topology = (function (_super) {
1229
1231
  };
1230
1232
  Topology.prototype.getLineDock = function (point) {
1231
1233
  this.hoverLayer.dockAnchor = null;
1232
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1234
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
1233
1235
  var item = _a[_i];
1234
1236
  if (item instanceof Node) {
1235
1237
  if (item.rect.hit(point, 10)) {
@@ -1296,7 +1298,7 @@ var Topology = (function (_super) {
1296
1298
  rect.ey = rect.y + rect.height;
1297
1299
  }
1298
1300
  this.activeLayer.pens = [];
1299
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1301
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
1300
1302
  var item = _a[_i];
1301
1303
  if (item.locked === Lock.NoEvent) {
1302
1304
  continue;
@@ -1343,7 +1345,7 @@ var Topology = (function (_super) {
1343
1345
  x: 0,
1344
1346
  y: 0,
1345
1347
  };
1346
- if (noDock || this.options.disableDockLine) {
1348
+ if (noDock || this.store.options.disableDockLine) {
1347
1349
  return offset;
1348
1350
  }
1349
1351
  var x = 0;
@@ -1352,7 +1354,7 @@ var Topology = (function (_super) {
1352
1354
  var disY = dockOffset;
1353
1355
  for (var _i = 0, _a = this.activeLayer.dockWatchers; _i < _a.length; _i++) {
1354
1356
  var activePt = _a[_i];
1355
- for (var _b = 0, _c = this.data.pens; _b < _c.length; _b++) {
1357
+ for (var _b = 0, _c = this.store.data.pens; _b < _c.length; _b++) {
1356
1358
  var item = _c[_b];
1357
1359
  if (!(item instanceof Node) ||
1358
1360
  this.activeLayer.has(item) ||
@@ -1385,9 +1387,9 @@ var Topology = (function (_super) {
1385
1387
  if (this.caches.index < this.caches.list.length - 1) {
1386
1388
  this.caches.list.splice(this.caches.index + 1, this.caches.list.length - this.caches.index - 1);
1387
1389
  }
1388
- var data = new TopologyData(this.data);
1390
+ var data = JSON.parse(JSON.stringify(this.store.data));
1389
1391
  this.caches.list.push(data);
1390
- if (this.caches.list.length > this.options.cacheLen) {
1392
+ if (this.caches.list.length > this.store.options.cacheLen) {
1391
1393
  this.caches.list.shift();
1392
1394
  }
1393
1395
  this.caches.index = this.caches.list.length - 1;
@@ -1420,31 +1422,31 @@ var Topology = (function (_super) {
1420
1422
  if (noRedo === void 0) {
1421
1423
  noRedo = false;
1422
1424
  }
1423
- if (this.data.locked || this.caches.index < 1) {
1425
+ if (this.store.data.locked || this.caches.index < 1) {
1424
1426
  return;
1425
1427
  }
1426
1428
  this.divLayer.clear();
1427
- var data = new TopologyData(this.caches.list[--this.caches.index]);
1428
- this.data.pens.splice(0, this.data.pens.length);
1429
- this.data.pens.push.apply(this.data.pens, data.pens);
1429
+ var data = JSON.parse(JSON.stringify(this.caches.list[--this.caches.index]));
1430
+ this.store.data.pens.splice(0, this.store.data.pens.length);
1431
+ this.store.data.pens.push.apply(this.store.data.pens, data.pens);
1430
1432
  this.render(true);
1431
1433
  this.divLayer.render();
1432
1434
  if (noRedo) {
1433
1435
  this.caches.list.splice(this.caches.index + 1, this.caches.list.length - this.caches.index - 1);
1434
1436
  }
1435
- this.dispatch('undo', this.data);
1437
+ this.dispatch('undo', this.store.data);
1436
1438
  };
1437
1439
  Topology.prototype.redo = function () {
1438
- if (this.data.locked || this.caches.index > this.caches.list.length - 2) {
1440
+ if (this.store.data.locked || this.caches.index > this.caches.list.length - 2) {
1439
1441
  return;
1440
1442
  }
1441
1443
  this.divLayer.clear();
1442
- var data = new TopologyData(this.caches.list[++this.caches.index]);
1443
- this.data.pens.splice(0, this.data.pens.length);
1444
- this.data.pens.push.apply(this.data.pens, data.pens);
1444
+ var data = JSON.parse(JSON.stringify(this.caches.list[++this.caches.index]));
1445
+ this.store.data.pens.splice(0, this.store.data.pens.length);
1446
+ this.store.data.pens.push.apply(this.store.data.pens, data.pens);
1445
1447
  this.render(true);
1446
1448
  this.divLayer.render();
1447
- this.dispatch('redo', this.data);
1449
+ this.dispatch('redo', this.store.data);
1448
1450
  };
1449
1451
  Topology.prototype.toImage = function (type, quality, callback, padding, thumbnail) {
1450
1452
  if (thumbnail === void 0) {
@@ -1508,13 +1510,13 @@ var Topology = (function (_super) {
1508
1510
  }
1509
1511
  var found = this.findIndex(pen);
1510
1512
  if (found > -1) {
1511
- if (this.data.pens[found].type === PenType.Node) {
1512
- this.divLayer.removeDiv(this.data.pens[found]);
1513
+ if (this.store.data.pens[found].type === PenType.Node) {
1514
+ this.divLayer.removeDiv(this.store.data.pens[found]);
1513
1515
  }
1514
- if (this.options.disableEmptyLine) {
1516
+ if (this.store.options.disableEmptyLine) {
1515
1517
  this.delEmptyLines(pen.id);
1516
1518
  }
1517
- pens.push.apply(pens, this.data.pens.splice(found, 1));
1519
+ pens.push.apply(pens, this.store.data.pens.splice(found, 1));
1518
1520
  this.setSwitchTabData(pen, found, 'delete');
1519
1521
  --i;
1520
1522
  }
@@ -1528,16 +1530,16 @@ var Topology = (function (_super) {
1528
1530
  this.dispatch('delete', pens);
1529
1531
  };
1530
1532
  Topology.prototype.delEmptyLines = function (deleteedId) {
1531
- for (var i = 0; i < this.data.pens.length; i++) {
1532
- if (this.data.pens[i].type !== PenType.Line) {
1533
+ for (var i = 0; i < this.store.data.pens.length; i++) {
1534
+ if (this.store.data.pens[i].type !== PenType.Line) {
1533
1535
  continue;
1534
1536
  }
1535
- var line = this.data.pens[i];
1537
+ var line = this.store.data.pens[i];
1536
1538
  if (!line.from.id ||
1537
1539
  !line.to.id ||
1538
1540
  line.from.id === deleteedId ||
1539
1541
  line.to.id === deleteedId) {
1540
- this.data.pens.splice(i, 1);
1542
+ this.store.data.pens.splice(i, 1);
1541
1543
  this.animateLayer.pens.delete(line.id);
1542
1544
  --i;
1543
1545
  }
@@ -1546,8 +1548,8 @@ var Topology = (function (_super) {
1546
1548
  Topology.prototype.removeNode = function (node) {
1547
1549
  var i = this.findIndex(node);
1548
1550
  if (i > -1) {
1549
- this.divLayer.removeDiv(this.data.pens[i]);
1550
- var nodes = this.data.pens.splice(i, 1);
1551
+ this.divLayer.removeDiv(this.store.data.pens[i]);
1552
+ var nodes = this.store.data.pens.splice(i, 1);
1551
1553
  this.dispatch('delete', nodes);
1552
1554
  }
1553
1555
  this.render(true);
@@ -1556,28 +1558,28 @@ var Topology = (function (_super) {
1556
1558
  Topology.prototype.removeLine = function (line) {
1557
1559
  var i = this.findIndex(line);
1558
1560
  if (i > -1) {
1559
- var lines = this.data.pens.splice(i, 1);
1561
+ var lines = this.store.data.pens.splice(i, 1);
1560
1562
  this.dispatch('delete', lines);
1561
1563
  }
1562
1564
  this.render(true);
1563
1565
  this.cache();
1564
1566
  };
1565
1567
  Topology.prototype.cut = function () {
1566
- if (this.data.locked) {
1568
+ if (this.store.data.locked) {
1567
1569
  return;
1568
1570
  }
1569
- this.clipboard = new TopologyData({
1571
+ this.clipboard = {
1570
1572
  pens: [],
1571
- });
1573
+ };
1572
1574
  for (var i = 0; i < this.activeLayer.pens.length; i++) {
1573
1575
  var pen = this.activeLayer.pens[i];
1574
1576
  this.clipboard.pens.push(pen.clone());
1575
1577
  var found = this.findIndex(pen);
1576
1578
  if (found > -1) {
1577
1579
  if (pen.type === PenType.Node) {
1578
- this.divLayer.removeDiv(this.data.pens[found]);
1580
+ this.divLayer.removeDiv(this.store.data.pens[found]);
1579
1581
  }
1580
- this.data.pens.splice(found, 1);
1582
+ this.store.data.pens.splice(found, 1);
1581
1583
  --i;
1582
1584
  }
1583
1585
  }
@@ -1594,9 +1596,9 @@ var Topology = (function (_super) {
1594
1596
  return item.animatePlay;
1595
1597
  });
1596
1598
  if(isAnimate) return false;
1597
- this.clipboard = new TopologyData({
1599
+ this.clipboard = {
1598
1600
  pens: [],
1599
- });
1601
+ };
1600
1602
  for (var _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) {
1601
1603
  var pen = _a[_i];
1602
1604
  this.clipboard.pens.push(pen.clone());
@@ -1604,7 +1606,7 @@ var Topology = (function (_super) {
1604
1606
  return true;
1605
1607
  };
1606
1608
  Topology.prototype.paste = function () {
1607
- if (!this.clipboard || this.data.locked) {
1609
+ if (!this.clipboard || this.store.data.locked) {
1608
1610
  return;
1609
1611
  }
1610
1612
  this.hoverLayer.node = null;
@@ -1645,9 +1647,9 @@ var Topology = (function (_super) {
1645
1647
  }
1646
1648
  pen.controlPoints = controlPoints;
1647
1649
  }
1648
- this.data.pens.push(pen);
1650
+ this.store.data.pens.push(pen);
1649
1651
  this.activeLayer.add(pen);
1650
- this.setSwitchTabData(pen, this.data.pens.length-1);
1652
+ this.setSwitchTabData(pen, this.store.data.pens.length-1);
1651
1653
  }
1652
1654
  this.render();
1653
1655
  this.animate(true);
@@ -1666,9 +1668,9 @@ var Topology = (function (_super) {
1666
1668
  }
1667
1669
  };
1668
1670
  Topology.prototype.bind = function (item, exite, dataType, index) {
1669
- this.clipboard = new TopologyData({
1671
+ this.clipboard = {
1670
1672
  pens: [],
1671
- });
1673
+ };
1672
1674
  for (var _i = 0, _a = this.activeLayer.pens; _i < _a.length; _i++) {
1673
1675
  var pen = _a[_i];
1674
1676
  pen.data = []
@@ -1680,46 +1682,20 @@ var Topology = (function (_super) {
1680
1682
  }
1681
1683
  };
1682
1684
  Topology.prototype.bindInfo = async function (item, pen, type, index) {
1683
- if (type == 0) {
1684
- pen.data.push({
1685
- "key": "tagId",
1686
- "value": item.tagId,
1687
- "isControlDis": item.isControlDis,
1688
- "type": item.tagType,
1689
- "tagVal": item.value,
1690
- "valExplain": item.valExplain,
1691
- "tagId": item.tagId
1692
- }, {
1693
- "key": "测点名称",
1694
- "value": item.tagName
1695
- })
1696
- let obj = {
1697
- "key": "threeCategoryId",
1698
- "value": item.threeCategoryId
1699
- }
1685
+ if ([0, '0'].includes(type)) {
1686
+ const setTagId = setTagIdData(item);
1687
+ pen.data.push(...setTagId);
1700
1688
  // 绑定悬浮文字
1701
1689
  pen.title = item.touchpname
1702
- if (!JSON.stringify(pen.data).includes(JSON.stringify(obj))) {
1703
- pen.data.push(obj)
1704
- }
1705
- } else if (type == 1) {
1706
- pen.data.push({
1707
- "key": "kpiAddr",
1708
- "value": item.kpiId + '_' + item.kpiAddr,
1709
- "isControlDis": item.isControlDis,
1710
- "type": item.tagType
1711
- }, {
1712
- "key": "指标名称",
1713
- "value": item.kpiName
1714
- })
1715
- } else if (type == 2) {
1716
- pen.data.push({
1717
- "key": "assetId",
1718
- "value": item.id
1719
- }, {
1720
- "key": "资产名称",
1721
- "value": item.name
1722
- })
1690
+ //用于处理场地监控,点击一个资产类别后,隐藏掉这个类别下的所有元件
1691
+ const setThreeCategory = setThreeCategoryIdData(pen, item);
1692
+ pen.data.push(...setThreeCategory);
1693
+ } else if ([1, '1'].includes(type)) {
1694
+ const setKpiAddr = setKpiAddrData(item);
1695
+ pen.data.push(...setKpiAddr);
1696
+ } else if ([2, '2'].includes(type)) {
1697
+ const setAssetId = setAssetIdData(item);
1698
+ pen.data.push(...setAssetId);
1723
1699
  // 绑定悬浮文字
1724
1700
  pen.title = item.bak
1725
1701
  if (pen.subName && pen.subName == 'temp') {
@@ -1753,22 +1729,16 @@ var Topology = (function (_super) {
1753
1729
  }]
1754
1730
  })
1755
1731
  }
1756
- } else if (type == 3) {
1757
- pen.data.push({
1758
- "key": "areaId",
1759
- "value": item.id
1760
- }, {
1761
- "key": "区域名称",
1762
- "value": item.name
1763
- })
1764
- }
1765
- // let str = JSON.stringify(pen.events)
1766
- // pen.events.forEach((_item) => {
1767
- // if(_item.action==0 && _item.dcimDetailPage && _item.dcimDetailPage != '' && item.devId){
1768
- // str = str.replace(new RegExp(_item.dcimAssetValue,'g'), item.devId)
1769
- // }
1770
- // });
1771
- // pen.events = JSON.parse(str)
1732
+ } else if ([3, '3'].includes(type)) {
1733
+ const setAreaId = setAreaIdData(item);
1734
+ pen.data.push(...setAreaId);
1735
+ }
1736
+ // if([0, 2, '0', '2'].includes(type)) {
1737
+ // //用于处理场地监控,点击一个资产类别后,隐藏掉这个类别下的所有元件
1738
+ // const setThreeCategory = setThreeCategoryIdData(pen, item);
1739
+ //
1740
+ // pen.data.push(...setThreeCategory);
1741
+ // }
1772
1742
  return pen
1773
1743
  };
1774
1744
  Topology.prototype.newId = function (node, idMaps) {
@@ -1815,15 +1785,15 @@ var Topology = (function (_super) {
1815
1785
  cache && this.cache();
1816
1786
  };
1817
1787
  Topology.prototype.lock = function (lock) {
1818
- this.data.locked = lock;
1819
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1788
+ this.store.data.locked = lock;
1789
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
1820
1790
  var item = _a[_i];
1821
1791
  item.addToDiv && item.addToDiv();
1822
1792
  }
1823
- this.dispatch('locked', this.data.locked);
1793
+ this.dispatch('locked', this.store.data.locked);
1824
1794
  };
1825
1795
  Topology.prototype.lockPens = function (pens, lock) {
1826
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1796
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
1827
1797
  var item = _a[_i];
1828
1798
  for (var _b = 0, pens_2 = pens; _b < pens_2.length; _b++) {
1829
1799
  var pen = pens_2[_b];
@@ -1841,30 +1811,30 @@ var Topology = (function (_super) {
1841
1811
  };
1842
1812
  Topology.prototype.up = function (pen) {
1843
1813
  var i = this.findIndex(pen);
1844
- if (i > -1 && i !== this.data.pens.length - 1) {
1845
- this.data.pens.splice(i + 2, 0, this.data.pens[i]);
1846
- this.data.pens.splice(i, 1);
1814
+ if (i > -1 && i !== this.store.data.pens.length - 1) {
1815
+ this.store.data.pens.splice(i + 2, 0, this.store.data.pens[i]);
1816
+ this.store.data.pens.splice(i, 1);
1847
1817
  }
1848
1818
  };
1849
1819
  Topology.prototype.top = function (pen) {
1850
1820
  var i = this.findIndex(pen);
1851
1821
  if (i > -1) {
1852
- this.data.pens.push(this.data.pens[i]);
1853
- this.data.pens.splice(i, 1);
1822
+ this.store.data.pens.push(this.store.data.pens[i]);
1823
+ this.store.data.pens.splice(i, 1);
1854
1824
  }
1855
1825
  };
1856
1826
  Topology.prototype.down = function (pen) {
1857
1827
  var i = this.findIndex(pen);
1858
1828
  if (i > -1 && i !== 0) {
1859
- this.data.pens.splice(i - 1, 0, this.data.pens[i]);
1860
- this.data.pens.splice(i + 1, 1);
1829
+ this.store.data.pens.splice(i - 1, 0, this.store.data.pens[i]);
1830
+ this.store.data.pens.splice(i + 1, 1);
1861
1831
  }
1862
1832
  };
1863
1833
  Topology.prototype.bottom = function (pen) {
1864
1834
  var i = this.findIndex(pen);
1865
1835
  if (i > -1) {
1866
- this.data.pens.unshift(this.data.pens[i]);
1867
- this.data.pens.splice(i + 1, 1);
1836
+ this.store.data.pens.unshift(this.store.data.pens[i]);
1837
+ this.store.data.pens.splice(i + 1, 1);
1868
1838
  }
1869
1839
  };
1870
1840
  Topology.prototype.combine = function (pens, stand, temp) {
@@ -1880,7 +1850,7 @@ var Topology = (function (_super) {
1880
1850
  var item = pens_3[_i];
1881
1851
  var i = this.findIndex(item);
1882
1852
  if (i > -1) {
1883
- this.data.pens.splice(i, 1);
1853
+ this.store.data.pens.splice(i, 1);
1884
1854
  }
1885
1855
  }
1886
1856
  var node = new Node({
@@ -1905,7 +1875,7 @@ var Topology = (function (_super) {
1905
1875
  item.calcRectInParent(node);
1906
1876
  node.children.push(item);
1907
1877
  }
1908
- this.data.pens.push(node);
1878
+ this.store.data.pens.push(node);
1909
1879
  this.activeLayer.setPens([node]);
1910
1880
  this.dispatch('node', node);
1911
1881
  this.cache();
@@ -1923,11 +1893,11 @@ var Topology = (function (_super) {
1923
1893
  item.parentId = undefined;
1924
1894
  item.rectInParent = undefined;
1925
1895
  item.locked = Lock.None;
1926
- this.data.pens.push(item);
1896
+ this.store.data.pens.push(item);
1927
1897
  }
1928
1898
  var i = this.findIndex(nodeChildren);
1929
1899
  if (i > -1 && nodeChildren.name === 'combine') {
1930
- this.data.pens.splice(i, 1);
1900
+ this.store.data.pens.splice(i, 1);
1931
1901
  } else {
1932
1902
  nodeChildren.children = null;
1933
1903
  }
@@ -1938,7 +1908,7 @@ var Topology = (function (_super) {
1938
1908
  Topology.prototype.find = function (idOrTag, pens) {
1939
1909
  var _this = this;
1940
1910
  if (!pens) {
1941
- pens = this.data.pens;
1911
+ pens = this.store.data.pens;
1942
1912
  }
1943
1913
  var result = [];
1944
1914
  pens.forEach(function (item) {
@@ -1955,28 +1925,28 @@ var Topology = (function (_super) {
1955
1925
  return result;
1956
1926
  };
1957
1927
  Topology.prototype.findIndex = function (pen) {
1958
- for (var i = 0; i < this.data.pens.length; ++i) {
1959
- if (pen.id === this.data.pens[i].id) {
1928
+ for (var i = 0; i < this.store.data.pens.length; ++i) {
1929
+ if (pen.id === this.store.data.pens[i].id) {
1960
1930
  return i;
1961
1931
  }
1962
1932
  }
1963
1933
  return -1;
1964
1934
  };
1965
1935
  Topology.prototype.anchor = function (anchor) {
1966
- this.options.hideAnchor = anchor
1936
+ this.store.options.hideAnchor = anchor
1967
1937
  this.dispatch('hideAnchor', anchor);
1968
1938
  };
1969
1939
  // scale for scaled canvas:
1970
1940
  // > 1, expand
1971
1941
  // < 1, reduce
1972
1942
  Topology.prototype.scale = function (scale, center, w, h) {
1973
- if (this.data.scale * scale < this.options.minScale ||
1974
- this.data.scale * scale > this.options.maxScale) {
1943
+ if (this.store.data.scale * scale < this.store.options.minScale ||
1944
+ this.store.data.scale * scale > this.store.options.maxScale) {
1975
1945
  return;
1976
1946
  }
1977
- this.data.scale *= scale;
1947
+ this.store.data.scale *= scale;
1978
1948
  !center && (center = this.getRect().center);
1979
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1949
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
1980
1950
  var item = _a[_i];
1981
1951
  item.scale(scale, center, w, h);
1982
1952
  }
@@ -1985,18 +1955,18 @@ var Topology = (function (_super) {
1985
1955
  pen.scale(scale, center);
1986
1956
  }
1987
1957
  });
1988
- Store.set(this.generateStoreKey('LT:scale'), this.data.scale);
1958
+ Store.set(this.generateStoreKey('LT:scale'), this.store.data.scale);
1989
1959
  this.render();
1990
1960
  this.cache();
1991
- this.dispatch('scale', this.data.scale);
1961
+ this.dispatch('scale', this.store.data.scale);
1992
1962
  };
1993
1963
  // scale for origin canvas:
1994
1964
  Topology.prototype.scaleTo = function (scale) {
1995
- this.scale(scale / this.data.scale);
1996
- this.data.scale = scale;
1965
+ this.scale(scale / this.store.data.scale);
1966
+ this.store.data.scale = scale;
1997
1967
  };
1998
1968
  Topology.prototype.round = function () {
1999
- for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
1969
+ for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
2000
1970
  var item = _a[_i];
2001
1971
  if (item instanceof Node) {
2002
1972
  item.round();
@@ -2007,7 +1977,7 @@ var Topology = (function (_super) {
2007
1977
  if (!this.hasView())
2008
1978
  return;
2009
1979
  // 1. 重置画布尺寸为容器尺寸
2010
- var parentElem = this.canvas.parentElem;
1980
+ var parentElem = this.store.parentElem;
2011
1981
  var width = parentElem.offsetWidth, height = parentElem.offsetHeight;
2012
1982
  this.resize({
2013
1983
  width: width,
@@ -2016,7 +1986,7 @@ var Topology = (function (_super) {
2016
1986
  // 2. 图形居中
2017
1987
  this.centerView(viewPadding);
2018
1988
  // 3. 获取设置的留白值
2019
- var padding = formatPadding(viewPadding || this.options.viewPadding);
1989
+ var padding = formatPadding(viewPadding || this.store.options.viewPadding);
2020
1990
  // 4. 获取图形尺寸
2021
1991
  var rect = this.getRect();
2022
1992
  // 6. 计算缩放比
@@ -2029,7 +1999,7 @@ var Topology = (function (_super) {
2029
1999
  this.scale(ratio);
2030
2000
  };
2031
2001
  Topology.prototype.showTipText = function (data, pos) {
2032
- if (this.data.locked && data.title) {
2002
+ if (this.store.data.locked && data.title) {
2033
2003
  this.divLayer.canvas.title = data.title;
2034
2004
  this.tip = data.id;
2035
2005
  }
@@ -2040,15 +2010,15 @@ var Topology = (function (_super) {
2040
2010
  return;
2041
2011
  }
2042
2012
  this.scrolling = true;
2043
- this.parentElem.scrollLeft += x;
2044
- this.parentElem.scrollTop += y;
2013
+ this.store.parentElem.scrollLeft += x;
2014
+ this.store.parentElem.scrollTop += y;
2045
2015
  setTimeout(function () {
2046
2016
  _this.scrolling = false;
2047
2017
  }, 700);
2048
2018
  };
2049
2019
  Topology.prototype.toComponent = function (pens) {
2050
2020
  if (!pens) {
2051
- pens = this.data.pens;
2021
+ pens = this.store.data.pens;
2052
2022
  }
2053
2023
  var rect = this.getRect(pens);
2054
2024
  var node = new Node({
@@ -2089,7 +2059,7 @@ var Topology = (function (_super) {
2089
2059
  attr = 'text';
2090
2060
  }
2091
2061
  var pen;
2092
- this.data.pens.forEach(function (item) {
2062
+ this.store.data.pens.forEach(function (item) {
2093
2063
  if (item.id === idOrTag || item.tags.indexOf(idOrTag) > -1) {
2094
2064
  pen = item;
2095
2065
  }
@@ -2101,7 +2071,7 @@ var Topology = (function (_super) {
2101
2071
  attr = 'text';
2102
2072
  }
2103
2073
  var pen;
2104
- this.data.pens.forEach(function (item) {
2074
+ this.store.data.pens.forEach(function (item) {
2105
2075
  if (item.id === idOrTag || item.tags.indexOf(idOrTag) > -1) {
2106
2076
  pen = item;
2107
2077
  }
@@ -2114,11 +2084,12 @@ var Topology = (function (_super) {
2114
2084
  this.gridElem.style.left = '0';
2115
2085
  this.gridElem.style.top = '0';
2116
2086
  this.gridElem.innerHTML = "<svg class=\"svg-grid\" width=\"100%\" height=\"100%\" style=\"position:absolute;left:0;right:0;top:0;bottom:0\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <pattern id=\"grid\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\">\n <path d=\"M 10 0 L 0 0 0 10\" fill=\"none\" stroke=\"#f3f3f3\" stroke-width=\"1\" />\n </pattern>\n </defs>\n <rect width=\"100%\" height=\"100%\" fill=\"url(#grid)\" />\n </svg>";
2117
- this.parentElem.appendChild(this.gridElem);
2087
+ this.store.parentElem.appendChild(this.gridElem);
2118
2088
  };
2119
2089
  Topology.prototype.showGrid = function (show) {
2090
+ if(!this.store || !this.store.data) return;
2120
2091
  if (show === undefined) {
2121
- show = this.data.grid;
2092
+ show = this.store.data.grid;
2122
2093
  }
2123
2094
  this.gridElem.style.width = this.canvas.width + 'px';
2124
2095
  this.gridElem.style.height = this.canvas.height + 'px';
@@ -2209,7 +2180,7 @@ var Topology = (function (_super) {
2209
2180
  canvas.style.height = 500 + 'px';
2210
2181
  canvas.style.zIndex = 1;
2211
2182
  canvas.setAttribute('id', 'arbitraryCanvas');
2212
- this.parentElem.appendChild(canvas)
2183
+ this.store.parentElem.appendChild(canvas)
2213
2184
  };
2214
2185
  Topology.prototype.createArbitraryGraph = function () {
2215
2186