@foblex/flow 12.3.7 → 12.5.0
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 +25 -9
- package/domain/emit-transform-changes/emit-transform-changes.execution.d.ts +11 -0
- package/domain/emit-transform-changes/emit-transform-changes.request.d.ts +2 -0
- package/domain/emit-transform-changes/index.d.ts +2 -0
- package/domain/get-external-nodes-rect/get-external-nodes-rect.execution.d.ts +14 -0
- package/domain/get-external-nodes-rect/get-external-nodes-rect.request.d.ts +2 -0
- package/domain/get-external-nodes-rect/index.d.ts +2 -0
- package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -0
- package/domain/index.d.ts +3 -0
- package/domain/intersections/rounded-rect/rounded-rect.d.ts +1 -0
- package/domain/providers.d.ts +4 -1
- package/domain/subscribe-on-transform-changes/index.d.ts +2 -0
- package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.d.ts +13 -0
- package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.d.ts +2 -0
- package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +25 -0
- package/esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs +3 -0
- package/esm2022/domain/emit-transform-changes/index.mjs +3 -0
- package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.execution.mjs +35 -0
- package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.request.mjs +3 -0
- package/esm2022/domain/get-external-nodes-rect/index.mjs +3 -0
- package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +8 -6
- package/esm2022/domain/index.mjs +4 -1
- package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +31 -5
- package/esm2022/domain/providers.mjs +7 -1
- package/esm2022/domain/subscribe-on-transform-changes/index.mjs +3 -0
- package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +28 -0
- package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +3 -0
- package/esm2022/f-canvas/f-canvas.component.mjs +5 -4
- package/esm2022/f-canvas/index.mjs +1 -2
- package/esm2022/f-canvas/providers.mjs +1 -3
- package/esm2022/f-connection/common/f-connection-base.mjs +2 -2
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +10 -2
- package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +2 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +1 -4
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +4 -1
- package/esm2022/f-draggable/e-f-draggable-type.mjs +2 -2
- package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-base.mjs +4 -4
- package/esm2022/f-draggable/f-draggable.directive.mjs +44 -9
- package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +3 -0
- package/esm2022/f-draggable/index.mjs +2 -1
- package/esm2022/f-draggable/providers.mjs +4 -2
- package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +3 -1
- package/esm2022/f-draggable/single-select/single-select.validator.mjs +9 -5
- package/esm2022/f-flow/f-flow.component.mjs +8 -6
- package/esm2022/f-flow.module.mjs +17 -7
- package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +43 -0
- package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +13 -0
- package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs +3 -0
- package/esm2022/f-minimap/domain/f-minimap-data.mjs +12 -0
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +43 -0
- package/esm2022/f-minimap/domain/index.mjs +7 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +5 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +27 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +7 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +26 -0
- package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +7 -0
- package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +5 -0
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +52 -0
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +9 -0
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +30 -0
- package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +7 -0
- package/esm2022/f-minimap/domain/providers.mjs +9 -0
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +65 -0
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +78 -0
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +40 -0
- package/esm2022/f-minimap/f-minimap.component.mjs +72 -0
- package/esm2022/f-minimap/index.mjs +7 -0
- package/esm2022/f-minimap/providers.mjs +11 -0
- package/esm2022/f-node/f-node.directive.mjs +12 -4
- package/esm2022/f-storage/f-components-store.mjs +1 -1
- package/esm2022/f-storage/f-transform-store.mjs +12 -0
- package/esm2022/f-storage/index.mjs +2 -1
- package/esm2022/f-zoom/f-zoom-base.mjs +97 -0
- package/esm2022/f-zoom/f-zoom.directive.mjs +59 -0
- package/esm2022/f-zoom/index.mjs +4 -0
- package/esm2022/f-zoom/providers.mjs +5 -0
- package/esm2022/infrastructure/pipeline/pipeline.mjs +1 -1
- package/esm2022/public-api.mjs +3 -1
- package/f-canvas/index.d.ts +0 -1
- package/f-canvas/providers.d.ts +1 -2
- package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -1
- package/f-draggable/e-f-draggable-type.d.ts +1 -1
- package/f-draggable/f-draggable-base.d.ts +2 -2
- package/f-draggable/f-draggable.directive.d.ts +8 -4
- package/f-draggable/i-f-drag-and-drop-plugin.d.ts +9 -0
- package/f-draggable/index.d.ts +1 -0
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.validator.d.ts +3 -1
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-flow.module.d.ts +12 -8
- package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +18 -0
- package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.d.ts +9 -0
- package/f-minimap/domain/calculate-flow-point-from-minimap-point/index.d.ts +2 -0
- package/f-minimap/domain/f-minimap-data.d.ts +7 -0
- package/f-minimap/domain/f-minimap.drag-handler.d.ts +21 -0
- package/f-minimap/domain/index.d.ts +6 -0
- package/f-minimap/domain/minimap-drag-finalize/index.d.ts +4 -0
- package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +11 -0
- package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.d.ts +5 -0
- package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +11 -0
- package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +3 -0
- package/f-minimap/domain/minimap-drag-preparation/index.d.ts +4 -0
- package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +17 -0
- package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.d.ts +7 -0
- package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +13 -0
- package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +3 -0
- package/f-minimap/domain/providers.d.ts +2 -0
- package/f-minimap/f-minimap-canvas.directive.d.ts +22 -0
- package/f-minimap/f-minimap-flow.directive.d.ts +28 -0
- package/f-minimap/f-minimap-view.directive.d.ts +14 -0
- package/f-minimap/f-minimap.component.d.ts +26 -0
- package/f-minimap/index.d.ts +6 -0
- package/f-minimap/providers.d.ts +5 -0
- package/f-node/f-node.directive.d.ts +4 -1
- package/f-storage/f-transform-store.d.ts +7 -0
- package/f-storage/index.d.ts +1 -0
- package/{f-canvas/f-zoom → f-zoom}/f-zoom-base.d.ts +1 -1
- package/{f-canvas/f-zoom → f-zoom}/f-zoom.directive.d.ts +1 -1
- package/{f-canvas/f-zoom → f-zoom}/index.d.ts +1 -0
- package/f-zoom/providers.d.ts +2 -0
- package/fesm2022/foblex-flow.mjs +3434 -2789
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +4 -4
- package/public-api.d.ts +2 -0
- package/esm2022/f-canvas/f-zoom/f-zoom-base.mjs +0 -95
- package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +0 -59
- package/esm2022/f-canvas/f-zoom/index.mjs +0 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class CalculateFlowPointFromMinimapPointRequest {
|
|
2
|
+
flowRect;
|
|
3
|
+
canvasPosition;
|
|
4
|
+
eventPoint;
|
|
5
|
+
minimap;
|
|
6
|
+
constructor(flowRect, canvasPosition, eventPoint, minimap) {
|
|
7
|
+
this.flowRect = flowRect;
|
|
8
|
+
this.canvasPosition = canvasPosition;
|
|
9
|
+
this.eventPoint = eventPoint;
|
|
10
|
+
this.minimap = minimap;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWZsb3ctcG9pbnQtZnJvbS1taW5pbWFwLXBvaW50LnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vY2FsY3VsYXRlLWZsb3ctcG9pbnQtZnJvbS1taW5pbWFwLXBvaW50L2NhbGN1bGF0ZS1mbG93LXBvaW50LWZyb20tbWluaW1hcC1wb2ludC5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx5Q0FBeUM7SUFHM0M7SUFDQTtJQUNBO0lBQ0E7SUFKVCxZQUNTLFFBQWUsRUFDZixjQUFzQixFQUN0QixVQUFrQixFQUNsQixPQUFxQjtRQUhyQixhQUFRLEdBQVIsUUFBUSxDQUFPO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFjO0lBRTlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRk1pbmltYXBEYXRhIH0gZnJvbSAnLi4vZi1taW5pbWFwLWRhdGEnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlRmxvd1BvaW50RnJvbU1pbmltYXBQb2ludFJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmbG93UmVjdDogSVJlY3QsXG4gICAgcHVibGljIGNhbnZhc1Bvc2l0aW9uOiBJUG9pbnQsXG4gICAgcHVibGljIGV2ZW50UG9pbnQ6IElQb2ludCxcbiAgICBwdWJsaWMgbWluaW1hcDogRk1pbmltYXBEYXRhXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './calculate-flow-point-from-minimap-point.request';
|
|
2
|
+
export * from './calculate-flow-point-from-minimap-point.execution';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vY2FsY3VsYXRlLWZsb3ctcG9pbnQtZnJvbS1taW5pbWFwLXBvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWZsb3ctcG9pbnQtZnJvbS1taW5pbWFwLXBvaW50LnJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1mbG93LXBvaW50LWZyb20tbWluaW1hcC1wb2ludC5leGVjdXRpb24nO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RectExtensions } from '@foblex/core';
|
|
2
|
+
export class FMinimapData {
|
|
3
|
+
element;
|
|
4
|
+
scale;
|
|
5
|
+
viewBox;
|
|
6
|
+
constructor(element, scale = 1, viewBox = RectExtensions.initialize(0, 0, 0, 0)) {
|
|
7
|
+
this.element = element;
|
|
8
|
+
this.scale = scale;
|
|
9
|
+
this.viewBox = viewBox;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vZi1taW5pbWFwLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRCxNQUFNLE9BQU8sWUFBWTtJQUdkO0lBQ0E7SUFDQTtJQUhULFlBQ1MsT0FBc0IsRUFDdEIsUUFBZ0IsQ0FBQyxFQUNqQixVQUFpQixjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUZ0RCxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBK0M7SUFFL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEZNaW5pbWFwRGF0YSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnQ6IFNWR1NWR0VsZW1lbnQsXG4gICAgcHVibGljIHNjYWxlOiBudW1iZXIgPSAxLFxuICAgIHB1YmxpYyB2aWV3Qm94OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMCwgMCwgMClcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Point } from '@foblex/core';
|
|
2
|
+
import { EFDraggableType } from '../../f-draggable';
|
|
3
|
+
import { CalculateFlowPointFromMinimapPointRequest } from './calculate-flow-point-from-minimap-point';
|
|
4
|
+
export class FMinimapDragHandler {
|
|
5
|
+
fComponentsStore;
|
|
6
|
+
fMediator;
|
|
7
|
+
flowRect;
|
|
8
|
+
canvasPosition;
|
|
9
|
+
eventPoint;
|
|
10
|
+
minimap;
|
|
11
|
+
type = EFDraggableType.MINI_MAP;
|
|
12
|
+
lastDifference = null;
|
|
13
|
+
constructor(fComponentsStore, fMediator, flowRect, canvasPosition, eventPoint, minimap) {
|
|
14
|
+
this.fComponentsStore = fComponentsStore;
|
|
15
|
+
this.fMediator = fMediator;
|
|
16
|
+
this.flowRect = flowRect;
|
|
17
|
+
this.canvasPosition = canvasPosition;
|
|
18
|
+
this.eventPoint = eventPoint;
|
|
19
|
+
this.minimap = minimap;
|
|
20
|
+
}
|
|
21
|
+
initialize() {
|
|
22
|
+
this.fComponentsStore.fCanvas?.hostElement.classList.add('f-scaled-animate');
|
|
23
|
+
}
|
|
24
|
+
move(difference) {
|
|
25
|
+
if (this.lastDifference && this.isSamePoint(difference, this.lastDifference)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.lastDifference = difference;
|
|
29
|
+
this.fComponentsStore.fCanvas.setPosition(this.getNewPosition(Point.fromPoint(this.eventPoint).add(difference)));
|
|
30
|
+
this.fComponentsStore.fCanvas.redraw();
|
|
31
|
+
}
|
|
32
|
+
isSamePoint(point1, point2) {
|
|
33
|
+
return point1.x === point2.x && point1.y === point2.y;
|
|
34
|
+
}
|
|
35
|
+
getNewPosition(eventPoint) {
|
|
36
|
+
return this.fMediator.send(new CalculateFlowPointFromMinimapPointRequest(this.flowRect, this.canvasPosition, eventPoint, this.minimap));
|
|
37
|
+
}
|
|
38
|
+
complete() {
|
|
39
|
+
this.fComponentsStore.fCanvas?.hostElement.classList.remove('f-scaled-animate');
|
|
40
|
+
this.fComponentsStore.fCanvas.completeDrag();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2RvbWFpbi9mLW1pbmltYXAuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sbUJBQW1CLENBQUM7QUFFcEUsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHdEcsTUFBTSxPQUFPLG1CQUFtQjtJQU9wQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFWTSxJQUFJLEdBQW9CLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFFekQsY0FBYyxHQUFrQixJQUFJLENBQUM7SUFFN0MsWUFDVSxnQkFBa0MsRUFDbEMsU0FBd0IsRUFDeEIsUUFBZSxFQUNmLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQ2xCLE9BQXFCO1FBTHJCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFPO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFjO0lBRS9CLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNoRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUFrQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFTLElBQUkseUNBQXlDLENBQzlFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FDN0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEVGRHJhZ2dhYmxlVHlwZSwgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlRmxvd1BvaW50RnJvbU1pbmltYXBQb2ludFJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1mbG93LXBvaW50LWZyb20tbWluaW1hcC1wb2ludCc7XG5pbXBvcnQgeyBGTWluaW1hcERhdGEgfSBmcm9tICcuL2YtbWluaW1hcC1kYXRhJztcblxuZXhwb3J0IGNsYXNzIEZNaW5pbWFwRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGRHJhZ2dhYmxlVHlwZSA9IEVGRHJhZ2dhYmxlVHlwZS5NSU5JX01BUDtcblxuICBwcml2YXRlIGxhc3REaWZmZXJlbmNlOiBJUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmbG93UmVjdDogSVJlY3QsXG4gICAgcHJpdmF0ZSBjYW52YXNQb3NpdGlvbjogSVBvaW50LFxuICAgIHByaXZhdGUgZXZlbnRQb2ludDogSVBvaW50LFxuICAgIHByaXZhdGUgbWluaW1hcDogRk1pbmltYXBEYXRhXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Ytc2NhbGVkLWFuaW1hdGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxhc3REaWZmZXJlbmNlICYmIHRoaXMuaXNTYW1lUG9pbnQoZGlmZmVyZW5jZSwgdGhpcy5sYXN0RGlmZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxhc3REaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEuc2V0UG9zaXRpb24odGhpcy5nZXROZXdQb3NpdGlvbihQb2ludC5mcm9tUG9pbnQodGhpcy5ldmVudFBvaW50KS5hZGQoZGlmZmVyZW5jZSkpKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIGlzU2FtZVBvaW50KHBvaW50MTogSVBvaW50LCBwb2ludDI6IElQb2ludCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwb2ludDEueCA9PT0gcG9pbnQyLnggJiYgcG9pbnQxLnkgPT09IHBvaW50Mi55O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdQb3NpdGlvbihldmVudFBvaW50OiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElQb2ludD4obmV3IENhbGN1bGF0ZUZsb3dQb2ludEZyb21NaW5pbWFwUG9pbnRSZXF1ZXN0KFxuICAgICAgdGhpcy5mbG93UmVjdCwgdGhpcy5jYW52YXNQb3NpdGlvbiwgZXZlbnRQb2ludCwgdGhpcy5taW5pbWFwXG4gICAgKSk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2Ytc2NhbGVkLWFuaW1hdGUnKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEuY29tcGxldGVEcmFnKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './calculate-flow-point-from-minimap-point';
|
|
2
|
+
export * from './minimap-drag-finalize';
|
|
3
|
+
export * from './minimap-drag-preparation';
|
|
4
|
+
export * from './f-minimap.drag-handler';
|
|
5
|
+
export * from './f-minimap-data';
|
|
6
|
+
export * from './providers';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtZmxvdy1wb2ludC1mcm9tLW1pbmltYXAtcG9pbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmltYXAtZHJhZy1maW5hbGl6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW1pbmltYXAuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW1pbmltYXAtZGF0YSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './providers';
|
|
2
|
+
export * from './minimap-drag-finalize.execution';
|
|
3
|
+
export * from './minimap-drag-finalize.request';
|
|
4
|
+
export * from './minimap-drag-finalize.validator';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vbWluaW1hcC1kcmFnLWZpbmFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmltYXAtZHJhZy1maW5hbGl6ZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmltYXAtZHJhZy1maW5hbGl6ZS5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9taW5pbWFwLWRyYWctZmluYWxpemUudmFsaWRhdG9yJztcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { MinimapDragFinalizeRequest } from './minimap-drag-finalize.request';
|
|
4
|
+
import { FExecutionRegister } from '../../../infrastructure';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../f-draggable";
|
|
7
|
+
let MinimapDragFinalizeExecution = class MinimapDragFinalizeExecution {
|
|
8
|
+
fDraggableDataContext;
|
|
9
|
+
constructor(fDraggableDataContext) {
|
|
10
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
11
|
+
}
|
|
12
|
+
handle(request) {
|
|
13
|
+
this.fDraggableDataContext.draggableItems.forEach((x) => {
|
|
14
|
+
x.complete?.();
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeExecution });
|
|
19
|
+
};
|
|
20
|
+
MinimapDragFinalizeExecution = __decorate([
|
|
21
|
+
FExecutionRegister(MinimapDragFinalizeRequest)
|
|
22
|
+
], MinimapDragFinalizeExecution);
|
|
23
|
+
export { MinimapDragFinalizeExecution };
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeExecution, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2RvbWFpbi9taW5pbWFwLWRyYWctZmluYWxpemUvbWluaW1hcC1kcmFnLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBS2xFLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBRzdCO0lBRFYsWUFDVSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW1DO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEQsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQVhVLDRCQUE0QjsyR0FBNUIsNEJBQTRCOztBQUE1Qiw0QkFBNEI7SUFEeEMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUM7R0FDbEMsNEJBQTRCLENBWXhDOzsyRkFaWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ0ZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vbWluaW1hcC1kcmFnLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE1pbmltYXBEcmFnRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE1pbmltYXBEcmFnRmluYWxpemVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPE1pbmltYXBEcmFnRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE1pbmltYXBEcmFnRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5jb21wbGV0ZT8uKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class MinimapDragFinalizeRequest {
|
|
2
|
+
event;
|
|
3
|
+
constructor(event) {
|
|
4
|
+
this.event = event;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLWZpbmFsaXplLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vbWluaW1hcC1kcmFnLWZpbmFsaXplL21pbmltYXAtZHJhZy1maW5hbGl6ZS5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywwQkFBMEI7SUFHNUI7SUFEVCxZQUNTLEtBQW9CO1FBQXBCLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbWFwRHJhZ0ZpbmFsaXplUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50XG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { MinimapDragFinalizeRequest } from './minimap-drag-finalize.request';
|
|
4
|
+
import { FValidatorRegister } from '../../../infrastructure';
|
|
5
|
+
import { FMinimapDragHandler } from '../f-minimap.drag-handler';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../f-draggable";
|
|
8
|
+
let MinimapDragFinalizeValidator = class MinimapDragFinalizeValidator {
|
|
9
|
+
fDraggableDataContext;
|
|
10
|
+
constructor(fDraggableDataContext) {
|
|
11
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
12
|
+
}
|
|
13
|
+
handle(request) {
|
|
14
|
+
return this.fDraggableDataContext.draggableItems.some((x) => x.constructor.name === FMinimapDragHandler.name);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeValidator });
|
|
18
|
+
};
|
|
19
|
+
MinimapDragFinalizeValidator = __decorate([
|
|
20
|
+
FValidatorRegister(MinimapDragFinalizeRequest)
|
|
21
|
+
], MinimapDragFinalizeValidator);
|
|
22
|
+
export { MinimapDragFinalizeValidator };
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragFinalizeValidator, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLWZpbmFsaXplLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2RvbWFpbi9taW5pbWFwLWRyYWctZmluYWxpemUvbWluaW1hcC1kcmFnLWZpbmFsaXplLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBSXpELElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBRzdCO0lBRFYsWUFDVSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ25ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3ZELENBQUM7SUFDSixDQUFDO3VHQVhVLDRCQUE0QjsyR0FBNUIsNEJBQTRCOztBQUE1Qiw0QkFBNEI7SUFEeEMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUM7R0FDbEMsNEJBQTRCLENBWXhDOzsyRkFaWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ0ZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vbWluaW1hcC1kcmFnLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRlZhbGlkYXRvclJlZ2lzdGVyLCBJVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRk1pbmltYXBEcmFnSGFuZGxlciB9IGZyb20gJy4uL2YtbWluaW1hcC5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARlZhbGlkYXRvclJlZ2lzdGVyKE1pbmltYXBEcmFnRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE1pbmltYXBEcmFnRmluYWxpemVWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdG9yPE1pbmltYXBEcmFnRmluYWxpemVSZXF1ZXN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTWluaW1hcERyYWdGaW5hbGl6ZVJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZShcbiAgICAgICh4KSA9PiB4LmNvbnN0cnVjdG9yLm5hbWUgPT09IEZNaW5pbWFwRHJhZ0hhbmRsZXIubmFtZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MinimapDragFinalizeExecution } from './minimap-drag-finalize.execution';
|
|
2
|
+
import { MinimapDragFinalizeValidator } from './minimap-drag-finalize.validator';
|
|
3
|
+
export const MINIMAP_DRAG_FINALIZE_PROVIDERS = [
|
|
4
|
+
MinimapDragFinalizeExecution,
|
|
5
|
+
MinimapDragFinalizeValidator,
|
|
6
|
+
];
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZG9tYWluL21pbmltYXAtZHJhZy1maW5hbGl6ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUc7SUFFN0MsNEJBQTRCO0lBRTVCLDRCQUE0QjtDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluaW1hcERyYWdGaW5hbGl6ZUV4ZWN1dGlvbiB9IGZyb20gJy4vbWluaW1hcC1kcmFnLWZpbmFsaXplLmV4ZWN1dGlvbic7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ0ZpbmFsaXplVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5pbWFwLWRyYWctZmluYWxpemUudmFsaWRhdG9yJztcblxuZXhwb3J0IGNvbnN0IE1JTklNQVBfRFJBR19GSU5BTElaRV9QUk9WSURFUlMgPSBbXG5cbiAgTWluaW1hcERyYWdGaW5hbGl6ZUV4ZWN1dGlvbixcblxuICBNaW5pbWFwRHJhZ0ZpbmFsaXplVmFsaWRhdG9yLFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './providers';
|
|
2
|
+
export * from './minimap-drag-preparation.execution';
|
|
3
|
+
export * from './minimap-drag-preparation.request';
|
|
4
|
+
export * from './minimap-drag-preparation.validator';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmltYXAtZHJhZy1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmltYXAtZHJhZy1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9taW5pbWFwLWRyYWctcHJlcGFyYXRpb24udmFsaWRhdG9yJztcbiJdfQ==
|
package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { MinimapDragPreparationRequest } from './minimap-drag-preparation.request';
|
|
4
|
+
import { Point, RectExtensions } from '@foblex/core';
|
|
5
|
+
import { FExecutionRegister } from '../../../infrastructure';
|
|
6
|
+
import { FMinimapDragHandler } from '../f-minimap.drag-handler';
|
|
7
|
+
import { CalculateFlowPointFromMinimapPointRequest } from '../calculate-flow-point-from-minimap-point';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../f-storage";
|
|
10
|
+
import * as i2 from "../../../infrastructure";
|
|
11
|
+
import * as i3 from "../../../f-draggable";
|
|
12
|
+
let MinimapDragPreparationExecution = class MinimapDragPreparationExecution {
|
|
13
|
+
fComponentsStore;
|
|
14
|
+
fMediator;
|
|
15
|
+
fDraggableDataContext;
|
|
16
|
+
get flowHost() {
|
|
17
|
+
return this.fComponentsStore.fFlow.hostElement;
|
|
18
|
+
}
|
|
19
|
+
constructor(fComponentsStore, fMediator, fDraggableDataContext) {
|
|
20
|
+
this.fComponentsStore = fComponentsStore;
|
|
21
|
+
this.fMediator = fMediator;
|
|
22
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
23
|
+
}
|
|
24
|
+
handle(request) {
|
|
25
|
+
const eventPoint = request.event.getPosition();
|
|
26
|
+
const startCanvasPosition = Point.fromPoint(this.fComponentsStore.fCanvas.transform.position);
|
|
27
|
+
this.fComponentsStore.fCanvas.setPosition(this.getNewPosition(eventPoint, request.minimap));
|
|
28
|
+
this.fComponentsStore.fCanvas.redraw();
|
|
29
|
+
this.fComponentsStore.fCanvas.completeDrag();
|
|
30
|
+
this.fDraggableDataContext.onPointerDownScale = 1;
|
|
31
|
+
this.fDraggableDataContext.onPointerDownPosition = Point.fromPoint(eventPoint).elementTransform(this.flowHost);
|
|
32
|
+
this.fDraggableDataContext.draggableItems = [
|
|
33
|
+
new FMinimapDragHandler(this.fComponentsStore, this.fMediator, this.getFlowRect(), startCanvasPosition, eventPoint, request.minimap)
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
getNewPosition(eventPoint, minimap) {
|
|
37
|
+
return this.fMediator.send(new CalculateFlowPointFromMinimapPointRequest(this.getFlowRect(), Point.fromPoint(this.fComponentsStore.fCanvas.transform.position), eventPoint, minimap));
|
|
38
|
+
}
|
|
39
|
+
getFlowRect() {
|
|
40
|
+
return RectExtensions.fromElement(this.flowHost);
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FFlowMediator }, { token: i3.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationExecution });
|
|
44
|
+
};
|
|
45
|
+
MinimapDragPreparationExecution = __decorate([
|
|
46
|
+
FExecutionRegister(MinimapDragPreparationRequest)
|
|
47
|
+
], MinimapDragPreparationExecution);
|
|
48
|
+
export { MinimapDragPreparationExecution };
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationExecution, decorators: [{
|
|
50
|
+
type: Injectable
|
|
51
|
+
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FFlowMediator }, { type: i3.FDraggableDataContext }] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2RvbWFpbi9taW5pbWFwLWRyYWctcHJlcGFyYXRpb24vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQWlCLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUE2QixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQUtoRyxJQUFNLCtCQUErQixHQUFyQyxNQUFNLCtCQUErQjtJQU9oQztJQUNBO0lBQ0E7SUFQVixJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMsU0FBd0IsRUFDeEIscUJBQTRDO1FBRjVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBc0M7UUFDbEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUc7WUFDMUMsSUFBSSxtQkFBbUIsQ0FDckIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUN6RCxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FDakQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUFrQixFQUFFLE9BQXFCO1FBQzlELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVMsSUFBSSx5Q0FBeUMsQ0FDOUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUNsRSxVQUFVLEVBQUUsT0FBTyxDQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7dUdBekNVLCtCQUErQjsyR0FBL0IsK0JBQStCOztBQUEvQiwrQkFBK0I7SUFEM0Msa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7R0FDckMsK0JBQStCLENBMEMzQzs7MkZBMUNZLCtCQUErQjtrQkFGM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYXBEcmFnUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9taW5pbWFwLWRyYWctcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBQb2ludCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGRmxvd01lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTWluaW1hcERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1taW5pbWFwLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVGbG93UG9pbnRGcm9tTWluaW1hcFBvaW50UmVxdWVzdCB9IGZyb20gJy4uL2NhbGN1bGF0ZS1mbG93LXBvaW50LWZyb20tbWluaW1hcC1wb2ludCc7XG5pbXBvcnQgeyBGTWluaW1hcERhdGEgfSBmcm9tICcuLi9mLW1pbmltYXAtZGF0YSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTWluaW1hcERyYWdQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248TWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE1pbmltYXBEcmFnUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRQb2ludCA9IHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKTtcbiAgICBjb25zdCBzdGFydENhbnZhc1Bvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0ucG9zaXRpb24pO1xuXG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnNldFBvc2l0aW9uKHRoaXMuZ2V0TmV3UG9zaXRpb24oZXZlbnRQb2ludCwgcmVxdWVzdC5taW5pbWFwKSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5jb21wbGV0ZURyYWcoKTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IDE7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KGV2ZW50UG9pbnQpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5mbG93SG9zdCk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICBuZXcgRk1pbmltYXBEcmFnSGFuZGxlcihcbiAgICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLCB0aGlzLmZNZWRpYXRvciwgdGhpcy5nZXRGbG93UmVjdCgpLFxuICAgICAgICBzdGFydENhbnZhc1Bvc2l0aW9uLCBldmVudFBvaW50LCByZXF1ZXN0Lm1pbmltYXAsXG4gICAgICApXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3UG9zaXRpb24oZXZlbnRQb2ludDogSVBvaW50LCBtaW5pbWFwOiBGTWluaW1hcERhdGEpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElQb2ludD4obmV3IENhbGN1bGF0ZUZsb3dQb2ludEZyb21NaW5pbWFwUG9pbnRSZXF1ZXN0KFxuICAgICAgdGhpcy5nZXRGbG93UmVjdCgpLFxuICAgICAgUG9pbnQuZnJvbVBvaW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0ucG9zaXRpb24pLFxuICAgICAgZXZlbnRQb2ludCwgbWluaW1hcCxcbiAgICApKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmxvd1JlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLmZsb3dIb3N0KTtcbiAgfVxufVxuIl19
|
package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class MinimapDragPreparationRequest {
|
|
2
|
+
event;
|
|
3
|
+
minimap;
|
|
4
|
+
constructor(event, minimap) {
|
|
5
|
+
this.event = event;
|
|
6
|
+
this.minimap = minimap;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9kb21haW4vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uL21pbmltYXAtZHJhZy1wcmVwYXJhdGlvbi5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyw2QkFBNkI7SUFHL0I7SUFDQTtJQUZULFlBQ1MsS0FBb0IsRUFDcEIsT0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixZQUFPLEdBQVAsT0FBTyxDQUFjO0lBRTlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRk1pbmltYXBEYXRhIH0gZnJvbSAnLi4vZi1taW5pbWFwLWRhdGEnO1xuXG5leHBvcnQgY2xhc3MgTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBldmVudDogSVBvaW50ZXJFdmVudCxcbiAgICBwdWJsaWMgbWluaW1hcDogRk1pbmltYXBEYXRhXG4gICkge1xuICB9XG59XG4iXX0=
|
package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { MinimapDragPreparationRequest } from './minimap-drag-preparation.request';
|
|
4
|
+
import { FValidatorRegister } from '../../../infrastructure';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../f-storage";
|
|
7
|
+
import * as i2 from "../../../f-draggable";
|
|
8
|
+
let MinimapDragPreparationValidator = class MinimapDragPreparationValidator {
|
|
9
|
+
fComponentsStore;
|
|
10
|
+
fDraggableDataContext;
|
|
11
|
+
constructor(fComponentsStore, fDraggableDataContext) {
|
|
12
|
+
this.fComponentsStore = fComponentsStore;
|
|
13
|
+
this.fDraggableDataContext = fDraggableDataContext;
|
|
14
|
+
}
|
|
15
|
+
handle(request) {
|
|
16
|
+
return !this.fDraggableDataContext.draggableItems.length &&
|
|
17
|
+
!!request.event.targetElement.closest('.f-minimap') &&
|
|
18
|
+
this.fComponentsStore.flowHost.contains(request.event.targetElement);
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationValidator, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationValidator });
|
|
22
|
+
};
|
|
23
|
+
MinimapDragPreparationValidator = __decorate([
|
|
24
|
+
FValidatorRegister(MinimapDragPreparationRequest)
|
|
25
|
+
], MinimapDragPreparationValidator);
|
|
26
|
+
export { MinimapDragPreparationValidator };
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MinimapDragPreparationValidator, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1taW5pbWFwL2RvbWFpbi9taW5pbWFwLWRyYWctcHJlcGFyYXRpb24vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQU1sRSxJQUFNLCtCQUErQixHQUFyQyxNQUFNLCtCQUErQjtJQUdoQztJQUNBO0lBRlYsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDO1FBRDVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXNDO1FBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE1BQU07WUFDdEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RSxDQUFDO3VHQVpVLCtCQUErQjsyR0FBL0IsK0JBQStCOztBQUEvQiwrQkFBK0I7SUFEM0Msa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7R0FDckMsK0JBQStCLENBYTNDOzsyRkFiWSwrQkFBK0I7a0JBRjNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ1ByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgRlZhbGlkYXRvclJlZ2lzdGVyLCBJVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGVmFsaWRhdG9yUmVnaXN0ZXIoTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTWluaW1hcERyYWdQcmVwYXJhdGlvblZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0b3I8TWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTWluaW1hcERyYWdQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCAmJlxuICAgICAgISFyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQuY2xvc2VzdCgnLmYtbWluaW1hcCcpICYmXG4gICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZmxvd0hvc3QuY29udGFpbnMocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MinimapDragPreparationExecution } from './minimap-drag-preparation.execution';
|
|
2
|
+
import { MinimapDragPreparationValidator } from './minimap-drag-preparation.validator';
|
|
3
|
+
export const MINIMAP_DRAG_PREPARATION_PROVIDERS = [
|
|
4
|
+
MinimapDragPreparationExecution,
|
|
5
|
+
MinimapDragPreparationValidator,
|
|
6
|
+
];
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZG9tYWluL21pbmltYXAtZHJhZy1wcmVwYXJhdGlvbi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUc7SUFFaEQsK0JBQStCO0lBRS9CLCtCQUErQjtDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluaW1hcERyYWdQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbWluaW1hcC1kcmFnLXByZXBhcmF0aW9uLmV4ZWN1dGlvbic7XG5pbXBvcnQgeyBNaW5pbWFwRHJhZ1ByZXBhcmF0aW9uVmFsaWRhdG9yIH0gZnJvbSAnLi9taW5pbWFwLWRyYWctcHJlcGFyYXRpb24udmFsaWRhdG9yJztcblxuZXhwb3J0IGNvbnN0IE1JTklNQVBfRFJBR19QUkVQQVJBVElPTl9QUk9WSURFUlMgPSBbXG5cbiAgTWluaW1hcERyYWdQcmVwYXJhdGlvbkV4ZWN1dGlvbixcblxuICBNaW5pbWFwRHJhZ1ByZXBhcmF0aW9uVmFsaWRhdG9yLFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MINIMAP_DRAG_PREPARATION_PROVIDERS } from './minimap-drag-preparation';
|
|
2
|
+
import { MINIMAP_DRAG_FINALIZE_PROVIDERS } from './minimap-drag-finalize';
|
|
3
|
+
import { CalculateFlowPointFromMinimapPointExecution } from './calculate-flow-point-from-minimap-point';
|
|
4
|
+
export const F_MINIMAP_DRAG_AND_DROP_PROVIDERS = [
|
|
5
|
+
CalculateFlowPointFromMinimapPointExecution,
|
|
6
|
+
...MINIMAP_DRAG_FINALIZE_PROVIDERS,
|
|
7
|
+
...MINIMAP_DRAG_PREPARATION_PROVIDERS,
|
|
8
|
+
];
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZG9tYWluL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRztJQUUvQywyQ0FBMkM7SUFFM0MsR0FBRywrQkFBK0I7SUFFbEMsR0FBRyxrQ0FBa0M7Q0FDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1JTklNQVBfRFJBR19QUkVQQVJBVElPTl9QUk9WSURFUlMgfSBmcm9tICcuL21pbmltYXAtZHJhZy1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBNSU5JTUFQX0RSQUdfRklOQUxJWkVfUFJPVklERVJTIH0gZnJvbSAnLi9taW5pbWFwLWRyYWctZmluYWxpemUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlRmxvd1BvaW50RnJvbU1pbmltYXBQb2ludEV4ZWN1dGlvbiB9IGZyb20gJy4vY2FsY3VsYXRlLWZsb3ctcG9pbnQtZnJvbS1taW5pbWFwLXBvaW50JztcblxuZXhwb3J0IGNvbnN0IEZfTUlOSU1BUF9EUkFHX0FORF9EUk9QX1BST1ZJREVSUyA9IFtcblxuICBDYWxjdWxhdGVGbG93UG9pbnRGcm9tTWluaW1hcFBvaW50RXhlY3V0aW9uLFxuXG4gIC4uLk1JTklNQVBfRFJBR19GSU5BTElaRV9QUk9WSURFUlMsXG5cbiAgLi4uTUlOSU1BUF9EUkFHX1BSRVBBUkFUSU9OX1BST1ZJREVSUyxcbl07XG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Directive, } from "@angular/core";
|
|
2
|
+
import { DomElementExtensions, RectExtensions } from '@foblex/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../infrastructure";
|
|
5
|
+
import * as i2 from "../f-storage";
|
|
6
|
+
export class FMinimapCanvasDirective {
|
|
7
|
+
elementReference;
|
|
8
|
+
fMediator;
|
|
9
|
+
fComponentsStore;
|
|
10
|
+
get hostElement() {
|
|
11
|
+
return this.elementReference.nativeElement;
|
|
12
|
+
}
|
|
13
|
+
get flowHost() {
|
|
14
|
+
return this.fComponentsStore.flowHost;
|
|
15
|
+
}
|
|
16
|
+
get flowScale() {
|
|
17
|
+
return this.fComponentsStore.transform.scale;
|
|
18
|
+
}
|
|
19
|
+
constructor(elementReference, fMediator, fComponentsStore) {
|
|
20
|
+
this.elementReference = elementReference;
|
|
21
|
+
this.fMediator = fMediator;
|
|
22
|
+
this.fComponentsStore = fComponentsStore;
|
|
23
|
+
}
|
|
24
|
+
redraw() {
|
|
25
|
+
this.clearCanvas();
|
|
26
|
+
this.fComponentsStore.fNodes.forEach((x) => this.renderNode(x));
|
|
27
|
+
}
|
|
28
|
+
clearCanvas() {
|
|
29
|
+
this.hostElement.innerHTML = '';
|
|
30
|
+
}
|
|
31
|
+
renderNode(node) {
|
|
32
|
+
const element = DomElementExtensions.createSvgElement('rect');
|
|
33
|
+
this.configureNodeElement(element, node);
|
|
34
|
+
this.hostElement.appendChild(element);
|
|
35
|
+
}
|
|
36
|
+
configureNodeElement(element, node) {
|
|
37
|
+
this.setElementAttributes(element, this.getNodeRect(node));
|
|
38
|
+
this.applyClassList(element, node);
|
|
39
|
+
}
|
|
40
|
+
getNodeRect(node) {
|
|
41
|
+
const nodeRectInFlow = RectExtensions.elementTransform(RectExtensions.fromElement(node.hostElement), this.flowHost);
|
|
42
|
+
return RectExtensions.div(nodeRectInFlow, this.flowScale);
|
|
43
|
+
}
|
|
44
|
+
setElementAttributes(element, rect) {
|
|
45
|
+
element.setAttribute('x', rect.x.toString());
|
|
46
|
+
element.setAttribute('y', rect.y.toString());
|
|
47
|
+
element.setAttribute('width', rect.width.toString());
|
|
48
|
+
element.setAttribute('height', rect.height.toString());
|
|
49
|
+
}
|
|
50
|
+
applyClassList(element, node) {
|
|
51
|
+
element.classList.add('f-component', 'f-minimap-node');
|
|
52
|
+
if (node.isSelected()) {
|
|
53
|
+
element.classList.add('f-selected');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapCanvasDirective, deps: [{ token: i0.ElementRef }, { token: i1.FFlowMediator }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
57
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FMinimapCanvasDirective, selector: "g[fMinimapCanvas]", ngImport: i0 });
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapCanvasDirective, decorators: [{
|
|
60
|
+
type: Directive,
|
|
61
|
+
args: [{
|
|
62
|
+
selector: 'g[fMinimapCanvas]'
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FFlowMediator }, { type: i2.FComponentsStore }] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLWNhbnZhcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbWluaW1hcC9mLW1pbmltYXAtY2FudmFzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsY0FBYyxFQUNmLE1BQU0sY0FBYyxDQUFDOzs7O0FBT3RCLE1BQU0sT0FBTyx1QkFBdUI7SUFleEI7SUFDQTtJQUNBO0lBZlYsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQ1UsZ0JBQXlDLEVBQ3pDLFNBQXdCLEVBQ3hCLGdCQUFrQztRQUZsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWU7UUFDaEMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBdUIsRUFBRSxJQUFlO1FBQ25FLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBZTtRQUNqQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BILE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxPQUF1QixFQUFFLElBQVc7UUFDL0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxjQUFjLENBQUMsT0FBdUIsRUFBRSxJQUFlO1FBQzdELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7dUdBMURVLHVCQUF1QjsyRkFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge1xuICBEb21FbGVtZW50RXh0ZW5zaW9ucywgSVJlY3QsXG4gIFJlY3RFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZ1tmTWluaW1hcENhbnZhc10nXG59KVxuZXhwb3J0IGNsYXNzIEZNaW5pbWFwQ2FudmFzRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZsb3dTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUudHJhbnNmb3JtLnNjYWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR0dFbGVtZW50PixcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJDYW52YXMoKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLmZvckVhY2goKHgpID0+IHRoaXMucmVuZGVyTm9kZSh4KSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ2FudmFzKCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlck5vZGUobm9kZTogRk5vZGVCYXNlKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IERvbUVsZW1lbnRFeHRlbnNpb25zLmNyZWF0ZVN2Z0VsZW1lbnQoJ3JlY3QnKTtcbiAgICB0aGlzLmNvbmZpZ3VyZU5vZGVFbGVtZW50KGVsZW1lbnQsIG5vZGUpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZU5vZGVFbGVtZW50KGVsZW1lbnQ6IFNWR1JlY3RFbGVtZW50LCBub2RlOiBGTm9kZUJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnNldEVsZW1lbnRBdHRyaWJ1dGVzKGVsZW1lbnQsIHRoaXMuZ2V0Tm9kZVJlY3Qobm9kZSkpO1xuICAgIHRoaXMuYXBwbHlDbGFzc0xpc3QoZWxlbWVudCwgbm9kZSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVSZWN0KG5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICBjb25zdCBub2RlUmVjdEluRmxvdyA9IFJlY3RFeHRlbnNpb25zLmVsZW1lbnRUcmFuc2Zvcm0oUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQobm9kZS5ob3N0RWxlbWVudCksIHRoaXMuZmxvd0hvc3QpO1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5kaXYobm9kZVJlY3RJbkZsb3csIHRoaXMuZmxvd1NjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudDogU1ZHUmVjdEVsZW1lbnQsIHJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3gnLCByZWN0LngudG9TdHJpbmcoKSk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3knLCByZWN0LnkudG9TdHJpbmcoKSk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgcmVjdC53aWR0aC50b1N0cmluZygpKTtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgcmVjdC5oZWlnaHQudG9TdHJpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q2xhc3NMaXN0KGVsZW1lbnQ6IFNWR1JlY3RFbGVtZW50LCBub2RlOiBGTm9kZUJhc2UpOiB2b2lkIHtcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2YtY29tcG9uZW50JywgJ2YtbWluaW1hcC1ub2RlJyk7XG4gICAgaWYgKG5vZGUuaXNTZWxlY3RlZCgpKSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Ytc2VsZWN0ZWQnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Directive, Input, } from "@angular/core";
|
|
2
|
+
import { RectExtensions, SizeExtensions } from '@foblex/core';
|
|
3
|
+
import { FMinimapData } from './domain';
|
|
4
|
+
import { GetNodesRectRequest } from '../domain';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../infrastructure";
|
|
7
|
+
import * as i2 from "../f-storage";
|
|
8
|
+
export class FMinimapFlowDirective {
|
|
9
|
+
elementReference;
|
|
10
|
+
fMediator;
|
|
11
|
+
fComponentsStore;
|
|
12
|
+
model;
|
|
13
|
+
fMinSize = 1000;
|
|
14
|
+
get flowHost() {
|
|
15
|
+
return this.fComponentsStore.flowHost;
|
|
16
|
+
}
|
|
17
|
+
get hostElement() {
|
|
18
|
+
return this.elementReference.nativeElement;
|
|
19
|
+
}
|
|
20
|
+
constructor(elementReference, fMediator, fComponentsStore) {
|
|
21
|
+
this.elementReference = elementReference;
|
|
22
|
+
this.fMediator = fMediator;
|
|
23
|
+
this.fComponentsStore = fComponentsStore;
|
|
24
|
+
this.model = new FMinimapData(this.hostElement);
|
|
25
|
+
}
|
|
26
|
+
update() {
|
|
27
|
+
const nodesRect = this.getProcessedNodesRect();
|
|
28
|
+
const minimapRect = this.getMinimapRect();
|
|
29
|
+
const scale = this.calculateViewScale(nodesRect, minimapRect);
|
|
30
|
+
const viewBox = this.calculateViewBox(nodesRect, minimapRect, scale);
|
|
31
|
+
this.model = new FMinimapData(this.hostElement, scale, viewBox);
|
|
32
|
+
this.setViewBox(viewBox);
|
|
33
|
+
}
|
|
34
|
+
getProcessedNodesRect() {
|
|
35
|
+
const normalizedRect = this.normalizeRect(this.getNodesRect());
|
|
36
|
+
return this.ensureMinimumSize(normalizedRect);
|
|
37
|
+
}
|
|
38
|
+
getNodesRect() {
|
|
39
|
+
return RectExtensions.elementTransform(this.fMediator.send(new GetNodesRectRequest()), this.flowHost);
|
|
40
|
+
}
|
|
41
|
+
getMinimapRect() {
|
|
42
|
+
return RectExtensions.elementTransform(RectExtensions.fromElement(this.hostElement), this.flowHost);
|
|
43
|
+
}
|
|
44
|
+
normalizeRect(rect) {
|
|
45
|
+
return RectExtensions.div(rect, this.fComponentsStore.transform.scale);
|
|
46
|
+
}
|
|
47
|
+
ensureMinimumSize(rect) {
|
|
48
|
+
return RectExtensions.initialize(rect.x - (Math.max(rect.width, this.fMinSize) - rect.width) / 2, rect.y - (Math.max(rect.height, this.fMinSize) - rect.height) / 2, Math.max(rect.width, this.fMinSize), Math.max(rect.height, this.fMinSize));
|
|
49
|
+
}
|
|
50
|
+
calculateViewScale(nodesRect, minimapRect) {
|
|
51
|
+
return Math.max(nodesRect.width / minimapRect.width, nodesRect.height / minimapRect.height);
|
|
52
|
+
}
|
|
53
|
+
calculateViewBox(nodesRect, minimapRect, scale) {
|
|
54
|
+
return this.calculateCenteredViewBox(nodesRect, this.calculateViewSize(minimapRect, scale));
|
|
55
|
+
}
|
|
56
|
+
calculateViewSize(minimapRect, scale) {
|
|
57
|
+
return SizeExtensions.initialize(minimapRect.width * scale || 0, minimapRect.height * scale || 0);
|
|
58
|
+
}
|
|
59
|
+
calculateCenteredViewBox(nodesRect, viewSize) {
|
|
60
|
+
const centeredX = nodesRect.x - (viewSize.width - nodesRect.width) / 2;
|
|
61
|
+
const centeredY = nodesRect.y - (viewSize.height - nodesRect.height) / 2;
|
|
62
|
+
return RectExtensions.initialize(centeredX, centeredY, viewSize.width, viewSize.height);
|
|
63
|
+
}
|
|
64
|
+
setViewBox(viewBox) {
|
|
65
|
+
this.hostElement.setAttribute('viewBox', `${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}`);
|
|
66
|
+
}
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapFlowDirective, deps: [{ token: i0.ElementRef }, { token: i1.FFlowMediator }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FMinimapFlowDirective, selector: "svg[fMinimapFlow]", inputs: { fMinSize: "fMinSize" }, ngImport: i0 });
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapFlowDirective, decorators: [{
|
|
71
|
+
type: Directive,
|
|
72
|
+
args: [{
|
|
73
|
+
selector: 'svg[fMinimapFlow]'
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FFlowMediator }, { type: i2.FComponentsStore }], propDecorators: { fMinSize: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLWZsb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZi1taW5pbWFwLWZsb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQWMsS0FBSyxHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFLaEQsTUFBTSxPQUFPLHFCQUFxQjtJQWdCdEI7SUFDQTtJQUNBO0lBaEJILEtBQUssQ0FBZTtJQUdwQixRQUFRLEdBQVcsSUFBSSxDQUFDO0lBRS9CLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1UsZ0JBQTJDLEVBQzNDLFNBQXdCLEVBQ3hCLGdCQUFrQztRQUZsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTJCO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzlHLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVc7UUFDL0IsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFXO1FBQ25DLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDL0QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxTQUFnQixFQUFFLFdBQWtCO1FBQzdELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFNBQWdCLEVBQUUsV0FBa0IsRUFBRSxLQUFhO1FBQzFFLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQWtCLEVBQUUsS0FBYTtRQUN6RCxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxTQUFnQixFQUFFLFFBQWU7UUFDaEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBYztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBSSxPQUFPLENBQUMsQ0FBRSxJQUFLLE9BQU8sQ0FBQyxDQUFFLElBQUssT0FBTyxDQUFDLEtBQU0sSUFBSyxPQUFPLENBQUMsTUFBTyxFQUFFLENBQUMsQ0FBQztJQUNuSCxDQUFDO3VHQS9FVSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjswSUFNUSxRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJUmVjdCwgSVNpemUsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRk1pbmltYXBEYXRhIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgR2V0Tm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3N2Z1tmTWluaW1hcEZsb3ddJ1xufSlcbmV4cG9ydCBjbGFzcyBGTWluaW1hcEZsb3dEaXJlY3RpdmUge1xuXG4gIHB1YmxpYyBtb2RlbDogRk1pbmltYXBEYXRhO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTWluU2l6ZTogbnVtYmVyID0gMTAwMDtcblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1NWR0VsZW1lbnQ+LFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICB0aGlzLm1vZGVsID0gbmV3IEZNaW5pbWFwRGF0YSh0aGlzLmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUoKTogdm9pZCB7XG4gICAgY29uc3Qgbm9kZXNSZWN0ID0gdGhpcy5nZXRQcm9jZXNzZWROb2Rlc1JlY3QoKTtcbiAgICBjb25zdCBtaW5pbWFwUmVjdCA9IHRoaXMuZ2V0TWluaW1hcFJlY3QoKTtcblxuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5jYWxjdWxhdGVWaWV3U2NhbGUobm9kZXNSZWN0LCBtaW5pbWFwUmVjdCk7XG4gICAgY29uc3Qgdmlld0JveCA9IHRoaXMuY2FsY3VsYXRlVmlld0JveChub2Rlc1JlY3QsIG1pbmltYXBSZWN0LCBzY2FsZSk7XG4gICAgdGhpcy5tb2RlbCA9IG5ldyBGTWluaW1hcERhdGEodGhpcy5ob3N0RWxlbWVudCwgc2NhbGUsIHZpZXdCb3gpO1xuICAgIHRoaXMuc2V0Vmlld0JveCh2aWV3Qm94KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvY2Vzc2VkTm9kZXNSZWN0KCk6IElSZWN0IHtcbiAgICBjb25zdCBub3JtYWxpemVkUmVjdCA9IHRoaXMubm9ybWFsaXplUmVjdCh0aGlzLmdldE5vZGVzUmVjdCgpKTtcbiAgICByZXR1cm4gdGhpcy5lbnN1cmVNaW5pbXVtU2l6ZShub3JtYWxpemVkUmVjdCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVzUmVjdCgpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vZGVzUmVjdFJlcXVlc3QoKSksIHRoaXMuZmxvd0hvc3QpXG4gIH1cblxuICBwcml2YXRlIGdldE1pbmltYXBSZWN0KCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuZWxlbWVudFRyYW5zZm9ybShSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLmhvc3RFbGVtZW50KSwgdGhpcy5mbG93SG9zdCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVJlY3QocmVjdDogSVJlY3QpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmRpdihyZWN0LCB0aGlzLmZDb21wb25lbnRzU3RvcmUudHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlTWluaW11bVNpemUocmVjdDogSVJlY3QpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICByZWN0LnggLSAoTWF0aC5tYXgocmVjdC53aWR0aCwgdGhpcy5mTWluU2l6ZSkgLSByZWN0LndpZHRoKSAvIDIsXG4gICAgICByZWN0LnkgLSAoTWF0aC5tYXgocmVjdC5oZWlnaHQsIHRoaXMuZk1pblNpemUpIC0gcmVjdC5oZWlnaHQpIC8gMixcbiAgICAgIE1hdGgubWF4KHJlY3Qud2lkdGgsIHRoaXMuZk1pblNpemUpLFxuICAgICAgTWF0aC5tYXgocmVjdC5oZWlnaHQsIHRoaXMuZk1pblNpemUpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlld1NjYWxlKG5vZGVzUmVjdDogSVJlY3QsIG1pbmltYXBSZWN0OiBJUmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KG5vZGVzUmVjdC53aWR0aCAvIG1pbmltYXBSZWN0LndpZHRoLCBub2Rlc1JlY3QuaGVpZ2h0IC8gbWluaW1hcFJlY3QuaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlld0JveChub2Rlc1JlY3Q6IElSZWN0LCBtaW5pbWFwUmVjdDogSVJlY3QsIHNjYWxlOiBudW1iZXIpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ2VudGVyZWRWaWV3Qm94KG5vZGVzUmVjdCwgdGhpcy5jYWxjdWxhdGVWaWV3U2l6ZShtaW5pbWFwUmVjdCwgc2NhbGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlld1NpemUobWluaW1hcFJlY3Q6IElSZWN0LCBzY2FsZTogbnVtYmVyKTogSVNpemUge1xuICAgIHJldHVybiBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKG1pbmltYXBSZWN0LndpZHRoICogc2NhbGUgfHwgMCwgbWluaW1hcFJlY3QuaGVpZ2h0ICogc2NhbGUgfHwgMCk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUNlbnRlcmVkVmlld0JveChub2Rlc1JlY3Q6IElSZWN0LCB2aWV3U2l6ZTogSVNpemUpOiBJUmVjdCB7XG4gICAgY29uc3QgY2VudGVyZWRYID0gbm9kZXNSZWN0LnggLSAodmlld1NpemUud2lkdGggLSBub2Rlc1JlY3Qud2lkdGgpIC8gMjtcbiAgICBjb25zdCBjZW50ZXJlZFkgPSBub2Rlc1JlY3QueSAtICh2aWV3U2l6ZS5oZWlnaHQgLSBub2Rlc1JlY3QuaGVpZ2h0KSAvIDI7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoY2VudGVyZWRYLCBjZW50ZXJlZFksIHZpZXdTaXplLndpZHRoLCB2aWV3U2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWaWV3Qm94KHZpZXdCb3g6IElSZWN0KTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCBgJHsgdmlld0JveC54IH0gJHsgdmlld0JveC55IH0gJHsgdmlld0JveC53aWR0aCB9ICR7IHZpZXdCb3guaGVpZ2h0IH1gKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import { RectExtensions } from '@foblex/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../f-storage";
|
|
5
|
+
export class FMinimapViewDirective {
|
|
6
|
+
elementReference;
|
|
7
|
+
fComponentsStore;
|
|
8
|
+
get hostElement() {
|
|
9
|
+
return this.elementReference.nativeElement;
|
|
10
|
+
}
|
|
11
|
+
get flowScale() {
|
|
12
|
+
return this.fComponentsStore.transform.scale;
|
|
13
|
+
}
|
|
14
|
+
constructor(elementReference, fComponentsStore) {
|
|
15
|
+
this.elementReference = elementReference;
|
|
16
|
+
this.fComponentsStore = fComponentsStore;
|
|
17
|
+
}
|
|
18
|
+
update() {
|
|
19
|
+
const viewBox = RectExtensions.div(RectExtensions.fromElement(this.fComponentsStore.flowHost), this.flowScale);
|
|
20
|
+
this.setAttributes(viewBox);
|
|
21
|
+
}
|
|
22
|
+
setAttributes(viewBox) {
|
|
23
|
+
this.hostElement.setAttribute('x', '0');
|
|
24
|
+
this.hostElement.setAttribute('y', '0');
|
|
25
|
+
this.hostElement.setAttribute('width', viewBox.width.toString());
|
|
26
|
+
this.hostElement.setAttribute('height', viewBox.height.toString());
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapViewDirective, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FMinimapViewDirective, selector: "rect[fMinimapView]", host: { classAttribute: "f-component f-minimap-view" }, ngImport: i0 });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMinimapViewDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'rect[fMinimapView]',
|
|
35
|
+
host: {
|
|
36
|
+
'class': 'f-component f-minimap-view',
|
|
37
|
+
}
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1taW5pbWFwLXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZi1taW5pbWFwLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUXJELE1BQU0sT0FBTyxxQkFBcUI7SUFXdEI7SUFDQTtJQVZWLElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxTQUFVLENBQUMsS0FBTSxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNVLGdCQUE0QyxFQUM1QyxnQkFBa0M7UUFEbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUM1QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTVDLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQWM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQzt1R0ExQlUscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSw0QkFBNEI7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAncmVjdFtmTWluaW1hcFZpZXddJyxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLW1pbmltYXAtdmlldycsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRk1pbmltYXBWaWV3RGlyZWN0aXZlIHtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1JlY3RFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93U2NhbGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlIS50cmFuc2Zvcm0hLnNjYWxlITtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdSZWN0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3Qm94ID0gUmVjdEV4dGVuc2lvbnMuZGl2KFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdCksIHRoaXMuZmxvd1NjYWxlKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZXModmlld0JveCk7XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHJpYnV0ZXModmlld0JveDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneCcsICcwJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3knLCAnMCcpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIHZpZXdCb3gud2lkdGgudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIHZpZXdCb3guaGVpZ2h0LnRvU3RyaW5nKCkpO1xuICB9XG59XG4iXX0=
|