ink-graph-new 0.0.1-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/assets/big/dataSourceTypeIcon.d.ts +23 -0
- package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/dataSourceTypeIcon.js +23 -0
- package/dist/assets/big/dataSourceTypeIcon.js.map +1 -0
- package/dist/assets/big/entityType.d.ts +2 -0
- package/dist/assets/big/entityType.d.ts.map +1 -0
- package/dist/assets/big/entityType.js +2 -0
- package/dist/assets/big/entityType.js.map +1 -0
- package/dist/assets/big/lineageIcon.d.ts +14 -0
- package/dist/assets/big/lineageIcon.d.ts.map +1 -0
- package/dist/assets/big/lineageIcon.js +14 -0
- package/dist/assets/big/lineageIcon.js.map +1 -0
- package/dist/assets/big/tableTypeIcon.d.ts +7 -0
- package/dist/assets/big/tableTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/tableTypeIcon.js +7 -0
- package/dist/assets/big/tableTypeIcon.js.map +1 -0
- package/dist/assets/big/tipIcon.d.ts +4 -0
- package/dist/assets/big/tipIcon.d.ts.map +1 -0
- package/dist/assets/big/tipIcon.js +4 -0
- package/dist/assets/big/tipIcon.js.map +1 -0
- package/dist/assets/index.d.ts +4 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +7 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/components/Edges/ALDEdge.d.ts +11 -0
- package/dist/components/Edges/ALDEdge.d.ts.map +1 -0
- package/dist/components/Edges/ALDEdge.js +195 -0
- package/dist/components/Edges/ALDEdge.js.map +1 -0
- package/dist/components/Edges/BaseEdge.d.ts +24 -0
- package/dist/components/Edges/BaseEdge.d.ts.map +1 -0
- package/dist/components/Edges/BaseEdge.js +171 -0
- package/dist/components/Edges/BaseEdge.js.map +1 -0
- package/dist/components/Edges/DagreEdge.d.ts +7 -0
- package/dist/components/Edges/DagreEdge.d.ts.map +1 -0
- package/dist/components/Edges/DagreEdge.js +73 -0
- package/dist/components/Edges/DagreEdge.js.map +1 -0
- package/dist/components/Edges/HierarchyEdge.d.ts +11 -0
- package/dist/components/Edges/HierarchyEdge.d.ts.map +1 -0
- package/dist/components/Edges/HierarchyEdge.js +75 -0
- package/dist/components/Edges/HierarchyEdge.js.map +1 -0
- package/dist/components/Edges/index.d.ts +6 -0
- package/dist/components/Edges/index.d.ts.map +1 -0
- package/dist/components/Edges/index.js +6 -0
- package/dist/components/Edges/index.js.map +1 -0
- package/dist/components/Edges/utils/bezierPath.d.ts +2 -0
- package/dist/components/Edges/utils/bezierPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/bezierPath.js +24 -0
- package/dist/components/Edges/utils/bezierPath.js.map +1 -0
- package/dist/components/Edges/utils/index.d.ts +4 -0
- package/dist/components/Edges/utils/index.d.ts.map +1 -0
- package/dist/components/Edges/utils/index.js +4 -0
- package/dist/components/Edges/utils/index.js.map +1 -0
- package/dist/components/Edges/utils/loopBackPath.d.ts +2 -0
- package/dist/components/Edges/utils/loopBackPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/loopBackPath.js +35 -0
- package/dist/components/Edges/utils/loopBackPath.js.map +1 -0
- package/dist/components/Edges/utils/selfConnectPath.d.ts +2 -0
- package/dist/components/Edges/utils/selfConnectPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/selfConnectPath.js +25 -0
- package/dist/components/Edges/utils/selfConnectPath.js.map +1 -0
- package/dist/components/Nodes/ALDNode.d.ts +18 -0
- package/dist/components/Nodes/ALDNode.d.ts.map +1 -0
- package/dist/components/Nodes/ALDNode.js +34 -0
- package/dist/components/Nodes/ALDNode.js.map +1 -0
- package/dist/components/Nodes/BaseNode.d.ts +37 -0
- package/dist/components/Nodes/BaseNode.d.ts.map +1 -0
- package/dist/components/Nodes/BaseNode.js +225 -0
- package/dist/components/Nodes/BaseNode.js.map +1 -0
- package/dist/components/Nodes/index.d.ts +3 -0
- package/dist/components/Nodes/index.d.ts.map +1 -0
- package/dist/components/Nodes/index.js +3 -0
- package/dist/components/Nodes/index.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constant/bigEvents.d.ts +22 -0
- package/dist/constant/bigEvents.d.ts.map +1 -0
- package/dist/constant/bigEvents.js +25 -0
- package/dist/constant/bigEvents.js.map +1 -0
- package/dist/constant/events.d.ts +5 -0
- package/dist/constant/events.d.ts.map +1 -0
- package/dist/constant/events.js +6 -0
- package/dist/constant/events.js.map +1 -0
- package/dist/constant/index.d.ts +3 -0
- package/dist/constant/index.d.ts.map +1 -0
- package/dist/constant/index.js +3 -0
- package/dist/constant/index.js.map +1 -0
- package/dist/constant/lineage.d.ts +64 -0
- package/dist/constant/lineage.d.ts.map +1 -0
- package/dist/constant/lineage.js +95 -0
- package/dist/constant/lineage.js.map +1 -0
- package/dist/graph/Graph.d.ts +83 -0
- package/dist/graph/Graph.d.ts.map +1 -0
- package/dist/graph/Graph.js +392 -0
- package/dist/graph/Graph.js.map +1 -0
- package/dist/graph/TreeGraph.d.ts +65 -0
- package/dist/graph/TreeGraph.d.ts.map +1 -0
- package/dist/graph/TreeGraph.js +267 -0
- package/dist/graph/TreeGraph.js.map +1 -0
- package/dist/graph/index.d.ts +3 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +3 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/ALDLayout.d.ts +8 -0
- package/dist/layout/ALDLayout.d.ts.map +1 -0
- package/dist/layout/ALDLayout.js +147 -0
- package/dist/layout/ALDLayout.js.map +1 -0
- package/dist/layout/BaseLayout.d.ts +14 -0
- package/dist/layout/BaseLayout.d.ts.map +1 -0
- package/dist/layout/BaseLayout.js +10 -0
- package/dist/layout/BaseLayout.js.map +1 -0
- package/dist/layout/BigLayout.d.ts +43 -0
- package/dist/layout/BigLayout.d.ts.map +1 -0
- package/dist/layout/BigLayout.js +308 -0
- package/dist/layout/BigLayout.js.map +1 -0
- package/dist/layout/Dagre.d.ts +6 -0
- package/dist/layout/Dagre.d.ts.map +1 -0
- package/dist/layout/Dagre.js +97 -0
- package/dist/layout/Dagre.js.map +1 -0
- package/dist/layout/HierarchyLayout.d.ts +7 -0
- package/dist/layout/HierarchyLayout.d.ts.map +1 -0
- package/dist/layout/HierarchyLayout.js +66 -0
- package/dist/layout/HierarchyLayout.js.map +1 -0
- package/dist/layout/index.d.ts +6 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/manager/PluginManager.d.ts +11 -0
- package/dist/manager/PluginManager.d.ts.map +1 -0
- package/dist/manager/PluginManager.js +25 -0
- package/dist/manager/PluginManager.js.map +1 -0
- package/dist/manager/index.d.ts +2 -0
- package/dist/manager/index.d.ts.map +1 -0
- package/dist/manager/index.js +2 -0
- package/dist/manager/index.js.map +1 -0
- package/dist/plugins/Minimap/index.d.ts +54 -0
- package/dist/plugins/Minimap/index.d.ts.map +1 -0
- package/dist/plugins/Minimap/index.js +378 -0
- package/dist/plugins/Minimap/index.js.map +1 -0
- package/dist/plugins/Tools/ResetViewport.d.ts +11 -0
- package/dist/plugins/Tools/ResetViewport.d.ts.map +1 -0
- package/dist/plugins/Tools/ResetViewport.js +32 -0
- package/dist/plugins/Tools/ResetViewport.js.map +1 -0
- package/dist/plugins/Tools/ToolPlugin.d.ts +9 -0
- package/dist/plugins/Tools/ToolPlugin.d.ts.map +1 -0
- package/dist/plugins/Tools/ToolPlugin.js +42 -0
- package/dist/plugins/Tools/ToolPlugin.js.map +1 -0
- package/dist/plugins/Tools/Zoom.d.ts +8 -0
- package/dist/plugins/Tools/Zoom.d.ts.map +1 -0
- package/dist/plugins/Tools/Zoom.js +58 -0
- package/dist/plugins/Tools/Zoom.js.map +1 -0
- package/dist/plugins/Tools/defaultConfig.d.ts +12 -0
- package/dist/plugins/Tools/defaultConfig.d.ts.map +1 -0
- package/dist/plugins/Tools/defaultConfig.js +12 -0
- package/dist/plugins/Tools/defaultConfig.js.map +1 -0
- package/dist/plugins/Tools/index.d.ts +2 -0
- package/dist/plugins/Tools/index.d.ts.map +1 -0
- package/dist/plugins/Tools/index.js +2 -0
- package/dist/plugins/Tools/index.js.map +1 -0
- package/dist/types/Edge.d.ts +34 -0
- package/dist/types/Edge.d.ts.map +1 -0
- package/dist/types/Edge.js +2 -0
- package/dist/types/Edge.js.map +1 -0
- package/dist/types/Graph.d.ts +53 -0
- package/dist/types/Graph.d.ts.map +1 -0
- package/dist/types/Graph.js +2 -0
- package/dist/types/Graph.js.map +1 -0
- package/dist/types/Layout.d.ts +57 -0
- package/dist/types/Layout.d.ts.map +1 -0
- package/dist/types/Layout.js +9 -0
- package/dist/types/Layout.js.map +1 -0
- package/dist/types/Node.d.ts +45 -0
- package/dist/types/Node.d.ts.map +1 -0
- package/dist/types/Node.js +2 -0
- package/dist/types/Node.js.map +1 -0
- package/dist/types/Plugin.d.ts +7 -0
- package/dist/types/Plugin.d.ts.map +1 -0
- package/dist/types/Plugin.js +2 -0
- package/dist/types/Plugin.js.map +1 -0
- package/dist/types/big/BigNode.d.ts +8 -0
- package/dist/types/big/BigNode.d.ts.map +1 -0
- package/dist/types/big/BigNode.js +15 -0
- package/dist/types/big/BigNode.js.map +1 -0
- package/dist/types/big/enumType.d.ts +6 -0
- package/dist/types/big/enumType.d.ts.map +1 -0
- package/dist/types/big/enumType.js +11 -0
- package/dist/types/big/enumType.js.map +1 -0
- package/dist/types/big/index.d.ts +3 -0
- package/dist/types/big/index.d.ts.map +1 -0
- package/dist/types/big/index.js +3 -0
- package/dist/types/big/index.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/big/defaultNode.d.ts +23 -0
- package/dist/utils/big/defaultNode.d.ts.map +1 -0
- package/dist/utils/big/defaultNode.js +40 -0
- package/dist/utils/big/defaultNode.js.map +1 -0
- package/dist/utils/big/getIconByType.d.ts +2 -0
- package/dist/utils/big/getIconByType.d.ts.map +1 -0
- package/dist/utils/big/getIconByType.js +21 -0
- package/dist/utils/big/getIconByType.js.map +1 -0
- package/dist/utils/big/index.d.ts +2 -0
- package/dist/utils/big/index.d.ts.map +1 -0
- package/dist/utils/big/index.js +2 -0
- package/dist/utils/big/index.js.map +1 -0
- package/dist/utils/buildTreeEdge.d.ts +3 -0
- package/dist/utils/buildTreeEdge.d.ts.map +1 -0
- package/dist/utils/buildTreeEdge.js +49 -0
- package/dist/utils/buildTreeEdge.js.map +1 -0
- package/dist/utils/canvas.d.ts +5 -0
- package/dist/utils/canvas.d.ts.map +1 -0
- package/dist/utils/canvas.js +13 -0
- package/dist/utils/canvas.js.map +1 -0
- package/dist/utils/graph.d.ts +4 -0
- package/dist/utils/graph.d.ts.map +1 -0
- package/dist/utils/graph.js +22 -0
- package/dist/utils/graph.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/node-performance-test.d.ts +3 -0
- package/dist/utils/node-performance-test.d.ts.map +1 -0
- package/dist/utils/node-performance-test.js +155 -0
- package/dist/utils/node-performance-test.js.map +1 -0
- package/dist/utils/node.d.ts +8 -0
- package/dist/utils/node.d.ts.map +1 -0
- package/dist/utils/node.js +275 -0
- package/dist/utils/node.js.map +1 -0
- package/dist/utils/text.d.ts +2 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +14 -0
- package/dist/utils/text.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Group, Rect } from 'ink-new';
|
|
2
|
+
import { BasePlugin } from '../../types/Plugin';
|
|
3
|
+
import { Graph } from '../../graph';
|
|
4
|
+
export declare enum ElementType {
|
|
5
|
+
NODE = "NODE"
|
|
6
|
+
}
|
|
7
|
+
export interface IMinimapOptions {
|
|
8
|
+
enable?: boolean;
|
|
9
|
+
size?: [number, number];
|
|
10
|
+
filter?: (data: any, elementType: ElementType) => boolean;
|
|
11
|
+
shape?: (data: any, elementType: ElementType) => Rect;
|
|
12
|
+
}
|
|
13
|
+
export declare class Minimap implements BasePlugin {
|
|
14
|
+
name: string;
|
|
15
|
+
graph: Graph;
|
|
16
|
+
nodeShapeMap: Map<string, Rect>;
|
|
17
|
+
static defaultOptions: IMinimapOptions;
|
|
18
|
+
private options;
|
|
19
|
+
private isVisible;
|
|
20
|
+
private canvas;
|
|
21
|
+
rootGroup: Group;
|
|
22
|
+
private container;
|
|
23
|
+
private mask;
|
|
24
|
+
private isMaskDragging;
|
|
25
|
+
apply(graph: Graph): void;
|
|
26
|
+
init(): void;
|
|
27
|
+
onRender: () => void;
|
|
28
|
+
setOnRender(): void;
|
|
29
|
+
private onTransform;
|
|
30
|
+
private bindEvents;
|
|
31
|
+
private renderMinimap;
|
|
32
|
+
private getElements;
|
|
33
|
+
private initCanvas;
|
|
34
|
+
private setCamera;
|
|
35
|
+
private createContainer;
|
|
36
|
+
private setShapes;
|
|
37
|
+
private renderMask;
|
|
38
|
+
private getMaskBBox;
|
|
39
|
+
private updateMask;
|
|
40
|
+
private calculateMaskBBox;
|
|
41
|
+
private createCanvasContainer;
|
|
42
|
+
private getAvailableSize;
|
|
43
|
+
private onMaskDragStart;
|
|
44
|
+
private onMaskDrag;
|
|
45
|
+
private onMaskDragEnd;
|
|
46
|
+
private getZoom;
|
|
47
|
+
private getMainCanvasZoom;
|
|
48
|
+
private getMainCanvasViewportBounds;
|
|
49
|
+
private getMainCanvasBounds;
|
|
50
|
+
private unbindEvents;
|
|
51
|
+
setVisible(visible?: boolean): void;
|
|
52
|
+
destroy(): void;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/Minimap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,oBAAY,WAAW;IACrB,IAAI,SAAS;CACd;AAYD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,IAAI,KAAA,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC;IACrD,KAAK,CAAC,EAAE,CAAC,IAAI,KAAA,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAClD;AAED,qBAAa,OAAQ,YAAW,UAAU;IACxC,IAAI,SAAa;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IAE5C,MAAM,CAAC,cAAc,EAAE,eAAe,CAOpC;IACF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,cAAc,CAAkB;IAExC,KAAK,CAAC,KAAK,EAAE,KAAK;IAUlB,IAAI;IAKJ,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW;IAaX,OAAO,CAAC,WAAW,CASjB;IAEF,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,UAAU;IAwClB,OAAO,CAAC,SAAS;IAgDjB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,SAAS;IAqCjB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,WAAW,CAajB;IAEF,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe,CASrB;IAEF,OAAO,CAAC,UAAU,CAgBhB;IAEF,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,YAAY;IAOb,UAAU,CAAC,OAAO,UAAO;IAezB,OAAO;CAcf"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { __assign, __read } from "tslib";
|
|
2
|
+
import { Canvas, Group, Rect } from 'ink-new';
|
|
3
|
+
import { debounce, isFunction } from 'lodash';
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import { GRAPH_EVENTS } from '../../constant/events';
|
|
6
|
+
export var ElementType;
|
|
7
|
+
(function (ElementType) {
|
|
8
|
+
ElementType["NODE"] = "NODE";
|
|
9
|
+
})(ElementType || (ElementType = {}));
|
|
10
|
+
var RENDER_DEBOUNCE_TIME = 128;
|
|
11
|
+
var TRANSFORM_DELAY_TIME = 32;
|
|
12
|
+
var PADDING = 6;
|
|
13
|
+
var defaultShapeStyle = {
|
|
14
|
+
width: 100,
|
|
15
|
+
height: 100,
|
|
16
|
+
fill: '#E8ECF2',
|
|
17
|
+
};
|
|
18
|
+
var Minimap = /** @class */ (function () {
|
|
19
|
+
function Minimap() {
|
|
20
|
+
var _this = this;
|
|
21
|
+
this.name = 'Minimap';
|
|
22
|
+
this.nodeShapeMap = new Map();
|
|
23
|
+
this.isVisible = true;
|
|
24
|
+
this.container = null;
|
|
25
|
+
this.mask = null;
|
|
26
|
+
this.isMaskDragging = false;
|
|
27
|
+
this.onTransform = _.throttle(function () {
|
|
28
|
+
if (_this.isMaskDragging)
|
|
29
|
+
return;
|
|
30
|
+
_this.setCamera();
|
|
31
|
+
_this.updateMask();
|
|
32
|
+
}, TRANSFORM_DELAY_TIME, { leading: true });
|
|
33
|
+
this.getMaskBBox = function () {
|
|
34
|
+
var graphCanvas = _this.graph.canvas;
|
|
35
|
+
// 获取主图可视区域的最小坐标
|
|
36
|
+
var viewportBox = graphCanvas.getViewportBox();
|
|
37
|
+
var maskMin = _this.canvas.canvas2Viewport(viewportBox.x, viewportBox.y);
|
|
38
|
+
var mainCanvasZoom = _this.getMainCanvasZoom();
|
|
39
|
+
var minimapZoom = _this.getZoom();
|
|
40
|
+
var width = (viewportBox.width / mainCanvasZoom) * minimapZoom;
|
|
41
|
+
var height = (viewportBox.height / mainCanvasZoom) * minimapZoom;
|
|
42
|
+
return [maskMin.x, maskMin.y, width, height];
|
|
43
|
+
};
|
|
44
|
+
this.onMaskDragStart = function (e) {
|
|
45
|
+
if (!_this.mask || _this.isMaskDragging)
|
|
46
|
+
return;
|
|
47
|
+
_this.isMaskDragging = true;
|
|
48
|
+
_this.mask.setPointerCapture(e.pointerId);
|
|
49
|
+
_this.mask.addEventListener('pointermove', _this.onMaskDrag);
|
|
50
|
+
_this.mask.addEventListener('pointerup', _this.onMaskDragEnd);
|
|
51
|
+
_this.mask.addEventListener('pointercancel', _this.onMaskDragEnd);
|
|
52
|
+
};
|
|
53
|
+
this.onMaskDrag = function (_a) {
|
|
54
|
+
var movementX = _a.movementX, movementY = _a.movementY;
|
|
55
|
+
if (!_this.mask || !_this.isMaskDragging)
|
|
56
|
+
return;
|
|
57
|
+
// 平移主图相机后, 主图的可视区域更新
|
|
58
|
+
// 从而minimap的zoom和camera 中心点变化
|
|
59
|
+
if (movementX === 0 && movementY === 0)
|
|
60
|
+
return;
|
|
61
|
+
var zoom1 = _this.getMainCanvasZoom();
|
|
62
|
+
var zoom2 = _this.getZoom();
|
|
63
|
+
var ratio = zoom1 / zoom2;
|
|
64
|
+
_this.graph.translate(-movementX * ratio, -movementY * ratio);
|
|
65
|
+
// 更新mask的位置和宽高
|
|
66
|
+
_this.setCamera();
|
|
67
|
+
_this.updateMask();
|
|
68
|
+
};
|
|
69
|
+
this.onMaskDragEnd = function (e) {
|
|
70
|
+
_this.isMaskDragging = false;
|
|
71
|
+
if (!_this.mask)
|
|
72
|
+
return;
|
|
73
|
+
_this.mask.releasePointerCapture(e.pointerId);
|
|
74
|
+
_this.mask.removeEventListener('pointermove', _this.onMaskDrag);
|
|
75
|
+
_this.mask.removeEventListener('pointerup', _this.onMaskDragEnd);
|
|
76
|
+
_this.mask.removeEventListener('pointercancel', _this.onMaskDragEnd);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
Minimap.prototype.apply = function (graph) {
|
|
80
|
+
var _a, _b;
|
|
81
|
+
if (!graph || ((_b = (_a = graph === null || graph === void 0 ? void 0 : graph._config) === null || _a === void 0 ? void 0 : _a.minimap) === null || _b === void 0 ? void 0 : _b.enable) === false)
|
|
82
|
+
return;
|
|
83
|
+
this.graph = graph;
|
|
84
|
+
this.options = __assign(__assign({}, Minimap.defaultOptions), (graph._config.minimap || {}));
|
|
85
|
+
this.init();
|
|
86
|
+
};
|
|
87
|
+
Minimap.prototype.init = function () {
|
|
88
|
+
this.setOnRender();
|
|
89
|
+
this.bindEvents();
|
|
90
|
+
};
|
|
91
|
+
Minimap.prototype.setOnRender = function () {
|
|
92
|
+
var _this = this;
|
|
93
|
+
this.onRender = debounce(function () {
|
|
94
|
+
_this.renderMinimap();
|
|
95
|
+
_this.renderMask();
|
|
96
|
+
}, RENDER_DEBOUNCE_TIME, {
|
|
97
|
+
leading: true,
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
Minimap.prototype.bindEvents = function () {
|
|
101
|
+
if (!this.graph)
|
|
102
|
+
return;
|
|
103
|
+
this.graph.on(GRAPH_EVENTS.NODES_CHANGE, this.onRender);
|
|
104
|
+
this.graph.on(GRAPH_EVENTS.TRANSFORM_CHANGE, this.onTransform);
|
|
105
|
+
};
|
|
106
|
+
Minimap.prototype.renderMinimap = function () {
|
|
107
|
+
var nodes = this.getElements().nodes;
|
|
108
|
+
var rootGroup = this.initCanvas();
|
|
109
|
+
this.setShapes(rootGroup, nodes);
|
|
110
|
+
};
|
|
111
|
+
Minimap.prototype.getElements = function () {
|
|
112
|
+
var filter = this.options.filter;
|
|
113
|
+
var nodes = [];
|
|
114
|
+
this.graph.data.nodes.forEach(function (node) {
|
|
115
|
+
if (node.visible) {
|
|
116
|
+
if (isFunction(filter)) {
|
|
117
|
+
filter(node.config, ElementType.NODE) && nodes.push(node);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
nodes.push(node);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
nodes: nodes,
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
Minimap.prototype.initCanvas = function () {
|
|
129
|
+
var _this = this;
|
|
130
|
+
var _a = this.getAvailableSize(), width = _a.width, height = _a.height;
|
|
131
|
+
if (!this.canvas) {
|
|
132
|
+
this.createContainer();
|
|
133
|
+
var canvasContainer = this.createCanvasContainer(width, height);
|
|
134
|
+
this.container.appendChild(canvasContainer);
|
|
135
|
+
this.canvas = new Canvas(canvasContainer, {
|
|
136
|
+
engine: 'ck',
|
|
137
|
+
width: width,
|
|
138
|
+
height: height,
|
|
139
|
+
interactions: {
|
|
140
|
+
drag: false,
|
|
141
|
+
pan: false,
|
|
142
|
+
zoom: false,
|
|
143
|
+
minZoom: 0.00001,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
var rootGroup = new Group({
|
|
147
|
+
name: 'minimapRootGroup',
|
|
148
|
+
});
|
|
149
|
+
this.rootGroup = rootGroup;
|
|
150
|
+
this.canvas.add(this.rootGroup);
|
|
151
|
+
this.canvas.whenReady().then(function () {
|
|
152
|
+
_this.setCamera();
|
|
153
|
+
_this.updateMask();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
var _b = this.canvas.getSize(), w = _b.width, h = _b.height;
|
|
158
|
+
if (width !== w || height !== h)
|
|
159
|
+
this.canvas.resize(width, height);
|
|
160
|
+
}
|
|
161
|
+
this.setCamera();
|
|
162
|
+
return this.rootGroup;
|
|
163
|
+
};
|
|
164
|
+
Minimap.prototype.setCamera = function () {
|
|
165
|
+
var _a;
|
|
166
|
+
if (!((_a = this.canvas) === null || _a === void 0 ? void 0 : _a.isReady())) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
var contentBox = this.getMainCanvasBounds();
|
|
170
|
+
var viewportBox = this.getMainCanvasViewportBounds();
|
|
171
|
+
// 根据主图的可视区域和节点组成的包围盒计算出边界, 显示在minimap中
|
|
172
|
+
var bounds = {
|
|
173
|
+
left: Math.min(contentBox.x, viewportBox.x),
|
|
174
|
+
right: Math.max(contentBox.x + contentBox.width, viewportBox.x + viewportBox.width),
|
|
175
|
+
top: Math.min(contentBox.y, viewportBox.y),
|
|
176
|
+
bottom: Math.max(contentBox.y + contentBox.height, viewportBox.y + viewportBox.height),
|
|
177
|
+
};
|
|
178
|
+
var boundsWidth = bounds.right - bounds.left;
|
|
179
|
+
var boundsHeight = bounds.bottom - bounds.top;
|
|
180
|
+
var _b = this.getAvailableSize(), minimapCanvasWidth = _b.width, minimapCanvasHeight = _b.height;
|
|
181
|
+
var scaleX = minimapCanvasWidth / boundsWidth;
|
|
182
|
+
var scaleY = minimapCanvasHeight / boundsHeight;
|
|
183
|
+
var scale = Math.min(scaleX, scaleY);
|
|
184
|
+
// 调整bounds比例,和minimap宽高比一致
|
|
185
|
+
if (scaleX !== scale) {
|
|
186
|
+
var newBoundsWidth = minimapCanvasWidth / scale;
|
|
187
|
+
bounds.left = bounds.left - (newBoundsWidth - boundsWidth) / 2;
|
|
188
|
+
bounds.right = bounds.right + (newBoundsWidth - boundsWidth) / 2;
|
|
189
|
+
}
|
|
190
|
+
if (scaleY !== scale) {
|
|
191
|
+
var newBoundsHeight = minimapCanvasHeight / scale;
|
|
192
|
+
bounds.top = bounds.top - (newBoundsHeight - boundsHeight) / 2;
|
|
193
|
+
bounds.bottom = bounds.bottom + (newBoundsHeight - boundsHeight) / 2;
|
|
194
|
+
}
|
|
195
|
+
this.canvas.setZoom(scale);
|
|
196
|
+
this.canvas.setTranslation(-bounds.left, -bounds.top);
|
|
197
|
+
};
|
|
198
|
+
Minimap.prototype.createContainer = function () {
|
|
199
|
+
var _a;
|
|
200
|
+
var _b = __read(this.options.size, 2), width = _b[0], height = _b[1];
|
|
201
|
+
var container = document.createElement('div');
|
|
202
|
+
container.classList.add('ink-graph-minimap');
|
|
203
|
+
Object.assign(container.style, {
|
|
204
|
+
position: 'absolute',
|
|
205
|
+
bottom: '24px',
|
|
206
|
+
left: '74px',
|
|
207
|
+
zIndex: 2,
|
|
208
|
+
width: "".concat(width, "px"),
|
|
209
|
+
height: "".concat(height, "px"),
|
|
210
|
+
background: '#fff',
|
|
211
|
+
border: '1px solid #D1D5DB',
|
|
212
|
+
});
|
|
213
|
+
if (this.graph.canvas) {
|
|
214
|
+
(_a = this.graph.canvas.getContainer()) === null || _a === void 0 ? void 0 : _a.appendChild(container);
|
|
215
|
+
}
|
|
216
|
+
this.container = container;
|
|
217
|
+
return container;
|
|
218
|
+
};
|
|
219
|
+
Minimap.prototype.setShapes = function (rootGroup, nodes) {
|
|
220
|
+
var _this = this;
|
|
221
|
+
var makeShape = this.options.shape;
|
|
222
|
+
var newShapeMap = new Map();
|
|
223
|
+
var updateNodeShape = function (node) {
|
|
224
|
+
var _a = node.style, width = _a.width, height = _a.height, fill = _a.fill;
|
|
225
|
+
var _b = node.position, x = _b.x, y = _b.y;
|
|
226
|
+
var shape = _this.nodeShapeMap.get(node.id);
|
|
227
|
+
if (!shape) {
|
|
228
|
+
shape = makeShape(node, ElementType.NODE);
|
|
229
|
+
rootGroup.addChild(shape);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
_this.nodeShapeMap.delete(node.id);
|
|
233
|
+
}
|
|
234
|
+
newShapeMap.set(node.id, shape);
|
|
235
|
+
shape.updateStyle({
|
|
236
|
+
x: x,
|
|
237
|
+
y: y,
|
|
238
|
+
width: width,
|
|
239
|
+
height: height,
|
|
240
|
+
zIndex: 1,
|
|
241
|
+
fill: fill && fill !== '#fff' && fill !== '#FFF'
|
|
242
|
+
? fill
|
|
243
|
+
: defaultShapeStyle.fill,
|
|
244
|
+
});
|
|
245
|
+
return shape;
|
|
246
|
+
};
|
|
247
|
+
(nodes || []).forEach(function (node) { return updateNodeShape(node); });
|
|
248
|
+
this.nodeShapeMap.forEach(function (shape) { return shape.destroy(); });
|
|
249
|
+
this.nodeShapeMap = newShapeMap;
|
|
250
|
+
};
|
|
251
|
+
Minimap.prototype.renderMask = function () {
|
|
252
|
+
if (!this.mask) {
|
|
253
|
+
this.mask = document.createElement('div');
|
|
254
|
+
this.mask.addEventListener('pointerdown', this.onMaskDragStart);
|
|
255
|
+
this.container.appendChild(this.mask);
|
|
256
|
+
Object.assign(this.mask.style, {
|
|
257
|
+
cursor: 'move',
|
|
258
|
+
position: 'absolute',
|
|
259
|
+
pointerEvents: 'auto',
|
|
260
|
+
border: '2px solid #126FDD',
|
|
261
|
+
boxSizing: 'border-box',
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
this.updateMask();
|
|
265
|
+
};
|
|
266
|
+
Minimap.prototype.updateMask = function () {
|
|
267
|
+
if (!this.mask)
|
|
268
|
+
return;
|
|
269
|
+
var _a = __read(this.calculateMaskBBox(), 4), x = _a[0], y = _a[1], width = _a[2], height = _a[3];
|
|
270
|
+
Object.assign(this.mask.style, {
|
|
271
|
+
top: "".concat(y, "px"),
|
|
272
|
+
left: "".concat(x, "px"),
|
|
273
|
+
width: "".concat(width, "px"),
|
|
274
|
+
height: "".concat(height, "px"),
|
|
275
|
+
});
|
|
276
|
+
};
|
|
277
|
+
Minimap.prototype.calculateMaskBBox = function () {
|
|
278
|
+
var _a = this.getAvailableSize(), minimapWidth = _a.width, minimapHeight = _a.height;
|
|
279
|
+
var _b = __read(this.getMaskBBox(), 4), x = _b[0], y = _b[1], width = _b[2], height = _b[3];
|
|
280
|
+
if (x < 0) {
|
|
281
|
+
width = upper(width + x, minimapWidth);
|
|
282
|
+
x = 0;
|
|
283
|
+
}
|
|
284
|
+
if (y < 0) {
|
|
285
|
+
height = upper(height + y, minimapHeight);
|
|
286
|
+
y = 0;
|
|
287
|
+
}
|
|
288
|
+
if (x + width > minimapWidth) {
|
|
289
|
+
width = lower(minimapWidth - x, 0);
|
|
290
|
+
}
|
|
291
|
+
if (y + height > minimapHeight) {
|
|
292
|
+
height = lower(minimapHeight - y, 0);
|
|
293
|
+
}
|
|
294
|
+
return [
|
|
295
|
+
upper(x, minimapWidth) + PADDING,
|
|
296
|
+
upper(y, minimapHeight) + PADDING,
|
|
297
|
+
lower(width, 0),
|
|
298
|
+
lower(height, 0),
|
|
299
|
+
];
|
|
300
|
+
};
|
|
301
|
+
Minimap.prototype.createCanvasContainer = function (width, height) {
|
|
302
|
+
var dom = document.createElement('div');
|
|
303
|
+
Object.assign(dom.style, {
|
|
304
|
+
width: "".concat(width, "px"),
|
|
305
|
+
height: "".concat(height, "px"),
|
|
306
|
+
position: 'relative',
|
|
307
|
+
top: "".concat(PADDING, "px"),
|
|
308
|
+
left: "".concat(PADDING, "px"),
|
|
309
|
+
});
|
|
310
|
+
return dom;
|
|
311
|
+
};
|
|
312
|
+
Minimap.prototype.getAvailableSize = function () {
|
|
313
|
+
var _a = __read(this.options.size, 2), width = _a[0], height = _a[1];
|
|
314
|
+
return {
|
|
315
|
+
width: width - PADDING * 2,
|
|
316
|
+
height: height - PADDING * 2,
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
Minimap.prototype.getZoom = function () {
|
|
320
|
+
return this.canvas.getZoom();
|
|
321
|
+
};
|
|
322
|
+
Minimap.prototype.getMainCanvasZoom = function () {
|
|
323
|
+
return this.graph.canvas.getZoom();
|
|
324
|
+
};
|
|
325
|
+
Minimap.prototype.getMainCanvasViewportBounds = function () {
|
|
326
|
+
return this.graph.canvas.getViewportBox();
|
|
327
|
+
};
|
|
328
|
+
Minimap.prototype.getMainCanvasBounds = function () {
|
|
329
|
+
return this.graph.getBounds();
|
|
330
|
+
};
|
|
331
|
+
Minimap.prototype.unbindEvents = function () {
|
|
332
|
+
if (!this.graph)
|
|
333
|
+
return;
|
|
334
|
+
this.graph.emitter.off(GRAPH_EVENTS.NODES_CHANGE, this.onRender);
|
|
335
|
+
this.graph.emitter.off(GRAPH_EVENTS.TRANSFORM_CHANGE, this.onTransform);
|
|
336
|
+
};
|
|
337
|
+
Minimap.prototype.setVisible = function (visible) {
|
|
338
|
+
if (visible === void 0) { visible = true; }
|
|
339
|
+
if (visible) {
|
|
340
|
+
if (this.isVisible)
|
|
341
|
+
return;
|
|
342
|
+
this.init();
|
|
343
|
+
if (this.onRender) {
|
|
344
|
+
this.onRender();
|
|
345
|
+
}
|
|
346
|
+
this.isVisible = true;
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
this.destroy();
|
|
350
|
+
};
|
|
351
|
+
Minimap.prototype.destroy = function () {
|
|
352
|
+
var _a, _b, _c, _d;
|
|
353
|
+
this.unbindEvents();
|
|
354
|
+
(_a = this.mask) === null || _a === void 0 ? void 0 : _a.remove();
|
|
355
|
+
this.mask = null;
|
|
356
|
+
(_b = this.canvas) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
357
|
+
this.canvas = null;
|
|
358
|
+
this.rootGroup = null;
|
|
359
|
+
if ((_c = this.graph) === null || _c === void 0 ? void 0 : _c.canvas) {
|
|
360
|
+
(_d = this.graph.canvas.getContainer()) === null || _d === void 0 ? void 0 : _d.removeChild(this.container);
|
|
361
|
+
}
|
|
362
|
+
this.isVisible = false;
|
|
363
|
+
};
|
|
364
|
+
Minimap.defaultOptions = {
|
|
365
|
+
enable: true,
|
|
366
|
+
size: [200, 110],
|
|
367
|
+
shape: function () {
|
|
368
|
+
return new Rect({
|
|
369
|
+
style: defaultShapeStyle,
|
|
370
|
+
});
|
|
371
|
+
},
|
|
372
|
+
};
|
|
373
|
+
return Minimap;
|
|
374
|
+
}());
|
|
375
|
+
export { Minimap };
|
|
376
|
+
var upper = function (value, max) { return Math.min(value, max); };
|
|
377
|
+
var lower = function (value, min) { return Math.max(value, min); };
|
|
378
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/Minimap/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IResetViewportConfig } from '../../types/Graph';
|
|
2
|
+
import { Graph } from '../../graph';
|
|
3
|
+
export interface IResetPosition {
|
|
4
|
+
visible?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class ResetViewport {
|
|
7
|
+
private static instance;
|
|
8
|
+
static getInstance(): ResetViewport;
|
|
9
|
+
init(graph: Graph, config: Partial<IResetViewportConfig>, container: HTMLDivElement): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ResetViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResetViewport.d.ts","sourceRoot":"","sources":["../../../src/plugins/Tools/ResetViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;WAEvC,WAAW,IAAI,aAAa;IAK1C,IAAI,CACF,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,SAAS,EAAE,cAAc;CAmB5B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { resetPositionSVG } from '../../assets';
|
|
2
|
+
var ResetViewport = /** @class */ (function () {
|
|
3
|
+
function ResetViewport() {
|
|
4
|
+
}
|
|
5
|
+
ResetViewport.getInstance = function () {
|
|
6
|
+
if (!ResetViewport.instance)
|
|
7
|
+
ResetViewport.instance = new ResetViewport();
|
|
8
|
+
return ResetViewport.instance;
|
|
9
|
+
};
|
|
10
|
+
ResetViewport.prototype.init = function (graph, config, container) {
|
|
11
|
+
var div = document.createElement('div');
|
|
12
|
+
var img = document.createElement('img');
|
|
13
|
+
img.src = resetPositionSVG;
|
|
14
|
+
img.style.cssText = 'width: 20px; height: 20px; pointer-events: all;';
|
|
15
|
+
div.style.cssText =
|
|
16
|
+
'display: flex; padding: 6px; border: 1px solid #DBDBDB; border-radius: 2px; background: #fff';
|
|
17
|
+
div.style.cursor = 'pointer';
|
|
18
|
+
div.appendChild(img);
|
|
19
|
+
container.appendChild(div);
|
|
20
|
+
img.addEventListener('click', function () {
|
|
21
|
+
var _a;
|
|
22
|
+
graph.canvas.setZoom(1);
|
|
23
|
+
graph.canvas.setTranslation(0, 0);
|
|
24
|
+
(_a = config === null || config === void 0 ? void 0 : config.onResetViewportChange) === null || _a === void 0 ? void 0 : _a.call(config);
|
|
25
|
+
graph.onTransformChange();
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
ResetViewport.instance = null;
|
|
29
|
+
return ResetViewport;
|
|
30
|
+
}());
|
|
31
|
+
export { ResetViewport };
|
|
32
|
+
//# sourceMappingURL=ResetViewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResetViewport.js","sourceRoot":"","sources":["../../../src/plugins/Tools/ResetViewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD;IAAA;IA8BA,CAAC;IA3Be,yBAAW,GAAzB;QACE,IAAI,CAAC,aAAa,CAAC,QAAQ;YAAE,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1E,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,4BAAI,GAAJ,UACE,KAAY,EACZ,MAAqC,EACrC,SAAyB;QAEzB,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,iDAAiD,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,OAAO;YACf,8FAA8F,CAAC;QACjG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE3B,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE;;YAC5B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,sDAAI,CAAC;YAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IA5Bc,sBAAQ,GAAyB,IAAI,CAAC;IA6BvD,oBAAC;CAAA,AA9BD,IA8BC;SA9BY,aAAa"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BasePlugin } from '../../types/Plugin';
|
|
2
|
+
import { Graph } from '../../graph';
|
|
3
|
+
export declare class ToolPlugin implements BasePlugin {
|
|
4
|
+
name: 'ToolPlugin';
|
|
5
|
+
container: HTMLDivElement;
|
|
6
|
+
apply(graph: Graph): void;
|
|
7
|
+
destroy(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ToolPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/Tools/ToolPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,qBAAa,UAAW,YAAW,UAAU;IAC3C,IAAI,EAAE,YAAY,CAAC;IAEnB,SAAS,EAAE,cAAc,CAAC;IAE1B,KAAK,CAAC,KAAK,EAAE,KAAK;IAkClB,OAAO;CAGR"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import { Zoom } from './Zoom';
|
|
3
|
+
import { defaultToolsConfig } from './defaultConfig';
|
|
4
|
+
import { ResetViewport } from './ResetViewport';
|
|
5
|
+
var ToolPlugin = /** @class */ (function () {
|
|
6
|
+
function ToolPlugin() {
|
|
7
|
+
}
|
|
8
|
+
ToolPlugin.prototype.apply = function (graph) {
|
|
9
|
+
var graphConfig = graph.getConfig();
|
|
10
|
+
if (_.isNil(graphConfig))
|
|
11
|
+
return;
|
|
12
|
+
var root = graphConfig.root, tools = graphConfig.tools;
|
|
13
|
+
if (_.isNil(root))
|
|
14
|
+
return;
|
|
15
|
+
var mergeToolConfig = _.merge(defaultToolsConfig, tools);
|
|
16
|
+
var visible = mergeToolConfig.visible, zoom = mergeToolConfig.zoom, resetViewport = mergeToolConfig.resetViewport;
|
|
17
|
+
if (!visible)
|
|
18
|
+
return;
|
|
19
|
+
var rootDiv = typeof root === 'string' ? document.getElementById(root) : root;
|
|
20
|
+
if (_.isNil(rootDiv))
|
|
21
|
+
return;
|
|
22
|
+
rootDiv.style.cssText = 'position: relative';
|
|
23
|
+
var toolsContainerDiv = document.createElement('div');
|
|
24
|
+
this.container = toolsContainerDiv;
|
|
25
|
+
toolsContainerDiv.style.cssText =
|
|
26
|
+
'position: absolute; left: 24px; bottom: 24px; display: flex; flex-direction: column; gap: 10px; border-radius: 4px;';
|
|
27
|
+
rootDiv.appendChild(toolsContainerDiv);
|
|
28
|
+
if (resetViewport === null || resetViewport === void 0 ? void 0 : resetViewport.visible) {
|
|
29
|
+
ResetViewport.getInstance().init(graph, resetViewport, toolsContainerDiv);
|
|
30
|
+
}
|
|
31
|
+
if (zoom === null || zoom === void 0 ? void 0 : zoom.visible) {
|
|
32
|
+
Zoom.getInstance().init(graph, zoom, toolsContainerDiv);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
ToolPlugin.prototype.destroy = function () {
|
|
36
|
+
var _a;
|
|
37
|
+
(_a = this.container) === null || _a === void 0 ? void 0 : _a.remove();
|
|
38
|
+
};
|
|
39
|
+
return ToolPlugin;
|
|
40
|
+
}());
|
|
41
|
+
export { ToolPlugin };
|
|
42
|
+
//# sourceMappingURL=ToolPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolPlugin.js","sourceRoot":"","sources":["../../../src/plugins/Tools/ToolPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;IAAA;IA0CA,CAAC;IArCC,0BAAK,GAAL,UAAM,KAAY;QAChB,IAAM,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,OAAO;QAEzB,IAAA,IAAI,GAAY,WAAW,KAAvB,EAAE,KAAK,GAAK,WAAW,MAAhB,CAAiB;QACpC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAE1B,IAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEnD,IAAA,OAAO,GAA0B,eAAe,QAAzC,EAAE,IAAI,GAAoB,eAAe,KAAnC,EAAE,aAAa,GAAK,eAAe,cAApB,CAAqB;QACzD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO;QAE7B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAE7C,IAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAEnC,iBAAiB,CAAC,KAAK,CAAC,OAAO;YAC7B,qHAAqH,CAAC;QACxH,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEvC,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,EAAE,CAAC;YAC3B,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,4BAAO,GAAP;;QACE,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IACH,iBAAC;AAAD,CAAC,AA1CD,IA0CC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IZoomConfig } from '../../types';
|
|
2
|
+
import { Graph } from '../../graph';
|
|
3
|
+
export declare class Zoom {
|
|
4
|
+
private static instance;
|
|
5
|
+
static getInstance(): Zoom;
|
|
6
|
+
init(graph: Graph, config: Partial<IZoomConfig>, container: HTMLDivElement): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Zoom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Zoom.d.ts","sourceRoot":"","sources":["../../../src/plugins/Tools/Zoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;WAE9B,WAAW,IAAI,IAAI;IAKjC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc;CAgD3E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { zoomInSVG, zoomOutSVG } from '../../assets';
|
|
2
|
+
var Zoom = /** @class */ (function () {
|
|
3
|
+
function Zoom() {
|
|
4
|
+
}
|
|
5
|
+
Zoom.getInstance = function () {
|
|
6
|
+
if (!Zoom.instance)
|
|
7
|
+
Zoom.instance = new Zoom();
|
|
8
|
+
return Zoom.instance;
|
|
9
|
+
};
|
|
10
|
+
Zoom.prototype.init = function (graph, config, container) {
|
|
11
|
+
var div = document.createElement('div');
|
|
12
|
+
div.style.cssText =
|
|
13
|
+
'display: flex; flex-direction: column; gap: 12px; padding: 6px; border: 1px solid #DBDBDB; border-radius: 2px; background: #fff';
|
|
14
|
+
var smallImg = document.createElement('img');
|
|
15
|
+
smallImg.src = zoomOutSVG;
|
|
16
|
+
smallImg.style.cssText =
|
|
17
|
+
'width: 20px; height: 20px; cursor: pointer; pointer-events: all;';
|
|
18
|
+
var largeImg = document.createElement('img');
|
|
19
|
+
largeImg.src = zoomInSVG;
|
|
20
|
+
largeImg.style.cssText =
|
|
21
|
+
'width: 20px; height: 20px; cursor: pointer; pointer-events: all;';
|
|
22
|
+
div.appendChild(largeImg);
|
|
23
|
+
div.appendChild(smallImg);
|
|
24
|
+
container.appendChild(div);
|
|
25
|
+
smallImg.addEventListener('click', function () {
|
|
26
|
+
var _a;
|
|
27
|
+
var graphRadio = graph.canvas.getZoom();
|
|
28
|
+
if (graphRadio <= config.min) {
|
|
29
|
+
alert('已经缩小到最小了');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
var zoom = graphRadio * 0.9;
|
|
33
|
+
graph.canvas.setZoom(zoom);
|
|
34
|
+
graph.mode = zoom < 0.5 ? 'SIMPLE' : 'NORMAL';
|
|
35
|
+
(_a = config === null || config === void 0 ? void 0 : config.onZoomChange) === null || _a === void 0 ? void 0 : _a.call(config, graph.mode);
|
|
36
|
+
graph.onTransformChange();
|
|
37
|
+
});
|
|
38
|
+
largeImg.addEventListener('click', function () {
|
|
39
|
+
var _a;
|
|
40
|
+
var graphRadio = graph.canvas.getZoom();
|
|
41
|
+
if (graphRadio >= config.max) {
|
|
42
|
+
alert('已经放大到最大了');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
var zoom = graphRadio * 1.1;
|
|
46
|
+
graph.canvas.setZoom(zoom);
|
|
47
|
+
graph.mode = zoom < 0.5 ? 'SIMPLE' : 'NORMAL';
|
|
48
|
+
if (graph.mode === 'NORMAL') {
|
|
49
|
+
(_a = config === null || config === void 0 ? void 0 : config.onZoomChange) === null || _a === void 0 ? void 0 : _a.call(config, graph.mode);
|
|
50
|
+
}
|
|
51
|
+
graph.onTransformChange();
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
Zoom.instance = null;
|
|
55
|
+
return Zoom;
|
|
56
|
+
}());
|
|
57
|
+
export { Zoom };
|
|
58
|
+
//# sourceMappingURL=Zoom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Zoom.js","sourceRoot":"","sources":["../../../src/plugins/Tools/Zoom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD;IAAA;IAwDA,CAAC;IArDe,gBAAW,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,mBAAI,GAAJ,UAAK,KAAY,EAAE,MAA4B,EAAE,SAAyB;QACxE,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,OAAO;YACf,iIAAiI,CAAC;QAEpI,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;QAC1B,QAAQ,CAAC,KAAK,CAAC,OAAO;YACpB,kEAAkE,CAAC;QAErE,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,OAAO;YACpB,kEAAkE,CAAC;QAErE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1B,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1B,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE3B,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;;YACjC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,IAAM,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC;YAC9B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,uDAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;;YACjC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC7B,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,IAAM,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC;YAC9B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,uDAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAtDc,aAAQ,GAAgB,IAAI,CAAC;IAuD9C,WAAC;CAAA,AAxDD,IAwDC;SAxDY,IAAI"}
|