dcim-topology2d 1.0.3 → 1.1.1
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/echarts/index.js +3 -6
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/core/src/activeLayer.d.ts +2 -10
- package/core/src/activeLayer.js +42 -41
- package/core/src/animateLayer.d.ts +3 -7
- package/core/src/animateLayer.js +10 -12
- package/core/src/calling.d.ts +1 -4
- package/core/src/calling.js +38 -41
- package/core/src/canvas.d.ts +1 -6
- package/core/src/canvas.js +17 -18
- package/core/src/common.d.ts +5 -5
- package/core/src/common.js +147 -110
- package/core/src/core.d.ts +3 -4
- package/core/src/core.js +222 -251
- package/core/src/divLayer.d.ts +2 -7
- package/core/src/divLayer.js +25 -25
- package/core/src/healps/changeData.d.ts +1 -1
- package/core/src/healps/changeData.js +31 -11
- package/core/src/hoverLayer.d.ts +2 -9
- package/core/src/hoverLayer.js +31 -34
- package/core/src/models/index.d.ts +0 -1
- package/core/src/models/index.js +0 -1
- package/core/src/offscreen.d.ts +1 -4
- package/core/src/offscreen.js +10 -8
- package/core/src/options.js +1 -0
- package/core/src/preview.d.ts +1 -13
- package/core/src/preview.js +26 -27
- package/core/src/renderLayer.d.ts +1 -3
- package/core/src/renderLayer.js +26 -31
- package/core/src/store/common.d.ts +9 -0
- package/core/src/store/common.js +5 -0
- package/core/src/store/data.d.ts +126 -0
- package/core/src/store/data.js +80 -0
- package/core/src/store/index.d.ts +2 -0
- package/core/src/store/index.js +2 -0
- package/core/src/utils/conversion.d.ts +7 -0
- package/core/src/utils/conversion.js +54 -0
- package/core/src/utils/dom.d.ts +4 -3
- package/core/src/utils/dom.js +2 -0
- package/package.json +1 -1
- package/core/src/models/data.d.ts +0 -26
- package/core/src/models/data.js +0 -77
- package/core/src/models/data.js.map +0 -1
- package/core/src/mqtt.d.ts +0 -14
- package/core/src/mqtt.js +0 -82
- package/core/src/mqtt.js.map +0 -1
- package/core/src/socket.d.ts +0 -10
- package/core/src/socket.js +0 -51
- package/core/src/socket.js.map +0 -1
@@ -72,17 +72,14 @@ export function echarts(ctx, node) {
|
|
72
72
|
option.yAxis[0].splitLine = node.appearance.splitLine;
|
73
73
|
|
74
74
|
}else if(node.appearance.type === 'gauge') {
|
75
|
-
const pointerColor = node.appearance.pointerColor;
|
76
|
-
node.appearance.pointer.length = `${node.appearance.pointer.length}%`;
|
77
75
|
option.series[0].min = node.appearance.min;
|
78
76
|
option.series[0].max = node.appearance.max;
|
79
|
-
option.series[0].itemStyle.color = pointerColor ? pointerColor : node.appearance.axisLabel.color;
|
80
77
|
option.series[0].splitNumber = node.appearance.splitNumber;
|
81
78
|
option.series[0].pointer = node.appearance.pointer;
|
82
79
|
option.series[0].axisLabel = node.appearance.axisLabel;
|
83
80
|
option.series[0].axisLine.lineStyle = node.appearance.axisLine.lineStyle;
|
84
|
-
option.series[0].detail = node.appearance.detail;
|
85
|
-
|
81
|
+
if(node.appearance.detail) option.series[0].detail = node.appearance.detail;
|
82
|
+
if(node.appearance.data) option.series[0].data = node.appearance.data;
|
86
83
|
if(option.isGaugeLinear) {
|
87
84
|
option.series[0].axisLine.lineStyle.color = [
|
88
85
|
[1, new echarts.graphic.LinearGradient(0, 0, 1, 0, option.linearColors)]
|
@@ -94,7 +91,7 @@ export function echarts(ctx, node) {
|
|
94
91
|
}
|
95
92
|
option.title = node.appearance.title;
|
96
93
|
option.backgroundColor = node.appearance.backgroundColor;
|
97
|
-
echartsData[node.id].chart.clear();
|
94
|
+
if(window.location.pathname.includes('workspace')) echartsData[node.id].chart.clear();
|
98
95
|
echartsData[node.id].chart.setOption(option);
|
99
96
|
echartsData[node.id].chart.resize();
|
100
97
|
node.elementRendered = true;
|
package/core/index.d.ts
CHANGED
package/core/index.js
CHANGED
@@ -6,6 +6,7 @@ export * from './src/utils';
|
|
6
6
|
export * from './src/models';
|
7
7
|
export * from './src/middles';
|
8
8
|
export * from './src/healps';
|
9
|
+
export * from './src/store';
|
9
10
|
//# sourceMappingURL=index.js.map
|
10
11
|
import axios from 'axios'
|
11
12
|
if(axios.defaults.headers.common) axios.defaults.headers.common['Authorization'] = getToken();
|
@@ -1,15 +1,7 @@
|
|
1
|
-
import {
|
2
|
-
import { Pen } from './models/pen';
|
3
|
-
import { Node } from './models/node';
|
4
|
-
import { Line } from './models/line';
|
5
|
-
import { Rect } from './models/rect';
|
6
|
-
import { Point } from './models/point';
|
7
|
-
import { TopologyData } from './models/data';
|
1
|
+
import { Pen, Node, Line, Rect, Point } from './models';
|
8
2
|
import { Layer } from './layer';
|
9
3
|
import { Topology } from './core';
|
10
4
|
export declare class ActiveLayer extends Layer {
|
11
|
-
options: Options;
|
12
|
-
protected data: TopologyData;
|
13
5
|
rotateCPs: Point[];
|
14
6
|
sizeCPs: Point[];
|
15
7
|
rect: Rect;
|
@@ -26,7 +18,7 @@ export declare class ActiveLayer extends Layer {
|
|
26
18
|
dockWatchers: Point[];
|
27
19
|
topology: Topology;
|
28
20
|
rotating: boolean;
|
29
|
-
constructor(
|
21
|
+
constructor(TID: String);
|
30
22
|
calcControlPoints(): void;
|
31
23
|
locked(): boolean;
|
32
24
|
getPoints(): Point[];
|
package/core/src/activeLayer.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
var __extends = (this && this.__extends) || (function () {
|
2
2
|
var extendStatics = function (d, b) {
|
3
3
|
extendStatics = Object.setPrototypeOf ||
|
4
|
-
|
5
|
-
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
6
6
|
return extendStatics(d, b);
|
7
7
|
};
|
8
8
|
return function (d, b) {
|
@@ -12,22 +12,16 @@ var __extends = (this && this.__extends) || (function () {
|
|
12
12
|
};
|
13
13
|
})();
|
14
14
|
import { Store } from 'le5le-store';
|
15
|
-
import { PenType } from './models
|
16
|
-
import { Node } from './models/node';
|
17
|
-
import { Line } from './models/line';
|
18
|
-
import { Rect } from './models/rect';
|
19
|
-
import { Point } from './models/point';
|
20
|
-
import { Lock } from './models/status';
|
15
|
+
import { PenType, Node, Line, Rect, Point, Lock } from './models';
|
21
16
|
import { drawLineFns } from './middles';
|
22
17
|
import { getBezierPoint } from './middles/lines/curve';
|
23
18
|
import { Layer } from './layer';
|
24
19
|
import { flatNodes } from './utils';
|
20
|
+
import { commonStore } from './store'
|
25
21
|
var ActiveLayer = /** @class */ (function (_super) {
|
26
22
|
__extends(ActiveLayer, _super);
|
27
|
-
function ActiveLayer(
|
28
|
-
if (options === void 0) { options = {}; }
|
23
|
+
function ActiveLayer(TID) {
|
29
24
|
var _this = _super.call(this, TID) || this;
|
30
|
-
_this.options = options;
|
31
25
|
_this.rotateCPs = [];
|
32
26
|
_this.sizeCPs = [];
|
33
27
|
_this.pens = [];
|
@@ -42,11 +36,11 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
42
36
|
// nodes移动时,停靠点的参考位置
|
43
37
|
_this.dockWatchers = [];
|
44
38
|
_this.rotating = false;
|
45
|
-
_this.data = Store.get(_this.generateStoreKey('topology-data'));
|
46
39
|
Store.set(_this.generateStoreKey('LT:ActiveLayer'), _this);
|
47
40
|
return _this;
|
48
41
|
}
|
49
42
|
ActiveLayer.prototype.calcControlPoints = function () {
|
43
|
+
var globalStore = commonStore[this.TID];
|
50
44
|
if (this.pens.length === 1 && this.pens[0] instanceof Node) {
|
51
45
|
this.rect = this.pens[0].rect;
|
52
46
|
this.sizeCPs = this.pens[0].rect.toPoints();
|
@@ -74,7 +68,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
74
68
|
}
|
75
69
|
}
|
76
70
|
}
|
77
|
-
if (
|
71
|
+
if (globalStore.options.hideRotateCP || this.pens[0].hideRotateCP) {
|
78
72
|
this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)];
|
79
73
|
}
|
80
74
|
return;
|
@@ -102,9 +96,10 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
102
96
|
this.rect = new Rect(x1, y1, x2 - x1, y2 - y1);
|
103
97
|
this.sizeCPs = [new Point(x1, y1), new Point(x2, y1), new Point(x2, y2), new Point(x1, y2)];
|
104
98
|
this.rotateCPs = [new Point(x1 + (x2 - x1) / 2, y1 - 35), new Point(x1 + (x2 - x1) / 2, y1)];
|
105
|
-
if (
|
99
|
+
if (globalStore.options.hideRotateCP) {
|
106
100
|
this.rotateCPs = [new Point(-1000, -1000), new Point(-1000, -1000)];
|
107
101
|
}
|
102
|
+
globalStore = null;
|
108
103
|
};
|
109
104
|
ActiveLayer.prototype.locked = function () {
|
110
105
|
for (var _i = 0, _a = this.pens; _i < _a.length; _i++) {
|
@@ -192,10 +187,10 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
192
187
|
}
|
193
188
|
var offsetX = p2.x - p1.x;
|
194
189
|
var offsetY = p2.y - p1.y;
|
195
|
-
if (this.options.onlySizeX) {
|
190
|
+
if (commonStore[this.TID].options.onlySizeX) {
|
196
191
|
offsetY = 0;
|
197
192
|
}
|
198
|
-
if (this.options.onlySizeY) {
|
193
|
+
if (commonStore[this.TID].options.onlySizeY) {
|
199
194
|
offsetX = 0;
|
200
195
|
}
|
201
196
|
var lines = [];
|
@@ -283,6 +278,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
283
278
|
if (this.nodeRects.length !== this.pens.length) {
|
284
279
|
return;
|
285
280
|
}
|
281
|
+
var globalStore = commonStore[this.TID];
|
286
282
|
var i = 0;
|
287
283
|
for (var _i = 0, _a = this.pens; _i < _a.length; _i++) {
|
288
284
|
var item = _a[_i];
|
@@ -301,7 +297,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
301
297
|
item.calcChildrenRect();
|
302
298
|
if (item.parentId && !item.locked) {
|
303
299
|
var parent_1 = void 0;
|
304
|
-
for (var _c = 0, _d =
|
300
|
+
for (var _c = 0, _d = globalStore.data.pens; _c < _d.length; _c++) {
|
305
301
|
var n = _d[_c];
|
306
302
|
if (n.id === item.parentId) {
|
307
303
|
parent_1 = n;
|
@@ -321,7 +317,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
321
317
|
var offsetX_1 = this.nodeRects[i].x + x - item.from.x;
|
322
318
|
var offsetY_1 = this.nodeRects[i].y + y - item.from.y;
|
323
319
|
if (item.parentId) {
|
324
|
-
var items = find(item.parentId,
|
320
|
+
var items = find(item.parentId, globalStore.data.pens);
|
325
321
|
items.forEach(function (l) {
|
326
322
|
l.translate(offsetX_1, offsetY_1);
|
327
323
|
});
|
@@ -338,7 +334,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
338
334
|
ActiveLayer.prototype.getLinesOfNode = function (node) {
|
339
335
|
var result = [];
|
340
336
|
var nodesLines = flatNodes([node]);
|
341
|
-
for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
|
337
|
+
for (var _i = 0, _a = commonStore[this.TID].data.pens; _i < _a.length; _i++) {
|
342
338
|
var pen = _a[_i];
|
343
339
|
if (!(pen instanceof Line)) {
|
344
340
|
continue;
|
@@ -365,9 +361,10 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
365
361
|
if (!pens) {
|
366
362
|
pens = this.pens;
|
367
363
|
}
|
364
|
+
var globalStore = commonStore[this.TID];
|
368
365
|
var nodesLines = flatNodes(pens);
|
369
366
|
var lines = [];
|
370
|
-
nodesLines.lines.push.apply(nodesLines.lines,
|
367
|
+
nodesLines.lines.push.apply(nodesLines.lines, globalStore.data.pens.filter(function (pen) { return pen.type; }));
|
371
368
|
for (var _i = 0, _a = nodesLines.lines; _i < _a.length; _i++) {
|
372
369
|
var line = _a[_i];
|
373
370
|
for (var _b = 0, _c = nodesLines.nodes; _b < _c.length; _b++) {
|
@@ -383,7 +380,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
383
380
|
line.to.y = item.rotatedAnchors[line.to.anchorIndex].y;
|
384
381
|
++cnt;
|
385
382
|
}
|
386
|
-
if (cnt && !
|
383
|
+
if (cnt && !globalStore.data.manualCps) {
|
387
384
|
line.calcControlPoints();
|
388
385
|
}
|
389
386
|
line.textRect = null;
|
@@ -392,6 +389,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
392
389
|
}
|
393
390
|
}
|
394
391
|
Store.set(this.generateStoreKey('LT:updateLines'), lines);
|
392
|
+
globalStore = null;
|
395
393
|
};
|
396
394
|
ActiveLayer.prototype.offsetRotate = function (angle) {
|
397
395
|
this.rotating = true;
|
@@ -492,7 +490,9 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
492
490
|
};
|
493
491
|
ActiveLayer.prototype.render = function (ctx) {
|
494
492
|
var _this = this;
|
495
|
-
if
|
493
|
+
if(!commonStore || !commonStore[_this.TID]) return;
|
494
|
+
var globalStore = commonStore[_this.TID];
|
495
|
+
if (globalStore.data.locked > Lock.Readonly) {
|
496
496
|
return;
|
497
497
|
}
|
498
498
|
|
@@ -508,7 +508,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
508
508
|
this.calcControlPoints();
|
509
509
|
}
|
510
510
|
ctx.save();
|
511
|
-
ctx.strokeStyle =
|
511
|
+
ctx.strokeStyle = globalStore.options.activeColor;
|
512
512
|
ctx.fillStyle = '#fff';
|
513
513
|
ctx.lineWidth = 1;
|
514
514
|
var TID = this.TID;
|
@@ -528,7 +528,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
528
528
|
tmp.strokeStyle = '#ffffff';
|
529
529
|
tmp.lineWidth += 2;
|
530
530
|
tmp.render(ctx);
|
531
|
-
tmp.strokeStyle =
|
531
|
+
tmp.strokeStyle = globalStore.options.activeColor;
|
532
532
|
tmp.lineWidth -= 2;
|
533
533
|
}
|
534
534
|
}
|
@@ -543,11 +543,11 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
543
543
|
bk.strokeStyle = '#ffffff';
|
544
544
|
bk.render(ctx);
|
545
545
|
}
|
546
|
-
tmp.strokeStyle =
|
547
|
-
tmp.fromArrowColor =
|
548
|
-
tmp.toArrowColor =
|
546
|
+
tmp.strokeStyle = globalStore.options.activeColor;
|
547
|
+
tmp.fromArrowColor = globalStore.options.activeColor;
|
548
|
+
tmp.toArrowColor = globalStore.options.activeColor;
|
549
549
|
tmp.render(ctx);
|
550
|
-
if (!
|
550
|
+
if (!globalStore.data.locked && !item.locked) {
|
551
551
|
drawLineFns[item.name].drawControlPointsFn(ctx, item);
|
552
552
|
}
|
553
553
|
}
|
@@ -573,7 +573,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
573
573
|
ctx.closePath();
|
574
574
|
ctx.stroke();
|
575
575
|
ctx.restore();
|
576
|
-
if (
|
576
|
+
if (globalStore.data.locked || this.locked()) {
|
577
577
|
ctx.restore();
|
578
578
|
return;
|
579
579
|
}
|
@@ -589,7 +589,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
589
589
|
ctx.fill();
|
590
590
|
ctx.stroke();
|
591
591
|
// Draw size control points.绘制拖拽框四角的点
|
592
|
-
if (!
|
592
|
+
if (!globalStore.options.hideSizeCP && (this.pens.length > 1 || !this.pens[0].hideSizeCP)) {
|
593
593
|
ctx.lineWidth = 1;
|
594
594
|
for (var _b = 0, _c = this.sizeCPs; _b < _c.length; _b++) {
|
595
595
|
var item = _c[_b];
|
@@ -606,6 +606,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
606
606
|
}
|
607
607
|
}
|
608
608
|
ctx.restore();
|
609
|
+
globalStore = null;
|
609
610
|
};
|
610
611
|
ActiveLayer.prototype.getDockWatchers = function () {
|
611
612
|
if (this.pens.length === 1) {
|
@@ -622,7 +623,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
622
623
|
ActiveLayer.prototype.handleArbitrayGraphSize = function (type,item, offsetX, offsetY, l, sizeX, sizeY, nodeRectsCircles) {
|
623
624
|
if(item.name !== 'arbitraryGraph') return
|
624
625
|
|
625
|
-
|
626
|
+
switch (type) {
|
626
627
|
|
627
628
|
case 0:
|
628
629
|
|
@@ -634,7 +635,7 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
634
635
|
|
635
636
|
}
|
636
637
|
|
637
|
-
|
638
|
+
break;
|
638
639
|
|
639
640
|
case 1:
|
640
641
|
|
@@ -646,19 +647,19 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
646
647
|
|
647
648
|
}
|
648
649
|
|
649
|
-
|
650
|
+
break;
|
650
651
|
|
651
652
|
case 2:
|
652
653
|
|
653
|
-
|
654
|
+
for(let c=0, length = item.rect.circles.length; c<length; c++ ) {
|
655
|
+
|
656
|
+
item.rect.circles[c].x=item.rect.circles[c].x*sizeX+item.rect.x*(1-sizeX);
|
654
657
|
|
655
|
-
|
656
|
-
|
657
|
-
item.rect.circles[c].y=item.rect.circles[c].y*sizeY+item.rect.y*(1-sizeY);
|
658
|
+
item.rect.circles[c].y=item.rect.circles[c].y*sizeY+item.rect.y*(1-sizeY);
|
658
659
|
|
659
|
-
|
660
|
+
}
|
660
661
|
|
661
|
-
|
662
|
+
break;
|
662
663
|
|
663
664
|
case 3:
|
664
665
|
|
@@ -670,10 +671,10 @@ var ActiveLayer = /** @class */ (function (_super) {
|
|
670
671
|
|
671
672
|
}
|
672
673
|
|
673
|
-
|
674
|
+
break
|
674
675
|
}
|
675
676
|
};
|
676
677
|
return ActiveLayer;
|
677
678
|
}(Layer));
|
678
679
|
export { ActiveLayer };
|
679
|
-
//# sourceMappingURL=activeLayer.js.map
|
680
|
+
//# sourceMappingURL=activeLayer.js.map
|
@@ -1,17 +1,13 @@
|
|
1
|
-
import { Pen } from './models
|
2
|
-
import { Line } from './models/line';
|
3
|
-
import { TopologyData } from './models/data';
|
4
|
-
import { Options } from './options';
|
1
|
+
import { Pen, Line } from './models';
|
5
2
|
import { Layer } from './layer';
|
6
3
|
export declare class AnimateLayer extends Layer {
|
7
|
-
|
8
|
-
protected data: TopologyData;
|
4
|
+
// @ts-ignore
|
9
5
|
pens: Map<any, any>;
|
10
6
|
private timer;
|
11
7
|
private lastNow;
|
12
8
|
private subscribeUpdate;
|
13
9
|
private subscribePlay;
|
14
|
-
constructor(
|
10
|
+
constructor(TID: String);
|
15
11
|
getAnimateLine(item: Pen): Line;
|
16
12
|
findLine(pen: Pen): Pen;
|
17
13
|
readyPlay(tag?: string, auto?: boolean, pens?: Pen[]): void;
|
package/core/src/animateLayer.js
CHANGED
@@ -12,23 +12,19 @@ var __extends = (this && this.__extends) || (function () {
|
|
12
12
|
};
|
13
13
|
})();
|
14
14
|
import { Store } from 'le5le-store';
|
15
|
-
import { PenType } from './models
|
16
|
-
import { Node } from './models/node';
|
17
|
-
import { Line } from './models/line';
|
15
|
+
import { PenType, Node, Line } from './models';
|
18
16
|
import { Layer } from './layer';
|
19
17
|
import { s8 } from './utils';
|
18
|
+
import { commonStore } from './store'
|
20
19
|
var AnimateLayer = /** @class */ (function (_super) {
|
21
20
|
__extends(AnimateLayer, _super);
|
22
|
-
function AnimateLayer(
|
23
|
-
if (options === void 0) { options = {}; }
|
21
|
+
function AnimateLayer(TID) {
|
24
22
|
var _this = _super.call(this, TID) || this;
|
25
|
-
_this.options = options;
|
26
23
|
_this.pens = new Map();
|
27
24
|
_this.lastNow = 0;
|
28
|
-
_this.data = Store.get(_this.generateStoreKey('topology-data'));
|
29
25
|
Store.set(_this.generateStoreKey('LT:AnimateLayer'), _this);
|
30
|
-
if (!
|
31
|
-
|
26
|
+
if (!commonStore[TID].options.animateColor) {
|
27
|
+
commonStore[TID].options.animateColor = '#ff6600';
|
32
28
|
}
|
33
29
|
_this.subscribeUpdate = Store.subscribe(_this.generateStoreKey('LT:updateLines'), function (lines) {
|
34
30
|
_this.updateLines(lines);
|
@@ -55,7 +51,7 @@ var AnimateLayer = /** @class */ (function (_super) {
|
|
55
51
|
l.animateStart = item.animateStart;
|
56
52
|
l.lineCap = 'round';
|
57
53
|
l.fillStyle = '#fff';
|
58
|
-
l.strokeStyle = l.animateColor || this.options.animateColor;
|
54
|
+
l.strokeStyle = l.animateColor || commonStore[this.TID].options.animateColor;
|
59
55
|
l.length = l.getLen();
|
60
56
|
if (!l.fromArrowColor) {
|
61
57
|
l.fromArrowColor = l.strokeStyle || '#222';
|
@@ -66,7 +62,7 @@ var AnimateLayer = /** @class */ (function (_super) {
|
|
66
62
|
return l;
|
67
63
|
};
|
68
64
|
AnimateLayer.prototype.findLine = function (pen) {
|
69
|
-
for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
|
65
|
+
for (var _i = 0, _a = commonStore[this.TID].data.pens; _i < _a.length; _i++) {
|
70
66
|
var item = _a[_i];
|
71
67
|
if (item.id === pen.data) {
|
72
68
|
return item;
|
@@ -75,11 +71,13 @@ var AnimateLayer = /** @class */ (function (_super) {
|
|
75
71
|
};
|
76
72
|
AnimateLayer.prototype.readyPlay = function (tag, auto, pens) {
|
77
73
|
var _this = this;
|
74
|
+
if(!commonStore || !commonStore[_this.TID]) return;
|
78
75
|
var readyPens = new Map();
|
79
76
|
if (!pens) {
|
80
|
-
pens =
|
77
|
+
pens = commonStore[_this.TID].data.pens;
|
81
78
|
}
|
82
79
|
pens.forEach(function (pen) {
|
80
|
+
if(!(pen instanceof Node)) pen = new Node(pen);
|
83
81
|
pen.setTID(_this.TID);
|
84
82
|
if (!pen.visible || readyPens.get(pen.id)) {
|
85
83
|
return;
|
package/core/src/calling.d.ts
CHANGED
@@ -2,12 +2,9 @@
|
|
2
2
|
import {Options, Padding} from './options';
|
3
3
|
import { Offscreen } from './offscreen';
|
4
4
|
import { RenderLayer } from './renderLayer';
|
5
|
-
import { Pen,
|
5
|
+
import { Pen, Point, Rect } from './models';
|
6
6
|
export declare class Calling {
|
7
7
|
id: String;
|
8
|
-
data: TopologyData;
|
9
|
-
options: Options;
|
10
|
-
parentElem: HTMLElement;
|
11
8
|
canvas: RenderLayer;
|
12
9
|
offscreen: Offscreen;
|
13
10
|
private subcribeImage;
|
package/core/src/calling.js
CHANGED
@@ -1,33 +1,29 @@
|
|
1
1
|
import {Store} from 'le5le-store';
|
2
|
-
import {DefalutOptions} from './options';
|
3
2
|
import {Offscreen} from './offscreen';
|
4
3
|
import {RenderLayer} from './renderLayer';
|
5
|
-
import {Node
|
4
|
+
import {Node} from './models';
|
6
5
|
import {s8, getRect, formatPadding} from './utils';
|
6
|
+
import { useStore, clearStore } from './store'
|
7
7
|
var Calling = (function () {
|
8
8
|
function Calling(parent, options) {
|
9
9
|
var _this = this;
|
10
|
-
this.data = new TopologyData();
|
11
10
|
this.lastTranlated = {x: 0, y: 0};
|
12
11
|
this.rendering = false;
|
13
12
|
this.id = s8();
|
14
|
-
|
13
|
+
this.store = useStore(this.id);
|
15
14
|
if (!options) {
|
16
15
|
options = {};
|
17
16
|
}
|
18
|
-
|
19
|
-
options.font = font;
|
20
|
-
this.options = Object.assign({}, DefalutOptions, options);
|
17
|
+
Object.assign(this.store.options, options);
|
21
18
|
if (typeof parent === 'string') {
|
22
|
-
this.parentElem = document.getElementById(parent);
|
19
|
+
this.store.parentElem = document.getElementById(parent);
|
23
20
|
} else {
|
24
|
-
this.parentElem = parent;
|
21
|
+
this.store.parentElem = parent;
|
25
22
|
}
|
26
|
-
this.parentElem.style.position = 'relative';
|
27
|
-
this.parentElem.style.overflow = 'auto';
|
28
|
-
|
29
|
-
this.
|
30
|
-
this.canvas = new RenderLayer(this.parentElem, this.options, id);
|
23
|
+
this.store.parentElem.style.position = 'relative';
|
24
|
+
this.store.parentElem.style.overflow = 'auto';
|
25
|
+
this.offscreen = new Offscreen(this.id);
|
26
|
+
this.canvas = new RenderLayer(this.id);
|
31
27
|
this.subcribeImage = Store.subscribe(this.generateStoreKey('LT:imageLoaded'), function () {
|
32
28
|
if (_this.imageTimer) {
|
33
29
|
clearTimeout(_this.imageTimer);
|
@@ -68,19 +64,19 @@ var Calling = (function () {
|
|
68
64
|
data = JSON.parse(data);
|
69
65
|
}
|
70
66
|
this.openCount = 0
|
71
|
-
this.data.scale = data.scale || 1;
|
72
|
-
this.data.pens = [];
|
67
|
+
this.store.data.scale = data.scale || 1;
|
68
|
+
this.store.data.pens = [];
|
73
69
|
// for old data.
|
74
70
|
if (data.nodes) {
|
75
71
|
for (var _i = 0, _a = data.nodes; _i < _a.length; _i++) {
|
76
72
|
var item = _a[_i];
|
77
73
|
item.rect.x = 0;
|
78
74
|
item.rect.y = 0;
|
79
|
-
this.data.pens.push(new Node(item));
|
75
|
+
this.store.data.pens.push(new Node(item));
|
80
76
|
}
|
81
77
|
for (var _b = 0, _c = data.lines; _b < _c.length; _b++) {
|
82
78
|
var item = _c[_b];
|
83
|
-
this.data.pens.push(new Line(item));
|
79
|
+
this.store.data.pens.push(new Line(item));
|
84
80
|
}
|
85
81
|
}
|
86
82
|
// end.
|
@@ -88,32 +84,32 @@ var Calling = (function () {
|
|
88
84
|
for (var _d = 0, _e = data.pens; _d < _e.length; _d++) {
|
89
85
|
var item = _e[_d];
|
90
86
|
if (!item.from) {
|
91
|
-
this.data.pens.push(new Node(item));
|
87
|
+
this.store.data.pens.push(new Node(item));
|
92
88
|
} else {
|
93
|
-
this.data.pens.push(new Line(item));
|
89
|
+
this.store.data.pens.push(new Line(item));
|
94
90
|
}
|
95
91
|
}
|
96
92
|
}
|
97
|
-
this.data.bkImageRect = data.bkImageRect || null;
|
98
|
-
this.data.bkImage = data.bkImage || '';
|
99
|
-
this.data.mqttOptions = data.mqttOptions || {clientId: s8()};
|
100
|
-
this.data.mqttTopics = data.mqttTopics || '';
|
93
|
+
this.store.data.bkImageRect = data.bkImageRect || null;
|
94
|
+
this.store.data.bkImage = data.bkImage || '';
|
95
|
+
this.store.data.mqttOptions = data.mqttOptions || {clientId: s8()};
|
96
|
+
this.store.data.mqttTopics = data.mqttTopics || '';
|
101
97
|
if (typeof data.data === 'object') {
|
102
|
-
this.data.data = data.data;
|
98
|
+
this.store.data.data = data.data;
|
103
99
|
} else {
|
104
|
-
this.data.data = data.data || '';
|
100
|
+
this.store.data.data = data.data || '';
|
105
101
|
}
|
106
|
-
this.parentElem.scrollLeft = 0;
|
107
|
-
this.parentElem.scrollTop = 0;
|
102
|
+
this.store.parentElem.scrollLeft = 0;
|
103
|
+
this.store.parentElem.scrollTop = 0;
|
108
104
|
this.overflow();
|
109
105
|
this.render(true);
|
110
106
|
};
|
111
107
|
Calling.prototype.overflow = function () {
|
112
|
-
this.options.isFitview ? this.fitView() : this.bottomView();
|
108
|
+
this.store.options.isFitview ? this.fitView() : this.bottomView();
|
113
109
|
};
|
114
110
|
Calling.prototype.getRect = function (pens) {
|
115
111
|
if (!pens) {
|
116
|
-
pens = this.data.pens;
|
112
|
+
pens = this.store.data.pens;
|
117
113
|
}
|
118
114
|
return getRect(pens);
|
119
115
|
};
|
@@ -124,7 +120,7 @@ var Calling = (function () {
|
|
124
120
|
}
|
125
121
|
var offsetX = x - this.lastTranlated.x;
|
126
122
|
var offsetY = y - this.lastTranlated.y;
|
127
|
-
for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
|
123
|
+
for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
|
128
124
|
var item = _a[_i];
|
129
125
|
item.translate(offsetX, offsetY);
|
130
126
|
}
|
@@ -135,13 +131,13 @@ var Calling = (function () {
|
|
135
131
|
// > 1, expand
|
136
132
|
// < 1, reduce
|
137
133
|
Calling.prototype.scale = function (scale, center, w, h) {
|
138
|
-
if (this.data.scale * scale < this.options.minScale ||
|
139
|
-
this.data.scale * scale > this.options.maxScale) {
|
134
|
+
if (this.store.data.scale * scale < this.store.options.minScale ||
|
135
|
+
this.store.data.scale * scale > this.store.options.maxScale) {
|
140
136
|
return;
|
141
137
|
}
|
142
|
-
this.data.scale *= scale;
|
138
|
+
this.store.data.scale *= scale;
|
143
139
|
!center && (center = this.getRect().center);
|
144
|
-
for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
|
140
|
+
for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
|
145
141
|
var item = _a[_i];
|
146
142
|
item.scale(scale, center, w, h);
|
147
143
|
}
|
@@ -150,7 +146,7 @@ var Calling = (function () {
|
|
150
146
|
var rect = this.getRect();
|
151
147
|
var viewCenter = this.getViewCenter(padding);
|
152
148
|
var center = rect.center;
|
153
|
-
var parentElem = this.
|
149
|
+
var parentElem = this.store.parentElem;
|
154
150
|
var x = (parentElem.offsetWidth - rect.width) / 2;
|
155
151
|
var y = parentElem.scrollHeight - rect.height;
|
156
152
|
var w = parentElem.offsetWidth / rect.width;
|
@@ -160,7 +156,7 @@ var Calling = (function () {
|
|
160
156
|
ratio = h;
|
161
157
|
}
|
162
158
|
this.canvas.canvas.style.transform = `translate(${x}px, ${y}px)`;
|
163
|
-
for (var _i = 0, _a = this.data.pens; _i < _a.length; _i++) {
|
159
|
+
for (var _i = 0, _a = this.store.data.pens; _i < _a.length; _i++) {
|
164
160
|
var item = _a[_i];
|
165
161
|
if(item.rect.x > 0) {
|
166
162
|
item.rect.ex = item.rect.ex - item.rect.x;
|
@@ -181,7 +177,7 @@ var Calling = (function () {
|
|
181
177
|
var viewCenter = this.getViewCenter(padding);
|
182
178
|
var center = rect.center;
|
183
179
|
this.translate(viewCenter.x - center.x, viewCenter.y - center.y);
|
184
|
-
var parentElem = this.
|
180
|
+
var parentElem = this.store.parentElem;
|
185
181
|
var x = (parentElem.scrollWidth - parentElem.offsetWidth) / 2;
|
186
182
|
var y = (parentElem.scrollHeight - parentElem.offsetHeight) / 2;
|
187
183
|
parentElem.scrollTo(x, y);
|
@@ -191,7 +187,7 @@ var Calling = (function () {
|
|
191
187
|
if (!this.hasView())
|
192
188
|
return;
|
193
189
|
// 1. 重置画布尺寸为容器尺寸
|
194
|
-
var parentElem = this.
|
190
|
+
var parentElem = this.store.parentElem;
|
195
191
|
var width = parentElem.offsetWidth, height = parentElem.offsetHeight;
|
196
192
|
this.resize({
|
197
193
|
width: width,
|
@@ -200,7 +196,7 @@ var Calling = (function () {
|
|
200
196
|
// 2. 图形居中
|
201
197
|
this.centerView(viewPadding);
|
202
198
|
// 3. 获取设置的留白值
|
203
|
-
var padding = formatPadding(viewPadding || this.options.viewPadding);
|
199
|
+
var padding = formatPadding(viewPadding || this.store.options.viewPadding);
|
204
200
|
// 4. 获取图形尺寸
|
205
201
|
var rect = this.getRect();
|
206
202
|
// 6. 计算缩放比
|
@@ -217,7 +213,7 @@ var Calling = (function () {
|
|
217
213
|
return !(rect.width === 99999 || rect.height === 99999);
|
218
214
|
};
|
219
215
|
Calling.prototype.getViewCenter = function (viewPadding) {
|
220
|
-
var padding = formatPadding(viewPadding || this.options.viewPadding);
|
216
|
+
var padding = formatPadding(viewPadding || this.store.options.viewPadding);
|
221
217
|
var _a = this.canvas, width = _a.width, height = _a.height;
|
222
218
|
return {
|
223
219
|
x: (width - padding[1] - padding[3]) / 2 + padding[3],
|
@@ -228,6 +224,7 @@ var Calling = (function () {
|
|
228
224
|
return this.id + "-" + key;
|
229
225
|
};
|
230
226
|
Calling.prototype.destroy = function () {
|
227
|
+
clearStore(this.store);
|
231
228
|
this.subcribeImage.unsubscribe();
|
232
229
|
this.canvas.destroy();
|
233
230
|
//优化
|
package/core/src/canvas.d.ts
CHANGED
@@ -1,15 +1,10 @@
|
|
1
|
-
import { TopologyData } from './models/data';
|
2
|
-
import { Options } from './options';
|
3
1
|
import { Layer } from './layer';
|
4
2
|
export declare class Canvas extends Layer {
|
5
|
-
parentElem: HTMLElement;
|
6
|
-
options: Options;
|
7
3
|
static dpiRatio: number;
|
8
|
-
protected data: TopologyData;
|
9
4
|
canvas: HTMLCanvasElement;
|
10
5
|
width: number;
|
11
6
|
height: number;
|
12
|
-
constructor(
|
7
|
+
constructor(TID: String);
|
13
8
|
resize(size?: {
|
14
9
|
width: number;
|
15
10
|
height: number;
|