@angflow/angular 0.0.19 → 0.3.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/README.md +108 -15
- package/dist/base.css +8 -0
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/lib/agent/agent-bridge.service.d.ts +3 -1
- package/dist/esm/lib/agent/agent-bridge.service.js +130 -23
- package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -1
- package/dist/esm/lib/agent/chat/agent-chat.component.d.ts +0 -1
- package/dist/esm/lib/agent/chat/agent-chat.service.d.ts +0 -1
- package/dist/esm/lib/agent/chat/agent-chat.service.js +11 -2
- package/dist/esm/lib/agent/chat/agent-chat.service.js.map +1 -1
- package/dist/esm/lib/agent/chat/default-system-prompt.d.ts +1 -2
- package/dist/esm/lib/agent/chat/default-system-prompt.js +2 -1
- package/dist/esm/lib/agent/chat/default-system-prompt.js.map +1 -1
- package/dist/esm/lib/agent/chat/index.d.ts +0 -1
- package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts +0 -1
- package/dist/esm/lib/agent/chat/types.d.ts +0 -1
- package/dist/esm/lib/agent/history.d.ts +0 -1
- package/dist/esm/lib/agent/index.d.ts +0 -1
- package/dist/esm/lib/agent/provide-agent-bridge.d.ts +0 -1
- package/dist/esm/lib/agent/tool-schemas.d.ts +0 -1
- package/dist/esm/lib/agent/tool-schemas.js +3 -1
- package/dist/esm/lib/agent/tool-schemas.js.map +1 -1
- package/dist/esm/lib/agent/transports/websocket.d.ts +8 -1
- package/dist/esm/lib/agent/transports/websocket.js +14 -2
- package/dist/esm/lib/agent/transports/websocket.js.map +1 -1
- package/dist/esm/lib/agent/transports/window.d.ts +0 -1
- package/dist/esm/lib/agent/transports/window.js +2 -1
- package/dist/esm/lib/agent/transports/window.js.map +1 -1
- package/dist/esm/lib/agent/types.d.ts +0 -1
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +0 -1
- package/dist/esm/lib/components/attribution/attribution.component.d.ts +0 -1
- package/dist/esm/lib/components/background/background.component.d.ts +0 -1
- package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +0 -1
- package/dist/esm/lib/components/controls/controls.component.d.ts +0 -1
- package/dist/esm/lib/components/controls/controls.component.js +2 -1
- package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +0 -1
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +7 -2
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +11 -4
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
- package/dist/esm/lib/components/edges/base-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.js +2 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/edge-text.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +2 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.js +2 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/step-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/step-edge.component.js +2 -1
- package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/straight-edge.component.d.ts +0 -1
- package/dist/esm/lib/components/edges/straight-edge.component.js +2 -1
- package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
- package/dist/esm/lib/components/handle/handle.component.d.ts +1 -1
- package/dist/esm/lib/components/handle/handle.component.js +13 -1
- package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
- package/dist/esm/lib/components/handle-group/handle-group.component.d.ts +0 -1
- package/dist/esm/lib/components/handle-group/handle-row.component.d.ts +0 -1
- package/dist/esm/lib/components/minimap/minimap.component.d.ts +19 -17
- package/dist/esm/lib/components/minimap/minimap.component.js +143 -183
- package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +13 -5
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +13 -4
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
- package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +2 -1
- package/dist/esm/lib/components/node-resizer/node-resizer.component.js +43 -26
- package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +0 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +1 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/default-node.component.d.ts +6 -15
- package/dist/esm/lib/components/nodes/default-node.component.js +13 -22
- package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -16
- package/dist/esm/lib/components/nodes/group-node.component.js +8 -16
- package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/input-node.component.d.ts +6 -15
- package/dist/esm/lib/components/nodes/input-node.component.js +11 -20
- package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/output-node.component.d.ts +6 -15
- package/dist/esm/lib/components/nodes/output-node.component.js +11 -20
- package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/template-node.component.d.ts +2 -14
- package/dist/esm/lib/components/nodes/template-node.component.js +16 -26
- package/dist/esm/lib/components/nodes/template-node.component.js.map +1 -1
- package/dist/esm/lib/components/panel/panel.component.d.ts +0 -1
- package/dist/esm/lib/components/selection-box/selection-box.component.d.ts +11 -1
- package/dist/esm/lib/components/selection-box/selection-box.component.js +108 -3
- package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +0 -1
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +27 -3
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +151 -61
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
- package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +4 -8
- package/dist/esm/lib/container/ng-flow/ng-flow.component.js +151 -54
- package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +7 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.js +70 -14
- package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
- package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
- package/dist/esm/lib/container/pane/pane.component.js +23 -3
- package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
- package/dist/esm/lib/container/viewport/viewport.component.d.ts +0 -1
- package/dist/esm/lib/directives/drag.directive.d.ts +1 -2
- package/dist/esm/lib/directives/drag.directive.js +1 -1
- package/dist/esm/lib/directives/drag.directive.js.map +1 -1
- package/dist/esm/lib/directives/drop-zone.directive.d.ts +0 -1
- package/dist/esm/lib/directives/key-handler.directive.d.ts +0 -1
- package/dist/esm/lib/directives/key-handler.directive.js +6 -2
- package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
- package/dist/esm/lib/directives/node-type.directive.d.ts +0 -1
- package/dist/esm/lib/graph/collapse.d.ts +35 -0
- package/dist/esm/lib/graph/collapse.js +102 -0
- package/dist/esm/lib/graph/collapse.js.map +1 -0
- package/dist/esm/lib/graph/group-bounds.d.ts +42 -0
- package/dist/esm/lib/graph/group-bounds.js +34 -0
- package/dist/esm/lib/graph/group-bounds.js.map +1 -0
- package/dist/esm/lib/layout/dagre-layout.d.ts +0 -1
- package/dist/esm/lib/layout/index.d.ts +1 -2
- package/dist/esm/lib/layout/index.js.map +1 -1
- package/dist/esm/lib/layout/layout-nodes.d.ts +39 -5
- package/dist/esm/lib/layout/layout-nodes.js +94 -7
- package/dist/esm/lib/layout/layout-nodes.js.map +1 -1
- package/dist/esm/lib/public-api.d.ts +4 -2
- package/dist/esm/lib/public-api.js +2 -1
- package/dist/esm/lib/public-api.js.map +1 -1
- package/dist/esm/lib/services/flow-store.service.d.ts +25 -2
- package/dist/esm/lib/services/flow-store.service.js +101 -14
- package/dist/esm/lib/services/flow-store.service.js.map +1 -1
- package/dist/esm/lib/services/ng-flow.service.d.ts +82 -7
- package/dist/esm/lib/services/ng-flow.service.js +210 -26
- package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
- package/dist/esm/lib/services/tokens.d.ts +0 -1
- package/dist/esm/lib/types/edges.d.ts +0 -1
- package/dist/esm/lib/types/general.d.ts +0 -1
- package/dist/esm/lib/types/index.d.ts +0 -1
- package/dist/esm/lib/types/node-template.d.ts +2 -1
- package/dist/esm/lib/types/nodes.d.ts +4 -1
- package/dist/esm/lib/types/store.d.ts +0 -1
- package/dist/esm/lib/utils/changes.d.ts +28 -2
- package/dist/esm/lib/utils/changes.js +57 -1
- package/dist/esm/lib/utils/changes.js.map +1 -1
- package/dist/esm/lib/utils/index.d.ts +2 -2
- package/dist/esm/lib/utils/index.js +2 -1
- package/dist/esm/lib/utils/index.js.map +1 -1
- package/dist/esm/lib/utils/inject-flow-store.d.ts +16 -0
- package/dist/esm/lib/utils/inject-flow-store.js +23 -0
- package/dist/esm/lib/utils/inject-flow-store.js.map +1 -0
- package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +0 -1
- package/dist/esm/lib/utils/position-tween.d.ts +0 -1
- package/dist/esm/lib/utils/template-interpolation.d.ts +0 -1
- package/dist/esm/lib/utils/type-guards.d.ts +0 -1
- package/dist/esm/lib/utils/type-guards.js +2 -0
- package/dist/esm/lib/utils/type-guards.js.map +1 -1
- package/dist/esm/test-setup.d.ts +0 -1
- package/dist/style.css +8 -0
- package/package.json +83 -78
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/agent-chat.component.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/agent-chat.service.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/default-system-prompt.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/index.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts.map +0 -1
- package/dist/esm/lib/agent/chat/types.d.ts.map +0 -1
- package/dist/esm/lib/agent/history.d.ts.map +0 -1
- package/dist/esm/lib/agent/index.d.ts.map +0 -1
- package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +0 -1
- package/dist/esm/lib/agent/tool-schemas.d.ts.map +0 -1
- package/dist/esm/lib/agent/transports/websocket.d.ts.map +0 -1
- package/dist/esm/lib/agent/transports/window.d.ts.map +0 -1
- package/dist/esm/lib/agent/types.d.ts.map +0 -1
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +0 -1
- package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +0 -1
- package/dist/esm/lib/components/background/background.component.d.ts.map +0 -1
- package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +0 -1
- package/dist/esm/lib/components/controls/controls.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +0 -1
- package/dist/esm/lib/components/handle/handle.component.d.ts.map +0 -1
- package/dist/esm/lib/components/handle-group/handle-group.component.d.ts.map +0 -1
- package/dist/esm/lib/components/handle-group/handle-row.component.d.ts.map +0 -1
- package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +0 -1
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +0 -1
- package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +0 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +0 -1
- package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +0 -1
- package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +0 -1
- package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +0 -1
- package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +0 -1
- package/dist/esm/lib/components/nodes/template-node.component.d.ts.map +0 -1
- package/dist/esm/lib/components/panel/panel.component.d.ts.map +0 -1
- package/dist/esm/lib/components/selection-box/selection-box.component.d.ts.map +0 -1
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +0 -1
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +0 -1
- package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +0 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +0 -1
- package/dist/esm/lib/container/pane/pane.component.d.ts.map +0 -1
- package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +0 -1
- package/dist/esm/lib/directives/drag.directive.d.ts.map +0 -1
- package/dist/esm/lib/directives/drop-zone.directive.d.ts.map +0 -1
- package/dist/esm/lib/directives/key-handler.directive.d.ts.map +0 -1
- package/dist/esm/lib/directives/node-type.directive.d.ts.map +0 -1
- package/dist/esm/lib/layout/dagre-layout.d.ts.map +0 -1
- package/dist/esm/lib/layout/index.d.ts.map +0 -1
- package/dist/esm/lib/layout/layout-nodes.d.ts.map +0 -1
- package/dist/esm/lib/public-api.d.ts.map +0 -1
- package/dist/esm/lib/services/flow-store.service.d.ts.map +0 -1
- package/dist/esm/lib/services/ng-flow.service.d.ts.map +0 -1
- package/dist/esm/lib/services/tokens.d.ts.map +0 -1
- package/dist/esm/lib/types/edges.d.ts.map +0 -1
- package/dist/esm/lib/types/general.d.ts.map +0 -1
- package/dist/esm/lib/types/index.d.ts.map +0 -1
- package/dist/esm/lib/types/node-template.d.ts.map +0 -1
- package/dist/esm/lib/types/nodes.d.ts.map +0 -1
- package/dist/esm/lib/types/store.d.ts.map +0 -1
- package/dist/esm/lib/utils/changes.d.ts.map +0 -1
- package/dist/esm/lib/utils/index.d.ts.map +0 -1
- package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +0 -1
- package/dist/esm/lib/utils/position-tween.d.ts.map +0 -1
- package/dist/esm/lib/utils/template-interpolation.d.ts.map +0 -1
- package/dist/esm/lib/utils/type-guards.d.ts.map +0 -1
- package/dist/esm/test-setup.d.ts.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, input, output, inject, computed, viewChild, } from '@angular/core';
|
|
2
|
-
import { getBoundsOfRects, } from '@angflow/system';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, input, output, inject, computed, effect, viewChild, DestroyRef, } from '@angular/core';
|
|
2
|
+
import { getBoundsOfRects, XYMinimap, } from '@angflow/system';
|
|
3
|
+
import { NgComponentOutlet } from '@angular/common';
|
|
3
4
|
import { FlowStore } from '../../services/flow-store.service';
|
|
4
5
|
import { PanelComponent } from '../panel/panel.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -15,7 +16,7 @@ import * as i0 from "@angular/core";
|
|
|
15
16
|
export class MiniMapComponent {
|
|
16
17
|
constructor() {
|
|
17
18
|
this.store = inject(FlowStore);
|
|
18
|
-
this.
|
|
19
|
+
this.minimapSvgRef = viewChild('minimapSvg', ...(ngDevMode ? [{ debugName: "minimapSvgRef" }] : /* istanbul ignore next */ []));
|
|
19
20
|
/** Where the minimap panel is anchored. */
|
|
20
21
|
this.position = input('bottom-right', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
21
22
|
/** Minimap width in pixels. Aliased as `width`. */
|
|
@@ -27,7 +28,7 @@ export class MiniMapComponent {
|
|
|
27
28
|
/** Allow scroll-wheel on the minimap to zoom the main viewport. */
|
|
28
29
|
this.zoomable = input(false, ...(ngDevMode ? [{ debugName: "zoomable" }] : /* istanbul ignore next */ []));
|
|
29
30
|
/** Zoom step applied per wheel tick when `zoomable`. */
|
|
30
|
-
this.zoomStep = input(
|
|
31
|
+
this.zoomStep = input(1, ...(ngDevMode ? [{ debugName: "zoomStep" }] : /* istanbul ignore next */ []));
|
|
31
32
|
/** Invert the pan direction when dragging on the minimap. */
|
|
32
33
|
this.inversePan = input(false, ...(ngDevMode ? [{ debugName: "inversePan" }] : /* istanbul ignore next */ []));
|
|
33
34
|
/**
|
|
@@ -46,7 +47,7 @@ export class MiniMapComponent {
|
|
|
46
47
|
this.nodeBorderRadius = input(5, ...(ngDevMode ? [{ debugName: "nodeBorderRadius" }] : /* istanbul ignore next */ []));
|
|
47
48
|
/** Stroke width for node rects. */
|
|
48
49
|
this.nodeStrokeWidth = input(2, ...(ngDevMode ? [{ debugName: "nodeStrokeWidth" }] : /* istanbul ignore next */ []));
|
|
49
|
-
/**
|
|
50
|
+
/** Custom Angular component to render each minimap node (mirrors React's MiniMapNode). When unset, a default <rect> is rendered. */
|
|
50
51
|
this.nodeComponent = input(null, ...(ngDevMode ? [{ debugName: "nodeComponent" }] : /* istanbul ignore next */ []));
|
|
51
52
|
/** Background fill behind the nodes. Defaults to `#f0f0f0`. */
|
|
52
53
|
this.bgColor = input(...(ngDevMode ? [undefined, { debugName: "bgColor" }] : /* istanbul ignore next */ []));
|
|
@@ -67,24 +68,18 @@ export class MiniMapComponent {
|
|
|
67
68
|
this.minimapClick = output();
|
|
68
69
|
/** Fires when a node rendered in the minimap is clicked. */
|
|
69
70
|
this.minimapNodeClick = output();
|
|
70
|
-
this.
|
|
71
|
-
this.animationFrameId = null;
|
|
72
|
-
this.isDragging = false;
|
|
73
|
-
// Tracks whether the mouse actually moved between mousedown and mouseup.
|
|
74
|
-
// Used to suppress the synthetic click event that fires after a drag, which
|
|
75
|
-
// would otherwise trigger a second pan animation on top of the drag.
|
|
76
|
-
this.dragMoved = false;
|
|
77
|
-
this.boundOnMouseMove = this.onMinimapMouseMove.bind(this);
|
|
78
|
-
this.boundOnMouseUp = this.onMinimapMouseUp.bind(this);
|
|
71
|
+
this.minimap = null;
|
|
79
72
|
this.minimapNodes = computed(() => {
|
|
80
73
|
this.store.version(); // react to node changes
|
|
81
|
-
const
|
|
74
|
+
const hidden = this.store.collapsedHiddenIds();
|
|
75
|
+
const nodes = Array.from(this.store.nodeLookup.values()).filter((node) => !hidden.has(node.id));
|
|
82
76
|
return nodes.map((node) => ({
|
|
83
77
|
id: node.id,
|
|
84
78
|
x: node.internals?.positionAbsolute?.x ?? 0,
|
|
85
79
|
y: node.internals?.positionAbsolute?.y ?? 0,
|
|
86
80
|
width: node.measured?.width ?? node.width ?? 150,
|
|
87
81
|
height: node.measured?.height ?? node.height ?? 40,
|
|
82
|
+
selected: !!node.selected,
|
|
88
83
|
_userNode: node.internals?.userNode,
|
|
89
84
|
}));
|
|
90
85
|
}, ...(ngDevMode ? [{ debugName: "minimapNodes" }] : /* istanbul ignore next */ []));
|
|
@@ -160,6 +155,61 @@ export class MiniMapComponent {
|
|
|
160
155
|
return (`M-10000,-10000h20000v20000h-20000z ` +
|
|
161
156
|
`M${m.x},${m.y}h${m.width}v${m.height}h${-m.width}z`);
|
|
162
157
|
}, ...(ngDevMode ? [{ debugName: "maskPath" }] : /* istanbul ignore next */ []));
|
|
158
|
+
// React uses 'crispEdges' under Chrome/SSR, 'geometricPrecision' otherwise
|
|
159
|
+
// (MiniMapNodes.tsx:36). Browsers always have window; default to
|
|
160
|
+
// geometricPrecision, matching React's non-Chrome branch.
|
|
161
|
+
this.shapeRendering = typeof window === 'undefined' || !!window.chrome
|
|
162
|
+
? 'crispEdges'
|
|
163
|
+
: 'geometricPrecision';
|
|
164
|
+
const destroyRef = inject(DestroyRef);
|
|
165
|
+
// Defer creation until the view exists (SVG ref) AND panZoom is ready.
|
|
166
|
+
// A plain constructor effect re-runs when either the `minimapSvg` viewChild
|
|
167
|
+
// signal resolves (undefined → element on first render) or store.panZoom()
|
|
168
|
+
// becomes non-null, mirroring how the main pane defers its own d3-zoom
|
|
169
|
+
// wiring in ng-flow.component.ts. The `!this.minimap` guard makes it
|
|
170
|
+
// idempotent so creation happens exactly once.
|
|
171
|
+
effect(() => {
|
|
172
|
+
const panZoom = this.store.panZoom();
|
|
173
|
+
const svgEl = this.minimapSvgRef()?.nativeElement;
|
|
174
|
+
if (!panZoom || !svgEl || this.minimap)
|
|
175
|
+
return;
|
|
176
|
+
this.minimap = XYMinimap({
|
|
177
|
+
domNode: svgEl,
|
|
178
|
+
panZoom,
|
|
179
|
+
getTransform: () => this.store.transform(),
|
|
180
|
+
getViewScale: () => this.viewBoxData().viewScale,
|
|
181
|
+
});
|
|
182
|
+
// Push the first update immediately so the d3-zoom handlers are bound
|
|
183
|
+
// with the current inputs without waiting for the next change.
|
|
184
|
+
this.pushMinimapUpdate();
|
|
185
|
+
});
|
|
186
|
+
// Keep XYMinimap in sync with the React-parity inputs + the store extent.
|
|
187
|
+
// The d3 callbacks XYMinimap installs write via panZoom → the transform
|
|
188
|
+
// signal the template reads (zoneless rule 2 satisfied), and those writes
|
|
189
|
+
// flow through the same panZoom path as the main pane, so the C1 contract
|
|
190
|
+
// (no bumpVersion on transform writes) holds.
|
|
191
|
+
effect(() => {
|
|
192
|
+
// Read every dependency first (unconditionally) so the effect tracks the
|
|
193
|
+
// inputs + store extent even before the minimap instance is created — an
|
|
194
|
+
// early `if (!this.minimap) return` would track nothing and never re-run.
|
|
195
|
+
this.pushMinimapUpdate();
|
|
196
|
+
});
|
|
197
|
+
destroyRef.onDestroy(() => {
|
|
198
|
+
this.minimap?.destroy();
|
|
199
|
+
this.minimap = null;
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
pushMinimapUpdate() {
|
|
203
|
+
const params = {
|
|
204
|
+
translateExtent: this.store.translateExtent(),
|
|
205
|
+
width: this.store.width(),
|
|
206
|
+
height: this.store.height(),
|
|
207
|
+
inversePan: this.inversePan(),
|
|
208
|
+
zoomStep: this.zoomStep(),
|
|
209
|
+
pannable: this.pannable(),
|
|
210
|
+
zoomable: this.zoomable(),
|
|
211
|
+
};
|
|
212
|
+
this.minimap?.update(params);
|
|
163
213
|
}
|
|
164
214
|
// Returns the resolved fill for a node, or undefined when the input is unset
|
|
165
215
|
// so no inline style is emitted and the stylesheet's CSS-variable theming
|
|
@@ -185,132 +235,38 @@ export class MiniMapComponent {
|
|
|
185
235
|
}
|
|
186
236
|
return typeof className === 'string' ? className : '';
|
|
187
237
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// Get click position relative to the minimap SVG
|
|
204
|
-
const rect = svgEl.getBoundingClientRect();
|
|
205
|
-
const clickX = event.clientX - rect.left;
|
|
206
|
-
const clickY = event.clientY - rect.top;
|
|
207
|
-
// Convert from SVG pixel coords to flow coords using the current viewBox.
|
|
208
|
-
const v = this.viewBoxData();
|
|
209
|
-
const flowX = v.x + (clickX / this.mmWidth()) * v.width;
|
|
210
|
-
const flowY = v.y + (clickY / this.mmHeight()) * v.height;
|
|
211
|
-
// Emit click event
|
|
212
|
-
this.minimapClick.emit({ event, position: { x: flowX, y: flowY } });
|
|
213
|
-
if (!this.pannable())
|
|
214
|
-
return;
|
|
215
|
-
// Pan viewport to center on the clicked flow position
|
|
216
|
-
const zoom = this.store.transform()[2];
|
|
217
|
-
const newX = this.store.width() / 2 - flowX * zoom;
|
|
218
|
-
const newY = this.store.height() / 2 - flowY * zoom;
|
|
219
|
-
// Cancel any in-flight animation before starting a new one
|
|
220
|
-
if (this.animationFrameId !== null) {
|
|
221
|
-
cancelAnimationFrame(this.animationFrameId);
|
|
222
|
-
this.animationFrameId = null;
|
|
223
|
-
}
|
|
224
|
-
// Animate the viewport pan over ~300ms using requestAnimationFrame
|
|
225
|
-
const startX = this.store.transform()[0];
|
|
226
|
-
const startY = this.store.transform()[1];
|
|
227
|
-
const startTime = performance.now();
|
|
228
|
-
const duration = 300;
|
|
229
|
-
const animate = (now) => {
|
|
230
|
-
const elapsed = now - startTime;
|
|
231
|
-
const t = Math.min(elapsed / duration, 1);
|
|
232
|
-
// Ease-out cubic
|
|
233
|
-
const ease = 1 - Math.pow(1 - t, 3);
|
|
234
|
-
const currentX = startX + (newX - startX) * ease;
|
|
235
|
-
const currentY = startY + (newY - startY) * ease;
|
|
236
|
-
this.store.transform.set([currentX, currentY, zoom]);
|
|
237
|
-
this.store.bumpVersion();
|
|
238
|
-
if (t < 1) {
|
|
239
|
-
this.animationFrameId = requestAnimationFrame(animate);
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
this.animationFrameId = null;
|
|
243
|
-
// Sync d3-zoom internal state without transition
|
|
244
|
-
try {
|
|
245
|
-
this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom });
|
|
246
|
-
}
|
|
247
|
-
catch {
|
|
248
|
-
// d3-transition may not be available; the transform signal
|
|
249
|
-
// is the source of truth and d3 will re-sync on next interaction
|
|
250
|
-
}
|
|
251
|
-
}
|
|
238
|
+
/** Inputs object passed to a custom nodeComponent via NgComponentOutlet. */
|
|
239
|
+
getNodeComponentInputs(node) {
|
|
240
|
+
return {
|
|
241
|
+
id: node.id,
|
|
242
|
+
x: node.x,
|
|
243
|
+
y: node.y,
|
|
244
|
+
width: node.width,
|
|
245
|
+
height: node.height,
|
|
246
|
+
selected: node.selected,
|
|
247
|
+
color: this.getNodeColor(node),
|
|
248
|
+
strokeColor: this.getNodeStrokeColor(node),
|
|
249
|
+
strokeWidth: this.nodeStrokeWidth(),
|
|
250
|
+
borderRadius: this.nodeBorderRadius(),
|
|
251
|
+
shapeRendering: this.shapeRendering,
|
|
252
|
+
className: this.getNodeClassName(node),
|
|
252
253
|
};
|
|
253
|
-
this.animationFrameId = requestAnimationFrame(animate);
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
onMinimapClick(event) {
|
|
256
|
+
// Pass the SVG node explicitly so d3's pointer() maps through the SVG's
|
|
257
|
+
// CTM/viewBox → flow coordinates. Without the node arg, d3 falls back to
|
|
258
|
+
// event.currentTarget which in some environments doesn't yield the SVG CTM
|
|
259
|
+
// (e.g. when the listener was attached to an ancestor). React parity: React
|
|
260
|
+
// puts onClick on the <svg> and calls pointer(event) with no node; here we
|
|
261
|
+
// keep the binding on the SVG too but pass the node explicitly for safety.
|
|
262
|
+
const svgEl = this.minimapSvgRef()?.nativeElement ?? null;
|
|
263
|
+
const [x, y] = this.minimap && svgEl ? this.minimap.pointer(event, svgEl) : [0, 0];
|
|
264
|
+
this.minimapClick.emit({ event, position: { x, y } });
|
|
256
265
|
if (!this.pannable())
|
|
257
266
|
return;
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
document.addEventListener('mouseup', this.boundOnMouseUp);
|
|
262
|
-
}
|
|
263
|
-
onMinimapMouseMove(event) {
|
|
264
|
-
if (!this.isDragging)
|
|
265
|
-
return;
|
|
266
|
-
this.dragMoved = true;
|
|
267
|
-
const container = this.minimapContainerRef()?.nativeElement;
|
|
268
|
-
if (!container)
|
|
269
|
-
return;
|
|
270
|
-
const svgEl = container.querySelector('svg');
|
|
271
|
-
if (!svgEl)
|
|
272
|
-
return;
|
|
273
|
-
const rect = svgEl.getBoundingClientRect();
|
|
274
|
-
const clickX = event.clientX - rect.left;
|
|
275
|
-
const clickY = event.clientY - rect.top;
|
|
276
|
-
const v = this.viewBoxData();
|
|
277
|
-
const flowX = v.x + (clickX / this.mmWidth()) * v.width;
|
|
278
|
-
const flowY = v.y + (clickY / this.mmHeight()) * v.height;
|
|
279
|
-
const zoom = this.store.transform()[2];
|
|
280
|
-
const newX = this.store.width() / 2 - flowX * zoom;
|
|
281
|
-
const newY = this.store.height() / 2 - flowY * zoom;
|
|
282
|
-
this.store.transform.set([newX, newY, zoom]);
|
|
283
|
-
this.store.bumpVersion();
|
|
284
|
-
try {
|
|
285
|
-
this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom });
|
|
286
|
-
}
|
|
287
|
-
catch { /* noop */ }
|
|
288
|
-
}
|
|
289
|
-
onMinimapMouseUp() {
|
|
290
|
-
this.isDragging = false;
|
|
291
|
-
document.removeEventListener('mousemove', this.boundOnMouseMove);
|
|
292
|
-
document.removeEventListener('mouseup', this.boundOnMouseUp);
|
|
293
|
-
}
|
|
294
|
-
onMinimapWheel(event) {
|
|
295
|
-
if (!this.zoomable())
|
|
296
|
-
return;
|
|
297
|
-
event.preventDefault();
|
|
298
|
-
const currentZoom = this.store.transform()[2];
|
|
299
|
-
const delta = -event.deltaY * (this.zoomStep() / 1000);
|
|
300
|
-
const nextZoom = Math.min(this.store.maxZoom(), Math.max(this.store.minZoom(), currentZoom + delta));
|
|
301
|
-
const [x, y] = this.store.transform();
|
|
302
|
-
// Zoom toward the center of the viewport
|
|
303
|
-
const cx = this.store.width() / 2;
|
|
304
|
-
const cy = this.store.height() / 2;
|
|
305
|
-
const scale = nextZoom / currentZoom;
|
|
306
|
-
const newX = cx - (cx - x) * scale;
|
|
307
|
-
const newY = cy - (cy - y) * scale;
|
|
308
|
-
this.store.transform.set([newX, newY, nextZoom]);
|
|
309
|
-
this.store.bumpVersion();
|
|
310
|
-
try {
|
|
311
|
-
this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom: nextZoom });
|
|
312
|
-
}
|
|
313
|
-
catch { /* noop */ }
|
|
267
|
+
// setCenter (flow-store) honors interpolate/duration after Cluster 1; we
|
|
268
|
+
// only depend on passing duration here.
|
|
269
|
+
void this.store.setCenter(x, y, { zoom: this.store.transform()[2], duration: 300 });
|
|
314
270
|
}
|
|
315
271
|
onMinimapNodeClick(event, node) {
|
|
316
272
|
event.stopPropagation();
|
|
@@ -318,33 +274,23 @@ export class MiniMapComponent {
|
|
|
318
274
|
this.minimapNodeClick.emit({ event, node: node._userNode });
|
|
319
275
|
}
|
|
320
276
|
}
|
|
321
|
-
ngOnDestroy() {
|
|
322
|
-
if (this.animationFrameId !== null) {
|
|
323
|
-
cancelAnimationFrame(this.animationFrameId);
|
|
324
|
-
}
|
|
325
|
-
document.removeEventListener('mousemove', this.boundOnMouseMove);
|
|
326
|
-
document.removeEventListener('mouseup', this.boundOnMouseUp);
|
|
327
|
-
this.xyMinimap?.destroy();
|
|
328
|
-
}
|
|
329
277
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MiniMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
330
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: MiniMapComponent, isStandalone: true, selector: "ng-flow-minimap", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, mmWidth: { classPropertyName: "mmWidth", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, mmHeight: { classPropertyName: "mmHeight", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pannable: { classPropertyName: "pannable", publicName: "pannable", isSignal: true, isRequired: false, transformFunction: null }, zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, inversePan: { classPropertyName: "inversePan", publicName: "inversePan", isSignal: true, isRequired: false, transformFunction: null }, nodeColor: { classPropertyName: "nodeColor", publicName: "nodeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeColor: { classPropertyName: "nodeStrokeColor", publicName: "nodeStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeClassName: { classPropertyName: "nodeClassName", publicName: "nodeClassName", isSignal: true, isRequired: false, transformFunction: null }, nodeBorderRadius: { classPropertyName: "nodeBorderRadius", publicName: "nodeBorderRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeWidth: { classPropertyName: "nodeStrokeWidth", publicName: "nodeStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, nodeComponent: { classPropertyName: "nodeComponent", publicName: "nodeComponent", isSignal: true, isRequired: false, transformFunction: null }, bgColor: { classPropertyName: "bgColor", publicName: "bgColor", isSignal: true, isRequired: false, transformFunction: null }, maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeColor: { classPropertyName: "maskStrokeColor", publicName: "maskStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeWidth: { classPropertyName: "maskStrokeWidth", publicName: "maskStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, offsetScale: { classPropertyName: "offsetScale", publicName: "offsetScale", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { minimapClick: "minimapClick", minimapNodeClick: "minimapNodeClick" }, viewQueries: [{ propertyName: "
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: MiniMapComponent, isStandalone: true, selector: "ng-flow-minimap", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, mmWidth: { classPropertyName: "mmWidth", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, mmHeight: { classPropertyName: "mmHeight", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pannable: { classPropertyName: "pannable", publicName: "pannable", isSignal: true, isRequired: false, transformFunction: null }, zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, inversePan: { classPropertyName: "inversePan", publicName: "inversePan", isSignal: true, isRequired: false, transformFunction: null }, nodeColor: { classPropertyName: "nodeColor", publicName: "nodeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeColor: { classPropertyName: "nodeStrokeColor", publicName: "nodeStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeClassName: { classPropertyName: "nodeClassName", publicName: "nodeClassName", isSignal: true, isRequired: false, transformFunction: null }, nodeBorderRadius: { classPropertyName: "nodeBorderRadius", publicName: "nodeBorderRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeWidth: { classPropertyName: "nodeStrokeWidth", publicName: "nodeStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, nodeComponent: { classPropertyName: "nodeComponent", publicName: "nodeComponent", isSignal: true, isRequired: false, transformFunction: null }, bgColor: { classPropertyName: "bgColor", publicName: "bgColor", isSignal: true, isRequired: false, transformFunction: null }, maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeColor: { classPropertyName: "maskStrokeColor", publicName: "maskStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeWidth: { classPropertyName: "maskStrokeWidth", publicName: "maskStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, offsetScale: { classPropertyName: "offsetScale", publicName: "offsetScale", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { minimapClick: "minimapClick", minimapNodeClick: "minimapNodeClick" }, viewQueries: [{ propertyName: "minimapSvgRef", first: true, predicate: ["minimapSvg"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
331
279
|
<ng-flow-panel [position]="position()">
|
|
332
280
|
<div
|
|
333
281
|
class="ng-flow__minimap xy-flow__minimap"
|
|
334
|
-
#minimapContainer
|
|
335
282
|
[attr.aria-label]="ariaLabel()"
|
|
336
283
|
[style.width.px]="mmWidth()"
|
|
337
284
|
[style.height.px]="mmHeight()"
|
|
338
285
|
style="border-radius: 4px; overflow: hidden; border: 1px solid #ddd; box-shadow: 0 1px 4px rgba(0,0,0,0.1); cursor: pointer;"
|
|
339
|
-
(click)="onMinimapClick($event)"
|
|
340
|
-
(mousedown)="onMinimapMouseDown($event)"
|
|
341
|
-
(wheel)="onMinimapWheel($event)"
|
|
342
286
|
>
|
|
343
287
|
<svg
|
|
288
|
+
#minimapSvg
|
|
344
289
|
class="xy-flow__minimap-svg"
|
|
345
290
|
[attr.width]="mmWidth()"
|
|
346
291
|
[attr.height]="mmHeight()"
|
|
347
292
|
[attr.viewBox]="viewBox()"
|
|
293
|
+
(click)="onMinimapClick($event)"
|
|
348
294
|
>
|
|
349
295
|
<!-- Background -->
|
|
350
296
|
<rect x="-10000" y="-10000" width="20000" height="20000" [attr.fill]="bgColor() ?? '#f0f0f0'" />
|
|
@@ -358,19 +304,27 @@ export class MiniMapComponent {
|
|
|
358
304
|
deferring to the stylesheet's CSS-variable theming (incl. dark mode).
|
|
359
305
|
-->
|
|
360
306
|
@for (node of minimapNodes(); track node.id) {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
307
|
+
@if (nodeComponent(); as nc) {
|
|
308
|
+
<g (click)="onMinimapNodeClick($event, node)">
|
|
309
|
+
<ng-container
|
|
310
|
+
*ngComponentOutlet="nc; inputs: getNodeComponentInputs(node)"
|
|
311
|
+
/>
|
|
312
|
+
</g>
|
|
313
|
+
} @else {
|
|
314
|
+
<rect
|
|
315
|
+
class="xy-flow__minimap-node"
|
|
316
|
+
[class]="getNodeClassName(node)"
|
|
317
|
+
[attr.x]="node.x"
|
|
318
|
+
[attr.y]="node.y"
|
|
319
|
+
[attr.width]="node.width"
|
|
320
|
+
[attr.height]="node.height"
|
|
321
|
+
[attr.rx]="nodeBorderRadius()"
|
|
322
|
+
[style.fill]="getNodeColor(node)"
|
|
323
|
+
[style.stroke]="getNodeStrokeColor(node)"
|
|
324
|
+
[style.stroke-width]="nodeStrokeWidth()"
|
|
325
|
+
(click)="onMinimapNodeClick($event, node)"
|
|
326
|
+
/>
|
|
327
|
+
}
|
|
374
328
|
}
|
|
375
329
|
<!-- Mask overlay: dim area outside viewport via evenodd path -->
|
|
376
330
|
<path
|
|
@@ -394,33 +348,31 @@ export class MiniMapComponent {
|
|
|
394
348
|
</svg>
|
|
395
349
|
</div>
|
|
396
350
|
</ng-flow-panel>
|
|
397
|
-
`, isInline: true, dependencies: [{ kind: "component", type: PanelComponent, selector: "ng-flow-panel", inputs: ["position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
351
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PanelComponent, selector: "ng-flow-panel", inputs: ["position"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
398
352
|
}
|
|
399
353
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MiniMapComponent, decorators: [{
|
|
400
354
|
type: Component,
|
|
401
355
|
args: [{
|
|
402
356
|
selector: 'ng-flow-minimap',
|
|
403
357
|
standalone: true,
|
|
404
|
-
imports: [PanelComponent],
|
|
358
|
+
imports: [PanelComponent, NgComponentOutlet],
|
|
405
359
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
406
360
|
template: `
|
|
407
361
|
<ng-flow-panel [position]="position()">
|
|
408
362
|
<div
|
|
409
363
|
class="ng-flow__minimap xy-flow__minimap"
|
|
410
|
-
#minimapContainer
|
|
411
364
|
[attr.aria-label]="ariaLabel()"
|
|
412
365
|
[style.width.px]="mmWidth()"
|
|
413
366
|
[style.height.px]="mmHeight()"
|
|
414
367
|
style="border-radius: 4px; overflow: hidden; border: 1px solid #ddd; box-shadow: 0 1px 4px rgba(0,0,0,0.1); cursor: pointer;"
|
|
415
|
-
(click)="onMinimapClick($event)"
|
|
416
|
-
(mousedown)="onMinimapMouseDown($event)"
|
|
417
|
-
(wheel)="onMinimapWheel($event)"
|
|
418
368
|
>
|
|
419
369
|
<svg
|
|
370
|
+
#minimapSvg
|
|
420
371
|
class="xy-flow__minimap-svg"
|
|
421
372
|
[attr.width]="mmWidth()"
|
|
422
373
|
[attr.height]="mmHeight()"
|
|
423
374
|
[attr.viewBox]="viewBox()"
|
|
375
|
+
(click)="onMinimapClick($event)"
|
|
424
376
|
>
|
|
425
377
|
<!-- Background -->
|
|
426
378
|
<rect x="-10000" y="-10000" width="20000" height="20000" [attr.fill]="bgColor() ?? '#f0f0f0'" />
|
|
@@ -434,19 +386,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
434
386
|
deferring to the stylesheet's CSS-variable theming (incl. dark mode).
|
|
435
387
|
-->
|
|
436
388
|
@for (node of minimapNodes(); track node.id) {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
389
|
+
@if (nodeComponent(); as nc) {
|
|
390
|
+
<g (click)="onMinimapNodeClick($event, node)">
|
|
391
|
+
<ng-container
|
|
392
|
+
*ngComponentOutlet="nc; inputs: getNodeComponentInputs(node)"
|
|
393
|
+
/>
|
|
394
|
+
</g>
|
|
395
|
+
} @else {
|
|
396
|
+
<rect
|
|
397
|
+
class="xy-flow__minimap-node"
|
|
398
|
+
[class]="getNodeClassName(node)"
|
|
399
|
+
[attr.x]="node.x"
|
|
400
|
+
[attr.y]="node.y"
|
|
401
|
+
[attr.width]="node.width"
|
|
402
|
+
[attr.height]="node.height"
|
|
403
|
+
[attr.rx]="nodeBorderRadius()"
|
|
404
|
+
[style.fill]="getNodeColor(node)"
|
|
405
|
+
[style.stroke]="getNodeStrokeColor(node)"
|
|
406
|
+
[style.stroke-width]="nodeStrokeWidth()"
|
|
407
|
+
(click)="onMinimapNodeClick($event, node)"
|
|
408
|
+
/>
|
|
409
|
+
}
|
|
450
410
|
}
|
|
451
411
|
<!-- Mask overlay: dim area outside viewport via evenodd path -->
|
|
452
412
|
<path
|
|
@@ -472,5 +432,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
472
432
|
</ng-flow-panel>
|
|
473
433
|
`,
|
|
474
434
|
}]
|
|
475
|
-
}], propDecorators: {
|
|
435
|
+
}], ctorParameters: () => [], propDecorators: { minimapSvgRef: [{ type: i0.ViewChild, args: ['minimapSvg', { isSignal: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], mmWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], mmHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], pannable: [{ type: i0.Input, args: [{ isSignal: true, alias: "pannable", required: false }] }], zoomable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomable", required: false }] }], zoomStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomStep", required: false }] }], inversePan: [{ type: i0.Input, args: [{ isSignal: true, alias: "inversePan", required: false }] }], nodeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeColor", required: false }] }], nodeStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeColor", required: false }] }], nodeClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeClassName", required: false }] }], nodeBorderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeBorderRadius", required: false }] }], nodeStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeWidth", required: false }] }], nodeComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeComponent", required: false }] }], bgColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "bgColor", required: false }] }], maskColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskColor", required: false }] }], maskStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeColor", required: false }] }], maskStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeWidth", required: false }] }], offsetScale: [{ type: i0.Input, args: [{ isSignal: true, alias: "offsetScale", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], minimapClick: [{ type: i0.Output, args: ["minimapClick"] }], minimapNodeClick: [{ type: i0.Output, args: ["minimapNodeClick"] }] } });
|
|
476
436
|
//# sourceMappingURL=minimap.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimap.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"minimap.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,UAAU,GAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,SAAS,GAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;;AAS1D;;;;;;;;GAQG;AAiFH,MAAM,OAAO,gBAAgB;IA8D3B;QA7DS,UAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,kBAAa,GAAG,SAAS,CAA4B,YAAY,oFAAC,CAAC;QAE3E,2CAA2C;QAClC,aAAQ,GAAG,KAAK,CAAgB,cAAc,+EAAC,CAAC;QACzD,mDAAmD;QAC1C,YAAO,GAAG,KAAK,CAAC,GAAG,+EAAI,KAAK,EAAE,OAAO,GAAG,CAAC;QAClD,qDAAqD;QAC5C,aAAQ,GAAG,KAAK,CAAC,GAAG,gFAAI,KAAK,EAAE,QAAQ,GAAG,CAAC;QACpD,8DAA8D;QACrD,aAAQ,GAAG,KAAK,CAAC,KAAK,+EAAC,CAAC;QACjC,mEAAmE;QAC1D,aAAQ,GAAG,KAAK,CAAC,KAAK,+EAAC,CAAC;QACjC,wDAAwD;QAC/C,aAAQ,GAAG,KAAK,CAAC,CAAC,+EAAC,CAAC;QAC7B,6DAA6D;QACpD,eAAU,GAAG,KAAK,CAAC,KAAK,iFAAC,CAAC;QAEnC;;;WAGG;QACM,cAAS,GAAG,KAAK,0FAAoC,CAAC;QAC/D;;;WAGG;QACM,oBAAe,GAAG,KAAK,gGAAoC,CAAC;QACrE,wDAAwD;QAC/C,kBAAa,GAAG,KAAK,CAAmC,EAAE,oFAAC,CAAC;QACrE,yCAAyC;QAChC,qBAAgB,GAAG,KAAK,CAAC,CAAC,uFAAC,CAAC;QACrC,mCAAmC;QAC1B,oBAAe,GAAG,KAAK,CAAC,CAAC,sFAAC,CAAC;QACpC,oIAAoI;QAC3H,kBAAa,GAAG,KAAK,CAAuB,IAAI,oFAAC,CAAC;QAE3D,+DAA+D;QACtD,YAAO,GAAG,KAAK,wFAAU,CAAC;QACnC;;;WAGG;QACM,cAAS,GAAG,KAAK,0FAAU,CAAC;QACrC,8CAA8C;QACrC,oBAAe,GAAG,KAAK,gGAAU,CAAC;QAC3C,qEAAqE;QAC5D,oBAAe,GAAG,KAAK,CAAC,CAAC,sFAAC,CAAC;QACpC,6DAA6D;QACpD,gBAAW,GAAG,KAAK,CAAC,CAAC,kFAAC,CAAC;QAEhC,kCAAkC;QACzB,cAAS,GAAG,KAAK,CAAgB,UAAU,gFAAC,CAAC;QAEtD,uFAAuF;QAC9E,iBAAY,GAAG,MAAM,EAA6D,CAAC;QAC5F,4DAA4D;QACnD,qBAAgB,GAAG,MAAM,EAAqC,CAAC;QAEhE,YAAO,GAA6B,IAAI,CAAC;QA2DxC,iBAAY,GAAG,QAAQ,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,wBAAwB;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBAC3C,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;gBAChD,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;gBAClD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ;aACpC,CAAC,CAAC,CAAC;QACN,CAAC,mFAAC,CAAC;QAEH,uDAAuD;QAC9C,iBAAY,GAAG,QAAQ,CAAC,GAAG,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;gBACL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjB,CAAC;QACJ,CAAC,mFAAC,CAAC;QAEH,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,4CAA4C;QACnC,gBAAW,GAAG,QAAQ,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAErB,MAAM,MAAM,GAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAElC,IAAI,YAAkB,CAAC;YACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC;gBACzE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;wBAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;wBAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI;wBAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBAC/C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI;wBAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACnD,CAAC;gBACD,MAAM,SAAS,GAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;gBACtF,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC;YACtD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;YAC3C,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC;YAC9C,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACzE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC3E,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;YAEvC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC,kFAAC,CAAC;QAEM,YAAO,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,CAAC,8EAAC,CAAC;QAEH,oEAAoE;QACpE,kEAAkE;QAClE,2CAA2C;QAClC,0BAAqB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,4FAAC,CAAC;QAEvG,+DAA+D;QAC/D,qEAAqE;QACrE,iEAAiE;QACjE,mDAAmD;QAC1C,aAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,OAAO,CACL,qCAAqC;gBACrC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CACrD,CAAC;QACJ,CAAC,+EAAC,CAAC;QA6BH,2EAA2E;QAC3E,iEAAiE;QACjE,0DAA0D;QACzC,mBAAc,GAC7B,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAE,MAA+B,CAAC,MAAM;YACxE,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,oBAAoB,CAAC;QAtLzB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtC,uEAAuE;QACvE,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC;YAClD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YAE/C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACvB,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS;aACjD,CAAC,CAAC;YAEH,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,CAAC,GAAG,EAAE;YACV,yEAAyE;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,MAAM,MAAM,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACzB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC1B,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IA+FD,6EAA6E;IAC7E,0EAA0E;IAC1E,6BAA6B;IAC7B,YAAY,CAAC,IAA0B;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,IAA0B;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,IAA0B;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAUD,4EAA4E;IAC5E,sBAAsB,CAAC,IAQtB;QACC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC9B,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;YACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAiB;QAC9B,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,IAAI,IAAI,CAAC;QAC1D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QAE7B,yEAAyE;QACzE,wCAAwC;QACxC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,kBAAkB,CAAC,KAAiB,EAAE,IAA0B;QAC9D,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;+GAzSU,gBAAgB;mGAAhB,gBAAgB,g1FA3EjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyET,4DA3ES,cAAc,gFAAE,iBAAiB;;4FA6EhC,gBAAgB;kBAhF5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;oBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyET;iBACF;qGAG8D,YAAY"}
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
/**
|
|
3
3
|
* Provides a `FlowStore` and `NgFlowService` to its descendants without
|
|
4
|
-
* rendering a flow
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* rendering a flow, so flow state can be shared across siblings of a
|
|
5
|
+
* `<ng-flow>` rather than only its children.
|
|
6
|
+
*
|
|
7
|
+
* A descendant `<ng-flow>` reuses this provider's `FlowStore` and
|
|
8
|
+
* `NgFlowService` instead of creating its own (it resolves them with
|
|
9
|
+
* `skipSelf`), so any sibling that injects `NgFlowService` (e.g. a sidebar
|
|
10
|
+
* calling `fitView` or `setNodes`) observes and mutates the same state the
|
|
11
|
+
* flow renders. The provider owns the store's lifetime: unmounting the inner
|
|
12
|
+
* `<ng-flow>` does NOT clear the shared store's graph state (nodes, edges,
|
|
13
|
+
* etc.) — surviving siblings keep observing it, matching ReactFlow's provider
|
|
14
|
+
* semantics. Only the panZoom instance is cleared on inner unmount, because
|
|
15
|
+
* that DOM-bound object is destroyed along with the component.
|
|
7
16
|
*
|
|
8
17
|
* @example
|
|
9
18
|
* ```html
|
|
10
19
|
* <ng-flow-provider>
|
|
11
20
|
* <ng-flow [nodes]="nodes" [edges]="edges" />
|
|
12
|
-
* <my-sidebar /> <!--
|
|
21
|
+
* <my-sidebar /> <!-- inject NgFlowService; sees the same store -->
|
|
13
22
|
* </ng-flow-provider>
|
|
14
23
|
* ```
|
|
15
24
|
*/
|
|
@@ -17,4 +26,3 @@ export declare class NgFlowProviderComponent {
|
|
|
17
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgFlowProviderComponent, never>;
|
|
18
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgFlowProviderComponent, "ng-flow-provider", never, {}, {}, never, ["*"], true, never>;
|
|
19
28
|
}
|
|
20
|
-
//# sourceMappingURL=ng-flow-provider.component.d.ts.map
|
|
@@ -4,15 +4,24 @@ import { NgFlowService } from '../../services/ng-flow.service';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* Provides a `FlowStore` and `NgFlowService` to its descendants without
|
|
7
|
-
* rendering a flow
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* rendering a flow, so flow state can be shared across siblings of a
|
|
8
|
+
* `<ng-flow>` rather than only its children.
|
|
9
|
+
*
|
|
10
|
+
* A descendant `<ng-flow>` reuses this provider's `FlowStore` and
|
|
11
|
+
* `NgFlowService` instead of creating its own (it resolves them with
|
|
12
|
+
* `skipSelf`), so any sibling that injects `NgFlowService` (e.g. a sidebar
|
|
13
|
+
* calling `fitView` or `setNodes`) observes and mutates the same state the
|
|
14
|
+
* flow renders. The provider owns the store's lifetime: unmounting the inner
|
|
15
|
+
* `<ng-flow>` does NOT clear the shared store's graph state (nodes, edges,
|
|
16
|
+
* etc.) — surviving siblings keep observing it, matching ReactFlow's provider
|
|
17
|
+
* semantics. Only the panZoom instance is cleared on inner unmount, because
|
|
18
|
+
* that DOM-bound object is destroyed along with the component.
|
|
10
19
|
*
|
|
11
20
|
* @example
|
|
12
21
|
* ```html
|
|
13
22
|
* <ng-flow-provider>
|
|
14
23
|
* <ng-flow [nodes]="nodes" [edges]="edges" />
|
|
15
|
-
* <my-sidebar /> <!--
|
|
24
|
+
* <my-sidebar /> <!-- inject NgFlowService; sees the same store -->
|
|
16
25
|
* </ng-flow-provider>
|
|
17
26
|
* ```
|
|
18
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-flow-provider.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/ng-flow-provider/ng-flow-provider.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;;AAE/D
|
|
1
|
+
{"version":3,"file":"ng-flow-provider.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/ng-flow-provider/ng-flow-provider.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,MAAM,OAAO,uBAAuB;+GAAvB,uBAAuB;mGAAvB,uBAAuB,+DAJvB,CAAC,SAAS,EAAE,aAAa,CAAC,0BAE3B,gBAAgB;;4FAEf,uBAAuB;kBAPnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,gBAAgB;iBAC3B"}
|
|
@@ -14,6 +14,7 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
export declare class NodeResizerComponent implements AfterViewInit, OnDestroy {
|
|
15
15
|
private store;
|
|
16
16
|
private el;
|
|
17
|
+
private injector;
|
|
17
18
|
/** Node to resize. Defaults to the host node when placed inside a node template. Aliased as `nodeId`. */
|
|
18
19
|
readonly nodeIdInput: import("@angular/core").InputSignal<string | undefined>;
|
|
19
20
|
/** Minimum allowed width in pixels. */
|
|
@@ -77,8 +78,8 @@ export declare class NodeResizerComponent implements AfterViewInit, OnDestroy {
|
|
|
77
78
|
readonly effectivelyVisible: import("@angular/core").Signal<boolean>;
|
|
78
79
|
constructor(nodeId: string | null);
|
|
79
80
|
ngAfterViewInit(): void;
|
|
81
|
+
private applyResizerConfig;
|
|
80
82
|
ngOnDestroy(): void;
|
|
81
83
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeResizerComponent, [{ optional: true; }]>;
|
|
82
84
|
static ɵcmp: i0.ɵɵComponentDeclaration<NodeResizerComponent, "ng-flow-node-resizer", never, { "nodeIdInput": { "alias": "nodeId"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "keepAspectRatio": { "alias": "keepAspectRatio"; "required": false; "isSignal": true; }; "isVisible": { "alias": "isVisible"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "handleClassName": { "alias": "handleClassName"; "required": false; "isSignal": true; }; "handleStyle": { "alias": "handleStyle"; "required": false; "isSignal": true; }; "lineClassName": { "alias": "lineClassName"; "required": false; "isSignal": true; }; "lineStyle": { "alias": "lineStyle"; "required": false; "isSignal": true; }; "autoScale": { "alias": "autoScale"; "required": false; "isSignal": true; }; "shouldResize": { "alias": "shouldResize"; "required": false; "isSignal": true; }; "onResizeStartCb": { "alias": "onResizeStart"; "required": false; "isSignal": true; }; "onResizeCb": { "alias": "onResize"; "required": false; "isSignal": true; }; "onResizeEndCb": { "alias": "onResizeEnd"; "required": false; "isSignal": true; }; }, { "resizeStart": "resizeStart"; "resize": "resize"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
|
|
83
85
|
}
|
|
84
|
-
//# sourceMappingURL=node-resizer.component.d.ts.map
|