ngx-vflow 1.0.6 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/vflow/components/node/node.component.mjs +24 -54
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +5 -11
- package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +55 -1
- package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +37 -47
- package/esm2022/lib/vflow/directives/node-handles-controller.directive.mjs +33 -0
- package/esm2022/lib/vflow/directives/node-resize-controller.directive.mjs +35 -0
- package/esm2022/lib/vflow/directives/selectable.directive.mjs +2 -2
- package/esm2022/lib/vflow/models/handle.model.mjs +33 -33
- package/esm2022/lib/vflow/models/node.model.mjs +30 -67
- package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +3 -3
- package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +4 -3
- package/esm2022/lib/vflow/services/draggable.service.mjs +2 -2
- package/esm2022/lib/vflow/services/flow-status.service.mjs +1 -15
- package/esm2022/lib/vflow/services/handle.service.mjs +1 -1
- package/esm2022/lib/vflow/testing-utils/component-mocks/handle-mock.component.mjs +22 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/minimap-mock.component.mjs +22 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.mjs +19 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/resizable-mock.component.mjs +21 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/vflow-mock.component.mjs +251 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs +15 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.mjs +11 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.mjs +14 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/template-mock.directive.mjs +87 -0
- package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +9 -8
- package/esm2022/lib/vflow/testing-utils/vflow-mocks.mjs +26 -0
- package/esm2022/lib/vflow/vflow.mjs +3 -1
- package/esm2022/public-api.mjs +11 -1
- package/fesm2022/ngx-vflow.mjs +857 -378
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/node/node.component.d.ts +6 -12
- package/lib/vflow/components/vflow/vflow.component.d.ts +4 -5
- package/lib/vflow/directives/changes-controller.directive.d.ts +54 -0
- package/lib/vflow/directives/connection-controller.directive.d.ts +4 -5
- package/lib/vflow/directives/node-handles-controller.directive.d.ts +11 -0
- package/lib/vflow/directives/node-resize-controller.directive.d.ts +11 -0
- package/lib/vflow/models/handle.model.d.ts +8 -23
- package/lib/vflow/models/node.model.d.ts +17 -13
- package/lib/vflow/services/flow-status.service.d.ts +0 -6
- package/lib/vflow/services/handle.service.d.ts +1 -1
- package/lib/vflow/testing-utils/component-mocks/handle-mock.component.d.ts +11 -0
- package/lib/vflow/testing-utils/component-mocks/minimap-mock.component.d.ts +10 -0
- package/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.d.ts +7 -0
- package/lib/vflow/testing-utils/component-mocks/resizable-mock.component.d.ts +8 -0
- package/lib/vflow/testing-utils/component-mocks/vflow-mock.component.d.ts +48 -0
- package/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.d.ts +7 -0
- package/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.d.ts +5 -0
- package/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.d.ts +5 -0
- package/lib/vflow/testing-utils/directive-mocks/template-mock.directive.d.ts +32 -0
- package/lib/vflow/testing-utils/vflow-mocks.d.ts +10 -0
- package/lib/vflow/vflow.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +10 -0
|
@@ -27,4 +27,4 @@ __decorate([
|
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleService, decorators: [{
|
|
28
28
|
type: Injectable
|
|
29
29
|
}], propDecorators: { createHandle: [] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvaGFuZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFa0IsU0FBSSxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7S0FnQnZEO0lBYlEsWUFBWSxDQUFDLFNBQXNCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxjQUEyQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO0lBQ0gsQ0FBQzsrR0FoQlUsYUFBYTttSEFBYixhQUFhOztBQUlqQjtJQUROLFNBQVMsQ0FBQyxnREFBZ0Q7aURBTTFEOzRGQVRVLGFBQWE7a0JBRHpCLFVBQVU7OEJBS0YsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBIYW5kbGVUeXBlIH0gZnJvbSAnLi4vdHlwZXMvaGFuZGxlLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBIYW5kbGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9oYW5kbGUubW9kZWwnO1xuaW1wb3J0IHsgTWljcm90YXNrIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9taWNyb3Rhc2suZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSGFuZGxlIHtcbiAgcG9zaXRpb246IFBvc2l0aW9uO1xuICB0eXBlOiBIYW5kbGVUeXBlO1xuICBpZD86IHN0cmluZztcbiAgaG9zdFJlZmVyZW5jZT86IEVsZW1lbnQ7XG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhhbmRsZVNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZSA9IHNpZ25hbDxOb2RlTW9kZWwgfCBudWxsPihudWxsKTtcblxuICBATWljcm90YXNrIC8vIFRPRE8gZml4ZXMgcmVuZGVyaW5nIG9mIGhhbmRsZSBmb3IgZ3JvdXAgbm9kZVxuICBwdWJsaWMgY3JlYXRlSGFuZGxlKG5ld0hhbmRsZTogSGFuZGxlTW9kZWwpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuaGFuZGxlcy51cGRhdGUoKGhhbmRsZXMpID0+IFsuLi5oYW5kbGVzLCBuZXdIYW5kbGVdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveUhhbmRsZShoYW5kbGVUb0Rlc3RveTogSGFuZGxlTW9kZWwpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuaGFuZGxlcy51cGRhdGUoKGhhbmRsZXMpID0+IGhhbmRsZXMuZmlsdGVyKChoYW5kbGUpID0+IGhhbmRsZSAhPT0gaGFuZGxlVG9EZXN0b3kpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class HandleMockComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.position = input.required();
|
|
6
|
+
this.type = input.required();
|
|
7
|
+
this.id = input();
|
|
8
|
+
this.template = input();
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: HandleMockComponent, isStandalone: true, selector: "handle", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'handle',
|
|
17
|
+
template: '',
|
|
18
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
19
|
+
standalone: true,
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL2hhbmRsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFTdkYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDdEMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDN0MsT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLEVBQW9CLENBQUM7S0FDN0M7K0dBTFksbUJBQW1CO21HQUFuQixtQkFBbUIsa2pCQUpwQixFQUFFOzs0RkFJRCxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hhbmRsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhhbmRsZU1vY2tDb21wb25lbnQge1xuICBwdWJsaWMgcG9zaXRpb24gPSBpbnB1dC5yZXF1aXJlZDxQb3NpdGlvbj4oKTtcbiAgcHVibGljIHR5cGUgPSBpbnB1dC5yZXF1aXJlZDwnc291cmNlJyB8ICd0YXJnZXQnPigpO1xuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB0ZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MiniMapMockComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.maskColor = input(`rgba(215, 215, 215, 0.6)`);
|
|
6
|
+
this.strokeColor = input(`rgb(200, 200, 200)`);
|
|
7
|
+
this.position = input('bottom-right');
|
|
8
|
+
this.scaleOnHover = input(false);
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MiniMapMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: MiniMapMockComponent, isStandalone: true, selector: "mini-map", inputs: { maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, strokeColor: { classPropertyName: "strokeColor", publicName: "strokeColor", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, scaleOnHover: { classPropertyName: "scaleOnHover", publicName: "scaleOnHover", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MiniMapMockComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'mini-map',
|
|
17
|
+
template: '',
|
|
18
|
+
standalone: true,
|
|
19
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1tb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2NvbXBvbmVudC1tb2Nrcy9taW5pbWFwLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxRSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1MsY0FBUyxHQUFHLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUMsYUFBUSxHQUFHLEtBQUssQ0FBa0IsY0FBYyxDQUFDLENBQUM7UUFFbEQsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEM7K0dBUlksb0JBQW9CO21HQUFwQixvQkFBb0IsNG1CQUpyQixFQUFFOzs0RkFJRCxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWluaU1hcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vcHVibGljLWNvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pbmktbWFwJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWluaU1hcE1vY2tDb21wb25lbnQge1xuICBwdWJsaWMgbWFza0NvbG9yID0gaW5wdXQoYHJnYmEoMjE1LCAyMTUsIDIxNSwgMC42KWApO1xuXG4gIHB1YmxpYyBzdHJva2VDb2xvciA9IGlucHV0KGByZ2IoMjAwLCAyMDAsIDIwMClgKTtcblxuICBwdWJsaWMgcG9zaXRpb24gPSBpbnB1dDxNaW5pTWFwUG9zaXRpb24+KCdib3R0b20tcmlnaHQnKTtcblxuICBwdWJsaWMgc2NhbGVPbkhvdmVyID0gaW5wdXQoZmFsc2UpO1xufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NodeToolbarMockComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.position = input('top');
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: NodeToolbarMockComponent, isStandalone: true, selector: "node-toolbar", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'node-toolbar',
|
|
14
|
+
template: '<ng-content />',
|
|
15
|
+
standalone: true,
|
|
16
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL25vZGUtdG9vbGJhci1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUUsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQVcsS0FBSyxDQUFDLENBQUM7S0FDMUM7K0dBRlksd0JBQXdCO21HQUF4Qix3QkFBd0IscU5BSnpCLGdCQUFnQjs7NEZBSWYsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vZGUtdG9vbGJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZVRvb2xiYXJNb2NrQ29tcG9uZW50IHtcbiAgcHVibGljIHBvc2l0aW9uID0gaW5wdXQ8UG9zaXRpb24+KCd0b3AnKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ResizableMockComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.resizable = input();
|
|
6
|
+
this.resizerColor = input('#2e414c');
|
|
7
|
+
this.gap = input(1.5);
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ResizableMockComponent, isStandalone: true, selector: "[resizable]", inputs: { resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, resizerColor: { classPropertyName: "resizerColor", publicName: "resizerColor", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: '[resizable]',
|
|
16
|
+
template: '<ng-content />',
|
|
17
|
+
standalone: true,
|
|
18
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL3Jlc2l6YWJsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9TLGNBQVMsR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsUUFBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN6QjsrR0FKWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzZEFKdkIsZ0JBQWdCOzs0RkFJZixzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbcmVzaXphYmxlXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlTW9ja0NvbXBvbmVudCB7XG4gIHB1YmxpYyByZXNpemFibGUgPSBpbnB1dDxib29sZWFuIHwgJyc+KCk7XG4gIHB1YmxpYyByZXNpemVyQ29sb3IgPSBpbnB1dCgnIzJlNDE0YycpO1xuICBwdWJsaWMgZ2FwID0gaW5wdXQoMS41KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, contentChild, input, output, signal } from '@angular/core';
|
|
2
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective, } from '../directive-mocks/template-mock.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class VflowMockComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.nodes = input.required();
|
|
9
|
+
this.edges = input.required();
|
|
10
|
+
this.view = input([400, 400]);
|
|
11
|
+
this.minZoom = input(0.5);
|
|
12
|
+
this.maxZoom = input(3);
|
|
13
|
+
this.background = input('#fff');
|
|
14
|
+
this.optimization = input({
|
|
15
|
+
detachedGroupsLayer: false,
|
|
16
|
+
});
|
|
17
|
+
this.entitiesSelectable = input(true);
|
|
18
|
+
this.keyboardShortcuts = input({
|
|
19
|
+
multiSelection: null,
|
|
20
|
+
});
|
|
21
|
+
this.connection = input();
|
|
22
|
+
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
23
|
+
this.onComponentNodeEvent = output();
|
|
24
|
+
this.nodeTemplateDirective = contentChild(NodeHtmlTemplateMockDirective);
|
|
25
|
+
this.groupNodeTemplateDirective = contentChild(GroupNodeTemplateMockDirective);
|
|
26
|
+
this.edgeTemplateDirective = contentChild(EdgeTemplateMockDirective);
|
|
27
|
+
this.edgeLabelHtmlDirective = contentChild(EdgeLabelHtmlTemplateMockDirective);
|
|
28
|
+
this.connectionTemplateDirective = contentChild(ConnectionTemplateMockDirective);
|
|
29
|
+
this.viewport = signal({
|
|
30
|
+
x: 0,
|
|
31
|
+
y: 0,
|
|
32
|
+
zoom: 1,
|
|
33
|
+
});
|
|
34
|
+
this.nodesChange = signal([]);
|
|
35
|
+
this.edgesChange = signal([]);
|
|
36
|
+
this.viewportChange$ = toObservable(this.viewport);
|
|
37
|
+
this.nodesChange$ = toObservable(this.nodesChange);
|
|
38
|
+
this.edgesChange$ = toObservable(this.edgesChange);
|
|
39
|
+
}
|
|
40
|
+
viewportTo(viewport) {
|
|
41
|
+
this.viewport.set(viewport);
|
|
42
|
+
}
|
|
43
|
+
zoomTo(zoom) {
|
|
44
|
+
this.viewport.update((prev) => ({ ...prev, zoom }));
|
|
45
|
+
}
|
|
46
|
+
panTo(point) {
|
|
47
|
+
this.viewport.update((prev) => ({ ...prev, x: point.x, y: point.y }));
|
|
48
|
+
}
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
|
+
fitView(options) { }
|
|
51
|
+
documentPointToFlowPoint(point) {
|
|
52
|
+
return point;
|
|
53
|
+
}
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
55
|
+
getNode(id) {
|
|
56
|
+
return this.nodes().find((node) => node.id === id);
|
|
57
|
+
}
|
|
58
|
+
getDetachedEdges() {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
createSignal(value) {
|
|
62
|
+
return signal(value);
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, edges: { classPropertyName: "edges", publicName: "edges", isSignal: true, isRequired: true, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, optimization: { classPropertyName: "optimization", publicName: "optimization", isSignal: true, isRequired: false, transformFunction: null }, entitiesSelectable: { classPropertyName: "entitiesSelectable", publicName: "entitiesSelectable", isSignal: true, isRequired: false, transformFunction: null }, keyboardShortcuts: { classPropertyName: "keyboardShortcuts", publicName: "keyboardShortcuts", isSignal: true, isRequired: false, transformFunction: null }, connection: { classPropertyName: "connection", publicName: "connection", isSignal: true, isRequired: false, transformFunction: null } }, 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: `
|
|
66
|
+
<ng-content />
|
|
67
|
+
|
|
68
|
+
@for (node of nodes(); track $index) {
|
|
69
|
+
@if (node.type === 'html-template') {
|
|
70
|
+
<ng-component
|
|
71
|
+
[ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
|
|
72
|
+
[ngTemplateOutletContext]="{
|
|
73
|
+
$implicit: {
|
|
74
|
+
node: node,
|
|
75
|
+
selected: createSignal(false),
|
|
76
|
+
},
|
|
77
|
+
}" />
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@if (node.type === 'template-group') {
|
|
81
|
+
<ng-component
|
|
82
|
+
[ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
|
|
83
|
+
[ngTemplateOutletContext]="{
|
|
84
|
+
$implicit: {
|
|
85
|
+
node: node,
|
|
86
|
+
selected: createSignal(false),
|
|
87
|
+
width: createSignal(node.width),
|
|
88
|
+
height: createSignal(node.height),
|
|
89
|
+
},
|
|
90
|
+
}" />
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@for (edge of edges(); track $index) {
|
|
95
|
+
@if (edge.type === 'template') {
|
|
96
|
+
<ng-component
|
|
97
|
+
[ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
|
|
98
|
+
[ngTemplateOutletContext]="{
|
|
99
|
+
$implicit: {
|
|
100
|
+
edge: edge,
|
|
101
|
+
selected: createSignal(false),
|
|
102
|
+
path: createSignal(''),
|
|
103
|
+
markerStart: createSignal(''),
|
|
104
|
+
markerEnd: createSignal(''),
|
|
105
|
+
},
|
|
106
|
+
}" />
|
|
107
|
+
|
|
108
|
+
@if (edge.edgeLabels?.start) {
|
|
109
|
+
<ng-component
|
|
110
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
111
|
+
[ngTemplateOutletContext]="{
|
|
112
|
+
$implicit: {
|
|
113
|
+
edge: edge,
|
|
114
|
+
},
|
|
115
|
+
}" />
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@if (edge.edgeLabels?.center) {
|
|
119
|
+
<ng-component
|
|
120
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
121
|
+
[ngTemplateOutletContext]="{
|
|
122
|
+
$implicit: {
|
|
123
|
+
edge: edge,
|
|
124
|
+
label: edge.edgeLabels?.center,
|
|
125
|
+
},
|
|
126
|
+
}" />
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@if (edge.edgeLabels?.end) {
|
|
130
|
+
<ng-component
|
|
131
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
132
|
+
[ngTemplateOutletContext]="{
|
|
133
|
+
$implicit: {
|
|
134
|
+
edge: edge,
|
|
135
|
+
label: edge.edgeLabels?.end,
|
|
136
|
+
},
|
|
137
|
+
}" />
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@if (connection()?.type === 'template') {
|
|
143
|
+
<ng-component
|
|
144
|
+
[ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
|
|
145
|
+
[ngTemplateOutletContext]="{
|
|
146
|
+
$implicit: {
|
|
147
|
+
path: createSignal(''),
|
|
148
|
+
marker: createSignal(''),
|
|
149
|
+
},
|
|
150
|
+
}" />
|
|
151
|
+
}
|
|
152
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
153
|
+
}
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, decorators: [{
|
|
155
|
+
type: Component,
|
|
156
|
+
args: [{
|
|
157
|
+
selector: 'vflow',
|
|
158
|
+
template: `
|
|
159
|
+
<ng-content />
|
|
160
|
+
|
|
161
|
+
@for (node of nodes(); track $index) {
|
|
162
|
+
@if (node.type === 'html-template') {
|
|
163
|
+
<ng-component
|
|
164
|
+
[ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
|
|
165
|
+
[ngTemplateOutletContext]="{
|
|
166
|
+
$implicit: {
|
|
167
|
+
node: node,
|
|
168
|
+
selected: createSignal(false),
|
|
169
|
+
},
|
|
170
|
+
}" />
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@if (node.type === 'template-group') {
|
|
174
|
+
<ng-component
|
|
175
|
+
[ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
|
|
176
|
+
[ngTemplateOutletContext]="{
|
|
177
|
+
$implicit: {
|
|
178
|
+
node: node,
|
|
179
|
+
selected: createSignal(false),
|
|
180
|
+
width: createSignal(node.width),
|
|
181
|
+
height: createSignal(node.height),
|
|
182
|
+
},
|
|
183
|
+
}" />
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
@for (edge of edges(); track $index) {
|
|
188
|
+
@if (edge.type === 'template') {
|
|
189
|
+
<ng-component
|
|
190
|
+
[ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
|
|
191
|
+
[ngTemplateOutletContext]="{
|
|
192
|
+
$implicit: {
|
|
193
|
+
edge: edge,
|
|
194
|
+
selected: createSignal(false),
|
|
195
|
+
path: createSignal(''),
|
|
196
|
+
markerStart: createSignal(''),
|
|
197
|
+
markerEnd: createSignal(''),
|
|
198
|
+
},
|
|
199
|
+
}" />
|
|
200
|
+
|
|
201
|
+
@if (edge.edgeLabels?.start) {
|
|
202
|
+
<ng-component
|
|
203
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
204
|
+
[ngTemplateOutletContext]="{
|
|
205
|
+
$implicit: {
|
|
206
|
+
edge: edge,
|
|
207
|
+
},
|
|
208
|
+
}" />
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
@if (edge.edgeLabels?.center) {
|
|
212
|
+
<ng-component
|
|
213
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
214
|
+
[ngTemplateOutletContext]="{
|
|
215
|
+
$implicit: {
|
|
216
|
+
edge: edge,
|
|
217
|
+
label: edge.edgeLabels?.center,
|
|
218
|
+
},
|
|
219
|
+
}" />
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@if (edge.edgeLabels?.end) {
|
|
223
|
+
<ng-component
|
|
224
|
+
[ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
|
|
225
|
+
[ngTemplateOutletContext]="{
|
|
226
|
+
$implicit: {
|
|
227
|
+
edge: edge,
|
|
228
|
+
label: edge.edgeLabels?.end,
|
|
229
|
+
},
|
|
230
|
+
}" />
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
@if (connection()?.type === 'template') {
|
|
236
|
+
<ng-component
|
|
237
|
+
[ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
|
|
238
|
+
[ngTemplateOutletContext]="{
|
|
239
|
+
$implicit: {
|
|
240
|
+
path: createSignal(''),
|
|
241
|
+
marker: createSignal(''),
|
|
242
|
+
},
|
|
243
|
+
}" />
|
|
244
|
+
}
|
|
245
|
+
`,
|
|
246
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
247
|
+
standalone: true,
|
|
248
|
+
imports: [NgTemplateOutlet],
|
|
249
|
+
}]
|
|
250
|
+
}] });
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmZsb3ctbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9jb21wb25lbnQtbW9ja3MvdmZsb3ctbW9jay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBV25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsOEJBQThCLEVBQzlCLDZCQUE2QixHQUM5QixNQUFNLDRDQUE0QyxDQUFDOztBQStGcEQsTUFBTSxPQUFPLGtCQUFrQjtJQTlGL0I7UUErRmtCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEwQixDQUFDO1FBQ2pELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFakMsU0FBSSxHQUFHLEtBQUssQ0FBNEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBc0IsTUFBTSxDQUFDLENBQUM7UUFDaEQsaUJBQVksR0FBRyxLQUFLLENBQWU7WUFDakQsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUM7UUFDYSx1QkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsS0FBSyxDQUFvQjtZQUMzRCxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7UUFDYSxlQUFVLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRXpELCtEQUErRDtRQUMvQyx5QkFBb0IsR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUUzQywwQkFBcUIsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUVwRSwrQkFBMEIsR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUUxRSwwQkFBcUIsR0FBRyxZQUFZLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVoRSwyQkFBc0IsR0FBRyxZQUFZLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUUxRSxnQ0FBMkIsR0FBRyxZQUFZLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUUvRSxhQUFRLEdBQUcsTUFBTSxDQUFnQjtZQUN0QyxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDLENBQUM7UUFFSSxnQkFBVyxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUV2QyxvQkFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsaUJBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWlDdEQ7SUEvQlEsVUFBVSxDQUFDLFFBQXVCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELE9BQU8sQ0FBQyxPQUF3QixJQUFTLENBQUM7SUFFMUMsd0JBQXdCLENBQUMsS0FBWTtRQUMxQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCw2REFBNkQ7SUFDdEQsT0FBTyxDQUFjLEVBQVU7UUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQVE7UUFDaEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzsrR0ExRVUsa0JBQWtCO21HQUFsQixrQkFBa0IsZy9DQW9Ca0IsNkJBQTZCLDZHQUV4Qiw4QkFBOEIsd0dBRW5DLHlCQUF5Qix5R0FFeEIsa0NBQWtDLDhHQUU3QiwrQkFBK0IsZ0VBeEgxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUZULDREQUdTLGdCQUFnQjs7NEZBRWYsa0JBQWtCO2tCQTlGOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb250ZW50Q2hpbGQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTm9kZSwgRHluYW1pY05vZGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVkZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VkZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFja2dyb3VuZCB9IGZyb20gJy4uLy4uL3R5cGVzL2JhY2tncm91bmQudHlwZSc7XG5pbXBvcnQgeyBPcHRpbWl6YXRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29wdGltaXphdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dHMgfSBmcm9tICcuLi8uLi90eXBlcy9rZXlib2FyZC1hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Nvbm5lY3Rpb24tc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpZXdwb3J0U3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZpZXdwb3J0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb2RlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbm9kZS1jaGFuZ2UudHlwZSc7XG5pbXBvcnQgeyBFZGdlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvZWRnZS1jaGFuZ2UudHlwZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGaXRWaWV3T3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZml0LXZpZXctb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZmbG93JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCAvPlxuXG4gICAgQGZvciAobm9kZSBvZiBub2RlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAobm9kZS50eXBlID09PSAnaHRtbC10ZW1wbGF0ZScpIHtcbiAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vZGVUZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBjcmVhdGVTaWduYWwoZmFsc2UpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCIgLz5cbiAgICAgIH1cblxuICAgICAgQGlmIChub2RlLnR5cGUgPT09ICd0ZW1wbGF0ZS1ncm91cCcpIHtcbiAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdyb3VwTm9kZVRlbXBsYXRlRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNyZWF0ZVNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICAgIHdpZHRoOiBjcmVhdGVTaWduYWwobm9kZS53aWR0aCksXG4gICAgICAgICAgICAgIGhlaWdodDogY3JlYXRlU2lnbmFsKG5vZGUuaGVpZ2h0KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAoZWRnZSBvZiBlZGdlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAoZWRnZS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIDxuZy1jb21wb25lbnRcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBlZGdlOiBlZGdlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgICAgbWFya2VyU3RhcnQ6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICAgIG1hcmtlckVuZDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG5cbiAgICAgICAgQGlmIChlZGdlLmVkZ2VMYWJlbHM/LnN0YXJ0KSB7XG4gICAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRnZUxhYmVsSHRtbERpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgIGVkZ2U6IGVkZ2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5lbmQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29ubmVjdGlvbigpPy50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICA8bmctY29tcG9uZW50XG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgIHBhdGg6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICBtYXJrZXI6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVwiIC8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBWZmxvd01vY2tDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZXMgPSBpbnB1dC5yZXF1aXJlZDxOb2RlW10gfCBEeW5hbWljTm9kZVtdPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWRnZXMgPSBpbnB1dC5yZXF1aXJlZDxFZGdlW10+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHZpZXcgPSBpbnB1dDxbbnVtYmVyLCBudW1iZXJdIHwgJ2F1dG8nPihbNDAwLCA0MDBdKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblpvb20gPSBpbnB1dCgwLjUpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4Wm9vbSA9IGlucHV0KDMpO1xuICBwdWJsaWMgcmVhZG9ubHkgYmFja2dyb3VuZCA9IGlucHV0PEJhY2tncm91bmQgfCBzdHJpbmc+KCcjZmZmJyk7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpbWl6YXRpb24gPSBpbnB1dDxPcHRpbWl6YXRpb24+KHtcbiAgICBkZXRhY2hlZEdyb3Vwc0xheWVyOiBmYWxzZSxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBlbnRpdGllc1NlbGVjdGFibGUgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGtleWJvYXJkU2hvcnRjdXRzID0gaW5wdXQ8S2V5Ym9hcmRTaG9ydGN1dHM+KHtcbiAgICBtdWx0aVNlbGVjdGlvbjogbnVsbCxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uID0gaW5wdXQ8Q29ubmVjdGlvblNldHRpbmdzPigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICBwdWJsaWMgcmVhZG9ubHkgb25Db21wb25lbnROb2RlRXZlbnQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHByb3RlY3RlZCBub2RlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoTm9kZUh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBncm91cE5vZGVUZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBlZGdlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGVkZ2VMYWJlbEh0bWxEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChDb25uZWN0aW9uVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgdmlld3BvcnQgPSBzaWduYWw8Vmlld3BvcnRTdGF0ZT4oe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgICB6b29tOiAxLFxuICB9KTtcblxuICBwdWJsaWMgbm9kZXNDaGFuZ2UgPSBzaWduYWw8Tm9kZUNoYW5nZVtdPihbXSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSA9IHNpZ25hbDxFZGdlQ2hhbmdlW10+KFtdKTtcblxuICBwdWJsaWMgdmlld3BvcnRDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMudmlld3BvcnQpO1xuXG4gIHB1YmxpYyBub2Rlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5ub2Rlc0NoYW5nZSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5lZGdlc0NoYW5nZSk7XG5cbiAgcHVibGljIHZpZXdwb3J0VG8odmlld3BvcnQ6IFZpZXdwb3J0U3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnNldCh2aWV3cG9ydCk7XG4gIH1cblxuICBwdWJsaWMgem9vbVRvKHpvb206IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmlld3BvcnQudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCB6b29tIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwYW5Ubyhwb2ludDogUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgeDogcG9pbnQueCwgeTogcG9pbnQueSB9KSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBmaXRWaWV3KG9wdGlvbnM/OiBGaXRWaWV3T3B0aW9ucyk6IHZvaWQge31cblxuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCk6IFBvaW50IHtcbiAgICByZXR1cm4gcG9pbnQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBnZXROb2RlPFQgPSB1bmtub3duPihpZDogc3RyaW5nKTogTm9kZTxUPiB8IER5bmFtaWNOb2RlPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcygpLmZpbmQoKG5vZGUpID0+IG5vZGUuaWQgPT09IGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXRhY2hlZEVkZ2VzKCk6IEVkZ2VbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVNpZ25hbDxUPih2YWx1ZTogVCk6IFdyaXRhYmxlU2lnbmFsPFQ+IHtcbiAgICByZXR1cm4gc2lnbmFsKHZhbHVlKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Directive, output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ConnectionControllerMockDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
6
|
+
this.onConnect = output();
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ConnectionControllerMockDirective, isStandalone: true, selector: "[onConnect]", outputs: { onConnect: "onConnect" }, ngImport: i0 }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{ selector: '[onConnect]', standalone: true }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1jb250cm9sbGVyLW1vY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvZGlyZWN0aXZlLW1vY2tzL2Nvbm5lY3Rpb24tY29udHJvbGxlci1tb2NrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLGlDQUFpQztJQUQ5QztRQUVFLCtEQUErRDtRQUMvQyxjQUFTLEdBQUcsTUFBTSxFQUFjLENBQUM7S0FDbEQ7K0dBSFksaUNBQWlDO21HQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbb25Db25uZWN0XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQ29udHJvbGxlck1vY2tEaXJlY3RpdmUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uQ29ubmVjdCA9IG91dHB1dDxDb25uZWN0aW9uPigpO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DragHandleMockDirective {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragHandleMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DragHandleMockDirective, isStandalone: true, selector: "[dragHandle]", ngImport: i0 }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragHandleMockDirective, decorators: [{
|
|
8
|
+
type: Directive,
|
|
9
|
+
args: [{ selector: '[dragHandle]', standalone: true }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1oYW5kbGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9kaXJlY3RpdmUtbW9ja3MvZHJhZy1oYW5kbGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2RyYWdIYW5kbGVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIERyYWdIYW5kbGVNb2NrRGlyZWN0aXZlIHt9XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SelectableMockDirective {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectableMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SelectableMockDirective, isStandalone: true, selector: "[selectable]", ngImport: i0 }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectableMockDirective, decorators: [{
|
|
8
|
+
type: Directive,
|
|
9
|
+
args: [{
|
|
10
|
+
selector: '[selectable]',
|
|
11
|
+
standalone: true,
|
|
12
|
+
}]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1tb2NrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2RpcmVjdGl2ZS1tb2Nrcy9zZWxlY3RhYmxlLW1vY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlbGVjdGFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0YWJsZU1vY2tEaXJlY3RpdmUge31cbiJdfQ==
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EdgeTemplateMockDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.templateRef = inject(TemplateRef);
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EdgeTemplateMockDirective, isStandalone: true, selector: "ng-template[edge]", ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeTemplateMockDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
standalone: true,
|
|
14
|
+
selector: 'ng-template[edge]',
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
export class ConnectionTemplateMockDirective {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.templateRef = inject(TemplateRef);
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ConnectionTemplateMockDirective, isStandalone: true, selector: "ng-template[connection]", ngImport: i0 }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionTemplateMockDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
standalone: true,
|
|
28
|
+
selector: 'ng-template[connection]',
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
export class EdgeLabelHtmlTemplateMockDirective {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.templateRef = inject(TemplateRef);
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeLabelHtmlTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EdgeLabelHtmlTemplateMockDirective, isStandalone: true, selector: "ng-template[edgeLabelHtml]", ngImport: i0 }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeLabelHtmlTemplateMockDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
standalone: true,
|
|
42
|
+
selector: 'ng-template[edgeLabelHtml]',
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
export class NodeHtmlTemplateMockDirective {
|
|
46
|
+
constructor() {
|
|
47
|
+
this.templateRef = inject(TemplateRef);
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHtmlTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NodeHtmlTemplateMockDirective, isStandalone: true, selector: "ng-template[nodeHtml]", ngImport: i0 }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHtmlTemplateMockDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
standalone: true,
|
|
56
|
+
selector: 'ng-template[nodeHtml]',
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
export class GroupNodeTemplateMockDirective {
|
|
60
|
+
constructor() {
|
|
61
|
+
this.templateRef = inject(TemplateRef);
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupNodeTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
64
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: GroupNodeTemplateMockDirective, isStandalone: true, selector: "ng-template[groupNode]", ngImport: i0 }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupNodeTemplateMockDirective, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
standalone: true,
|
|
70
|
+
selector: 'ng-template[groupNode]',
|
|
71
|
+
}]
|
|
72
|
+
}] });
|
|
73
|
+
export class HandleTemplateMockDirective {
|
|
74
|
+
constructor() {
|
|
75
|
+
this.templateRef = inject(TemplateRef);
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: HandleTemplateMockDirective, isStandalone: true, selector: "ng-template[handle]", ngImport: i0 }); }
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleTemplateMockDirective, decorators: [{
|
|
81
|
+
type: Directive,
|
|
82
|
+
args: [{
|
|
83
|
+
standalone: true,
|
|
84
|
+
selector: 'ng-template[handle]',
|
|
85
|
+
}]
|
|
86
|
+
}] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9kaXJlY3RpdmUtbW9ja3MvdGVtcGxhdGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8seUJBQXlCO0lBSnRDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlkseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVNELE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSwrQkFBK0I7bUdBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7O0FBU0QsTUFBTSxPQUFPLGtDQUFrQztJQUovQztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLGtDQUFrQzttR0FBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7QUFTRCxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksNkJBQTZCO21HQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOztBQVNELE1BQU0sT0FBTyw4QkFBOEI7SUFKM0M7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSw4QkFBOEI7bUdBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7O0FBU0QsTUFBTSxPQUFPLDJCQUEyQjtJQUp4QztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtlZGdlXScsXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtjb25uZWN0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25UZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtlZGdlTGFiZWxIdG1sXScsXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtub2RlSHRtbF0nLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2dyb3VwTm9kZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtoYW5kbGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlVGVtcGxhdGVNb2NrRGlyZWN0aXZlIHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
|
|
@@ -19,6 +19,14 @@ export function provideCustomNodeMocks() {
|
|
|
19
19
|
pushEvent: () => { },
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
provide: NodeAccessorService,
|
|
24
|
+
useFactory: () => ({
|
|
25
|
+
model: signal(mockModel()),
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
FlowEntitiesService,
|
|
29
|
+
// TODO: mocks below should be removed after the major release
|
|
22
30
|
{
|
|
23
31
|
provide: HandleService,
|
|
24
32
|
useFactory: () => ({
|
|
@@ -47,12 +55,6 @@ export function provideCustomNodeMocks() {
|
|
|
47
55
|
documentPointToFlowPoint: (point) => point,
|
|
48
56
|
},
|
|
49
57
|
},
|
|
50
|
-
{
|
|
51
|
-
provide: NodeAccessorService,
|
|
52
|
-
useFactory: () => ({
|
|
53
|
-
model: signal(mockModel()),
|
|
54
|
-
}),
|
|
55
|
-
},
|
|
56
58
|
{
|
|
57
59
|
provide: SelectionService,
|
|
58
60
|
useValue: {
|
|
@@ -60,8 +62,7 @@ export function provideCustomNodeMocks() {
|
|
|
60
62
|
},
|
|
61
63
|
},
|
|
62
64
|
FlowSettingsService,
|
|
63
|
-
FlowEntitiesService,
|
|
64
65
|
ViewportService,
|
|
65
66
|
];
|
|
66
67
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL3Byb3ZpZGUtY3VzdG9tLW5vZGUtbW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5RixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDM0IsQ0FBQztTQUNIO1FBQ0QsbUJBQW1CO1FBRW5CLDhEQUE4RDtRQUM5RDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDeEIsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRTtnQkFDUixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7b0JBQ25CLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLFNBQVMsRUFBRSxDQUFDO29CQUNaLFNBQVMsRUFBRSxDQUFDO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUNGLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDOUI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1Isd0JBQXdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDakI7U0FDRjtRQUNELG1CQUFtQjtRQUNuQixlQUFlO0tBQ2hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50RXZlbnRCdXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tcG9uZW50LWV2ZW50LWJ1cy5zZXJ2aWNlJztcbmltcG9ydCB7IEhhbmRsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9oYW5kbGUuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBGbG93U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dFbnRpdGllc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LWVudGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZUFjY2Vzc29yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtYWNjZXNzb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBSb290UG9pbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcm9vdC1wb2ludGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmlld3BvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTcGFjZVBvaW50Q29udGV4dERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc3BhY2UtcG9pbnQtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBtb2NrTW9kZWwgPSAoKSA9PiBuZXcgTm9kZU1vZGVsKHsgaWQ6ICdtb2NrJywgdHlwZTogJ2RlZmF1bHQnLCBwb2ludDogeyB4OiAwLCB5OiAwIH0gfSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ3VzdG9tTm9kZU1vY2tzKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbXBvbmVudEV2ZW50QnVzU2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIHB1c2hFdmVudDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTm9kZUFjY2Vzc29yU2VydmljZSxcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgIG1vZGVsOiBzaWduYWwobW9ja01vZGVsKCkpLFxuICAgICAgfSksXG4gICAgfSxcbiAgICBGbG93RW50aXRpZXNTZXJ2aWNlLFxuXG4gICAgLy8gVE9ETzogbW9ja3MgYmVsb3cgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIG1ham9yIHJlbGVhc2VcbiAgICB7XG4gICAgICBwcm92aWRlOiBIYW5kbGVTZXJ2aWNlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgbm9kZTogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgICAgY3JlYXRlSGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgICAgZGVzdHJveUhhbmRsZTogKCkgPT4ge30sXG4gICAgICB9KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvb3RQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcG9pbnRlck1vdmVtZW50JDogb2Yoe1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogMCxcbiAgICAgICAgICBtb3ZlbWVudFg6IDAsXG4gICAgICAgICAgbW92ZW1lbnRZOiAwLFxuICAgICAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgZG9jdW1lbnRQb2ludGVyRW5kJDogb2YobnVsbCksXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU3BhY2VQb2ludENvbnRleHREaXJlY3RpdmUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkb2N1bWVudFBvaW50VG9GbG93UG9pbnQ6IChwb2ludDogUG9pbnQpID0+IHBvaW50LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBzZWxlY3Q6ICgpID0+IHt9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIEZsb3dTZXR0aW5nc1NlcnZpY2UsXG4gICAgVmlld3BvcnRTZXJ2aWNlLFxuICBdO1xufVxuIl19
|