ngx-vflow 1.11.1 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/vflow/components/background/background.component.mjs +4 -3
- package/esm2022/lib/vflow/components/node/node.component.mjs +3 -1
- package/esm2022/lib/vflow/components/preview-flow/draw-node.mjs +100 -0
- package/esm2022/lib/vflow/components/preview-flow/preview-flow.component.mjs +62 -0
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +26 -12
- package/esm2022/lib/vflow/directives/map-context.directive.mjs +28 -18
- package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +3 -3
- package/esm2022/lib/vflow/interfaces/node-preview.interface.mjs +2 -0
- package/esm2022/lib/vflow/interfaces/node.interface.mjs +1 -1
- package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +6 -2
- package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +60 -4
- package/esm2022/lib/vflow/models/edge.model.mjs +42 -15
- package/esm2022/lib/vflow/models/handle.model.mjs +3 -1
- package/esm2022/lib/vflow/models/node.model.mjs +6 -1
- package/esm2022/lib/vflow/services/edge-rendering.service.mjs +14 -2
- package/esm2022/lib/vflow/services/flow-settings.service.mjs +3 -1
- package/esm2022/lib/vflow/services/node-rendering.service.mjs +35 -2
- package/esm2022/lib/vflow/services/preview-flow-render-strategy.service.mjs +21 -0
- package/esm2022/lib/vflow/services/viewport.service.mjs +8 -1
- package/esm2022/lib/vflow/utils/assert-injector.mjs +27 -0
- package/esm2022/lib/vflow/utils/signals/extended-computed.mjs +15 -0
- package/esm2022/lib/vflow/utils/signals/to-lazy-signal.mjs +35 -0
- package/esm2022/lib/vflow/utils/viewport.mjs +37 -1
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/testing/component-mocks/vflow-mock.component.mjs +7 -7
- package/fesm2022/ngx-vflow-testing.mjs +6 -6
- package/fesm2022/ngx-vflow-testing.mjs.map +1 -1
- package/fesm2022/ngx-vflow.mjs +495 -49
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/preview-flow/draw-node.d.ts +2 -0
- package/lib/vflow/components/preview-flow/preview-flow.component.d.ts +15 -0
- package/lib/vflow/components/vflow/vflow.component.d.ts +5 -2
- package/lib/vflow/directives/map-context.directive.d.ts +3 -2
- package/lib/vflow/interfaces/node-preview.interface.d.ts +3 -0
- package/lib/vflow/interfaces/node.interface.d.ts +3 -0
- package/lib/vflow/interfaces/optimization.interface.d.ts +17 -1
- package/lib/vflow/models/node.model.d.ts +3 -0
- package/lib/vflow/services/edge-rendering.service.d.ts +2 -0
- package/lib/vflow/services/flow-settings.service.d.ts +2 -0
- package/lib/vflow/services/node-rendering.service.d.ts +4 -0
- package/lib/vflow/services/preview-flow-render-strategy.service.d.ts +12 -0
- package/lib/vflow/services/viewport.service.d.ts +3 -0
- package/lib/vflow/utils/assert-injector.d.ts +44 -0
- package/lib/vflow/utils/signals/extended-computed.d.ts +5 -0
- package/lib/vflow/utils/signals/to-lazy-signal.d.ts +20 -0
- package/lib/vflow/utils/viewport.d.ts +19 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/testing/component-mocks/vflow-mock.component.d.ts +3 -3
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { Injectable, computed, inject } from '@angular/core';
|
|
2
2
|
import { FlowEntitiesService } from './flow-entities.service';
|
|
3
3
|
import { isGroupNode } from '../utils/is-group-node';
|
|
4
|
+
import { FlowSettingsService } from './flow-settings.service';
|
|
5
|
+
import { isRectInViewport } from '../utils/viewport';
|
|
6
|
+
import { ViewportService } from './viewport.service';
|
|
7
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { asyncScheduler, debounceTime, filter, map, merge, observeOn } from 'rxjs';
|
|
9
|
+
import { toLazySignal } from '../utils/signals/to-lazy-signal';
|
|
4
10
|
import * as i0 from "@angular/core";
|
|
5
11
|
export class NodeRenderingService {
|
|
6
12
|
constructor() {
|
|
7
13
|
this.flowEntitiesService = inject(FlowEntitiesService);
|
|
14
|
+
this.flowSettingsService = inject(FlowSettingsService);
|
|
15
|
+
this.viewportService = inject(ViewportService);
|
|
8
16
|
this.nodes = computed(() => {
|
|
9
|
-
|
|
17
|
+
if (!this.flowSettingsService.optimization().virtualization) {
|
|
18
|
+
return [...this.flowEntitiesService.nodes()].sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
19
|
+
}
|
|
20
|
+
return this.viewportNodesAfterInteraction().sort((aNode, bNode) => aNode.renderOrder() - bNode.renderOrder());
|
|
10
21
|
});
|
|
11
22
|
this.groups = computed(() => {
|
|
12
23
|
return this.nodes().filter((n) => isGroupNode(n));
|
|
@@ -14,6 +25,28 @@ export class NodeRenderingService {
|
|
|
14
25
|
this.nonGroups = computed(() => {
|
|
15
26
|
return this.nodes().filter((n) => !isGroupNode(n));
|
|
16
27
|
});
|
|
28
|
+
this.viewportNodes = computed(() => {
|
|
29
|
+
const nodes = this.flowEntitiesService.nodes();
|
|
30
|
+
const viewport = this.viewportService.readableViewport();
|
|
31
|
+
const flowWidth = this.flowSettingsService.computedFlowWidth();
|
|
32
|
+
const flowHeight = this.flowSettingsService.computedFlowHeight();
|
|
33
|
+
return nodes.filter((n) => {
|
|
34
|
+
const { x, y } = n.globalPoint();
|
|
35
|
+
const width = n.width();
|
|
36
|
+
const height = n.height();
|
|
37
|
+
return isRectInViewport({ x, y, width, height }, viewport, flowWidth, flowHeight);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
this.viewportNodesAfterInteraction = toLazySignal(merge(
|
|
41
|
+
// TODO: maybe there is a better way wait when viewport is ready?
|
|
42
|
+
// (to correctly calculate viewport nodes on first render)
|
|
43
|
+
toObservable(this.flowEntitiesService.nodes).pipe(observeOn(asyncScheduler), filter((nodes) => !!nodes.length)), this.viewportService.viewportChangeEnd$.pipe(debounceTime(300))).pipe(map(() => {
|
|
44
|
+
const viewport = this.viewportService.readableViewport();
|
|
45
|
+
const zoomThreshold = this.flowSettingsService.optimization().virtualizationZoomThreshold;
|
|
46
|
+
return viewport.zoom < zoomThreshold ? [] : this.viewportNodes();
|
|
47
|
+
})), {
|
|
48
|
+
initialValue: [],
|
|
49
|
+
});
|
|
17
50
|
this.maxOrder = computed(() => {
|
|
18
51
|
return Math.max(...this.flowEntitiesService.nodes().map((n) => n.renderOrder()));
|
|
19
52
|
});
|
|
@@ -30,4 +63,4 @@ export class NodeRenderingService {
|
|
|
30
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeRenderingService, decorators: [{
|
|
31
64
|
type: Injectable
|
|
32
65
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZW5kZXJpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy9ub2RlLXJlbmRlcmluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUcvRCxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRVUsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxj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Q0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUNILEVBQ0Q7WUFDRSxZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUNGLENBQUM7UUFFTSxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUFDO0tBU0o7SUFQUSxRQUFRLENBQUMsSUFBZTtRQUM3QixZQUFZO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFDLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0FyRVUsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG93RW50aXRpZXNTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LWVudGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgaXNHcm91cE5vZGUgfSBmcm9tICcuLi91dGlscy9pcy1ncm91cC1ub2RlJztcbmltcG9ydCB7IEZsb3dTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2Zsb3ctc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBpc1JlY3RJblZpZXdwb3J0IH0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSAnLi92aWV3cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgb2JzZXJ2ZU9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b0xhenlTaWduYWwgfSBmcm9tICcuLi91dGlscy9zaWduYWxzL3RvLWxhenktc2lnbmFsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVSZW5kZXJpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBmbG93RW50aXRpZXNTZXJ2aWNlID0gaW5qZWN0KEZsb3dFbnRpdGllc1NlcnZpY2UpO1xuICBwcml2YXRlIGZsb3dTZXR0aW5nc1NlcnZpY2UgPSBpbmplY3QoRmxvd1NldHRpbmdzU2VydmljZSk7XG4gIHByaXZhdGUgdmlld3BvcnRTZXJ2aWNlID0gaW5qZWN0KFZpZXdwb3J0U2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG5vZGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLm9wdGltaXphdGlvbigpLnZpcnR1YWxpemF0aW9uKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcygpXS5zb3J0KChhTm9kZSwgYk5vZGUpID0+IGFOb2RlLnJlbmRlck9yZGVyKCkgLSBiTm9kZS5yZW5kZXJPcmRlcigpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52aWV3cG9ydE5vZGVzQWZ0ZXJJbnRlcmFjdGlvbigpLnNvcnQoKGFOb2RlLCBiTm9kZSkgPT4gYU5vZGUucmVuZGVyT3JkZXIoKSAtIGJOb2RlLnJlbmRlck9yZGVyKCkpO1xuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JvdXBzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLm5vZGVzKCkuZmlsdGVyKChuKSA9PiBpc0dyb3VwTm9kZShuKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBub25Hcm91cHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMoKS5maWx0ZXIoKG4pID0+ICFpc0dyb3VwTm9kZShuKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyB2aWV3cG9ydE5vZGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5mbG93RW50aXRpZXNTZXJ2aWNlLm5vZGVzKCk7XG4gICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLnZpZXdwb3J0U2VydmljZS5yZWFkYWJsZVZpZXdwb3J0KCk7XG4gICAgY29uc3QgZmxvd1dpZHRoID0gdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLmNvbXB1dGVkRmxvd1dpZHRoKCk7XG4gICAgY29uc3QgZmxvd0hlaWdodCA9IHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5jb21wdXRlZEZsb3dIZWlnaHQoKTtcblxuICAgIHJldHVybiBub2Rlcy5maWx0ZXIoKG4pID0+IHtcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gbi5nbG9iYWxQb2ludCgpO1xuICAgICAgY29uc3Qgd2lkdGggPSBuLndpZHRoKCk7XG4gICAgICBjb25zdCBoZWlnaHQgPSBuLmhlaWdodCgpO1xuXG4gICAgICByZXR1cm4gaXNSZWN0SW5WaWV3cG9ydCh7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSwgdmlld3BvcnQsIGZsb3dXaWR0aCwgZmxvd0hlaWdodCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgdmlld3BvcnROb2Rlc0FmdGVySW50ZXJhY3Rpb24gPSB0b0xhenlTaWduYWwoXG4gICAgbWVyZ2UoXG4gICAgICAvLyBUT0RPOiBtYXliZSB0aGVyZSBpcyBhIGJldHRlciB3YXkgd2FpdCB3aGVuIHZpZXdwb3J0IGlzIHJlYWR5P1xuICAgICAgLy8gKHRvIGNvcnJlY3RseSBjYWxjdWxhdGUgdmlld3BvcnQgbm9kZXMgb24gZmlyc3QgcmVuZGVyKVxuICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuZmxvd0VudGl0aWVzU2VydmljZS5ub2RlcykucGlwZShcbiAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcbiAgICAgICAgZmlsdGVyKChub2RlcykgPT4gISFub2Rlcy5sZW5ndGgpLFxuICAgICAgKSxcblxuICAgICAgdGhpcy52aWV3cG9ydFNlcnZpY2Uudmlld3BvcnRDaGFuZ2VFbmQkLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpLFxuICAgICkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydFNlcnZpY2UucmVhZGFibGVWaWV3cG9ydCgpO1xuICAgICAgICBjb25zdCB6b29tVGhyZXNob2xkID0gdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLm9wdGltaXphdGlvbigpLnZpcnR1YWxpemF0aW9uWm9vbVRocmVzaG9sZDtcblxuICAgICAgICByZXR1cm4gdmlld3BvcnQuem9vbSA8IHpvb21UaHJlc2hvbGQgPyBbXSA6IHRoaXMudmlld3BvcnROb2RlcygpO1xuICAgICAgfSksXG4gICAgKSxcbiAgICB7XG4gICAgICBpbml0aWFsVmFsdWU6IFtdLFxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBtYXhPcmRlciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gTWF0aC5tYXgoLi4udGhpcy5mbG93RW50aXRpZXNTZXJ2aWNlLm5vZGVzKCkubWFwKChuKSA9PiBuLnJlbmRlck9yZGVyKCkpKTtcbiAgfSk7XG5cbiAgcHVibGljIHB1bGxOb2RlKG5vZGU6IE5vZGVNb2RlbCkge1xuICAgIC8vIHB1bGwgbm9kZVxuICAgIG5vZGUucmVuZGVyT3JkZXIuc2V0KHRoaXMubWF4T3JkZXIoKSArIDEpO1xuXG4gICAgLy8gcHVsbCBjaGlsZHJlblxuICAgIG5vZGUuY2hpbGRyZW4oKS5mb3JFYWNoKChuKSA9PiB0aGlzLnB1bGxOb2RlKG4pKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PreviewFlowRenderStrategyService {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreviewFlowRenderStrategyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreviewFlowRenderStrategyService }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreviewFlowRenderStrategyService, decorators: [{
|
|
8
|
+
type: Injectable
|
|
9
|
+
}] });
|
|
10
|
+
export class ViewportPreviewFlowRenderStrategyService extends PreviewFlowRenderStrategyService {
|
|
11
|
+
shouldRenderNode(node) {
|
|
12
|
+
// Do not render preview node if the real node is visible
|
|
13
|
+
return !node.isVisible();
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportPreviewFlowRenderStrategyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportPreviewFlowRenderStrategyService }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportPreviewFlowRenderStrategyService, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1mbG93LXJlbmRlci1zdHJhdGVneS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3NlcnZpY2VzL3ByZXZpZXctZmxvdy1yZW5kZXItc3RyYXRlZ3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLGdDQUFnQzsrR0FBaEMsZ0NBQWdDO21IQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBRHJELFVBQVU7O0FBTVgsTUFBTSxPQUFPLHdDQUF5QyxTQUFRLGdDQUFnQztJQUNyRixnQkFBZ0IsQ0FBQyxJQUFlO1FBQ3JDLHlEQUF5RDtRQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBSlUsd0NBQXdDO21IQUF4Qyx3Q0FBd0M7OzRGQUF4Qyx3Q0FBd0M7a0JBRHBELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQcmV2aWV3Rmxvd1JlbmRlclN0cmF0ZWd5U2VydmljZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBzaG91bGRSZW5kZXJOb2RlKG5vZGU6IE5vZGVNb2RlbCk6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFByZXZpZXdGbG93UmVuZGVyU3RyYXRlZ3lTZXJ2aWNlIGV4dGVuZHMgUHJldmlld0Zsb3dSZW5kZXJTdHJhdGVneVNlcnZpY2Uge1xuICBwdWJsaWMgc2hvdWxkUmVuZGVyTm9kZShub2RlOiBOb2RlTW9kZWwpOiBib29sZWFuIHtcbiAgICAvLyBEbyBub3QgcmVuZGVyIHByZXZpZXcgbm9kZSBpZiB0aGUgcmVhbCBub2RlIGlzIHZpc2libGVcbiAgICByZXR1cm4gIW5vZGUuaXNWaXNpYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { getNodesBounds } from '../utils/nodes';
|
|
|
3
3
|
import { FlowEntitiesService } from './flow-entities.service';
|
|
4
4
|
import { getViewportForBounds } from '../utils/viewport';
|
|
5
5
|
import { FlowSettingsService } from './flow-settings.service';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class ViewportService {
|
|
8
9
|
constructor() {
|
|
@@ -23,6 +24,7 @@ export class ViewportService {
|
|
|
23
24
|
* - writableViewport signal
|
|
24
25
|
*/
|
|
25
26
|
this.readableViewport = signal(ViewportService.getDefaultViewport());
|
|
27
|
+
this.viewportChangeEnd$ = new Subject();
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* The default value used by d3, just copy it here
|
|
@@ -39,6 +41,11 @@ export class ViewportService {
|
|
|
39
41
|
const duration = options.duration ?? 0;
|
|
40
42
|
this.writableViewport.set({ changeType: 'absolute', state, duration });
|
|
41
43
|
}
|
|
44
|
+
triggerViewportChangeEvent(type) {
|
|
45
|
+
if (type === 'end') {
|
|
46
|
+
this.viewportChangeEnd$.next();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
42
49
|
getBoundsNodes(nodeIds) {
|
|
43
50
|
return !nodeIds?.length
|
|
44
51
|
? // If nodes option not passed or the list is empty, then get fit the whole view
|
|
@@ -54,4 +61,4 @@ export class ViewportService {
|
|
|
54
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewportService, decorators: [{
|
|
55
62
|
type: Injectable
|
|
56
63
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQVcxRDs7O1dBR0c7UUFDYSxxQkFBZ0IsR0FBcUMsTUFBTSxDQUFDO1lBQzFFLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLEtBQUssRUFBRSxlQUFlLENBQUMsa0JBQWtCLEVBQUU7WUFDM0MsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDLENBQUM7UUFFSDs7OztXQUlHO1FBQ2EscUJBQWdCLEdBQWtDLE1BQU0sQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FvQzFEO0lBOURDOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsa0JBQWtCO1FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFxQkQsZ0ZBQWdGO0lBRXpFLE9BQU8sQ0FBQyxVQUEwQixFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQy9FLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RCxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FDaEMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsRUFDNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLEVBQzdDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUNsQyxPQUFPLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FDdkIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxJQUFXO1FBQzNDLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFpQjtRQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU07WUFDckIsQ0FBQyxDQUFDLCtFQUErRTtnQkFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDOUIsQ0FBQyxDQUFDLGtDQUFrQztnQkFDbEMsT0FBTztxQkFDSixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztxQkFDMUYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBakVVLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFdyaXRhYmxlU2lnbmFsLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld3BvcnRTdGF0ZSwgV3JpdGFibGVWaWV3cG9ydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdmlld3BvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGdldE5vZGVzQm91bmRzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZXMnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vZmxvdy1lbnRpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFZpZXdwb3J0Rm9yQm91bmRzIH0gZnJvbSAnLi4vdXRpbHMvdmlld3BvcnQnO1xuaW1wb3J0IHsgRmxvd1NldHRpbmdzU2VydmljZSB9IGZyb20gJy4vZmxvdy1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maXQtdmlldy1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2Uge1xuICBwcml2YXRlIGVudGl0aWVzU2VydmljZSA9IGluamVjdChGbG93RW50aXRpZXNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmbG93U2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEZsb3dTZXR0aW5nc1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSB1c2VkIGJ5IGQzLCBqdXN0IGNvcHkgaXQgaGVyZVxuICAgKlxuICAgKiBAcmV0dXJucyBkZWZhdWx0IHZpZXdwb3J0IHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXREZWZhdWx0Vmlld3BvcnQoKTogVmlld3BvcnRTdGF0ZSB7XG4gICAgcmV0dXJuIHsgem9vbTogMSwgeDogMCwgeTogMCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHNpZ25hbCB0aGF0IGFjY2VwdHMgdmFsdWUgZnJvbSB1c2VyIGJ5IGxpYiBhcGlcbiAgICogV2hlbiB0aGlzIHNpZ25hbCBjaGFuZ2VzLCBsaWIgc2V0cyBuZXcgdmlldyBzdGF0ZSBhbmQgdXBkYXRlIHJlYWRhYmxlVmlld3BvcnQgc2lnbmFsXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgd3JpdGFibGVWaWV3cG9ydDogV3JpdGFibGVTaWduYWw8V3JpdGFibGVWaWV3cG9ydD4gPSBzaWduYWwoe1xuICAgIGNoYW5nZVR5cGU6ICdpbml0aWFsJyxcbiAgICBzdGF0ZTogVmlld3BvcnRTZXJ2aWNlLmdldERlZmF1bHRWaWV3cG9ydCgpLFxuICAgIGR1cmF0aW9uOiAwLFxuICB9KTtcblxuICAvKipcbiAgICogUHVibGljIHNpZ25hbCB3aXRoIHZpZXdwb3J0IHN0YXRlLiBVc2VyIGNhbiBkaXJlY3RseSByZWFkIGZyb20gdGhpcyBzaWduYWwuIEl0J3MgdXBkYXRlZCBieTpcbiAgICogLSB1c2VyIGV2ZW50cyBvbiBmbG93XG4gICAqIC0gd3JpdGFibGVWaWV3cG9ydCBzaWduYWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZWFkYWJsZVZpZXdwb3J0OiBXcml0YWJsZVNpZ25hbDxWaWV3cG9ydFN0YXRlPiA9IHNpZ25hbChWaWV3cG9ydFNlcnZpY2UuZ2V0RGVmYXVsdFZpZXdwb3J0KCkpO1xuXG4gIHB1YmxpYyByZWFkb25seSB2aWV3cG9ydENoYW5nZUVuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8vIFRPRE86IGFkZCB3cml0YWJsZVZpZXdwb3J0V2l0aENvbnN0cmFpbnRzICh0byBhcHBseSBtaW4gem9vbS9tYXggem9vbSB2YWx1ZXMpXG5cbiAgcHVibGljIGZpdFZpZXcob3B0aW9uczogRml0Vmlld09wdGlvbnMgPSB7IHBhZGRpbmc6IDAuMSwgZHVyYXRpb246IDAsIG5vZGVzOiBbXSB9KSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmdldEJvdW5kc05vZGVzKG9wdGlvbnMubm9kZXMgPz8gW10pO1xuXG4gICAgY29uc3Qgc3RhdGUgPSBnZXRWaWV3cG9ydEZvckJvdW5kcyhcbiAgICAgIGdldE5vZGVzQm91bmRzKG5vZGVzKSxcbiAgICAgIHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5jb21wdXRlZEZsb3dXaWR0aCgpLFxuICAgICAgdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLmNvbXB1dGVkRmxvd0hlaWdodCgpLFxuICAgICAgdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLm1pblpvb20oKSxcbiAgICAgIHRoaXMuZmxvd1NldHRpbmdzU2VydmljZS5tYXhab29tKCksXG4gICAgICBvcHRpb25zLnBhZGRpbmcgPz8gMC4xLFxuICAgICk7XG5cbiAgICBjb25zdCBkdXJhdGlvbiA9IG9wdGlvbnMuZHVyYXRpb24gPz8gMDtcblxuICAgIHRoaXMud3JpdGFibGVWaWV3cG9ydC5zZXQoeyBjaGFuZ2VUeXBlOiAnYWJzb2x1dGUnLCBzdGF0ZSwgZHVyYXRpb24gfSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlclZpZXdwb3J0Q2hhbmdlRXZlbnQodHlwZTogJ2VuZCcpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2VuZCcpIHtcbiAgICAgIHRoaXMudmlld3BvcnRDaGFuZ2VFbmQkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEJvdW5kc05vZGVzKG5vZGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuICFub2RlSWRzPy5sZW5ndGhcbiAgICAgID8gLy8gSWYgbm9kZXMgb3B0aW9uIG5vdCBwYXNzZWQgb3IgdGhlIGxpc3QgaXMgZW1wdHksIHRoZW4gZ2V0IGZpdCB0aGUgd2hvbGUgdmlld1xuICAgICAgICB0aGlzLmVudGl0aWVzU2VydmljZS5ub2RlcygpXG4gICAgICA6IC8vIE90aGVyd2lzZSBmaXQgdG8gc3BlY2lmaWMgbm9kZXNcbiAgICAgICAgbm9kZUlkc1xuICAgICAgICAgIC5tYXAoKG5vZGVJZCkgPT4gdGhpcy5lbnRpdGllc1NlcnZpY2Uubm9kZXMoKS5maW5kKCh7IHJhd05vZGUgfSkgPT4gcmF3Tm9kZS5pZCA9PT0gbm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChub2RlKTogbm9kZSBpcyBOb2RlTW9kZWwgPT4gISFub2RlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// MIT License
|
|
2
|
+
// Copyright (c) 2023 Chau Tran
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
// The above copyright notice and this permission notice shall be included in all
|
|
10
|
+
// copies or substantial portions of the Software.
|
|
11
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
12
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
13
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
15
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
16
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
17
|
+
// SOFTWARE.
|
|
18
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
19
|
+
import { Injector, assertInInjectionContext, inject, runInInjectionContext } from '@angular/core';
|
|
20
|
+
export function assertInjector(fn, injector, runner) {
|
|
21
|
+
!injector && assertInInjectionContext(fn);
|
|
22
|
+
const assertedInjector = injector ?? inject(Injector);
|
|
23
|
+
if (!runner)
|
|
24
|
+
return assertedInjector;
|
|
25
|
+
return runInInjectionContext(assertedInjector, runner);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0LWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3V0aWxzL2Fzc2VydC1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBRWQsK0JBQStCO0FBRS9CLCtFQUErRTtBQUMvRSxnRkFBZ0Y7QUFDaEYsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSx3RUFBd0U7QUFDeEUsMkRBQTJEO0FBRTNELGlGQUFpRjtBQUNqRixrREFBa0Q7QUFFbEQsNkVBQTZFO0FBQzdFLDJFQUEyRTtBQUMzRSw4RUFBOEU7QUFDOUUseUVBQXlFO0FBQ3pFLGdGQUFnRjtBQUNoRixnRkFBZ0Y7QUFDaEYsWUFBWTtBQUVaLGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlEbEcsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFZLEVBQUUsUUFBcUMsRUFBRSxNQUFrQjtJQUNwRyxDQUFDLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdEQsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLGdCQUFnQixDQUFDO0lBQ3JDLE9BQU8scUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1JVCBMaWNlbnNlXG5cbi8vIENvcHlyaWdodCAoYykgMjAyMyBDaGF1IFRyYW5cblxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbi8vIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbi8vIFNPRlRXQVJFLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXG5pbXBvcnQgeyBJbmplY3RvciwgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIGBhc3NlcnRJbmplY3RvcmAgZXh0ZW5kcyBgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0YCB3aXRoIGFuIG9wdGlvbmFsIGBJbmplY3RvcmBcbiAqIEFmdGVyIGFzc2VydGlvbiwgYGFzc2VydEluamVjdG9yYCBydW5zIHRoZSBgcnVubmVyYCBmdW5jdGlvbiB3aXRoIHRoZSBndWFyYW50ZWVkIGBJbmplY3RvcmBcbiAqIHdoZXRoZXIgaXQgaXMgdGhlIGRlZmF1bHQgYEluamVjdG9yYCB3aXRoaW4gdGhlIGN1cnJlbnQgKipJbmplY3Rpb24gQ29udGV4dCoqXG4gKiBvciB0aGUgY3VzdG9tIGBJbmplY3RvcmAgdGhhdCB3YXMgcGFzc2VkIGluLlxuICpcbiAqIEB0ZW1wbGF0ZSB7KCkgPT4gYW55fSBSdW5uZXIgLSBSdW5uZXIgaXMgYSBmdW5jdGlvbiB0aGF0IGNhbiByZXR1cm4gYW55dGhpbmdcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIC0gdGhlIEZ1bmN0aW9uIHRvIHBhc3MgaW4gYGFzc2VydEluSW5qZWN0aW9uQ29udGV4dGBcbiAqIEBwYXJhbSB7SW5qZWN0b3IgfCB1bmRlZmluZWQgfCBudWxsfSBpbmplY3RvciAtIHRoZSBvcHRpb25hbCBcImN1c3RvbVwiIEluamVjdG9yXG4gKiBAcGFyYW0ge1J1bm5lcn0gcnVubmVyIC0gdGhlIHJ1bm5lciBmblxuICogQHJldHVybnMge1JldHVyblR5cGU8UnVubmVyPn0gcmVzdWx0IC0gcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBSdW5uZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGZ1bmN0aW9uIGluamVjdFZhbHVlKGluamVjdG9yPzogSW5qZWN0b3IpIHtcbiAqICByZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0VmFsdWUsIGluamVjdG9yLCAoKSA9PiAndmFsdWUnKTtcbiAqIH1cbiAqXG4gKiBpbmplY3RWYWx1ZSgpOyAvLyBzdHJpbmdcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SW5qZWN0b3I8UnVubmVyIGV4dGVuZHMgKCkgPT4gYW55PihcbiAgZm46IEZ1bmN0aW9uLFxuICBpbmplY3RvcjogSW5qZWN0b3IgfCB1bmRlZmluZWQgfCBudWxsLFxuICBydW5uZXI6IFJ1bm5lcixcbik6IFJldHVyblR5cGU8UnVubmVyPjtcbi8qKlxuICogYGFzc2VydEluamVjdG9yYCBleHRlbmRzIGBhc3NlcnRJbkluamVjdGlvbkNvbnRleHRgIHdpdGggYW4gb3B0aW9uYWwgYEluamVjdG9yYFxuICogQWZ0ZXIgYXNzZXJ0aW9uLCBgYXNzZXJ0SW5qZWN0b3JgIHJldHVybnMgYSBndWFyYW50ZWVkIGBJbmplY3RvcmAgd2hldGhlciBpdCBpcyB0aGUgZGVmYXVsdCBgSW5qZWN0b3JgXG4gKiB3aXRoaW4gdGhlIGN1cnJlbnQgKipJbmplY3Rpb24gQ29udGV4dCoqIG9yIHRoZSBjdXN0b20gYEluamVjdG9yYCB0aGF0IHdhcyBwYXNzZWQgaW4uXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gLSB0aGUgRnVuY3Rpb24gdG8gcGFzcyBpbiBgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0YFxuICogQHBhcmFtIHtJbmplY3RvciB8IHVuZGVmaW5lZCB8IG51bGx9IGluamVjdG9yIC0gdGhlIG9wdGlvbmFsIFwiY3VzdG9tXCIgSW5qZWN0b3JcbiAqIEByZXR1cm5zIEluamVjdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBpbmplY3REZXN0cm95KGluamVjdG9yPzogSW5qZWN0b3IpIHtcbiAqICBpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdERlc3Ryb3ksIGluamVjdG9yKTtcbiAqXG4gKiAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuICogICAgLy8gY29kZVxuICogIH0pXG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yKGZuOiBGdW5jdGlvbiwgaW5qZWN0b3I6IEluamVjdG9yIHwgdW5kZWZpbmVkIHwgbnVsbCk6IEluamVjdG9yO1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yKGZuOiBGdW5jdGlvbiwgaW5qZWN0b3I6IEluamVjdG9yIHwgdW5kZWZpbmVkIHwgbnVsbCwgcnVubmVyPzogKCkgPT4gYW55KSB7XG4gICFpbmplY3RvciAmJiBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoZm4pO1xuICBjb25zdCBhc3NlcnRlZEluamVjdG9yID0gaW5qZWN0b3IgPz8gaW5qZWN0KEluamVjdG9yKTtcblxuICBpZiAoIXJ1bm5lcikgcmV0dXJuIGFzc2VydGVkSW5qZWN0b3I7XG4gIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoYXNzZXJ0ZWRJbmplY3RvciwgcnVubmVyKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// MIT License
|
|
2
|
+
import { computed as ngComputed } from '@angular/core';
|
|
3
|
+
/**
|
|
4
|
+
* @todo Use `linkedSignal` after Angular update
|
|
5
|
+
*/
|
|
6
|
+
export function extendedComputed(computedCallback, options) {
|
|
7
|
+
if (!options) {
|
|
8
|
+
options = { equal: Object.is };
|
|
9
|
+
}
|
|
10
|
+
let currentValue = undefined;
|
|
11
|
+
return ngComputed(() => {
|
|
12
|
+
return (currentValue = computedCallback(currentValue));
|
|
13
|
+
}, options);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtY29tcHV0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdXRpbHMvc2lnbmFscy9leHRlbmRlZC1jb21wdXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBdUJkLE9BQU8sRUFBRSxRQUFRLElBQUksVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixnQkFBa0QsRUFDbEQsT0FBdUM7SUFFdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZLEdBQVcsU0FBVSxDQUFDO0lBQ3RDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNyQixPQUFPLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1JVCBMaWNlbnNlXG5cbi8vIENvcHlyaWdodCAoYykgMjAyMyBDaGF1IFRyYW5cblxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbi8vIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbi8vIFNPRlRXQVJFLlxuXG5pbXBvcnQgdHlwZSB7IENyZWF0ZUNvbXB1dGVkT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tcHV0ZWQgYXMgbmdDb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEB0b2RvIFVzZSBgbGlua2VkU2lnbmFsYCBhZnRlciBBbmd1bGFyIHVwZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5kZWRDb21wdXRlZDxUVmFsdWU+KFxuICBjb21wdXRlZENhbGxiYWNrOiAoY3VycmVudFZhbHVlOiBUVmFsdWUpID0+IFRWYWx1ZSxcbiAgb3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxUVmFsdWU+LFxuKSB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7IGVxdWFsOiBPYmplY3QuaXMgfTtcbiAgfVxuXG4gIGxldCBjdXJyZW50VmFsdWU6IFRWYWx1ZSA9IHVuZGVmaW5lZCE7XG4gIHJldHVybiBuZ0NvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKGN1cnJlbnRWYWx1ZSA9IGNvbXB1dGVkQ2FsbGJhY2soY3VycmVudFZhbHVlKSk7XG4gIH0sIG9wdGlvbnMpO1xufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// MIT License
|
|
2
|
+
// Copyright (c) 2023 Chau Tran
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
// The above copyright notice and this permission notice shall be included in all
|
|
10
|
+
// copies or substantial portions of the Software.
|
|
11
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
12
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
13
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
15
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
16
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
17
|
+
// SOFTWARE.
|
|
18
|
+
import { computed, untracked } from '@angular/core';
|
|
19
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
20
|
+
import { assertInjector } from '../assert-injector';
|
|
21
|
+
/**
|
|
22
|
+
* Function `toLazySignal()` is a proxy function that will call the original
|
|
23
|
+
* `toSignal()` function when the returned signal is read for the first time.
|
|
24
|
+
*/
|
|
25
|
+
export function toLazySignal(source, options) {
|
|
26
|
+
const injector = assertInjector(toLazySignal, options?.injector);
|
|
27
|
+
let s;
|
|
28
|
+
return computed(() => {
|
|
29
|
+
if (!s) {
|
|
30
|
+
s = untracked(() => toSignal(source, { ...options, injector }));
|
|
31
|
+
}
|
|
32
|
+
return s();
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tbGF6eS1zaWduYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdXRpbHMvc2lnbmFscy90by1sYXp5LXNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBRWQsK0JBQStCO0FBRS9CLCtFQUErRTtBQUMvRSxnRkFBZ0Y7QUFDaEYsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSx3RUFBd0U7QUFDeEUsMkRBQTJEO0FBRTNELGlGQUFpRjtBQUNqRixrREFBa0Q7QUFFbEQsNkVBQTZFO0FBQzdFLDJFQUEyRTtBQUMzRSw4RUFBOEU7QUFDOUUseUVBQXlFO0FBQ3pFLGdGQUFnRjtBQUNoRixnRkFBZ0Y7QUFDaEYsWUFBWTtBQUVaLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQXdCLE1BQU0sNEJBQTRCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBNkJwRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixNQUF1QyxFQUN2QyxPQUFnRDtJQUVoRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRSxJQUFJLENBQTJCLENBQUM7SUFFaEMsT0FBTyxRQUFRLENBQW1CLEdBQUcsRUFBRTtRQUNyQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxRQUFRLEVBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNSVQgTGljZW5zZVxuXG4vLyBDb3B5cmlnaHQgKGMpIDIwMjMgQ2hhdSBUcmFuXG5cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4vLyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4vLyBTT0ZUV0FSRS5cblxuaW1wb3J0IHsgY29tcHV0ZWQsIHVudHJhY2tlZCwgdHlwZSBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsLCB0eXBlIFRvU2lnbmFsT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJy4uL2Fzc2VydC1pbmplY3Rvcic7XG5cbnR5cGUgUmV0dXJuVHlwZTxULCBVPiA9IChUIHwgVSkgfCAoVCB8IHVuZGVmaW5lZCkgfCAoVCB8IG51bGwpIHwgVDtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGF6eVNpZ25hbDxUPihzb3VyY2U6IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpYmFibGU8VD4pOiBTaWduYWw8VCB8IHVuZGVmaW5lZD47XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0xhenlTaWduYWw8VD4oXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmliYWJsZTxUPixcbiAgb3B0aW9uczogVG9TaWduYWxPcHRpb25zICYge1xuICAgIGluaXRpYWxWYWx1ZT86IHVuZGVmaW5lZDtcbiAgICByZXF1aXJlU3luYz86IGZhbHNlO1xuICB9LFxuKTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9MYXp5U2lnbmFsPFQ+KFxuICBzb3VyY2U6IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpYmFibGU8VD4sXG4gIG9wdGlvbnM6IFRvU2lnbmFsT3B0aW9ucyAmIHsgaW5pdGlhbFZhbHVlPzogbnVsbDsgcmVxdWlyZVN5bmM/OiBmYWxzZSB9LFxuKTogU2lnbmFsPFQgfCBudWxsPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGF6eVNpZ25hbDxUPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuICBvcHRpb25zOiBUb1NpZ25hbE9wdGlvbnMgJiB7IGluaXRpYWxWYWx1ZT86IHVuZGVmaW5lZDsgcmVxdWlyZVN5bmM6IHRydWUgfSxcbik6IFNpZ25hbDxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGF6eVNpZ25hbDxULCBjb25zdCBVIGV4dGVuZHMgVD4oXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmliYWJsZTxUPixcbiAgb3B0aW9uczogVG9TaWduYWxPcHRpb25zICYgeyBpbml0aWFsVmFsdWU6IFU7IHJlcXVpcmVTeW5jPzogZmFsc2UgfSxcbik6IFNpZ25hbDxUIHwgVT47XG5cbi8qKlxuICogRnVuY3Rpb24gYHRvTGF6eVNpZ25hbCgpYCBpcyBhIHByb3h5IGZ1bmN0aW9uIHRoYXQgd2lsbCBjYWxsIHRoZSBvcmlnaW5hbFxuICogYHRvU2lnbmFsKClgIGZ1bmN0aW9uIHdoZW4gdGhlIHJldHVybmVkIHNpZ25hbCBpcyByZWFkIGZvciB0aGUgZmlyc3QgdGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvTGF6eVNpZ25hbDxULCBVID0gdW5kZWZpbmVkPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuICBvcHRpb25zPzogVG9TaWduYWxPcHRpb25zICYgeyBpbml0aWFsVmFsdWU/OiBVIH0sXG4pOiBTaWduYWw8UmV0dXJuVHlwZTxULCBVPj4ge1xuICBjb25zdCBpbmplY3RvciA9IGFzc2VydEluamVjdG9yKHRvTGF6eVNpZ25hbCwgb3B0aW9ucz8uaW5qZWN0b3IpO1xuICBsZXQgczogU2lnbmFsPFJldHVyblR5cGU8VCwgVT4+O1xuXG4gIHJldHVybiBjb21wdXRlZDxSZXR1cm5UeXBlPFQsIFU+PigoKSA9PiB7XG4gICAgaWYgKCFzKSB7XG4gICAgICBzID0gdW50cmFja2VkKCgpID0+IHRvU2lnbmFsKHNvdXJjZSwgeyAuLi5vcHRpb25zLCBpbmplY3RvciB9IGFzIGFueSkpO1xuICAgIH1cbiAgICByZXR1cm4gcygpO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -12,4 +12,40 @@ export function getViewportForBounds(bounds, width, height, minZoom, maxZoom, pa
|
|
|
12
12
|
export function clamp(value, min = 0, max = 1) {
|
|
13
13
|
return Math.min(Math.max(value, min), max);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Calculates the visible area bounds in world coordinates based on the current viewport state
|
|
17
|
+
*
|
|
18
|
+
* @param viewport Current viewport state (x, y, zoom)
|
|
19
|
+
* @param flowWidth Width of the flow container
|
|
20
|
+
* @param flowHeight Height of the flow container
|
|
21
|
+
* @returns Rect representing the visible area in world coordinates
|
|
22
|
+
*/
|
|
23
|
+
export function getViewportBounds(viewport, flowWidth, flowHeight) {
|
|
24
|
+
const zoom = viewport.zoom;
|
|
25
|
+
return {
|
|
26
|
+
x: -viewport.x / zoom,
|
|
27
|
+
y: -viewport.y / zoom,
|
|
28
|
+
width: flowWidth / zoom,
|
|
29
|
+
height: flowHeight / zoom,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a rectangle intersects with the viewport's visible area
|
|
34
|
+
*
|
|
35
|
+
* @param rect Rectangle to check (in world coordinates)
|
|
36
|
+
* @param viewport Current viewport state
|
|
37
|
+
* @param flowWidth Width of the flow container
|
|
38
|
+
* @param flowHeight Height of the flow container
|
|
39
|
+
* @returns true if the rectangle intersects with the viewport, false otherwise
|
|
40
|
+
*/
|
|
41
|
+
export function isRectInViewport(rect, viewport, flowWidth, flowHeight) {
|
|
42
|
+
const viewportBounds = getViewportBounds(viewport, flowWidth, flowHeight);
|
|
43
|
+
// Check if rectangles intersect using standard rectangle intersection test
|
|
44
|
+
// No intersection if: rect is completely to the left, right, above, or below the viewport
|
|
45
|
+
const isNotIntersecting = rect.x + rect.width < viewportBounds.x || // Rect is completely to the left
|
|
46
|
+
rect.x > viewportBounds.x + viewportBounds.width || // Rect is completely to the right
|
|
47
|
+
rect.y + rect.height < viewportBounds.y || // Rect is completely above
|
|
48
|
+
rect.y > viewportBounds.y + viewportBounds.height; // Rect is completely below
|
|
49
|
+
return !isNotIntersecting;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdXRpbHMvdmlld3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFZLEVBQ1osS0FBYSxFQUNiLE1BQWMsRUFDZCxPQUFlLEVBQ2YsT0FBZSxFQUNmLE9BQWU7SUFFZixNQUFNLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckQsTUFBTSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDbEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRCxNQUFNLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLGFBQWEsR0FBRyxXQUFXLENBQUM7SUFDbEQsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxhQUFhLEdBQUcsV0FBVyxDQUFDO0lBRW5ELE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFhLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUNuRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBdUIsRUFBRSxTQUFpQixFQUFFLFVBQWtCO0lBQzlGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFM0IsT0FBTztRQUNMLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSTtRQUNyQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUk7UUFDckIsS0FBSyxFQUFFLFNBQVMsR0FBRyxJQUFJO1FBQ3ZCLE1BQU0sRUFBRSxVQUFVLEdBQUcsSUFBSTtLQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVUsRUFBRSxRQUF1QixFQUFFLFNBQWlCLEVBQUUsVUFBa0I7SUFDekcsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUxRSwyRUFBMkU7SUFDM0UsMEZBQTBGO0lBQzFGLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxJQUFJLGlDQUFpQztRQUMzRSxJQUFJLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLEtBQUssSUFBSSxrQ0FBa0M7UUFDdEYsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLElBQUksMkJBQTJCO1FBQ3RFLElBQUksQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsMkJBQTJCO0lBRWhGLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVjdCc7XG5pbXBvcnQgeyBWaWV3cG9ydFN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy92aWV3cG9ydC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vmlld3BvcnRGb3JCb3VuZHMoXG4gIGJvdW5kczogUmVjdCxcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXIsXG4gIG1pblpvb206IG51bWJlcixcbiAgbWF4Wm9vbTogbnVtYmVyLFxuICBwYWRkaW5nOiBudW1iZXIsXG4pOiBWaWV3cG9ydFN0YXRlIHtcbiAgY29uc3QgeFpvb20gPSB3aWR0aCAvIChib3VuZHMud2lkdGggKiAoMSArIHBhZGRpbmcpKTtcbiAgY29uc3QgeVpvb20gPSBoZWlnaHQgLyAoYm91bmRzLmhlaWdodCAqICgxICsgcGFkZGluZykpO1xuICBjb25zdCB6b29tID0gTWF0aC5taW4oeFpvb20sIHlab29tKTtcbiAgY29uc3QgY2xhbXBlZFpvb20gPSBjbGFtcCh6b29tLCBtaW5ab29tLCBtYXhab29tKTtcbiAgY29uc3QgYm91bmRzQ2VudGVyWCA9IGJvdW5kcy54ICsgYm91bmRzLndpZHRoIC8gMjtcbiAgY29uc3QgYm91bmRzQ2VudGVyWSA9IGJvdW5kcy55ICsgYm91bmRzLmhlaWdodCAvIDI7XG4gIGNvbnN0IHggPSB3aWR0aCAvIDIgLSBib3VuZHNDZW50ZXJYICogY2xhbXBlZFpvb207XG4gIGNvbnN0IHkgPSBoZWlnaHQgLyAyIC0gYm91bmRzQ2VudGVyWSAqIGNsYW1wZWRab29tO1xuXG4gIHJldHVybiB7IHgsIHksIHpvb206IGNsYW1wZWRab29tIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW4gPSAwLCBtYXggPSAxKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIHZpc2libGUgYXJlYSBib3VuZHMgaW4gd29ybGQgY29vcmRpbmF0ZXMgYmFzZWQgb24gdGhlIGN1cnJlbnQgdmlld3BvcnQgc3RhdGVcbiAqXG4gKiBAcGFyYW0gdmlld3BvcnQgQ3VycmVudCB2aWV3cG9ydCBzdGF0ZSAoeCwgeSwgem9vbSlcbiAqIEBwYXJhbSBmbG93V2lkdGggV2lkdGggb2YgdGhlIGZsb3cgY29udGFpbmVyXG4gKiBAcGFyYW0gZmxvd0hlaWdodCBIZWlnaHQgb2YgdGhlIGZsb3cgY29udGFpbmVyXG4gKiBAcmV0dXJucyBSZWN0IHJlcHJlc2VudGluZyB0aGUgdmlzaWJsZSBhcmVhIGluIHdvcmxkIGNvb3JkaW5hdGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3cG9ydEJvdW5kcyh2aWV3cG9ydDogVmlld3BvcnRTdGF0ZSwgZmxvd1dpZHRoOiBudW1iZXIsIGZsb3dIZWlnaHQ6IG51bWJlcik6IFJlY3Qge1xuICBjb25zdCB6b29tID0gdmlld3BvcnQuem9vbTtcblxuICByZXR1cm4ge1xuICAgIHg6IC12aWV3cG9ydC54IC8gem9vbSxcbiAgICB5OiAtdmlld3BvcnQueSAvIHpvb20sXG4gICAgd2lkdGg6IGZsb3dXaWR0aCAvIHpvb20sXG4gICAgaGVpZ2h0OiBmbG93SGVpZ2h0IC8gem9vbSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSByZWN0YW5nbGUgaW50ZXJzZWN0cyB3aXRoIHRoZSB2aWV3cG9ydCdzIHZpc2libGUgYXJlYVxuICpcbiAqIEBwYXJhbSByZWN0IFJlY3RhbmdsZSB0byBjaGVjayAoaW4gd29ybGQgY29vcmRpbmF0ZXMpXG4gKiBAcGFyYW0gdmlld3BvcnQgQ3VycmVudCB2aWV3cG9ydCBzdGF0ZVxuICogQHBhcmFtIGZsb3dXaWR0aCBXaWR0aCBvZiB0aGUgZmxvdyBjb250YWluZXJcbiAqIEBwYXJhbSBmbG93SGVpZ2h0IEhlaWdodCBvZiB0aGUgZmxvdyBjb250YWluZXJcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHJlY3RhbmdsZSBpbnRlcnNlY3RzIHdpdGggdGhlIHZpZXdwb3J0LCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVjdEluVmlld3BvcnQocmVjdDogUmVjdCwgdmlld3BvcnQ6IFZpZXdwb3J0U3RhdGUsIGZsb3dXaWR0aDogbnVtYmVyLCBmbG93SGVpZ2h0OiBudW1iZXIpOiBib29sZWFuIHtcbiAgY29uc3Qgdmlld3BvcnRCb3VuZHMgPSBnZXRWaWV3cG9ydEJvdW5kcyh2aWV3cG9ydCwgZmxvd1dpZHRoLCBmbG93SGVpZ2h0KTtcblxuICAvLyBDaGVjayBpZiByZWN0YW5nbGVzIGludGVyc2VjdCB1c2luZyBzdGFuZGFyZCByZWN0YW5nbGUgaW50ZXJzZWN0aW9uIHRlc3RcbiAgLy8gTm8gaW50ZXJzZWN0aW9uIGlmOiByZWN0IGlzIGNvbXBsZXRlbHkgdG8gdGhlIGxlZnQsIHJpZ2h0LCBhYm92ZSwgb3IgYmVsb3cgdGhlIHZpZXdwb3J0XG4gIGNvbnN0IGlzTm90SW50ZXJzZWN0aW5nID1cbiAgICByZWN0LnggKyByZWN0LndpZHRoIDwgdmlld3BvcnRCb3VuZHMueCB8fCAvLyBSZWN0IGlzIGNvbXBsZXRlbHkgdG8gdGhlIGxlZnRcbiAgICByZWN0LnggPiB2aWV3cG9ydEJvdW5kcy54ICsgdmlld3BvcnRCb3VuZHMud2lkdGggfHwgLy8gUmVjdCBpcyBjb21wbGV0ZWx5IHRvIHRoZSByaWdodFxuICAgIHJlY3QueSArIHJlY3QuaGVpZ2h0IDwgdmlld3BvcnRCb3VuZHMueSB8fCAvLyBSZWN0IGlzIGNvbXBsZXRlbHkgYWJvdmVcbiAgICByZWN0LnkgPiB2aWV3cG9ydEJvdW5kcy55ICsgdmlld3BvcnRCb3VuZHMuaGVpZ2h0OyAvLyBSZWN0IGlzIGNvbXBsZXRlbHkgYmVsb3dcblxuICByZXR1cm4gIWlzTm90SW50ZXJzZWN0aW5nO1xufVxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -14,6 +14,7 @@ export * from './lib/vflow/interfaces/fit-view-options.interface';
|
|
|
14
14
|
export * from './lib/vflow/interfaces/optimization.interface';
|
|
15
15
|
export * from './lib/vflow/interfaces/intersecting-nodes-options.interface';
|
|
16
16
|
export * from './lib/vflow/interfaces/curve-factory.interface';
|
|
17
|
+
export * from './lib/vflow/interfaces/node-preview.interface';
|
|
17
18
|
// Types
|
|
18
19
|
export * from './lib/vflow/types/node-change.type';
|
|
19
20
|
export * from './lib/vflow/types/edge-change.type';
|
|
@@ -49,4 +50,4 @@ export { ViewportService as ɵViewportService } from './lib/vflow/services/viewp
|
|
|
49
50
|
export { SelectionService as ɵSelectionService } from './lib/vflow/services/selection.service';
|
|
50
51
|
export { RootPointerDirective as ɵRootPointerDirective } from './lib/vflow/directives/root-pointer.directive';
|
|
51
52
|
export { SpacePointContextDirective as ɵSpacePointContextDirective } from './lib/vflow/directives/space-point-context.directive';
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCO0FBQ2xCLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsYUFBYTtBQUNiLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxRQUFRO0FBQ1IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsYUFBYTtBQUNiLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtRkFBbUYsQ0FBQztBQUVsRyxhQUFhO0FBQ2IsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWM7QUFDZCxPQUFPLEVBQUUsZUFBZSxJQUFJLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxJQUFJLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxhQUFhLElBQUksY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekcsT0FBTyxFQUFFLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzlHLE9BQU8sRUFBRSwwQkFBMEIsSUFBSSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhbmRhbG9uZSBVdGlsXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy92Zmxvdyc7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L2ludGVyZmFjZXMvbm9kZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9wb2ludC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9lZGdlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9pbnRlcmZhY2VzL2VkZ2UtbGFiZWwuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L2ludGVyZmFjZXMvY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9jb25uZWN0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9pbnRlcmZhY2VzL2Nvbm5lY3Rpb24tc2V0dGluZ3MuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L2ludGVyZmFjZXMvbWFya2VyLmludGVyZmFjZSc7XG5leHBvcnQgeyBWaWV3cG9ydFN0YXRlIH0gZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy92aWV3cG9ydC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9jb21wb25lbnQtbm9kZS1ldmVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9maXQtdmlldy1vcHRpb25zLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9pbnRlcmZhY2VzL29wdGltaXphdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9pbnRlcnNlY3Rpbmctbm9kZXMtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvaW50ZXJmYWNlcy9jdXJ2ZS1mYWN0b3J5LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9pbnRlcmZhY2VzL25vZGUtcHJldmlldy5pbnRlcmZhY2UnO1xuXG4vLyBUeXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvdHlwZXMvbm9kZS1jaGFuZ2UudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy90eXBlcy9lZGdlLWNoYW5nZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L3R5cGVzL3Bvc2l0aW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvdHlwZXMvYmFja2dyb3VuZC50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L3R5cGVzL2Nvbm5lY3Rpb24tbW9kZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L3R5cGVzL2tleWJvYXJkLWFjdGlvbi50eXBlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvY29tcG9uZW50cy92Zmxvdy92Zmxvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvcHVibGljLWNvbXBvbmVudHMvaGFuZGxlL2hhbmRsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvcHVibGljLWNvbXBvbmVudHMvY3VzdG9tLW5vZGUvY3VzdG9tLW5vZGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L3B1YmxpYy1jb21wb25lbnRzL2N1c3RvbS1keW5hbWljLW5vZGUvY3VzdG9tLWR5bmFtaWMtbm9kZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvcHVibGljLWNvbXBvbmVudHMvcmVzaXphYmxlL3Jlc2l6YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvcHVibGljLWNvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9wdWJsaWMtY29tcG9uZW50cy9ub2RlLXRvb2xiYXIvbm9kZS10b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9wdWJsaWMtY29tcG9uZW50cy9jdXN0b20tdGVtcGxhdGUtZWRnZS9jdXN0b20tdGVtcGxhdGUtZWRnZS5jb21wb25lbnQnO1xuXG4vLyBEaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9kaXJlY3RpdmVzL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Zmxvdy9kaXJlY3RpdmVzL2Nvbm5lY3Rpb24tY29udHJvbGxlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvZGlyZWN0aXZlcy9jaGFuZ2VzLWNvbnRyb2xsZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZmbG93L2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmZsb3cvZGlyZWN0aXZlcy9kcmFnLWhhbmRsZS5kaXJlY3RpdmUnO1xuXG4vLyAhIEludGVybmFsc1xuZXhwb3J0IHsgQ29ubmVjdGlvbk1vZGVsIGFzIMm1Q29ubmVjdGlvbk1vZGVsIH0gZnJvbSAnLi9saWIvdmZsb3cvbW9kZWxzL2Nvbm5lY3Rpb24ubW9kZWwnO1xuZXhwb3J0IHsgSGFuZGxlTW9kZWwgYXMgybVIYW5kbGVNb2RlbCB9IGZyb20gJy4vbGliL3ZmbG93L21vZGVscy9oYW5kbGUubW9kZWwnO1xuZXhwb3J0IHsgTm9kZU1vZGVsIGFzIMm1Tm9kZU1vZGVsIH0gZnJvbSAnLi9saWIvdmZsb3cvbW9kZWxzL25vZGUubW9kZWwnO1xuXG5leHBvcnQgeyBDb21wb25lbnRFdmVudEJ1c1NlcnZpY2UgYXMgybVDb21wb25lbnRFdmVudEJ1c1NlcnZpY2UgfSBmcm9tICcuL2xpYi92Zmxvdy9zZXJ2aWNlcy9jb21wb25lbnQtZXZlbnQtYnVzLnNlcnZpY2UnO1xuZXhwb3J0IHsgSGFuZGxlU2VydmljZSBhcyDJtUhhbmRsZVNlcnZpY2UgfSBmcm9tICcuL2xpYi92Zmxvdy9zZXJ2aWNlcy9oYW5kbGUuc2VydmljZSc7XG5leHBvcnQgeyBGbG93U2V0dGluZ3NTZXJ2aWNlIGFzIMm1Rmxvd1NldHRpbmdzU2VydmljZSB9IGZyb20gJy4vbGliL3ZmbG93L3NlcnZpY2VzL2Zsb3ctc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgeyBGbG93RW50aXRpZXNTZXJ2aWNlIGFzIMm1Rmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4vbGliL3ZmbG93L3NlcnZpY2VzL2Zsb3ctZW50aXRpZXMuc2VydmljZSc7XG5leHBvcnQgeyBOb2RlQWNjZXNzb3JTZXJ2aWNlIGFzIMm1Tm9kZUFjY2Vzc29yU2VydmljZSB9IGZyb20gJy4vbGliL3ZmbG93L3NlcnZpY2VzL25vZGUtYWNjZXNzb3Iuc2VydmljZSc7XG5leHBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgYXMgybVWaWV3cG9ydFNlcnZpY2UgfSBmcm9tICcuL2xpYi92Zmxvdy9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgYXMgybVTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9saWIvdmZsb3cvc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBSb290UG9pbnRlckRpcmVjdGl2ZSBhcyDJtVJvb3RQb2ludGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvdmZsb3cvZGlyZWN0aXZlcy9yb290LXBvaW50ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNwYWNlUG9pbnRDb250ZXh0RGlyZWN0aXZlIGFzIMm1U3BhY2VQb2ludENvbnRleHREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi92Zmxvdy9kaXJlY3RpdmVzL3NwYWNlLXBvaW50LWNvbnRleHQuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, contentChild, Input,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, contentChild, Input, output, signal, } from '@angular/core';
|
|
2
2
|
import { NgTemplateOutlet } from '@angular/common';
|
|
3
|
-
import { ɵConnectionModel as ConnectionModel, } from 'ngx-vflow';
|
|
3
|
+
import { ɵConnectionModel as ConnectionModel, DEFAULT_OPTIMIZATION, } from 'ngx-vflow';
|
|
4
4
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective, } from '../directive-mocks/template-mock.directive';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -10,9 +10,7 @@ export class VflowMockComponent {
|
|
|
10
10
|
this.minZoom = 0.5;
|
|
11
11
|
this.maxZoom = 3;
|
|
12
12
|
this.background = '#fff';
|
|
13
|
-
this.optimization =
|
|
14
|
-
detachedGroupsLayer: false,
|
|
15
|
-
});
|
|
13
|
+
this.optimization = DEFAULT_OPTIMIZATION;
|
|
16
14
|
this.entitiesSelectable = true;
|
|
17
15
|
this.keyboardShortcuts = {
|
|
18
16
|
multiSelection: null,
|
|
@@ -79,7 +77,7 @@ export class VflowMockComponent {
|
|
|
79
77
|
return signal(value);
|
|
80
78
|
}
|
|
81
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes:
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes: "nodes", edges: "edges", view: "view", minZoom: "minZoom", maxZoom: "maxZoom", background: "background", optimization: "optimization", entitiesSelectable: "entitiesSelectable", keyboardShortcuts: "keyboardShortcuts", connection: ["connection", "connection", (settings) => new ConnectionModel(settings)], snapGrid: "snapGrid", elevateNodesOnSelect: "elevateNodesOnSelect", elevateEdgesOnSelect: "elevateEdgesOnSelect" }, outputs: { onComponentNodeEvent: "onComponentNodeEvent" }, queries: [{ propertyName: "nodeTemplateDirective", first: true, predicate: NodeHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "groupNodeTemplateDirective", first: true, predicate: GroupNodeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeTemplateDirective", first: true, predicate: EdgeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeLabelHtmlDirective", first: true, predicate: EdgeLabelHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "connectionTemplateDirective", first: true, predicate: ConnectionTemplateMockDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
83
81
|
<ng-content />
|
|
84
82
|
|
|
85
83
|
@for (node of nodes; track $index) {
|
|
@@ -277,6 +275,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
277
275
|
type: Input
|
|
278
276
|
}], background: [{
|
|
279
277
|
type: Input
|
|
278
|
+
}], optimization: [{
|
|
279
|
+
type: Input
|
|
280
280
|
}], entitiesSelectable: [{
|
|
281
281
|
type: Input
|
|
282
282
|
}], keyboardShortcuts: [{
|
|
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
293
293
|
}], elevateEdgesOnSelect: [{
|
|
294
294
|
type: Input
|
|
295
295
|
}] } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmZsb3ctbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2NvbXBvbmVudC1tb2Nrcy92Zmxvdy1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFnQkwsZ0JBQWdCLElBQUksZUFBZSxHQUNwQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUNMLCtCQUErQixFQUMvQixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFpR3BELE1BQU0sT0FBTyxrQkFBa0I7SUE5Ri9CO1FBc0drQixTQUFJLEdBQThCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRzdDLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFHZCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBR1osZUFBVSxHQUF3QixNQUFNLENBQUM7UUFFekMsaUJBQVksR0FBRyxLQUFLLENBQWU7WUFDakQsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUM7UUFHYSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFHMUIsc0JBQWlCLEdBQXNCO1lBQ3JELGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7UUFLYyxlQUFVLEdBQW9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBV3RFLCtEQUErRDtRQUMvQyx5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IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIE5vZGUsXG4gIER5bmFtaWNOb2RlLFxuICBFZGdlLFxuICBTcGFjZVBvaW50LFxuICBQb2ludCxcbiAgQmFja2dyb3VuZCxcbiAgT3B0aW1pemF0aW9uLFxuICBLZXlib2FyZFNob3J0Y3V0cyxcbiAgQ29ubmVjdGlvblNldHRpbmdzLFxuICBWaWV3cG9ydFN0YXRlLFxuICBOb2RlQ2hhbmdlLFxuICBFZGdlQ2hhbmdlLFxuICBGaXRWaWV3T3B0aW9ucyxcbiAgVmZsb3dDb21wb25lbnQsXG4gIEludGVyc2VjdGluZ05vZGVzT3B0aW9ucyxcbiAgybVDb25uZWN0aW9uTW9kZWwgYXMgQ29ubmVjdGlvbk1vZGVsLFxufSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZmxvdycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgLz5cblxuICAgIEBmb3IgKG5vZGUgb2Ygbm9kZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgQGlmIChub2RlLnR5cGUgPT09ICdodG1sLXRlbXBsYXRlJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNyZWF0ZVNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cIiAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKG5vZGUudHlwZSA9PT0gJ3RlbXBsYXRlLWdyb3VwJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgd2lkdGg6IGNyZWF0ZVNpZ25hbChub2RlLndpZHRoKSxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjcmVhdGVTaWduYWwobm9kZS5oZWlnaHQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCIgLz5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yIChlZGdlIG9mIGVkZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAoZWRnZS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIDxuZy1jb21wb25lbnRcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBlZGdlOiBlZGdlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgICAgbWFya2VyU3RhcnQ6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICAgIG1hcmtlckVuZDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG5cbiAgICAgICAgQGlmIChlZGdlLmVkZ2VMYWJlbHM/LnN0YXJ0KSB7XG4gICAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRnZUxhYmVsSHRtbERpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgIGVkZ2U6IGVkZ2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5lbmQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29ubmVjdGlvbi50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICA8bmctY29tcG9uZW50XG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgIHBhdGg6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICBtYXJrZXI6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVwiIC8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBWZmxvd01vY2tDb21wb25lbnQgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxWZmxvd0NvbXBvbmVudD4sIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyByZWFkb25seSBub2RlcyE6IE5vZGVbXSB8IER5bmFtaWNOb2RlW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVkZ2VzITogRWRnZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSB2aWV3OiBbbnVtYmVyLCBudW1iZXJdIHwgJ2F1dG8nID0gWzQwMCwgNDAwXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWluWm9vbSA9IDAuNTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWF4Wm9vbSA9IDM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tncm91bmQ6IEJhY2tncm91bmQgfCBzdHJpbmcgPSAnI2ZmZic7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wdGltaXphdGlvbiA9IGlucHV0PE9wdGltaXphdGlvbj4oe1xuICAgIGRldGFjaGVkR3JvdXBzTGF5ZXI6IGZhbHNlLFxuICB9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXRpZXNTZWxlY3RhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkga2V5Ym9hcmRTaG9ydGN1dHM6IEtleWJvYXJkU2hvcnRjdXRzID0ge1xuICAgIG11bHRpU2VsZWN0aW9uOiBudWxsLFxuICB9O1xuXG4gIEBJbnB1dCh7XG4gICAgdHJhbnNmb3JtOiAoc2V0dGluZ3M6IENvbm5lY3Rpb25TZXR0aW5ncykgPT4gbmV3IENvbm5lY3Rpb25Nb2RlbChzZXR0aW5ncyksXG4gIH0pXG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uOiBDb25uZWN0aW9uTW9kZWwgPSBuZXcgQ29ubmVjdGlvbk1vZGVsKHt9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgc25hcEdyaWQhOiBbbnVtYmVyLCBudW1iZXJdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbGV2YXRlTm9kZXNPblNlbGVjdCE6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVsZXZhdGVFZGdlc09uU2VsZWN0ITogYm9vbGVhbjtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uQ29tcG9uZW50Tm9kZUV2ZW50ID0gb3V0cHV0PGFueT4oKTtcblxuICBwcm90ZWN0ZWQgbm9kZVRlbXBsYXRlRGlyZWN0aXZlID0gY29udGVudENoaWxkKE5vZGVIdG1sVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwcm90ZWN0ZWQgZ3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwcm90ZWN0ZWQgZWRnZVRlbXBsYXRlRGlyZWN0aXZlID0gY29udGVudENoaWxkKEVkZ2VUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBlZGdlTGFiZWxIdG1sRGlyZWN0aXZlID0gY29udGVudENoaWxkKEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBjb25uZWN0aW9uVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHVibGljIHZpZXdwb3J0ID0gc2lnbmFsPFZpZXdwb3J0U3RhdGU+KHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gICAgem9vbTogMSxcbiAgfSk7XG5cbiAgcHVibGljIG5vZGVzQ2hhbmdlID0gc2lnbmFsPE5vZGVDaGFuZ2VbXT4oW10pO1xuICBwdWJsaWMgZWRnZXNDaGFuZ2UgPSBzaWduYWw8RWRnZUNoYW5nZVtdPihbXSk7XG5cbiAgcHVibGljIHZpZXdwb3J0Q2hhbmdlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnZpZXdwb3J0KTtcblxuICBwdWJsaWMgbm9kZXNDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMubm9kZXNDaGFuZ2UpO1xuICBwdWJsaWMgZWRnZXNDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMuZWRnZXNDaGFuZ2UpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gIHB1YmxpYyB2aWV3cG9ydFRvKHZpZXdwb3J0OiBWaWV3cG9ydFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy52aWV3cG9ydC5zZXQodmlld3BvcnQpO1xuICB9XG5cbiAgcHVibGljIHpvb21Ubyh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgem9vbSB9KSk7XG4gIH1cblxuICBwdWJsaWMgcGFuVG8ocG9pbnQ6IFBvaW50KTogdm9pZCB7XG4gICAgdGhpcy52aWV3cG9ydC51cGRhdGUoKHByZXYpID0+ICh7IC4uLnByZXYsIHg6IHBvaW50LngsIHk6IHBvaW50LnkgfSkpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgZml0VmlldyhvcHRpb25zPzogRml0Vmlld09wdGlvbnMpOiB2b2lkIHt9XG5cbiAgcHVibGljIGRvY3VtZW50UG9pbnRUb0Zsb3dQb2ludChwb2ludDogUG9pbnQsIG9wdGlvbnM/OiB7IHNwYWNlczogZmFsc2UgfSk6IFBvaW50O1xuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCwgb3B0aW9uczogeyBzcGFjZXM6IHRydWUgfSk6IFNwYWNlUG9pbnRbXTtcbiAgcHVibGljIGRvY3VtZW50UG9pbnRUb0Zsb3dQb2ludChwb2ludDogUG9pbnQsIG9wdGlvbnM/OiB7IHNwYWNlczogYm9vbGVhbiB9KTogdW5rbm93biB7XG4gICAgaWYgKG9wdGlvbnM/LnNwYWNlcykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIG5vZGVJZDogbnVsbCxcbiAgICAgICAgICB4OiBwb2ludC54LFxuICAgICAgICAgIHk6IHBvaW50LnksXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBwb2ludDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGdldEludGVzZWN0aW5nTm9kZXMobm9kZUlkOiBzdHJpbmcsIG9wdGlvbnM/OiBJbnRlcnNlY3RpbmdOb2Rlc09wdGlvbnMpOiBOb2RlW10gfCBEeW5hbWljTm9kZVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyB0b05vZGVTcGFjZShub2RlSWQ6IHN0cmluZywgc3BhY2VOb2RlSWQ6IHN0cmluZyk6IFBvaW50IHtcbiAgICByZXR1cm4geyB4OiAwLCB5OiAwIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9kZTxUID0gdW5rbm93bj4oaWQ6IHN0cmluZyk6IE5vZGU8VD4gfCBEeW5hbWljTm9kZTxUPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5pZCA9PT0gaWQpO1xuICB9XG5cbiAgcHVibGljIGdldERldGFjaGVkRWRnZXMoKTogRWRnZVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlU2lnbmFsPFQ+KHZhbHVlOiBUKTogV3JpdGFibGVTaWduYWw8VD4ge1xuICAgIHJldHVybiBzaWduYWwodmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmZsb3ctbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2NvbXBvbmVudC1tb2Nrcy92Zmxvdy1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQWVMLGdCQUFnQixJQUFJLGVBQWUsRUFDbkMsb0JBQW9CLEdBQ3JCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsOEJBQThCLEVBQzlCLDZCQUE2QixHQUM5QixNQUFNLDRDQUE0QyxDQUFDOztBQWlHcEQsTUFBTSxPQUFPLGtCQUFrQjtJQTlGL0I7UUFzR2tCLFNBQUksR0FBOEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHN0MsWUFBTyxHQUFHLEdBQUcsQ0FBQztRQUdkLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFHWixlQUFVLEdBQXdCLE1BQU0sQ0FBQztRQUd6QyxpQkFBWSxHQUFHLG9CQUFvQixDQUFDO1FBR3BDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUcxQixzQkFBaUIsR0FBc0I7WUFDckQsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUtjLGVBQVUsR0FBb0IsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFXdEUsK0RBQStEO1FBQy9DLHlCQUFvQixHQUFHLE1BQU0sRUFBTyxDQUFDO1FBRTNDLDBC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biAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBOb2RlLFxuICBEeW5hbWljTm9kZSxcbiAgRWRnZSxcbiAgU3BhY2VQb2ludCxcbiAgUG9pbnQsXG4gIEJhY2tncm91bmQsXG4gIEtleWJvYXJkU2hvcnRjdXRzLFxuICBDb25uZWN0aW9uU2V0dGluZ3MsXG4gIFZpZXdwb3J0U3RhdGUsXG4gIE5vZGVDaGFuZ2UsXG4gIEVkZ2VDaGFuZ2UsXG4gIEZpdFZpZXdPcHRpb25zLFxuICBWZmxvd0NvbXBvbmVudCxcbiAgSW50ZXJzZWN0aW5nTm9kZXNPcHRpb25zLFxuICDJtUNvbm5lY3Rpb25Nb2RlbCBhcyBDb25uZWN0aW9uTW9kZWwsXG4gIERFRkFVTFRfT1BUSU1JWkFUSU9OLFxufSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZmxvdycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgLz5cblxuICAgIEBmb3IgKG5vZGUgb2Ygbm9kZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgQGlmIChub2RlLnR5cGUgPT09ICdodG1sLXRlbXBsYXRlJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNyZWF0ZVNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cIiAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKG5vZGUudHlwZSA9PT0gJ3RlbXBsYXRlLWdyb3VwJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgd2lkdGg6IGNyZWF0ZVNpZ25hbChub2RlLndpZHRoKSxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjcmVhdGVTaWduYWwobm9kZS5oZWlnaHQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCIgLz5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yIChlZGdlIG9mIGVkZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAoZWRnZS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIDxuZy1jb21wb25lbnRcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBlZGdlOiBlZGdlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgICAgbWFya2VyU3RhcnQ6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICAgIG1hcmtlckVuZDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG5cbiAgICAgICAgQGlmIChlZGdlLmVkZ2VMYWJlbHM/LnN0YXJ0KSB7XG4gICAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRnZUxhYmVsSHRtbERpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgIGVkZ2U6IGVkZ2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5lbmQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29ubmVjdGlvbi50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICA8bmctY29tcG9uZW50XG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgIHBhdGg6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICBtYXJrZXI6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVwiIC8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBWZmxvd01vY2tDb21wb25lbnQgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxWZmxvd0NvbXBvbmVudD4sIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyByZWFkb25seSBub2RlcyE6IE5vZGVbXSB8IER5bmFtaWNOb2RlW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVkZ2VzITogRWRnZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSB2aWV3OiBbbnVtYmVyLCBudW1iZXJdIHwgJ2F1dG8nID0gWzQwMCwgNDAwXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWluWm9vbSA9IDAuNTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWF4Wm9vbSA9IDM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tncm91bmQ6IEJhY2tncm91bmQgfCBzdHJpbmcgPSAnI2ZmZic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9wdGltaXphdGlvbiA9IERFRkFVTFRfT1BUSU1JWkFUSU9OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbnRpdGllc1NlbGVjdGFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBrZXlib2FyZFNob3J0Y3V0czogS2V5Ym9hcmRTaG9ydGN1dHMgPSB7XG4gICAgbXVsdGlTZWxlY3Rpb246IG51bGwsXG4gIH07XG5cbiAgQElucHV0KHtcbiAgICB0cmFuc2Zvcm06IChzZXR0aW5nczogQ29ubmVjdGlvblNldHRpbmdzKSA9PiBuZXcgQ29ubmVjdGlvbk1vZGVsKHNldHRpbmdzKSxcbiAgfSlcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb246IENvbm5lY3Rpb25Nb2RlbCA9IG5ldyBDb25uZWN0aW9uTW9kZWwoe30pO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBzbmFwR3JpZCE6IFtudW1iZXIsIG51bWJlcl07XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVsZXZhdGVOb2Rlc09uU2VsZWN0ITogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZWxldmF0ZUVkZ2VzT25TZWxlY3QhOiBib29sZWFuO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICBwdWJsaWMgcmVhZG9ubHkgb25Db21wb25lbnROb2RlRXZlbnQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHByb3RlY3RlZCBub2RlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoTm9kZUh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBncm91cE5vZGVUZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBlZGdlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGVkZ2VMYWJlbEh0bWxEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChDb25uZWN0aW9uVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgdmlld3BvcnQgPSBzaWduYWw8Vmlld3BvcnRTdGF0ZT4oe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgICB6b29tOiAxLFxuICB9KTtcblxuICBwdWJsaWMgbm9kZXNDaGFuZ2UgPSBzaWduYWw8Tm9kZUNoYW5nZVtdPihbXSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSA9IHNpZ25hbDxFZGdlQ2hhbmdlW10+KFtdKTtcblxuICBwdWJsaWMgdmlld3BvcnRDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMudmlld3BvcnQpO1xuXG4gIHB1YmxpYyBub2Rlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5ub2Rlc0NoYW5nZSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5lZGdlc0NoYW5nZSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHt9XG5cbiAgcHVibGljIHZpZXdwb3J0VG8odmlld3BvcnQ6IFZpZXdwb3J0U3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnNldCh2aWV3cG9ydCk7XG4gIH1cblxuICBwdWJsaWMgem9vbVRvKHpvb206IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmlld3BvcnQudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCB6b29tIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwYW5Ubyhwb2ludDogUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgeDogcG9pbnQueCwgeTogcG9pbnQueSB9KSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBmaXRWaWV3KG9wdGlvbnM/OiBGaXRWaWV3T3B0aW9ucyk6IHZvaWQge31cblxuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCwgb3B0aW9ucz86IHsgc3BhY2VzOiBmYWxzZSB9KTogUG9pbnQ7XG4gIHB1YmxpYyBkb2N1bWVudFBvaW50VG9GbG93UG9pbnQocG9pbnQ6IFBvaW50LCBvcHRpb25zOiB7IHNwYWNlczogdHJ1ZSB9KTogU3BhY2VQb2ludFtdO1xuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCwgb3B0aW9ucz86IHsgc3BhY2VzOiBib29sZWFuIH0pOiB1bmtub3duIHtcbiAgICBpZiAob3B0aW9ucz8uc3BhY2VzKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgbm9kZUlkOiBudWxsLFxuICAgICAgICAgIHg6IHBvaW50LngsXG4gICAgICAgICAgeTogcG9pbnQueSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvaW50O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgZ2V0SW50ZXNlY3RpbmdOb2Rlcyhub2RlSWQ6IHN0cmluZywgb3B0aW9ucz86IEludGVyc2VjdGluZ05vZGVzT3B0aW9ucyk6IE5vZGVbXSB8IER5bmFtaWNOb2RlW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIHRvTm9kZVNwYWNlKG5vZGVJZDogc3RyaW5nLCBzcGFjZU5vZGVJZDogc3RyaW5nKTogUG9pbnQge1xuICAgIHJldHVybiB7IHg6IDAsIHk6IDAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb2RlPFQgPSB1bmtub3duPihpZDogc3RyaW5nKTogTm9kZTxUPiB8IER5bmFtaWNOb2RlPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlcy5maW5kKChub2RlKSA9PiBub2RlLmlkID09PSBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGV0YWNoZWRFZGdlcygpOiBFZGdlW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVTaWduYWw8VD4odmFsdWU6IFQpOiBXcml0YWJsZVNpZ25hbDxUPiB7XG4gICAgcmV0dXJuIHNpZ25hbCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, inject, TemplateRef, Directive,
|
|
3
|
-
import { ɵNodeModel as _NodeModel, ɵComponentEventBusService as _ComponentEventBusService, ɵNodeAccessorService as _NodeAccessorService, ɵFlowEntitiesService as _FlowEntitiesService, ɵHandleService as _HandleService, ɵRootPointerDirective as _RootPointerDirective, ɵSpacePointContextDirective as _SpacePointContextDirective, ɵSelectionService as _SelectionService, ɵFlowSettingsService as _FlowSettingsService, ɵViewportService as _ViewportService, ɵConnectionModel as _ConnectionModel } from 'ngx-vflow';
|
|
2
|
+
import { signal, inject, TemplateRef, Directive, output, contentChild, Component, ChangeDetectionStrategy, Input, input } from '@angular/core';
|
|
3
|
+
import { ɵNodeModel as _NodeModel, ɵComponentEventBusService as _ComponentEventBusService, ɵNodeAccessorService as _NodeAccessorService, ɵFlowEntitiesService as _FlowEntitiesService, ɵHandleService as _HandleService, ɵRootPointerDirective as _RootPointerDirective, ɵSpacePointContextDirective as _SpacePointContextDirective, ɵSelectionService as _SelectionService, ɵFlowSettingsService as _FlowSettingsService, ɵViewportService as _ViewportService, DEFAULT_OPTIMIZATION, ɵConnectionModel as _ConnectionModel } from 'ngx-vflow';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
6
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
@@ -166,9 +166,7 @@ class VflowMockComponent {
|
|
|
166
166
|
this.minZoom = 0.5;
|
|
167
167
|
this.maxZoom = 3;
|
|
168
168
|
this.background = '#fff';
|
|
169
|
-
this.optimization =
|
|
170
|
-
detachedGroupsLayer: false,
|
|
171
|
-
});
|
|
169
|
+
this.optimization = DEFAULT_OPTIMIZATION;
|
|
172
170
|
this.entitiesSelectable = true;
|
|
173
171
|
this.keyboardShortcuts = {
|
|
174
172
|
multiSelection: null,
|
|
@@ -235,7 +233,7 @@ class VflowMockComponent {
|
|
|
235
233
|
return signal(value);
|
|
236
234
|
}
|
|
237
235
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
238
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes:
|
|
236
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes: "nodes", edges: "edges", view: "view", minZoom: "minZoom", maxZoom: "maxZoom", background: "background", optimization: "optimization", entitiesSelectable: "entitiesSelectable", keyboardShortcuts: "keyboardShortcuts", connection: ["connection", "connection", (settings) => new _ConnectionModel(settings)], snapGrid: "snapGrid", elevateNodesOnSelect: "elevateNodesOnSelect", elevateEdgesOnSelect: "elevateEdgesOnSelect" }, outputs: { onComponentNodeEvent: "onComponentNodeEvent" }, queries: [{ propertyName: "nodeTemplateDirective", first: true, predicate: NodeHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "groupNodeTemplateDirective", first: true, predicate: GroupNodeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeTemplateDirective", first: true, predicate: EdgeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeLabelHtmlDirective", first: true, predicate: EdgeLabelHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "connectionTemplateDirective", first: true, predicate: ConnectionTemplateMockDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
239
237
|
<ng-content />
|
|
240
238
|
|
|
241
239
|
@for (node of nodes; track $index) {
|
|
@@ -433,6 +431,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
433
431
|
type: Input
|
|
434
432
|
}], background: [{
|
|
435
433
|
type: Input
|
|
434
|
+
}], optimization: [{
|
|
435
|
+
type: Input
|
|
436
436
|
}], entitiesSelectable: [{
|
|
437
437
|
type: Input
|
|
438
438
|
}], keyboardShortcuts: [{
|