ngx-vflow 1.16.0 → 1.16.2
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.
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Injectable, computed, inject } from '@angular/core';
|
|
2
2
|
import { FlowEntitiesService } from './flow-entities.service';
|
|
3
|
-
import { isGroupNode } from '../utils/is-group-node';
|
|
4
3
|
import { FlowSettingsService } from './flow-settings.service';
|
|
5
4
|
import { isRectInViewport } from '../utils/viewport';
|
|
6
5
|
import { ViewportService } from './viewport.service';
|
|
7
6
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
8
7
|
import { asyncScheduler, debounceTime, filter, map, merge, observeOn } from 'rxjs';
|
|
9
8
|
import { toLazySignal } from '../utils/signals/to-lazy-signal';
|
|
9
|
+
import { isGroupNode } from '../utils/is-group-node';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class NodeRenderingService {
|
|
12
12
|
constructor() {
|
|
@@ -20,10 +20,10 @@ export class NodeRenderingService {
|
|
|
20
20
|
return this.viewportNodesAfterInteraction().sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
21
21
|
});
|
|
22
22
|
this.groups = computed(() => {
|
|
23
|
-
return this.nodes().filter((n) => isGroupNode(n));
|
|
23
|
+
return this.nodes().filter((n) => !!n.children().length || isGroupNode(n));
|
|
24
24
|
});
|
|
25
25
|
this.nonGroups = computed(() => {
|
|
26
|
-
return this.nodes().filter((n) => !
|
|
26
|
+
return this.nodes().filter((n) => !this.groups().includes(n));
|
|
27
27
|
});
|
|
28
28
|
this.viewportNodes = computed(() => {
|
|
29
29
|
const nodes = this.flowEntitiesService.nodes();
|
|
@@ -63,4 +63,4 @@ export class NodeRenderingService {
|
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeRenderingService, decorators: [{
|
|
64
64
|
type: Injectable
|
|
65
65
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZW5kZXJpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy9ub2RlLXJlbmRlcmluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUdyRCxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRVUsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxj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QyxZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUUxRixPQUFPLFFBQVEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FDSCxFQUNEO1lBQ0UsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FDRixDQUFDO1FBRU0sYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztLQVNKO0lBUFEsUUFBUSxDQUFDLElBQWU7UUFDN0IsWUFBWTtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxQyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7K0dBckVVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vZmxvdy1lbnRpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcbmltcG9ydCB7IEZsb3dTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2Zsb3ctc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBpc1JlY3RJblZpZXdwb3J0IH0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSAnLi92aWV3cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgb2JzZXJ2ZU9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b0xhenlTaWduYWwgfSBmcm9tICcuLi91dGlscy9zaWduYWxzL3RvLWxhenktc2lnbmFsJztcbmltcG9ydCB7IGlzR3JvdXBOb2RlIH0gZnJvbSAnLi4vdXRpbHMvaXMtZ3JvdXAtbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb2RlUmVuZGVyaW5nU2VydmljZSB7XG4gIHByaXZhdGUgZmxvd0VudGl0aWVzU2VydmljZSA9IGluamVjdChGbG93RW50aXRpZXNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmbG93U2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEZsb3dTZXR0aW5nc1NlcnZpY2UpO1xuICBwcml2YXRlIHZpZXdwb3J0U2VydmljZSA9IGluamVjdChWaWV3cG9ydFNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBub2RlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5vcHRpbWl6YXRpb24oKS52aXJ0dWFsaXphdGlvbikge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLmZsb3dFbnRpdGllc1NlcnZpY2Uubm9kZXMoKV0uc29ydCgoYU5vZGUsIGJOb2RlKSA9PiBhTm9kZS5yZW5kZXJPcmRlcigpIC0gYk5vZGUucmVuZGVyT3JkZXIoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmlld3BvcnROb2Rlc0FmdGVySW50ZXJhY3Rpb24oKS5zb3J0KChhTm9kZSwgYk5vZGUpID0+IGFOb2RlLnJlbmRlck9yZGVyKCkgLSBiTm9kZS5yZW5kZXJPcmRlcigpKTtcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGdyb3VwcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcygpLmZpbHRlcigobikgPT4gISFuLmNoaWxkcmVuKCkubGVuZ3RoIHx8IGlzR3JvdXBOb2RlKG4pKTtcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG5vbkdyb3VwcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcygpLmZpbHRlcigobikgPT4gIXRoaXMuZ3JvdXBzKCkuaW5jbHVkZXMobikpO1xuICB9KTtcblxuICBwdWJsaWMgdmlld3BvcnROb2RlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcygpO1xuICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydFNlcnZpY2UucmVhZGFibGVWaWV3cG9ydCgpO1xuICAgIGNvbnN0IGZsb3dXaWR0aCA9IHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5jb21wdXRlZEZsb3dXaWR0aCgpO1xuICAgIGNvbnN0IGZsb3dIZWlnaHQgPSB0aGlzLmZsb3dTZXR0aW5nc1NlcnZpY2UuY29tcHV0ZWRGbG93SGVpZ2h0KCk7XG5cbiAgICByZXR1cm4gbm9kZXMuZmlsdGVyKChuKSA9PiB7XG4gICAgICBjb25zdCB7IHgsIHkgfSA9IG4uZ2xvYmFsUG9pbnQoKTtcbiAgICAgIGNvbnN0IHdpZHRoID0gbi53aWR0aCgpO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gbi5oZWlnaHQoKTtcblxuICAgICAgcmV0dXJuIGlzUmVjdEluVmlld3BvcnQoeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0sIHZpZXdwb3J0LCBmbG93V2lkdGgsIGZsb3dIZWlnaHQpO1xuICAgIH0pO1xuICB9KTtcblxuICBwcml2YXRlIHZpZXdwb3J0Tm9kZXNBZnRlckludGVyYWN0aW9uID0gdG9MYXp5U2lnbmFsKFxuICAgIG1lcmdlKFxuICAgICAgLy8gVE9ETzogbWF5YmUgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IHdhaXQgd2hlbiB2aWV3cG9ydCBpcyByZWFkeT9cbiAgICAgIC8vICh0byBjb3JyZWN0bHkgY2FsY3VsYXRlIHZpZXdwb3J0IG5vZGVzIG9uIGZpcnN0IHJlbmRlcilcbiAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmZsb3dFbnRpdGllc1NlcnZpY2Uubm9kZXMpLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksXG4gICAgICAgIGZpbHRlcigobm9kZXMpID0+ICEhbm9kZXMubGVuZ3RoKSxcbiAgICAgICksXG5cbiAgICAgIHRoaXMudmlld3BvcnRTZXJ2aWNlLnZpZXdwb3J0Q2hhbmdlRW5kJC5waXBlKGRlYm91bmNlVGltZSgzMDApKSxcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnRTZXJ2aWNlLnJlYWRhYmxlVmlld3BvcnQoKTtcbiAgICAgICAgY29uc3Qgem9vbVRocmVzaG9sZCA9IHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5vcHRpbWl6YXRpb24oKS52aXJ0dWFsaXphdGlvblpvb21UaHJlc2hvbGQ7XG5cbiAgICAgICAgcmV0dXJuIHZpZXdwb3J0Lnpvb20gPCB6b29tVGhyZXNob2xkID8gW10gOiB0aGlzLnZpZXdwb3J0Tm9kZXMoKTtcbiAgICAgIH0pLFxuICAgICksXG4gICAge1xuICAgICAgaW5pdGlhbFZhbHVlOiBbXSxcbiAgICB9LFxuICApO1xuXG4gIHByaXZhdGUgbWF4T3JkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLnRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcygpLm1hcCgobikgPT4gbi5yZW5kZXJPcmRlcigpKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyBwdWxsTm9kZShub2RlOiBOb2RlTW9kZWwpIHtcbiAgICAvLyBwdWxsIG5vZGVcbiAgICBub2RlLnJlbmRlck9yZGVyLnNldCh0aGlzLm1heE9yZGVyKCkgKyAxKTtcblxuICAgIC8vIHB1bGwgY2hpbGRyZW5cbiAgICBub2RlLmNoaWxkcmVuKCkuZm9yRWFjaCgobikgPT4gdGhpcy5wdWxsTm9kZShuKSk7XG4gIH1cbn1cbiJdfQ==
|
package/fesm2022/ngx-vflow.mjs
CHANGED
|
@@ -1061,10 +1061,6 @@ function toSignalProperties(obj) {
|
|
|
1061
1061
|
return newObj;
|
|
1062
1062
|
}
|
|
1063
1063
|
|
|
1064
|
-
function isGroupNode(node) {
|
|
1065
|
-
return node.rawNode.type === 'default-group' || node.rawNode.type === 'template-group';
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
1064
|
// MIT License
|
|
1069
1065
|
// Copyright (c) 2023 Chau Tran
|
|
1070
1066
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
@@ -1123,6 +1119,10 @@ function toLazySignal(source, options) {
|
|
|
1123
1119
|
});
|
|
1124
1120
|
}
|
|
1125
1121
|
|
|
1122
|
+
function isGroupNode(node) {
|
|
1123
|
+
return node.rawNode.type === 'default-group' || node.rawNode.type === 'template-group';
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
1126
|
class NodeRenderingService {
|
|
1127
1127
|
constructor() {
|
|
1128
1128
|
this.flowEntitiesService = inject(FlowEntitiesService);
|
|
@@ -1135,10 +1135,10 @@ class NodeRenderingService {
|
|
|
1135
1135
|
return this.viewportNodesAfterInteraction().sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
1136
1136
|
});
|
|
1137
1137
|
this.groups = computed(() => {
|
|
1138
|
-
return this.nodes().filter((n) => isGroupNode(n));
|
|
1138
|
+
return this.nodes().filter((n) => !!n.children().length || isGroupNode(n));
|
|
1139
1139
|
});
|
|
1140
1140
|
this.nonGroups = computed(() => {
|
|
1141
|
-
return this.nodes().filter((n) => !
|
|
1141
|
+
return this.nodes().filter((n) => !this.groups().includes(n));
|
|
1142
1142
|
});
|
|
1143
1143
|
this.viewportNodes = computed(() => {
|
|
1144
1144
|
const nodes = this.flowEntitiesService.nodes();
|