ngx-vflow 1.0.2 → 1.0.4
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 +10 -10
- package/esm2022/lib/vflow/components/background/background.component.mjs +6 -10
- package/esm2022/lib/vflow/components/connection/connection.component.mjs +8 -10
- package/esm2022/lib/vflow/components/custom-node-base/custom-node-base.component.mjs +2 -2
- package/esm2022/lib/vflow/components/default-node/default-node.component.mjs +4 -4
- package/esm2022/lib/vflow/components/defs/defs.component.mjs +3 -3
- package/esm2022/lib/vflow/components/edge/edge.component.mjs +3 -3
- package/esm2022/lib/vflow/components/edge-label/edge-label.component.mjs +5 -7
- package/esm2022/lib/vflow/components/node/node.component.mjs +7 -8
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +5 -8
- package/esm2022/lib/vflow/decorators/microtask.decorator.mjs +1 -1
- package/esm2022/lib/vflow/decorators/run-in-injection-context.decorator.mjs +2 -2
- package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +64 -22
- package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +6 -3
- package/esm2022/lib/vflow/directives/drag-handle.directive.mjs +3 -3
- package/esm2022/lib/vflow/directives/flow-size-controller.directive.mjs +6 -4
- package/esm2022/lib/vflow/directives/handle-size-controller.directive.mjs +2 -2
- package/esm2022/lib/vflow/directives/map-context.directive.mjs +16 -14
- package/esm2022/lib/vflow/directives/pointer.directive.mjs +2 -2
- package/esm2022/lib/vflow/directives/reference.directive.mjs +1 -1
- package/esm2022/lib/vflow/directives/root-pointer.directive.mjs +7 -11
- package/esm2022/lib/vflow/directives/root-svg-context.directive.mjs +1 -1
- package/esm2022/lib/vflow/directives/selectable.directive.mjs +1 -1
- package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +2 -2
- package/esm2022/lib/vflow/directives/template.directive.mjs +6 -6
- package/esm2022/lib/vflow/interfaces/box.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/component-node-event.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/connection-settings.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/connection.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/connection.internal.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/edge-label.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/edge.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/fit-view-options.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/flow-entity.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/marker.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/node.interface.mjs +5 -5
- package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/path-data.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/point.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/rect.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/template-context.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/viewport.interface.mjs +1 -1
- package/esm2022/lib/vflow/math/edge-path/bezier-path.mjs +4 -10
- package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +3 -3
- package/esm2022/lib/vflow/math/edge-path/straigh-path.mjs +6 -6
- package/esm2022/lib/vflow/math/point-on-line-by-ratio.mjs +1 -1
- package/esm2022/lib/vflow/models/connection.model.mjs +1 -1
- package/esm2022/lib/vflow/models/edge-label.model.mjs +2 -2
- package/esm2022/lib/vflow/models/edge.model.mjs +25 -25
- package/esm2022/lib/vflow/models/handle.model.mjs +41 -37
- package/esm2022/lib/vflow/models/minimap.model.mjs +2 -2
- package/esm2022/lib/vflow/models/node.model.mjs +9 -14
- package/esm2022/lib/vflow/models/toolbar.model.mjs +6 -6
- package/esm2022/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.mjs +3 -3
- package/esm2022/lib/vflow/public-components/custom-node/custom-node.component.mjs +3 -3
- package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +2 -2
- package/esm2022/lib/vflow/public-components/minimap/minimap.component.mjs +8 -16
- package/esm2022/lib/vflow/public-components/node-toolbar/node-toolbar.component.mjs +3 -3
- package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +11 -17
- package/esm2022/lib/vflow/services/component-event-bus.service.mjs +1 -1
- package/esm2022/lib/vflow/services/draggable.service.mjs +10 -12
- package/esm2022/lib/vflow/services/edge-changes.service.mjs +14 -20
- package/esm2022/lib/vflow/services/flow-entities.service.mjs +7 -10
- package/esm2022/lib/vflow/services/flow-settings.service.mjs +1 -1
- package/esm2022/lib/vflow/services/flow-status.service.mjs +2 -2
- package/esm2022/lib/vflow/services/handle.service.mjs +3 -3
- package/esm2022/lib/vflow/services/keyboard.service.mjs +8 -6
- package/esm2022/lib/vflow/services/node-accessor.service.mjs +1 -1
- package/esm2022/lib/vflow/services/node-changes.service.mjs +13 -21
- package/esm2022/lib/vflow/services/node-rendering.service.mjs +6 -7
- package/esm2022/lib/vflow/services/overlays.service.mjs +2 -2
- package/esm2022/lib/vflow/services/selection.service.mjs +6 -4
- package/esm2022/lib/vflow/services/viewport.service.mjs +13 -11
- package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +25 -25
- package/esm2022/lib/vflow/types/background.type.mjs +1 -1
- package/esm2022/lib/vflow/types/connection-mode.type.mjs +1 -1
- package/esm2022/lib/vflow/types/edge-change.type.mjs +1 -1
- package/esm2022/lib/vflow/types/handle-type.type.mjs +1 -1
- package/esm2022/lib/vflow/types/keyboard-action.type.mjs +1 -1
- package/esm2022/lib/vflow/types/node-change.type.mjs +1 -1
- package/esm2022/lib/vflow/types/position.type.mjs +1 -1
- package/esm2022/lib/vflow/types/using-points.type.mjs +1 -1
- package/esm2022/lib/vflow/types/viewport-change-type.type.mjs +1 -1
- package/esm2022/lib/vflow/utils/add-nodes-to-edges.mjs +2 -2
- package/esm2022/lib/vflow/utils/adjust-direction.mjs +1 -1
- package/esm2022/lib/vflow/utils/get-os.mjs +6 -6
- package/esm2022/lib/vflow/utils/hash.mjs +2 -2
- package/esm2022/lib/vflow/utils/id.mjs +1 -1
- package/esm2022/lib/vflow/utils/is-defined.mjs +1 -1
- package/esm2022/lib/vflow/utils/is-group-node.mjs +1 -1
- package/esm2022/lib/vflow/utils/nodes.mjs +2 -2
- package/esm2022/lib/vflow/utils/reference-keeper.mjs +7 -7
- package/esm2022/lib/vflow/utils/resizable.mjs +4 -4
- package/esm2022/lib/vflow/utils/round.mjs +1 -1
- package/esm2022/lib/vflow/utils/transform-background.mjs +2 -4
- package/esm2022/lib/vflow/utils/viewport.mjs +1 -1
- package/esm2022/lib/vflow/vflow.mjs +10 -10
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ngx-vflow.mjs +320 -322
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/node/node.component.d.ts +1 -1
- package/lib/vflow/components/vflow/vflow.component.d.ts +1 -1
- package/lib/vflow/decorators/run-in-injection-context.decorator.d.ts +1 -1
- package/lib/vflow/directives/changes-controller.directive.d.ts +29 -29
- package/lib/vflow/directives/connection-controller.directive.d.ts +4 -2
- package/lib/vflow/directives/pointer.directive.d.ts +4 -4
- package/lib/vflow/interfaces/component-node-event.interface.d.ts +5 -5
- package/lib/vflow/interfaces/connection-settings.interface.d.ts +4 -4
- package/lib/vflow/interfaces/connection.internal.interface.d.ts +2 -2
- package/lib/vflow/interfaces/edge.interface.d.ts +3 -3
- package/lib/vflow/interfaces/flow-entity.interface.d.ts +1 -1
- package/lib/vflow/interfaces/node.interface.d.ts +4 -4
- package/lib/vflow/interfaces/path-data.interface.d.ts +2 -2
- package/lib/vflow/interfaces/template-context.interface.d.ts +2 -2
- package/lib/vflow/interfaces/viewport.interface.d.ts +2 -2
- package/lib/vflow/math/edge-path/straigh-path.d.ts +3 -3
- package/lib/vflow/math/point-on-line-by-ratio.d.ts +1 -1
- package/lib/vflow/models/connection.model.d.ts +3 -3
- package/lib/vflow/models/edge-label.model.d.ts +1 -1
- package/lib/vflow/models/edge.model.d.ts +8 -9
- package/lib/vflow/models/handle.model.d.ts +2 -2
- package/lib/vflow/models/minimap.model.d.ts +1 -1
- package/lib/vflow/models/toolbar.model.d.ts +3 -3
- package/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.d.ts +2 -2
- package/lib/vflow/public-components/custom-node/custom-node.component.d.ts +2 -2
- package/lib/vflow/public-components/handle/handle.component.d.ts +1 -1
- package/lib/vflow/services/flow-status.service.d.ts +1 -1
- package/lib/vflow/testing-utils/provide-custom-node-mocks.d.ts +1 -1
- package/lib/vflow/types/node-change.type.d.ts +1 -1
- package/lib/vflow/types/viewport-change-type.type.d.ts +1 -3
- package/lib/vflow/utils/add-nodes-to-edges.d.ts +2 -2
- package/lib/vflow/utils/adjust-direction.d.ts +1 -1
- package/lib/vflow/utils/is-group-node.d.ts +1 -1
- package/lib/vflow/utils/nodes.d.ts +2 -2
- package/lib/vflow/utils/reference-keeper.d.ts +3 -3
- package/lib/vflow/utils/resizable.d.ts +2 -2
- package/lib/vflow/utils/transform-background.d.ts +1 -1
- package/lib/vflow/utils/viewport.d.ts +2 -2
- package/lib/vflow/vflow.d.ts +8 -8
- package/package.json +2 -2
|
@@ -9,13 +9,13 @@ export class HandleService {
|
|
|
9
9
|
createHandle(newHandle) {
|
|
10
10
|
const node = this.node();
|
|
11
11
|
if (node) {
|
|
12
|
-
node.handles.update(handles => [...handles, newHandle]);
|
|
12
|
+
node.handles.update((handles) => [...handles, newHandle]);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
destroyHandle(handleToDestoy) {
|
|
16
16
|
const node = this.node();
|
|
17
17
|
if (node) {
|
|
18
|
-
node.handles.update(handles => handles.filter(handle => handle !== handleToDestoy));
|
|
18
|
+
node.handles.update((handles) => handles.filter((handle) => handle !== handleToDestoy));
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -27,4 +27,4 @@ __decorate([
|
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleService, decorators: [{
|
|
28
28
|
type: Injectable
|
|
29
29
|
}], propDecorators: { createHandle: [] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvaGFuZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFa0IsU0FBSSxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7S0FnQnZEO0lBYlEsWUFBWSxDQUFDLFNBQXNCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxjQUEyQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO0lBQ0gsQ0FBQzsrR0FoQlUsYUFBYTttSEFBYixhQUFhOztBQUlqQjtJQUROLFNBQVMsQ0FBQyxnREFBZ0Q7aURBTTFEOzRGQVRVLGFBQWE7a0JBRHpCLFVBQVU7OEJBS0YsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBIYW5kbGVUeXBlIH0gZnJvbSAnLi4vdHlwZXMvaGFuZGxlLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBIYW5kbGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9oYW5kbGUubW9kZWwnO1xuaW1wb3J0IHsgTWljcm90YXNrIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9taWNyb3Rhc2suZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSGFuZGxlIHtcbiAgcG9zaXRpb246IFBvc2l0aW9uO1xuICB0eXBlOiBIYW5kbGVUeXBlO1xuICBpZD86IHN0cmluZztcbiAgcGFyZW50UmVmZXJlbmNlPzogRWxlbWVudDtcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGFuZGxlU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBub2RlID0gc2lnbmFsPE5vZGVNb2RlbCB8IG51bGw+KG51bGwpO1xuXG4gIEBNaWNyb3Rhc2sgLy8gVE9ETyBmaXhlcyByZW5kZXJpbmcgb2YgaGFuZGxlIGZvciBncm91cCBub2RlXG4gIHB1YmxpYyBjcmVhdGVIYW5kbGUobmV3SGFuZGxlOiBIYW5kbGVNb2RlbCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgbm9kZS5oYW5kbGVzLnVwZGF0ZSgoaGFuZGxlcykgPT4gWy4uLmhhbmRsZXMsIG5ld0hhbmRsZV0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95SGFuZGxlKGhhbmRsZVRvRGVzdG95OiBIYW5kbGVNb2RlbCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgbm9kZS5oYW5kbGVzLnVwZGF0ZSgoaGFuZGxlcykgPT4gaGFuZGxlcy5maWx0ZXIoKGhhbmRsZSkgPT4gaGFuZGxlICE9PSBoYW5kbGVUb0Rlc3RveSkpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -9,26 +9,28 @@ export class KeyboardService {
|
|
|
9
9
|
multiSelection: [
|
|
10
10
|
getOS() === 'macos' ? 'MetaLeft' : 'ControlLeft',
|
|
11
11
|
getOS() === 'macos' ? 'MetaRight' : 'ControlRight',
|
|
12
|
-
]
|
|
12
|
+
],
|
|
13
13
|
});
|
|
14
14
|
this.actionsActive = {
|
|
15
|
-
multiSelection: false
|
|
15
|
+
multiSelection: false,
|
|
16
16
|
};
|
|
17
|
-
toObservable(this.actions)
|
|
17
|
+
toObservable(this.actions)
|
|
18
|
+
.pipe(switchMap(() => merge(fromEvent(document, 'keydown').pipe(tap((event) => {
|
|
18
19
|
for (const action in this.actions()) {
|
|
19
20
|
const keyCodes = this.actions()[action] ?? [];
|
|
20
21
|
if (keyCodes.includes(event.code)) {
|
|
21
22
|
this.actionsActive[action] = true;
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
})), fromEvent(document, 'keyup').pipe(tap(event => {
|
|
25
|
+
})), fromEvent(document, 'keyup').pipe(tap((event) => {
|
|
25
26
|
for (const action in this.actions()) {
|
|
26
27
|
const keyCodes = this.actions()[action] ?? [];
|
|
27
28
|
if (keyCodes.includes(event.code)) {
|
|
28
29
|
this.actionsActive[action] = false;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
})))), takeUntilDestroyed())
|
|
32
|
+
})))), takeUntilDestroyed())
|
|
33
|
+
.subscribe();
|
|
32
34
|
}
|
|
33
35
|
setShortcuts(newActions) {
|
|
34
36
|
this.actions.update((actions) => ({ ...actions, ...newActions }));
|
|
@@ -42,4 +44,4 @@ export class KeyboardService {
|
|
|
42
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeyboardService, decorators: [{
|
|
43
45
|
type: Injectable
|
|
44
46
|
}], ctorParameters: () => [] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy9rZXlib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3hDLE1BQU0sT0FBTyxlQUFlO0lBWTFCO1FBWFEsWUFBTyxHQUFzQyxNQUFNLENBQUM7WUFDMUQsY0FBYyxFQUFFO2dCQUNkLEtBQUssRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhO2dCQUNoRCxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYzthQUNuRDtTQUNGLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQW9DO1lBQ3ZELGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUM7UUFHQSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN2QixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLEtBQUssQ0FDSCxTQUFTLENBQWdCLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRWhFLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUN0RCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILEVBRUQsU0FBUyxDQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO2dCQUVoRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBd0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDdkQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0YsRUFDRCxrQkFBa0IsRUFBRSxDQUNyQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxZQUFZLENBQUMsVUFBNkI7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sY0FBYyxDQUFDLE1BQXNCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQXJEVSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlib2FyZEFjdGlvbiwgS2V5Ym9hcmRTaG9ydGN1dHMgfSBmcm9tICcuLi90eXBlcy9rZXlib2FyZC1hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRPUyB9IGZyb20gJy4uL3V0aWxzL2dldC1vcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBLZXlib2FyZFNlcnZpY2Uge1xuICBwcml2YXRlIGFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPEtleWJvYXJkU2hvcnRjdXRzPiA9IHNpZ25hbCh7XG4gICAgbXVsdGlTZWxlY3Rpb246IFtcbiAgICAgIGdldE9TKCkgPT09ICdtYWNvcycgPyAnTWV0YUxlZnQnIDogJ0NvbnRyb2xMZWZ0JyxcbiAgICAgIGdldE9TKCkgPT09ICdtYWNvcycgPyAnTWV0YVJpZ2h0JyA6ICdDb250cm9sUmlnaHQnLFxuICAgIF0sXG4gIH0pO1xuXG4gIHByaXZhdGUgYWN0aW9uc0FjdGl2ZTogUmVjb3JkPEtleWJvYXJkQWN0aW9uLCBib29sZWFuPiA9IHtcbiAgICBtdWx0aVNlbGVjdGlvbjogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuYWN0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gaW4gdGhpcy5hY3Rpb25zKCkpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtleUNvZGVzID0gdGhpcy5hY3Rpb25zKClbYWN0aW9uIGFzIEtleWJvYXJkQWN0aW9uXSA/PyBbXTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGtleUNvZGVzLmluY2x1ZGVzKGV2ZW50LmNvZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uc0FjdGl2ZVthY3Rpb24gYXMgS2V5Ym9hcmRBY3Rpb25dID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcblxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5dXAnKS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gaW4gdGhpcy5hY3Rpb25zKCkpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtleUNvZGVzID0gdGhpcy5hY3Rpb25zKClbYWN0aW9uIGFzIEtleWJvYXJkQWN0aW9uXSA/PyBbXTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGtleUNvZGVzLmluY2x1ZGVzKGV2ZW50LmNvZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uc0FjdGl2ZVthY3Rpb24gYXMgS2V5Ym9hcmRBY3Rpb25dID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2hvcnRjdXRzKG5ld0FjdGlvbnM6IEtleWJvYXJkU2hvcnRjdXRzKSB7XG4gICAgdGhpcy5hY3Rpb25zLnVwZGF0ZSgoYWN0aW9ucykgPT4gKHsgLi4uYWN0aW9ucywgLi4ubmV3QWN0aW9ucyB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNBY3RpdmVBY3Rpb24oYWN0aW9uOiBLZXlib2FyZEFjdGlvbikge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnNBY3RpdmVbYWN0aW9uXTtcbiAgfVxufVxuIl19
|
|
@@ -13,4 +13,4 @@ export class NodeAccessorService {
|
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeAccessorService, decorators: [{
|
|
14
14
|
type: Injectable
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1hY2Nlc3Nvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3NlcnZpY2VzL25vZGUtYWNjZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVMsVUFBSyxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7S0FDL0M7K0dBRlksbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGZpeCBjeWNsaWMgZGVwZW5kZW5jeSBiZXR3ZWVuIG5vZGUgYW5kIHJlc2l6YWJsZSBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVBY2Nlc3NvclNlcnZpY2Uge1xuICBwdWJsaWMgbW9kZWwgPSBzaWduYWw8Tm9kZU1vZGVsIHwgbnVsbD4obnVsbCk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { FlowEntitiesService } from './flow-entities.service';
|
|
3
|
-
import { toObservable
|
|
4
|
-
import { asyncScheduler, distinctUntilChanged, filter, map, merge, observeOn, pairwise, skip, switchMap } from 'rxjs';
|
|
3
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { asyncScheduler, distinctUntilChanged, filter, map, merge, observeOn, pairwise, skip, switchMap, } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
// this delay fixes the cases when change triggered
|
|
7
7
|
// but the flow not yet fylly re-rendered
|
|
@@ -9,28 +9,20 @@ const DELAY_FOR_SCHEDULER = 25;
|
|
|
9
9
|
export class NodesChangeService {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.entitiesService = inject(FlowEntitiesService);
|
|
12
|
-
this.nodesPositionChange$ = toObservable(this.entitiesService.nodes)
|
|
13
|
-
.pipe(
|
|
12
|
+
this.nodesPositionChange$ = toObservable(this.entitiesService.nodes).pipe(
|
|
14
13
|
// Check for nodes list change and watch for specific node from this list change its position
|
|
15
|
-
switchMap((nodes) => merge(...nodes.map(node => node.point$.pipe(
|
|
14
|
+
switchMap((nodes) => merge(...nodes.map((node) => node.point$.pipe(
|
|
16
15
|
// skip initial position from signal
|
|
17
16
|
skip(1), map(() => node))))), map((changedNode) => {
|
|
18
|
-
return this.entitiesService
|
|
19
|
-
.
|
|
20
|
-
.
|
|
17
|
+
return this.entitiesService
|
|
18
|
+
.nodes()
|
|
19
|
+
.filter((node) => node === changedNode || node.selected())
|
|
20
|
+
.map((node) => ({ type: 'position', id: node.node.id, point: node.point() }));
|
|
21
21
|
}));
|
|
22
|
-
this.nodeSizeChange$ = toObservable(this.entitiesService.nodes)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
]));
|
|
26
|
-
this.nodeAddChange$ = toObservable(this.entitiesService.nodes)
|
|
27
|
-
.pipe(pairwise(), map(([oldList, newList]) => newList.filter(node => !oldList.includes(node))), filter((nodes) => !!nodes.length), map((nodes) => nodes.map(node => ({ type: 'add', id: node.node.id }))));
|
|
28
|
-
this.nodeRemoveChange$ = toObservable(this.entitiesService.nodes)
|
|
29
|
-
.pipe(pairwise(), map(([oldList, newList]) => oldList.filter(node => !newList.includes(node))), filter((nodes) => !!nodes.length), map((nodes) => nodes.map(node => ({ type: 'remove', id: node.node.id }))));
|
|
30
|
-
this.nodeSelectedChange$ = toObservable(this.entitiesService.nodes)
|
|
31
|
-
.pipe(switchMap((nodes) => merge(...nodes.map(node => node.selected$.pipe(distinctUntilChanged(), skip(1), map(() => node))))), map((changedNode) => [
|
|
32
|
-
{ type: 'select', id: changedNode.node.id, selected: changedNode.selected() }
|
|
33
|
-
]));
|
|
22
|
+
this.nodeSizeChange$ = toObservable(this.entitiesService.nodes).pipe(switchMap((nodes) => merge(...nodes.map((node) => node.size$.pipe(skip(1), map(() => node))))), map((changedNode) => [{ type: 'size', id: changedNode.node.id, size: changedNode.size() }]));
|
|
23
|
+
this.nodeAddChange$ = toObservable(this.entitiesService.nodes).pipe(pairwise(), map(([oldList, newList]) => newList.filter((node) => !oldList.includes(node))), filter((nodes) => !!nodes.length), map((nodes) => nodes.map((node) => ({ type: 'add', id: node.node.id }))));
|
|
24
|
+
this.nodeRemoveChange$ = toObservable(this.entitiesService.nodes).pipe(pairwise(), map(([oldList, newList]) => oldList.filter((node) => !newList.includes(node))), filter((nodes) => !!nodes.length), map((nodes) => nodes.map((node) => ({ type: 'remove', id: node.node.id }))));
|
|
25
|
+
this.nodeSelectedChange$ = toObservable(this.entitiesService.nodes).pipe(switchMap((nodes) => merge(...nodes.map((node) => node.selected$.pipe(distinctUntilChanged(), skip(1), map(() => node))))), map((changedNode) => [{ type: 'select', id: changedNode.node.id, selected: changedNode.selected() }]));
|
|
34
26
|
this.changes$ = merge(this.nodesPositionChange$, this.nodeSizeChange$, this.nodeAddChange$, this.nodeRemoveChange$, this.nodeSelectedChange$).pipe(
|
|
35
27
|
// this fixes a bug when on fire node event change,
|
|
36
28
|
// you can't get valid list of detached edges
|
|
@@ -42,4 +34,4 @@ export class NodesChangeService {
|
|
|
42
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodesChangeService, decorators: [{
|
|
43
35
|
type: Injectable
|
|
44
36
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jaGFuZ2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvbm9kZS1jaGFuZ2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFFTCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQzs7QUFHZCxtREFBbUQ7QUFDbkQseUNBQXlDO0FBQ3pDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0FBRy9CLE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTlDLHlCQUFvQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7UUFDNUUsNkZBQTZGO1FBQzdGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xCLEtBQUssQ0FDSCxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDZCxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDaEIsQ0FDRixDQUNGLENBQ0YsRUFDRCxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixLQUFLLEVBQUU7aUJBQ1AsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsQ0FDZ0MsQ0FBQztRQUUzQixvQkFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdkUsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbEIsS0FBSyxDQUNILEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQ0YsQ0FDRixDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDekQsQ0FBQztRQUUzQixtQkFBYyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdEUsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQzlFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDakMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQztRQUUzQixzQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3pFLFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUM5RSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3pDLENBQUM7UUFFM0Isd0JBQW1CLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMzRSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNsQixLQUFLLENBQ0gsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQ0YsQ0FDRixDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDbkUsQ0FBQztRQUVyQixhQUFRLEdBQTZCLEtBQUssQ0FDeEQsSUFBSSxDQUFDLG9CQUFvQixFQUN6QixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsQ0FBQyxJQUFJO1FBQ0osbURBQW1EO1FBQ25ELDZDQUE2QztRQUM3QyxTQUFTLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQy9DLENBQUM7S0FDSDsrR0E5RVksa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsb3dFbnRpdGllc1NlcnZpY2UgfSBmcm9tICcuL2Zsb3ctZW50aXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBhc3luY1NjaGVkdWxlcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBtZXJnZSxcbiAgb2JzZXJ2ZU9uLFxuICBwYWlyd2lzZSxcbiAgc2tpcCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vZGVDaGFuZ2UgfSBmcm9tICcuLi90eXBlcy9ub2RlLWNoYW5nZS50eXBlJztcblxuLy8gdGhpcyBkZWxheSBmaXhlcyB0aGUgY2FzZXMgd2hlbiBjaGFuZ2UgdHJpZ2dlcmVkXG4vLyBidXQgdGhlIGZsb3cgbm90IHlldCBmeWxseSByZS1yZW5kZXJlZFxuY29uc3QgREVMQVlfRk9SX1NDSEVEVUxFUiA9IDI1O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm9kZXNDaGFuZ2VTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIGVudGl0aWVzU2VydmljZSA9IGluamVjdChGbG93RW50aXRpZXNTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbm9kZXNQb3NpdGlvbkNoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5lbnRpdGllc1NlcnZpY2Uubm9kZXMpLnBpcGUoXG4gICAgLy8gQ2hlY2sgZm9yIG5vZGVzIGxpc3QgY2hhbmdlIGFuZCB3YXRjaCBmb3Igc3BlY2lmaWMgbm9kZSBmcm9tIHRoaXMgbGlzdCBjaGFuZ2UgaXRzIHBvc2l0aW9uXG4gICAgc3dpdGNoTWFwKChub2RlcykgPT5cbiAgICAgIG1lcmdlKFxuICAgICAgICAuLi5ub2Rlcy5tYXAoKG5vZGUpID0+XG4gICAgICAgICAgbm9kZS5wb2ludCQucGlwZShcbiAgICAgICAgICAgIC8vIHNraXAgaW5pdGlhbCBwb3NpdGlvbiBmcm9tIHNpZ25hbFxuICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBub2RlKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICAgIG1hcCgoY2hhbmdlZE5vZGUpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzU2VydmljZVxuICAgICAgICAubm9kZXMoKVxuICAgICAgICAuZmlsdGVyKChub2RlKSA9PiBub2RlID09PSBjaGFuZ2VkTm9kZSB8fCBub2RlLnNlbGVjdGVkKCkpXG4gICAgICAgIC5tYXAoKG5vZGUpID0+ICh7IHR5cGU6ICdwb3NpdGlvbicsIGlkOiBub2RlLm5vZGUuaWQsIHBvaW50OiBub2RlLnBvaW50KCkgfSkpO1xuICAgIH0pLFxuICApIHNhdGlzZmllcyBPYnNlcnZhYmxlPE5vZGVDaGFuZ2VbXT47XG5cbiAgcHJvdGVjdGVkIG5vZGVTaXplQ2hhbmdlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmVudGl0aWVzU2VydmljZS5ub2RlcykucGlwZShcbiAgICBzd2l0Y2hNYXAoKG5vZGVzKSA9PlxuICAgICAgbWVyZ2UoXG4gICAgICAgIC4uLm5vZGVzLm1hcCgobm9kZSkgPT5cbiAgICAgICAgICBub2RlLnNpemUkLnBpcGUoXG4gICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgbWFwKCgpID0+IG5vZGUpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICAgbWFwKChjaGFuZ2VkTm9kZSkgPT4gW3sgdHlwZTogJ3NpemUnLCBpZDogY2hhbmdlZE5vZGUubm9kZS5pZCwgc2l6ZTogY2hhbmdlZE5vZGUuc2l6ZSgpIH1dKSxcbiAgKSBzYXRpc2ZpZXMgT2JzZXJ2YWJsZTxOb2RlQ2hhbmdlW10+O1xuXG4gIHByb3RlY3RlZCBub2RlQWRkQ2hhbmdlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmVudGl0aWVzU2VydmljZS5ub2RlcykucGlwZShcbiAgICBwYWlyd2lzZSgpLFxuICAgIG1hcCgoW29sZExpc3QsIG5ld0xpc3RdKSA9PiBuZXdMaXN0LmZpbHRlcigobm9kZSkgPT4gIW9sZExpc3QuaW5jbHVkZXMobm9kZSkpKSxcbiAgICBmaWx0ZXIoKG5vZGVzKSA9PiAhIW5vZGVzLmxlbmd0aCksXG4gICAgbWFwKChub2RlcykgPT4gbm9kZXMubWFwKChub2RlKSA9PiAoeyB0eXBlOiAnYWRkJywgaWQ6IG5vZGUubm9kZS5pZCB9KSkpLFxuICApIHNhdGlzZmllcyBPYnNlcnZhYmxlPE5vZGVDaGFuZ2VbXT47XG5cbiAgcHJvdGVjdGVkIG5vZGVSZW1vdmVDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMuZW50aXRpZXNTZXJ2aWNlLm5vZGVzKS5waXBlKFxuICAgIHBhaXJ3aXNlKCksXG4gICAgbWFwKChbb2xkTGlzdCwgbmV3TGlzdF0pID0+IG9sZExpc3QuZmlsdGVyKChub2RlKSA9PiAhbmV3TGlzdC5pbmNsdWRlcyhub2RlKSkpLFxuICAgIGZpbHRlcigobm9kZXMpID0+ICEhbm9kZXMubGVuZ3RoKSxcbiAgICBtYXAoKG5vZGVzKSA9PiBub2Rlcy5tYXAoKG5vZGUpID0+ICh7IHR5cGU6ICdyZW1vdmUnLCBpZDogbm9kZS5ub2RlLmlkIH0pKSksXG4gICkgc2F0aXNmaWVzIE9ic2VydmFibGU8Tm9kZUNoYW5nZVtdPjtcblxuICBwcm90ZWN0ZWQgbm9kZVNlbGVjdGVkQ2hhbmdlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmVudGl0aWVzU2VydmljZS5ub2RlcykucGlwZShcbiAgICBzd2l0Y2hNYXAoKG5vZGVzKSA9PlxuICAgICAgbWVyZ2UoXG4gICAgICAgIC4uLm5vZGVzLm1hcCgobm9kZSkgPT5cbiAgICAgICAgICBub2RlLnNlbGVjdGVkJC5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gbm9kZSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBtYXAoKGNoYW5nZWROb2RlKSA9PiBbeyB0eXBlOiAnc2VsZWN0JywgaWQ6IGNoYW5nZWROb2RlLm5vZGUuaWQsIHNlbGVjdGVkOiBjaGFuZ2VkTm9kZS5zZWxlY3RlZCgpIH1dKSxcbiAgKSBzYXRpc2ZpZXMgT2JzZXJ2YWJsZTxOb2RlQ2hhbmdlW10+O1xuXG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2VzJDogT2JzZXJ2YWJsZTxOb2RlQ2hhbmdlW10+ID0gbWVyZ2UoXG4gICAgdGhpcy5ub2Rlc1Bvc2l0aW9uQ2hhbmdlJCxcbiAgICB0aGlzLm5vZGVTaXplQ2hhbmdlJCxcbiAgICB0aGlzLm5vZGVBZGRDaGFuZ2UkLFxuICAgIHRoaXMubm9kZVJlbW92ZUNoYW5nZSQsXG4gICAgdGhpcy5ub2RlU2VsZWN0ZWRDaGFuZ2UkLFxuICApLnBpcGUoXG4gICAgLy8gdGhpcyBmaXhlcyBhIGJ1ZyB3aGVuIG9uIGZpcmUgbm9kZSBldmVudCBjaGFuZ2UsXG4gICAgLy8geW91IGNhbid0IGdldCB2YWxpZCBsaXN0IG9mIGRldGFjaGVkIGVkZ2VzXG4gICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyLCBERUxBWV9GT1JfU0NIRURVTEVSKSxcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -6,14 +6,13 @@ export class NodeRenderingService {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.flowEntitiesService = inject(FlowEntitiesService);
|
|
8
8
|
this.nodes = computed(() => {
|
|
9
|
-
return this.flowEntitiesService.nodes()
|
|
10
|
-
.sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
9
|
+
return this.flowEntitiesService.nodes().sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
11
10
|
});
|
|
12
11
|
this.groups = computed(() => {
|
|
13
|
-
return this.nodes().filter(n => isGroupNode(n));
|
|
12
|
+
return this.nodes().filter((n) => isGroupNode(n));
|
|
14
13
|
});
|
|
15
14
|
this.nonGroups = computed(() => {
|
|
16
|
-
return this.nodes().filter(n => !isGroupNode(n));
|
|
15
|
+
return this.nodes().filter((n) => !isGroupNode(n));
|
|
17
16
|
});
|
|
18
17
|
this.maxOrder = computed(() => {
|
|
19
18
|
return Math.max(...this.flowEntitiesService.nodes().map((n) => n.renderOrder()));
|
|
@@ -26,8 +25,8 @@ export class NodeRenderingService {
|
|
|
26
25
|
// pull children
|
|
27
26
|
this.flowEntitiesService
|
|
28
27
|
.nodes()
|
|
29
|
-
.filter(n => n.parent() === node)
|
|
30
|
-
.forEach(n => this.pullNode(n));
|
|
28
|
+
.filter((n) => n.parent() === node)
|
|
29
|
+
.forEach((n) => this.pullNode(n));
|
|
31
30
|
}
|
|
32
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeRenderingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33
32
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeRenderingService }); }
|
|
@@ -35,4 +34,4 @@ export class NodeRenderingService {
|
|
|
35
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeRenderingService, decorators: [{
|
|
36
35
|
type: Injectable
|
|
37
36
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZW5kZXJpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy9ub2RlLXJlbmRlcmluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFVSx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUxQyxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDNUcsQ0FBQyxDQUFDLENBQUM7UUFFYSxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBRWEsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUssYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztLQVlKO0lBVlEsUUFBUSxDQUFDLElBQWU7UUFDN0IsbURBQW1EO1FBQ25ELFlBQVk7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUMsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsS0FBSyxFQUFFO2FBQ1AsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBNUJVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vZmxvdy1lbnRpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcbmltcG9ydCB7IGlzR3JvdXBOb2RlIH0gZnJvbSAnLi4vdXRpbHMvaXMtZ3JvdXAtbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb2RlUmVuZGVyaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZmxvd0VudGl0aWVzU2VydmljZSA9IGluamVjdChGbG93RW50aXRpZXNTZXJ2aWNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbm9kZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcygpLnNvcnQoKGFOb2RlLCBiTm9kZSkgPT4gYU5vZGUucmVuZGVyT3JkZXIoKSAtIGJOb2RlLnJlbmRlck9yZGVyKCkpO1xuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JvdXBzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLm5vZGVzKCkuZmlsdGVyKChuKSA9PiBpc0dyb3VwTm9kZShuKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBub25Hcm91cHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMoKS5maWx0ZXIoKG4pID0+ICFpc0dyb3VwTm9kZShuKSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgbWF4T3JkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLnRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcygpLm1hcCgobikgPT4gbi5yZW5kZXJPcmRlcigpKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyBwdWxsTm9kZShub2RlOiBOb2RlTW9kZWwpIHtcbiAgICAvLyBUT0RPIGRvIG5vdCBwdWxsIHdoZW4gdGhlIG5vZGUgaXMgYWxyZWFkeSBvbiB0b3BcbiAgICAvLyBwdWxsIG5vZGVcbiAgICBub2RlLnJlbmRlck9yZGVyLnNldCh0aGlzLm1heE9yZGVyKCkgKyAxKTtcbiAgICAvLyBwdWxsIGNoaWxkcmVuXG4gICAgdGhpcy5mbG93RW50aXRpZXNTZXJ2aWNlXG4gICAgICAubm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5wYXJlbnQoKSA9PT0gbm9kZSlcbiAgICAgIC5mb3JFYWNoKChuKSA9PiB0aGlzLnB1bGxOb2RlKG4pKTtcbiAgfVxufVxuIl19
|
|
@@ -17,7 +17,7 @@ export class OverlaysService {
|
|
|
17
17
|
this.toolbars.update((toolbars) => [...toolbars, toolbar]);
|
|
18
18
|
}
|
|
19
19
|
removeToolbar(toolbar) {
|
|
20
|
-
this.toolbars.update((toolbars) => toolbars.filter(t => t !== toolbar));
|
|
20
|
+
this.toolbars.update((toolbars) => toolbars.filter((t) => t !== toolbar));
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlaysService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
23
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlaysService }); }
|
|
@@ -31,4 +31,4 @@ __decorate([
|
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlaysService, decorators: [{
|
|
32
32
|
type: Injectable
|
|
33
33
|
}], propDecorators: { addToolbar: [], removeToolbar: [] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy9vdmVybGF5cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUc5RCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVVLGFBQVEsR0FBRyxNQUFNLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXZDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztZQUUvQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7S0FXSjtJQVJRLFVBQVUsQ0FBQyxPQUFxQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFHTSxhQUFhLENBQUMsT0FBcUI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7K0dBckJVLGVBQWU7bUhBQWYsZUFBZTs7QUFjbkI7SUFETixTQUFTO2lEQUdUO0FBR007SUFETixTQUFTO29EQUdUOzRGQXJCVSxlQUFlO2tCQUQzQixVQUFVOzhCQWVGLFVBQVUsTUFLVixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbGJhck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Rvb2xiYXIubW9kZWwnO1xuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgTWljcm90YXNrIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9taWNyb3Rhc2suZGVjb3JhdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlzU2VydmljZSB7XG4gIHByaXZhdGUgdG9vbGJhcnMgPSBzaWduYWw8VG9vbGJhck1vZGVsW10+KFtdKTtcblxuICBwdWJsaWMgbm9kZVRvb2xiYXJzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8Tm9kZU1vZGVsLCBUb29sYmFyTW9kZWw+KCk7XG5cbiAgICB0aGlzLnRvb2xiYXJzKCkuZm9yRWFjaCgodG9vbGJhcikgPT4ge1xuICAgICAgbWFwLnNldCh0b29sYmFyLm5vZGUsIHRvb2xiYXIpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hcDtcbiAgfSk7XG5cbiAgQE1pY3JvdGFza1xuICBwdWJsaWMgYWRkVG9vbGJhcih0b29sYmFyOiBUb29sYmFyTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2xiYXJzLnVwZGF0ZSgodG9vbGJhcnMpID0+IFsuLi50b29sYmFycywgdG9vbGJhcl0pO1xuICB9XG5cbiAgQE1pY3JvdGFza1xuICBwdWJsaWMgcmVtb3ZlVG9vbGJhcih0b29sYmFyOiBUb29sYmFyTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2xiYXJzLnVwZGF0ZSgodG9vbGJhcnMpID0+IHRvb2xiYXJzLmZpbHRlcigodCkgPT4gdCAhPT0gdG9vbGJhcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,7 +9,8 @@ export class SelectionService {
|
|
|
9
9
|
this.flowEntitiesService = inject(FlowEntitiesService);
|
|
10
10
|
this.keyboardService = inject(KeyboardService);
|
|
11
11
|
this.viewport$ = new Subject();
|
|
12
|
-
this.resetSelection = this.viewport
|
|
12
|
+
this.resetSelection = this.viewport$
|
|
13
|
+
.pipe(tap(({ start, end, target }) => {
|
|
13
14
|
if (start && end && target) {
|
|
14
15
|
const delta = SelectionService.delta;
|
|
15
16
|
const diffX = Math.abs(end.x - start.x);
|
|
@@ -22,7 +23,8 @@ export class SelectionService {
|
|
|
22
23
|
this.select(null);
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
}), takeUntilDestroyed())
|
|
26
|
+
}), takeUntilDestroyed())
|
|
27
|
+
.subscribe();
|
|
26
28
|
}
|
|
27
29
|
static { this.delta = 6; }
|
|
28
30
|
setViewport(viewport) {
|
|
@@ -36,7 +38,7 @@ export class SelectionService {
|
|
|
36
38
|
}
|
|
37
39
|
if (!this.keyboardService.isActiveAction('multiSelection')) {
|
|
38
40
|
// undo select for previously selected nodes
|
|
39
|
-
this.flowEntitiesService.entities().forEach(n => n.selected.set(false));
|
|
41
|
+
this.flowEntitiesService.entities().forEach((n) => n.selected.set(false));
|
|
40
42
|
}
|
|
41
43
|
if (entity) {
|
|
42
44
|
// select passed entity
|
|
@@ -49,4 +51,4 @@ export class SelectionService {
|
|
|
49
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectionService, decorators: [{
|
|
50
52
|
type: Injectable
|
|
51
53
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVlyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBSVUsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUF3QixDQUFDO1FBRWhELG1CQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDdEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQzdCLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2dCQUVyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUV4QyxtQkFBbUI7Z0JBQ25CLE1BQU0sT0FBTyxHQUFHLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDL0Msd0RBQXdEO2dCQUN4RCxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBRXZELElBQUksT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLGtCQUFrQixFQUFFLENBQ3JCO2FBQ0EsU0FBUyxFQUFFLENBQUM7S0F1QmhCO2FBbkRnQixVQUFLLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUE4QmxCLFdBQVcsQ0FBQyxRQUE4QjtRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQXlCO1FBQ3JDLCtDQUErQztRQUMvQywwQ0FBMEM7UUFDMUMsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDM0QsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCx1QkFBdUI7WUFDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7K0dBbkRVLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaWV3cG9ydFN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy92aWV3cG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vZmxvdy1lbnRpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dFbnRpdHkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2Zsb3ctZW50aXR5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4va2V5Ym9hcmQuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRGb3JTZWxlY3Rpb24ge1xuICBzdGFydDogVmlld3BvcnRTdGF0ZTtcbiAgZW5kOiBWaWV3cG9ydFN0YXRlO1xuICAvKipcbiAgICogVGFyZ2V0IG1heSBub3QgZXhpc3QgaWYgdmlld3BvcnQgY2hhbmdlIG1hZGUgcHJvZ3JhbW1hdGljYWxseVxuICAgKi9cbiAgdGFyZ2V0PzogRWxlbWVudDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBkZWx0YSA9IDY7XG5cbiAgcHJpdmF0ZSBmbG93RW50aXRpZXNTZXJ2aWNlID0gaW5qZWN0KEZsb3dFbnRpdGllc1NlcnZpY2UpO1xuICBwcml2YXRlIGtleWJvYXJkU2VydmljZSA9IGluamVjdChLZXlib2FyZFNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCB2aWV3cG9ydCQgPSBuZXcgU3ViamVjdDxWaWV3cG9ydEZvclNlbGVjdGlvbj4oKTtcblxuICBwcm90ZWN0ZWQgcmVzZXRTZWxlY3Rpb24gPSB0aGlzLnZpZXdwb3J0JFxuICAgIC5waXBlKFxuICAgICAgdGFwKCh7IHN0YXJ0LCBlbmQsIHRhcmdldCB9KSA9PiB7XG4gICAgICAgIGlmIChzdGFydCAmJiBlbmQgJiYgdGFyZ2V0KSB7XG4gICAgICAgICAgY29uc3QgZGVsdGEgPSBTZWxlY3Rpb25TZXJ2aWNlLmRlbHRhO1xuXG4gICAgICAgICAgY29uc3QgZGlmZlggPSBNYXRoLmFicyhlbmQueCAtIHN0YXJ0LngpO1xuICAgICAgICAgIGNvbnN0IGRpZmZZID0gTWF0aC5hYnMoZW5kLnkgLSBzdGFydC55KTtcblxuICAgICAgICAgIC8vIGNsaWNrIChub3QgZHJhZylcbiAgICAgICAgICBjb25zdCBpc0NsaWNrID0gZGlmZlggPCBkZWx0YSAmJiBkaWZmWSA8IGRlbHRhO1xuICAgICAgICAgIC8vIGRvIG5vdCByZXNldCBpZiBldmVudCBjaGFpbiBjb250YWlucyBzZWxlY3RhYmxlIGVsZW1zXG4gICAgICAgICAgY29uc3QgaXNOb3RTZWxlY3RhYmxlID0gIXRhcmdldC5jbG9zZXN0KCcuc2VsZWN0YWJsZScpO1xuXG4gICAgICAgICAgaWYgKGlzQ2xpY2sgJiYgaXNOb3RTZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdChudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKTtcblxuICBwdWJsaWMgc2V0Vmlld3BvcnQodmlld3BvcnQ6IFZpZXdwb3J0Rm9yU2VsZWN0aW9uKSB7XG4gICAgdGhpcy52aWV3cG9ydCQubmV4dCh2aWV3cG9ydCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGVudGl0eTogRmxvd0VudGl0eSB8IG51bGwpIHtcbiAgICAvLyA/IE1heSBiZSBub3QgYSByZXNwb25zaWJpbGl0eSBvZiB0aGlzIG1ldGhvZFxuICAgIC8vIGlmIGVudGl0eSBhbHJlYWR5IHNlbGVjdGVkIC0gZG8gbm90aGluZ1xuICAgIGlmIChlbnRpdHk/LnNlbGVjdGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMua2V5Ym9hcmRTZXJ2aWNlLmlzQWN0aXZlQWN0aW9uKCdtdWx0aVNlbGVjdGlvbicpKSB7XG4gICAgICAvLyB1bmRvIHNlbGVjdCBmb3IgcHJldmlvdXNseSBzZWxlY3RlZCBub2Rlc1xuICAgICAgdGhpcy5mbG93RW50aXRpZXNTZXJ2aWNlLmVudGl0aWVzKCkuZm9yRWFjaCgobikgPT4gbi5zZWxlY3RlZC5zZXQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBpZiAoZW50aXR5KSB7XG4gICAgICAvLyBzZWxlY3QgcGFzc2VkIGVudGl0eVxuICAgICAgZW50aXR5LnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,7 +15,7 @@ export class ViewportService {
|
|
|
15
15
|
this.writableViewport = signal({
|
|
16
16
|
changeType: 'initial',
|
|
17
17
|
state: ViewportService.getDefaultViewport(),
|
|
18
|
-
duration: 0
|
|
18
|
+
duration: 0,
|
|
19
19
|
});
|
|
20
20
|
/**
|
|
21
21
|
* Public signal with viewport state. User can directly read from this signal. It's updated by:
|
|
@@ -29,22 +29,24 @@ export class ViewportService {
|
|
|
29
29
|
*
|
|
30
30
|
* @returns default viewport value
|
|
31
31
|
*/
|
|
32
|
-
static getDefaultViewport() {
|
|
32
|
+
static getDefaultViewport() {
|
|
33
|
+
return { zoom: 1, x: 0, y: 0 };
|
|
34
|
+
}
|
|
33
35
|
// TODO: add writableViewportWithConstraints (to apply min zoom/max zoom values)
|
|
34
|
-
fitView(options = { padding: .1, duration: 0, nodes: [] }) {
|
|
36
|
+
fitView(options = { padding: 0.1, duration: 0, nodes: [] }) {
|
|
35
37
|
const nodes = this.getBoundsNodes(options.nodes ?? []);
|
|
36
|
-
const state = getViewportForBounds(getNodesBounds(nodes), this.flowSettingsService.computedFlowWidth(), this.flowSettingsService.computedFlowHeight(), this.flowSettingsService.minZoom(), this.flowSettingsService.maxZoom(), options.padding ?? .1);
|
|
38
|
+
const state = getViewportForBounds(getNodesBounds(nodes), this.flowSettingsService.computedFlowWidth(), this.flowSettingsService.computedFlowHeight(), this.flowSettingsService.minZoom(), this.flowSettingsService.maxZoom(), options.padding ?? 0.1);
|
|
37
39
|
const duration = options.duration ?? 0;
|
|
38
40
|
this.writableViewport.set({ changeType: 'absolute', state, duration });
|
|
39
41
|
}
|
|
40
42
|
getBoundsNodes(nodeIds) {
|
|
41
43
|
return !nodeIds?.length
|
|
42
|
-
// If nodes option not passed or the list is empty, then get fit the whole view
|
|
43
|
-
|
|
44
|
-
// Otherwise fit to specific nodes
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
? // If nodes option not passed or the list is empty, then get fit the whole view
|
|
45
|
+
this.entitiesService.nodes()
|
|
46
|
+
: // Otherwise fit to specific nodes
|
|
47
|
+
nodeIds
|
|
48
|
+
.map((nodeId) => this.entitiesService.nodes().find(({ node }) => node.id === nodeId))
|
|
49
|
+
.filter((node) => !!node);
|
|
48
50
|
}
|
|
49
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
52
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportService }); }
|
|
@@ -52,4 +54,4 @@ export class ViewportService {
|
|
|
52
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportService, decorators: [{
|
|
53
55
|
type: Injectable
|
|
54
56
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUs5RCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVVLG9CQUFlLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFXMUQ7OztXQUdHO1FBQ2EscUJBQWdCLEdBQXFDLE1BQU0sQ0FBQztZQUMxRSxVQUFVLEVBQUUsU0FBUztZQUNyQixLQUFLLEVBQUUsZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQzNDLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQyxDQUFDO1FBRUg7Ozs7V0FJRztRQUNhLHFCQUFnQixHQUFrQyxNQUFNLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztLQThCaEg7SUF0REM7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxrQkFBa0I7UUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQW1CRCxnRkFBZ0Y7SUFFekUsT0FBTyxDQUFDLFVBQTBCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDL0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZELE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUNoQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxFQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsRUFDN0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQ2xDLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxDQUN2QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFpQjtRQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU07WUFDckIsQ0FBQyxDQUFDLCtFQUErRTtnQkFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDOUIsQ0FBQyxDQUFDLGtDQUFrQztnQkFDbEMsT0FBTztxQkFDSixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztxQkFDcEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBekRVLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFdyaXRhYmxlU2lnbmFsLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld3BvcnRTdGF0ZSwgV3JpdGFibGVWaWV3cG9ydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdmlld3BvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGdldE5vZGVzQm91bmRzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZXMnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vZmxvdy1lbnRpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFZpZXdwb3J0Rm9yQm91bmRzIH0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgRmxvd1NldHRpbmdzU2VydmljZSB9IGZyb20gJy4vZmxvdy1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maXQtdmlldy1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2Uge1xuICBwcml2YXRlIGVudGl0aWVzU2VydmljZSA9IGluamVjdChGbG93RW50aXRpZXNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmbG93U2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEZsb3dTZXR0aW5nc1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSB1c2VkIGJ5IGQzLCBqdXN0IGNvcHkgaXQgaGVyZVxuICAgKlxuICAgKiBAcmV0dXJucyBkZWZhdWx0IHZpZXdwb3J0IHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXREZWZhdWx0Vmlld3BvcnQoKTogVmlld3BvcnRTdGF0ZSB7XG4gICAgcmV0dXJuIHsgem9vbTogMSwgeDogMCwgeTogMCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHNpZ25hbCB0aGF0IGFjY2VwdHMgdmFsdWUgZnJvbSB1c2VyIGJ5IGxpYiBhcGlcbiAgICogV2hlbiB0aGlzIHNpZ25hbCBjaGFuZ2VzLCBsaWIgc2V0cyBuZXcgdmlldyBzdGF0ZSBhbmQgdXBkYXRlIHJlYWRhYmxlVmlld3BvcnQgc2lnbmFsXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd3JpdGFibGVWaWV3cG9ydDogV3JpdGFibGVTaWduYWw8V3JpdGFibGVWaWV3cG9ydD4gPSBzaWduYWwoe1xuICAgIGNoYW5nZVR5cGU6ICdpbml0aWFsJyxcbiAgICBzdGF0ZTogVmlld3BvcnRTZXJ2aWNlLmdldERlZmF1bHRWaWV3cG9ydCgpLFxuICAgIGR1cmF0aW9uOiAwLFxuICB9KTtcblxuICAvKipcbiAgICogUHVibGljIHNpZ25hbCB3aXRoIHZpZXdwb3J0IHN0YXRlLiBVc2VyIGNhbiBkaXJlY3RseSByZWFkIGZyb20gdGhpcyBzaWduYWwuIEl0J3MgdXBkYXRlZCBieTpcbiAgICogLSB1c2VyIGV2ZW50cyBvbiBmbG93XG4gICAqIC0gd3JpdGFibGVWaWV3cG9ydCBzaWduYWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZWFkYWJsZVZpZXdwb3J0OiBXcml0YWJsZVNpZ25hbDxWaWV3cG9ydFN0YXRlPiA9IHNpZ25hbChWaWV3cG9ydFNlcnZpY2UuZ2V0RGVmYXVsdFZpZXdwb3J0KCkpO1xuXG4gIC8vIFRPRE86IGFkZCB3cml0YWJsZVZpZXdwb3J0V2l0aENvbnN0cmFpbnRzICh0byBhcHBseSBtaW4gem9vbS9tYXggem9vbSB2YWx1ZXMpXG5cbiAgcHVibGljIGZpdFZpZXcob3B0aW9uczogRml0Vmlld09wdGlvbnMgPSB7IHBhZGRpbmc6IDAuMSwgZHVyYXRpb246IDAsIG5vZGVzOiBbXSB9KSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmdldEJvdW5kc05vZGVzKG9wdGlvbnMubm9kZXMgPz8gW10pO1xuXG4gICAgY29uc3Qgc3RhdGUgPSBnZXRWaWV3cG9ydEZvckJvdW5kcyhcbiAgICAgIGdldE5vZGVzQm91bmRzKG5vZGVzKSxcbiAgICAgIHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5jb21wdXRlZEZsb3dXaWR0aCgpLFxuICAgICAgdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLmNvbXB1dGVkRmxvd0hlaWdodCgpLFxuICAgICAgdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLm1pblpvb20oKSxcbiAgICAgIHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5tYXhab29tKCksXG4gICAgICBvcHRpb25zLnBhZGRpbmcgPz8gMC4xLFxuICAgICk7XG5cbiAgICBjb25zdCBkdXJhdGlvbiA9IG9wdGlvbnMuZHVyYXRpb24gPz8gMDtcblxuICAgIHRoaXMud3JpdGFibGVWaWV3cG9ydC5zZXQoeyBjaGFuZ2VUeXBlOiAnYWJzb2x1dGUnLCBzdGF0ZSwgZHVyYXRpb24gfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEJvdW5kc05vZGVzKG5vZGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuICFub2RlSWRzPy5sZW5ndGhcbiAgICAgID8gLy8gSWYgbm9kZXMgb3B0aW9uIG5vdCBwYXNzZWQgb3IgdGhlIGxpc3QgaXMgZW1wdHksIHRoZW4gZ2V0IGZpdCB0aGUgd2hvbGUgdmlld1xuICAgICAgICB0aGlzLmVudGl0aWVzU2VydmljZS5ub2RlcygpXG4gICAgICA6IC8vIE90aGVyd2lzZSBmaXQgdG8gc3BlY2lmaWMgbm9kZXNcbiAgICAgICAgbm9kZUlkc1xuICAgICAgICAgIC5tYXAoKG5vZGVJZCkgPT4gdGhpcy5lbnRpdGllc1NlcnZpY2Uubm9kZXMoKS5maW5kKCh7IG5vZGUgfSkgPT4gbm9kZS5pZCA9PT0gbm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChub2RlKTogbm9kZSBpcyBOb2RlTW9kZWwgPT4gISFub2RlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { signal } from
|
|
2
|
-
import { ComponentEventBusService } from
|
|
3
|
-
import { HandleService } from
|
|
4
|
-
import { NodeModel } from
|
|
5
|
-
import { FlowSettingsService } from
|
|
6
|
-
import { FlowEntitiesService } from
|
|
7
|
-
import { NodeAccessorService } from
|
|
8
|
-
import { RootPointerDirective } from
|
|
9
|
-
import { of } from
|
|
10
|
-
import { ViewportService } from
|
|
11
|
-
import { SpacePointContextDirective } from
|
|
12
|
-
import { SelectionService } from
|
|
1
|
+
import { signal } from '@angular/core';
|
|
2
|
+
import { ComponentEventBusService } from '../services/component-event-bus.service';
|
|
3
|
+
import { HandleService } from '../services/handle.service';
|
|
4
|
+
import { NodeModel } from '../models/node.model';
|
|
5
|
+
import { FlowSettingsService } from '../services/flow-settings.service';
|
|
6
|
+
import { FlowEntitiesService } from '../services/flow-entities.service';
|
|
7
|
+
import { NodeAccessorService } from '../services/node-accessor.service';
|
|
8
|
+
import { RootPointerDirective } from '../directives/root-pointer.directive';
|
|
9
|
+
import { of } from 'rxjs';
|
|
10
|
+
import { ViewportService } from '../services/viewport.service';
|
|
11
|
+
import { SpacePointContextDirective } from '../directives/space-point-context.directive';
|
|
12
|
+
import { SelectionService } from '../services/selection.service';
|
|
13
13
|
const mockModel = () => new NodeModel({ id: 'mock', type: 'default', point: { x: 0, y: 0 } });
|
|
14
14
|
export function provideCustomNodeMocks() {
|
|
15
15
|
return [
|
|
16
16
|
{
|
|
17
17
|
provide: ComponentEventBusService,
|
|
18
18
|
useValue: {
|
|
19
|
-
pushEvent: () => { }
|
|
20
|
-
}
|
|
19
|
+
pushEvent: () => { },
|
|
20
|
+
},
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
provide: HandleService,
|
|
@@ -25,7 +25,7 @@ export function provideCustomNodeMocks() {
|
|
|
25
25
|
node: signal(mockModel()),
|
|
26
26
|
createHandle: () => { },
|
|
27
27
|
destroyHandle: () => { },
|
|
28
|
-
})
|
|
28
|
+
}),
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
provide: RootPointerDirective,
|
|
@@ -36,32 +36,32 @@ export function provideCustomNodeMocks() {
|
|
|
36
36
|
movementX: 0,
|
|
37
37
|
movementY: 0,
|
|
38
38
|
target: null,
|
|
39
|
-
originalEvent: null
|
|
39
|
+
originalEvent: null,
|
|
40
40
|
}),
|
|
41
|
-
documentPointerEnd$: of(null)
|
|
42
|
-
}
|
|
41
|
+
documentPointerEnd$: of(null),
|
|
42
|
+
},
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
provide: SpacePointContextDirective,
|
|
46
46
|
useValue: {
|
|
47
|
-
documentPointToFlowPoint: (point) => point
|
|
48
|
-
}
|
|
47
|
+
documentPointToFlowPoint: (point) => point,
|
|
48
|
+
},
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
provide: NodeAccessorService,
|
|
52
52
|
useFactory: () => ({
|
|
53
|
-
model: signal(mockModel())
|
|
54
|
-
})
|
|
53
|
+
model: signal(mockModel()),
|
|
54
|
+
}),
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
provide: SelectionService,
|
|
58
58
|
useValue: {
|
|
59
59
|
select: () => { },
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
61
|
},
|
|
62
62
|
FlowSettingsService,
|
|
63
63
|
FlowEntitiesService,
|
|
64
|
-
ViewportService
|
|
64
|
+
ViewportService,
|
|
65
65
|
];
|
|
66
66
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL3Byb3ZpZGUtY3VzdG9tLW5vZGUtbW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5RixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDeEIsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRTtnQkFDUixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7b0JBQ25CLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLFNBQVMsRUFBRSxDQUFDO29CQUNaLFNBQVMsRUFBRSxDQUFDO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUNGLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDOUI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1Isd0JBQXdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUMzQixDQUFDO1NBQ0g7UUFDRDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ2pCO1NBQ0Y7UUFDRCxtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGVBQWU7S0FDaEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRFdmVudEJ1c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtZXZlbnQtYnVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGFuZGxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2hhbmRsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcbmltcG9ydCB7IEZsb3dTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zsb3ctZW50aXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlQWNjZXNzb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm9kZS1hY2Nlc3Nvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJvb3RQb2ludGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yb290LXBvaW50ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IFNwYWNlUG9pbnRDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zcGFjZS1wb2ludC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZSc7XG5cbmNvbnN0IG1vY2tNb2RlbCA9ICgpID0+IG5ldyBOb2RlTW9kZWwoeyBpZDogJ21vY2snLCB0eXBlOiAnZGVmYXVsdCcsIHBvaW50OiB7IHg6IDAsIHk6IDAgfSB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDdXN0b21Ob2RlTW9ja3MoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29tcG9uZW50RXZlbnRCdXNTZXJ2aWNlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcHVzaEV2ZW50OiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBIYW5kbGVTZXJ2aWNlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgbm9kZTogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgICAgY3JlYXRlSGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgICAgZGVzdHJveUhhbmRsZTogKCkgPT4ge30sXG4gICAgICB9KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvb3RQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcG9pbnRlck1vdmVtZW50JDogb2Yoe1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogMCxcbiAgICAgICAgICBtb3ZlbWVudFg6IDAsXG4gICAgICAgICAgbW92ZW1lbnRZOiAwLFxuICAgICAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgZG9jdW1lbnRQb2ludGVyRW5kJDogb2YobnVsbCksXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU3BhY2VQb2ludENvbnRleHREaXJlY3RpdmUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkb2N1bWVudFBvaW50VG9GbG93UG9pbnQ6IChwb2ludDogUG9pbnQpID0+IHBvaW50LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5vZGVBY2Nlc3NvclNlcnZpY2UsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICBtb2RlbDogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgIH0pLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0aW9uU2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIHNlbGVjdDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH0sXG4gICAgRmxvd1NldHRpbmdzU2VydmljZSxcbiAgICBGbG93RW50aXRpZXNTZXJ2aWNlLFxuICAgIFZpZXdwb3J0U2VydmljZSxcbiAgXTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3R5cGVzL2JhY2tncm91bmQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQmFja2dyb3VuZCA9IENvbG9yQmFja2dyb3VuZCB8IERvdHNCYWNrZ3JvdW5kIHwgSW1hZ2VCYWNrZ3JvdW5kO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yQmFja2dyb3VuZCB7XG4gIHR5cGU6ICdzb2xpZCc7XG4gIGNvbG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90c0JhY2tncm91bmQge1xuICB0eXBlOiAnZG90cyc7XG4gIC8qKlxuICAgKiBHYXAgYmV0d2VlbiBkb3RzXG4gICAqL1xuICBnYXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBkb3RcbiAgICovXG4gIGNvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaWFtZXRlciBvZiB0aGUgZG90XG4gICAqL1xuICBzaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDb2xvciBiZWhpbmQgdGhhIGRvdCBwYXR0ZXJuXG4gICAqL1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VCYWNrZ3JvdW5kIHtcbiAgdHlwZTogJ2ltYWdlJztcbiAgLyoqXG4gICAqIFBhdGggdG8gaW1hZ2UuIFBhc3NlcyBhcyBhIGhyZWYgdG8gdGhpcyBlbGVtZW50OlxuICAgKlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9TVkcvRWxlbWVudC9pbWFnZVxuICAgKi9cbiAgc3JjOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIGltYWdlIHdpbGwgYmUgZml4ZWQgb24gdGhlIGJhY2tncm91bmQgKG5vdCBtb3Zpbmcgd2l0aCB0aGUgZmxvdywgem9vbSBhbHNvIGRvZXNuJ3QgYWZmZWN0IGl0KVxuICAgKi9cbiAgZml4ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBpbWFnZSB3aWxsIGJlIHJlcGVhdGVkXG4gICAqL1xuICByZXBlYXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTY2FsZSByZWxhdGl2ZSB0byBuYXR1cmFsIGltYWdlIHNpemUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBpZiBpbWFnZSBpcyAxMDB4MTAwIGFuZCBzY2FsZSBpcyAwLjUsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgNTB4NTBcbiAgICovXG4gIHNjYWxlPzogbnVtYmVyO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1tb2RlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdHlwZXMvY29ubmVjdGlvbi1tb2RlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbm5lY3Rpb25Nb2RlID0gJ2xvb3NlJyB8ICdzdHJpY3QnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1jaGFuZ2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90eXBlcy9lZGdlLWNoYW5nZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFZGdlQ2hhbmdlID0gRWRnZURldGFjaGVkQ2hhbmdlIHwgRWRnZUFkZENoYW5nZSB8IEVkZ2VSZW1vdmVDaGFuZ2UgfCBFZGdlU2VsZWN0Q2hhbmdlO1xuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGdlRGV0YWNoZWRDaGFuZ2UgZXh0ZW5kcyBFZGdlQ2hhbmdlU2hhcmVkIHtcbiAgdHlwZTogJ2RldGFjaGVkJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGdlQWRkQ2hhbmdlIGV4dGVuZHMgRWRnZUNoYW5nZVNoYXJlZCB7XG4gIHR5cGU6ICdhZGQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2VSZW1vdmVDaGFuZ2UgZXh0ZW5kcyBFZGdlQ2hhbmdlU2hhcmVkIHtcbiAgdHlwZTogJ3JlbW92ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZVNlbGVjdENoYW5nZSBleHRlbmRzIEVkZ2VDaGFuZ2VTaGFyZWQge1xuICB0eXBlOiAnc2VsZWN0JztcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBFZGdlQ2hhbmdlU2hhcmVkIHtcbiAgaWQ6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLXR5cGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90eXBlcy9oYW5kbGUtdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIYW5kbGVUeXBlID0gJ3NvdXJjZScgfCAndGFyZ2V0JztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtYWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdHlwZXMva2V5Ym9hcmQtYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEtleWJvYXJkQWN0aW9uID0gJ211bHRpU2VsZWN0aW9uJztcblxuZXhwb3J0IHR5cGUgS2V5Ym9hcmRTaG9ydGN1dHMgPSBSZWNvcmQ8S2V5Ym9hcmRBY3Rpb24sIG51bGwgfCBzdHJpbmdbXT47XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jaGFuZ2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90eXBlcy9ub2RlLWNoYW5nZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgTm9kZUNoYW5nZSA9IE5vZGVQb3NpdGlvbkNoYW5nZSB8IE5vZGVTaXplQ2hhbmdlIHwgTm9kZUFkZENoYW5nZSB8IE5vZGVSZW1vdmVDaGFuZ2UgfCBOb2RlU2VsZWN0ZWRDaGFuZ2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVBvc2l0aW9uQ2hhbmdlIGV4dGVuZHMgTm9kZUNoYW5nZVNoYXJlZCB7XG4gIHR5cGU6ICdwb3NpdGlvbic7XG4gIHBvaW50OiBQb2ludDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlU2l6ZUNoYW5nZSBleHRlbmRzIE5vZGVDaGFuZ2VTaGFyZWQge1xuICB0eXBlOiAnc2l6ZSc7XG4gIHNpemU6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlQWRkQ2hhbmdlIGV4dGVuZHMgTm9kZUNoYW5nZVNoYXJlZCB7XG4gIHR5cGU6ICdhZGQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVSZW1vdmVDaGFuZ2UgZXh0ZW5kcyBOb2RlQ2hhbmdlU2hhcmVkIHtcbiAgdHlwZTogJ3JlbW92ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVNlbGVjdGVkQ2hhbmdlIGV4dGVuZHMgTm9kZUNoYW5nZVNoYXJlZCB7XG4gIHR5cGU6ICdzZWxlY3QnO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIE5vZGVDaGFuZ2VTaGFyZWQge1xuICBpZDogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90eXBlcy9wb3NpdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAncmlnaHQnIHwgJ2xlZnQnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNpbmctcG9pbnRzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdHlwZXMvdXNpbmctcG9pbnRzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFVzaW5nUG9pbnRzID0gW1xuICBzdGFydDogYm9vbGVhbiwgLy8gaXMgdXNlIHN0YXJ0XG4gIGNlbnRlcjogYm9vbGVhbiwgLy8gaXMgdXNlIGNlbnRlclxuICBlbmQ6IGJvb2xlYW4sIC8vICBpcyB1c2UgZW5kXG5dO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtY2hhbmdlLXR5cGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90eXBlcy92aWV3cG9ydC1jaGFuZ2UtdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBWaWV3cG9ydENoYW5nZVR5cGUgPVxuICB8ICdpbml0aWFsJyAvLyBmaXJzdCBjaGFuZ2UsIHNldCBieSBsaWJyYXJ5XG4gIHwgJ2Fic29sdXRlJyAvLyBsYXRlciBhYnNvbHVlIHZhbHVlIGNoYW5nZXMsIHNldCBieSB1c2VyXG4gIHwgJ3JlbGF0aXZlJzsgLy8gbGF0ZXIgcmVsYXRpdmUgdmFsdWUgY2hhbmdlcywgc2V0IGJ5IHVzZXJcbiJdfQ==
|