@foblex/flow 18.1.1 → 18.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/f-canvas/f-canvas.component.mjs +9 -4
- package/esm2022/f-storage/f-components-store.mjs +6 -1
- package/esm2022/f-storage/features/listen-data-changed/listen-data-changes-request.mjs +5 -1
- package/esm2022/f-storage/features/listen-data-changed/listen-data-changes.mjs +5 -3
- package/esm2022/reactivity/f-channel-hub.mjs +5 -2
- package/esm2022/reactivity/notify-on-start.mjs +17 -5
- package/esm2022/reactivity/take-one.mjs +7 -3
- package/f-canvas/f-canvas.component.d.ts +1 -0
- package/f-storage/f-components-store.d.ts +2 -0
- package/f-storage/features/listen-data-changed/listen-data-changes-request.d.ts +2 -0
- package/f-storage/features/listen-data-changed/listen-data-changes.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +46 -11
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from '@angular/core';
|
|
1
|
+
import { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from '@angular/core';
|
|
2
2
|
import { F_CANVAS, FCanvasBase } from './f-canvas-base';
|
|
3
3
|
import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
|
|
4
4
|
import { FMediator } from '@foblex/mediator';
|
|
5
5
|
import { AddCanvasToStoreRequest, CenterGroupOrNodeRequest, FitToFlowRequest, GetFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, isMobile, RemoveCanvasFromStoreRequest, ResetScaleAndCenterRequest, ResetScaleRequest, SetBackgroundTransformRequest, transitionEnd, UpdateScaleRequest, } from '../domain';
|
|
6
|
-
import { ListenDataChangesRequest, NotifyTransformChangedRequest } from '../f-storage';
|
|
6
|
+
import { FComponentsStore, ListenDataChangesRequest, NotifyTransformChangedRequest, } from '../f-storage';
|
|
7
7
|
import { takeOne } from '../reactivity';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
/**
|
|
@@ -17,6 +17,7 @@ import * as i0 from "@angular/core";
|
|
|
17
17
|
*/
|
|
18
18
|
export class FCanvasComponent extends FCanvasBase {
|
|
19
19
|
_mediator = inject(FMediator);
|
|
20
|
+
_componentsStore = inject(FComponentsStore);
|
|
20
21
|
_elementReference = inject(ElementRef);
|
|
21
22
|
_injector = inject(Injector);
|
|
22
23
|
_flowId;
|
|
@@ -128,8 +129,12 @@ export class FCanvasComponent extends FCanvasBase {
|
|
|
128
129
|
this._mediator.execute(new RemoveCanvasFromStoreRequest());
|
|
129
130
|
}
|
|
130
131
|
_afterRedraw(callback) {
|
|
132
|
+
if (this._componentsStore.dataVersion > 0) {
|
|
133
|
+
afterNextRender(callback, { injector: this._injector });
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
131
136
|
this._mediator
|
|
132
|
-
.execute(new ListenDataChangesRequest())
|
|
137
|
+
.execute(new ListenDataChangesRequest(false))
|
|
133
138
|
.pipe(takeOne())
|
|
134
139
|
.listen(this.destroyRef, callback);
|
|
135
140
|
}
|
|
@@ -142,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
142
147
|
'class': 'f-component f-canvas',
|
|
143
148
|
}, providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"] }]
|
|
144
149
|
}] });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLGVBQWUsRUFHZixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUiw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQiw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGtCQUFrQixHQUNuQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckQ7Ozs7Ozs7O0dBUUc7QUFZSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUM5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBcUI7SUFFcEIsYUFBYSxHQUFHLE1BQU0sRUFBc0IsQ0FBQztJQUU3QyxRQUFRLEdBQUcsS0FBSyxDQUM5QixlQUFlLENBQUMsVUFBVSxFQUFFLEVBQzVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FDM0MsQ0FBQztJQUNjLEtBQUssR0FBRyxLQUFLLENBQWtCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLFlBQVksR0FBRyxLQUFLLENBQWtCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0YsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQUVlLGdCQUFnQixHQUM5QixTQUFTLENBQUMsUUFBUSxDQUEwQixrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xELGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUEwQixpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pGLHFCQUFxQixHQUNuQyxTQUFTLENBQUMsUUFBUSxDQUEwQix1QkFBdUIsQ0FBQyxDQUFDO0lBRXZFLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxDQUNKLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzNCLE9BQU8sRUFDUCxjQUFjLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDbEUsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7OztPQUlHO0lBQ2EsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzNCLE9BQU8sRUFDUCx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyw4QkFBOEIsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNoSSxDQUFDO1FBQ0YsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxhQUFxQixFQUFFLFdBQW9CLElBQUk7UUFDdEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUNoQixVQUFrQixlQUFlLENBQUMsVUFBVSxFQUFFLEVBQzlDLFdBQW9CLElBQUk7UUFFeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUIsQ0FBQyxXQUFvQixJQUFJO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ2EsUUFBUSxDQUFDLEtBQWEsRUFBRSxhQUFxQixlQUFlLENBQUMsVUFBVSxFQUFFO1FBQ3ZGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksa0JBQWtCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNhLFVBQVU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLFlBQVksQ0FBQyxRQUFvQjtRQUN2QyxJQUFJLENBQUMsU0FBUzthQUNYLE9BQU8sQ0FBYyxJQUFJLHdCQUF3QixFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0E1SlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isd2lCQUhoQixDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyw2YUN2RG5FLGtjQWNBOzs0RkQ0Q2EsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLFVBQVUsY0FHUixJQUFJLFFBQ1Y7d0JBQ0osT0FBTyxFQUFFLHNCQUFzQjtxQkFDaEMsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUMsbUJBQ2hELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DQU5WQVMsIEZDYW52YXNCYXNlIH0gZnJvbSAnLi9mLWNhbnZhcy1iYXNlJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDYW52YXNDaGFuZ2VFdmVudCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpc3RlbkRhdGFDaGFuZ2VzUmVxdWVzdCwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDaGFubmVsSHViLCB0YWtlT25lIH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlcHJlc2VudGluZyBhIGNhbnZhcyBpbiB0aGUgRi1GbG93IGZyYW1ld29yay5cbiAqIEl0IGhhbmRsZXMgdGhlIHJlbmRlcmluZyBvZiBub2RlcywgY29ubmVjdGlvbnMsIGFuZCBncm91cHMsXG4gKiBhcyB3ZWxsIGFzIHVzZXIgaW50ZXJhY3Rpb25zIHN1Y2ggYXMgem9vbWluZyBhbmQgcGFubmluZy5cbiAqIEl0IGV4dGVuZHMgdGhlIEZDYW52YXNCYXNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIE9uSW5pdCBhbmQgT25EZXN0cm95IGxpZmVjeWNsZSBob29rcy5cbiAqIEl0IHByb3ZpZGVzIG1ldGhvZHMgdG8gbWFuaXB1bGF0ZSB0aGUgY2FudmFzLCBzdWNoIGFzIGNlbnRlcmluZyBub2RlcyBvciBncm91cHMsXG4gKiBmaXR0aW5nIHRoZSBjYW52YXMgdG8gdGhlIHNjcmVlbiwgYW5kIHJlc2V0dGluZyB0aGUgc2NhbGUuXG4gKiBJdCBhbHNvIGVtaXRzIGV2ZW50cyB3aGVuIHRoZSBjYW52YXMgY2hhbmdlcywgYWxsb3dpbmcgb3RoZXIgY29tcG9uZW50cyB0byByZWFjdCB0byB0aGVzZSBjaGFuZ2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWNhbnZhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNhbnZhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudCB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgX2Zsb3dJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2FudmFzQ2hhbmdlID0gb3V0cHV0PEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxJUG9pbnQsIElQb2ludCB8IG51bGwgfCB1bmRlZmluZWQ+KFxuICAgIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksXG4gICAgeyB0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCB9LFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NhbGUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyBvdmVycmlkZSBkZWJvdW5jZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyID1cbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkNvbm5lY3Rpb25zQ29udGFpbmVyJyk7XG5cbiAgcHVibGljIGdldCBmbG93SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmxvd0lkITtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mbG93SWQgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZGbG93QmFzZT4obmV3IEdldEZsb3dSZXF1ZXN0KCkpLmZJZCgpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgICB0aGlzLl9wb3NpdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMuX3NjYWxlQ2hhbmdlKCk7XG4gICAgc3VwZXIuc3Vic2NyaWJlT25DYW52YXNDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Bvc2l0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NjYWxlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnc3R5bGUnLFxuICAgICAgYHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgd2l0aCBhbiBhbmltYXRpb24gZWZmZWN0LlxuICAgKiBUaGlzIG1ldGhvZCBhcHBsaWVzIGEgQ1NTIHRyYW5zaXRpb24gdG8gdGhlIGNhbnZhcyBlbGVtZW50LFxuICAgKiBhbGxvd2luZyBmb3IgYSBzbW9vdGggdmlzdWFsIHVwZGF0ZSBvZiB0aGUgY2FudmFzJ3MgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3N0eWxlJyxcbiAgICAgIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uRW5kKHRoaXMuaG9zdEVsZW1lbnQsICgpID0+IHRoaXMucmVkcmF3KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENlbnRlcnMgdGhlIHNwZWNpZmllZCBncm91cCBvciBub2RlIG9uIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSBncm91cE9yTm9kZUlkIC0gVGhlIElEIG9mIHRoZSBncm91cCBvciBub2RlIHRvIGNlbnRlci5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGNlbnRlcmluZyB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShncm91cE9yTm9kZUlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdChncm91cE9yTm9kZUlkLCBhbmltYXRlZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpdHMgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuIGJ5IGFkanVzdGluZyB0aGUgc2NhbGUgYW5kIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gcGFkZGluZyAtIHBhZGRpbmdzIGZyb20gdGhlIGJvdW5kcyBvZiB0aGUgY2FudmFzXG4gICAqIEBwYXJhbSBhbmltYXRlZCAtIElmIHRydWUsIHRoZSBmaXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqL1xuICBwdWJsaWMgZml0VG9TY3JlZW4oXG4gICAgcGFkZGluZzogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSxcbiAgICBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNjYWxlIGFuZCBjZW50ZXIgYWxsIG5vZGVzIGFuZCBncm91cHMgb24gdGhlIGNhbnZhcy5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIGRlZmF1bHQgc2NhbGUgYW5kIHBvc2l0aW9uLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBxdWlja2x5IHJldHVybiB0byBhIHN0YW5kYXJkIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgcmVzZXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciBwcm92aWRpbmcgYSBzbW9vdGggdXNlciBleHBlcmllbmNlIHdoZW4gcmVzZXR0aW5nIHRoZSB2aWV3LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5fYWZ0ZXJSZWRyYXcoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0cyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgY2FudmFzLlxuICAgKi9cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBhIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byB6b29tIGluIG9yIG91dCBvZiB0aGUgY2FudmFzLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gc2NhbGUgLSBUaGUgc2NhbGUgZmFjdG9yIHRvIHNldCBmb3IgdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIHRvUG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdG8gd2hpY2ggdGhlIGNhbnZhcyBzaG91bGQgYmUgY2VudGVyZWQgYWZ0ZXIgc2NhbGluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTY2FsZShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgVXBkYXRlU2NhbGVSZXF1ZXN0KHNjYWxlLCB0b1Bvc2l0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIGNhbnZhcyB0byBpdHMgb3JpZ2luYWwgc2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRTY2FsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWZ0ZXJSZWRyYXcoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvclxuICAgICAgLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KG5ldyBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QoKSlcbiAgICAgIC5waXBlKHRha2VPbmUoKSlcbiAgICAgIC5saXN0ZW4odGhpcy5kZXN0cm95UmVmLCBjYWxsYmFjayk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgI2ZHcm91cHNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZHcm91cF0sIFtmR3JvdXBzXVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2ICNmQ29ubmVjdGlvbnNDb250YWluZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc25hcC1jb25uZWN0aW9uXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24sIFtmQ29ubmVjdGlvbnNdXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdLCBbZk5vZGVzXVwiIC8+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBVSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixRQUFRLEVBQ1IsNEJBQTRCLEVBQzVCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsNkJBQTZCLEdBQzlCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXJEOzs7Ozs7OztHQVFHO0FBWUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDOUIsU0FBUyxHQUFHLE1B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O0lBQ3ZDLENBQUM7d0dBbktVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHdpQkFIaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsNmFDNURuRSxrY0FjQTs7NEZEaURhLGdCQUFnQjtrQkFYNUIsU0FBUzsrQkFDRSxVQUFVLGNBR1IsSUFBSSxRQUNWO3dCQUNKLE9BQU8sRUFBRSxzQkFBc0I7cUJBQ2hDLGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDLG1CQUNoRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DQU5WQVMsIEZDYW52YXNCYXNlIH0gZnJvbSAnLi9mLWNhbnZhcy1iYXNlJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDYW52YXNDaGFuZ2VFdmVudCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEZDb21wb25lbnRzU3RvcmUsXG4gIExpc3RlbkRhdGFDaGFuZ2VzUmVxdWVzdCxcbiAgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QsXG59IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UgfSBmcm9tICcuLi9mLWZsb3cnO1xuaW1wb3J0IHsgRkNoYW5uZWxIdWIsIHRha2VPbmUgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgY2FudmFzIGluIHRoZSBGLUZsb3cgZnJhbWV3b3JrLlxuICogSXQgaGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIG5vZGVzLCBjb25uZWN0aW9ucywgYW5kIGdyb3VwcyxcbiAqIGFzIHdlbGwgYXMgdXNlciBpbnRlcmFjdGlvbnMgc3VjaCBhcyB6b29taW5nIGFuZCBwYW5uaW5nLlxuICogSXQgZXh0ZW5kcyB0aGUgRkNhbnZhc0Jhc2UgY2xhc3MgYW5kIGltcGxlbWVudHMgT25Jbml0IGFuZCBPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2tzLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBtYW5pcHVsYXRlIHRoZSBjYW52YXMsIHN1Y2ggYXMgY2VudGVyaW5nIG5vZGVzIG9yIGdyb3VwcyxcbiAqIGZpdHRpbmcgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuLCBhbmQgcmVzZXR0aW5nIHRoZSBzY2FsZS5cbiAqIEl0IGFsc28gZW1pdHMgZXZlbnRzIHdoZW4gdGhlIGNhbnZhcyBjaGFuZ2VzLCBhbGxvd2luZyBvdGhlciBjb21wb25lbnRzIHRvIHJlYWN0IHRvIHRoZXNlIGNoYW5nZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWNhbnZhcycsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9DQU5WQVMsIHVzZUV4aXN0aW5nOiBGQ2FudmFzQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNhbnZhc0NvbXBvbmVudCBleHRlbmRzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIF9mbG93SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkNhbnZhc0NoYW5nZSA9IG91dHB1dDxGQ2FudmFzQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8SVBvaW50LCBJUG9pbnQgfCBudWxsIHwgdW5kZWZpbmVkPihcbiAgICBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLFxuICAgIHsgdHJhbnNmb3JtOiBQb2ludEV4dGVuc2lvbnMuY2FzdFRvUG9pbnQgfSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNjYWxlID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigxLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVib3VuY2UgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5kZWJvdW5jZVRpbWUoKSA8IDAgPyAwIDogdGhpcy5kZWJvdW5jZVRpbWUoKSkpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyb3Vwc0NvbnRhaW5lciA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkdyb3Vwc0NvbnRhaW5lcicpO1xuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZk5vZGVzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIgPVxuICAgIHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dJZCE7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmxvd0lkID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGRmxvd0Jhc2U+KG5ldyBHZXRGbG93UmVxdWVzdCgpKS5mSWQoKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fcG9zaXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLl9zY2FsZUNoYW5nZSgpO1xuICAgIHN1cGVyLnN1YnNjcmliZU9uQ2FudmFzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIF9wb3NpdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnBvc2l0aW9uKCkpKTtcbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zY2FsZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnNjYWxlKCkpKTtcbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIGJ5IGFwcGx5aW5nIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3N0eWxlJyxcbiAgICAgIGB0cmFuc2Zvcm06ICR7VHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKX1gLFxuICAgICk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVjdC5cbiAgICogVGhpcyBtZXRob2QgYXBwbGllcyBhIENTUyB0cmFuc2l0aW9uIHRvIHRoZSBjYW52YXMgZWxlbWVudCxcbiAgICogYWxsb3dpbmcgZm9yIGEgc21vb3RoIHZpc3VhbCB1cGRhdGUgb2YgdGhlIGNhbnZhcydzIHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdzdHlsZScsXG4gICAgICBgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR7aXNNb2JpbGUoKSA/IDgwIDogMTUwfW1zIGVhc2UtaW4tb3V0OyB0cmFuc2Zvcm06ICR7VHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKX1gLFxuICAgICk7XG4gICAgdHJhbnNpdGlvbkVuZCh0aGlzLmhvc3RFbGVtZW50LCAoKSA9PiB0aGlzLnJlZHJhdygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDZW50ZXJzIHRoZSBzcGVjaWZpZWQgZ3JvdXAgb3Igbm9kZSBvbiB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gZ3JvdXBPck5vZGVJZCAtIFRoZSBJRCBvZiB0aGUgZ3JvdXAgb3Igbm9kZSB0byBjZW50ZXIuXG4gICAqIEBwYXJhbSBhbmltYXRlZCAtIElmIHRydWUsIHRoZSBjZW50ZXJpbmcgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqL1xuICBwdWJsaWMgY2VudGVyR3JvdXBPck5vZGUoZ3JvdXBPck5vZGVJZDogc3RyaW5nLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLl9hZnRlclJlZHJhdygoKSA9PiB7XG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoZ3JvdXBPck5vZGVJZCwgYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXRzIHRoZSBjYW52YXMgdG8gdGhlIHNjcmVlbiBieSBhZGp1c3RpbmcgdGhlIHNjYWxlIGFuZCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHBhZGRpbmcgLSBwYWRkaW5ncyBmcm9tIHRoZSBib3VuZHMgb2YgdGhlIGNhbnZhc1xuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgZml0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGZpdFRvU2NyZWVuKFxuICAgIHBhZGRpbmc6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksXG4gICAgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLl9hZnRlclJlZHJhdygoKSA9PiB7XG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBGaXRUb0Zsb3dSZXF1ZXN0KHBhZGRpbmcsIGFuaW1hdGVkKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBhbmQgY2VudGVyIGFsbCBub2RlcyBhbmQgZ3JvdXBzIG9uIHRoZSBjYW52YXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcmVzdG9yZSB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHNjYWxlIGFuZCBwb3NpdGlvbixcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gcXVpY2tseSByZXR1cm4gdG8gYSBzdGFuZGFyZCB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIHJlc2V0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGEgc21vb3RoIHVzZXIgZXhwZXJpZW5jZSB3aGVuIHJlc2V0dGluZyB0aGUgdmlldy5cbiAgICovXG4gIHB1YmxpYyByZXNldFNjYWxlQW5kQ2VudGVyKGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0KGFuaW1hdGVkKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEdldHMgdGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIGNhbnZhcy5cbiAgICovXG4gIHB1YmxpYyBnZXRTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNjYWxlIG9mIHRoZSBjYW52YXMgdG8gYSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gem9vbSBpbiBvciBvdXQgb2YgdGhlIGNhbnZhcyxcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIHNjYWxlIC0gVGhlIHNjYWxlIGZhY3RvciB0byBzZXQgZm9yIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSB0b1Bvc2l0aW9uIC0gVGhlIHBvc2l0aW9uIHRvIHdoaWNoIHRoZSBjYW52YXMgc2hvdWxkIGJlIGNlbnRlcmVkIGFmdGVyIHNjYWxpbmcuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U2NhbGUoc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBpdHMgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIG9yaWdpbmFsIHNjYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0U2NhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FmdGVyUmVkcmF3KGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudHNTdG9yZS5kYXRhVmVyc2lvbiA+IDApIHtcbiAgICAgIGFmdGVyTmV4dFJlbmRlcihjYWxsYmFjaywgeyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9tZWRpYXRvclxuICAgICAgLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KG5ldyBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QoZmFsc2UpKVxuICAgICAgLnBpcGUodGFrZU9uZSgpKVxuICAgICAgLmxpc3Rlbih0aGlzLmRlc3Ryb3lSZWYsIGNhbGxiYWNrKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXSwgW2ZHcm91cHNdXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lciBjbGFzcz1cImYtY29ubmVjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1zbmFwLWNvbm5lY3Rpb25cIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbiwgW2ZDb25uZWN0aW9uc11cIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCIgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjZk5vZGVzQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmTm9kZV0sIFtmTm9kZXNdXCIgLz5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -10,6 +10,10 @@ export class FComponentsStore {
|
|
|
10
10
|
transformChanges$ = new FChannel();
|
|
11
11
|
dataChanges$ = new FChannel();
|
|
12
12
|
countChanges$ = new FChannel();
|
|
13
|
+
_dataVersion = 0;
|
|
14
|
+
get dataVersion() {
|
|
15
|
+
return this._dataVersion;
|
|
16
|
+
}
|
|
13
17
|
get flowHost() {
|
|
14
18
|
return this.fFlow?.hostElement;
|
|
15
19
|
}
|
|
@@ -30,6 +34,7 @@ export class FComponentsStore {
|
|
|
30
34
|
this.countChanges$.notify();
|
|
31
35
|
}
|
|
32
36
|
dataChanged() {
|
|
37
|
+
this._dataVersion++;
|
|
33
38
|
this.dataChanges$.notify();
|
|
34
39
|
}
|
|
35
40
|
transformChanged() {
|
|
@@ -53,4 +58,4 @@ export const INSTANCES = {
|
|
|
53
58
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
54
59
|
SELECTION_AREA: fInstanceKey('selection-area'),
|
|
55
60
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUNYLGlCQUFpQixHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFbkMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFOUIsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFdkMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUV6QixJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQTBCLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUV4QyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQTRCLENBQUM7SUFDcEQsQ0FBQztJQUVlLEtBQUssR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzVCLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO0lBRXBELE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFrQixRQUFRLENBQUMsQ0FBQztJQUM1RCxNQUFNLEdBQUcsSUFBSSxrQkFBa0IsQ0FBaUIsT0FBTyxDQUFDLENBQUM7SUFDekQsT0FBTyxHQUFHLElBQUksa0JBQWtCLENBQWtCLFFBQVEsQ0FBQyxDQUFDO0lBRTVELFNBQVMsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFFL0MsVUFBVSxDQUE2QjtJQUV2QyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0FoRFUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBb0RYLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUN2QixnRUFBZ0U7SUFDaEUsY0FBYyxFQUFFLFlBQVksQ0FBcUIsZ0JBQWdCLENBQUM7SUFFbEUsZ0VBQWdFO0lBQ2hFLGNBQWMsRUFBRSxZQUFZLENBQXFCLGdCQUFnQixDQUFDO0lBRWxFLGdFQUFnRTtJQUNoRSxJQUFJLEVBQUUsWUFBWSxDQUFZLGVBQWUsQ0FBQztJQUU5QyxnRUFBZ0U7SUFDaEUsVUFBVSxFQUFFLFlBQVksQ0FBa0IsWUFBWSxDQUFDO0lBRXZELGdFQUFnRTtJQUNoRSxjQUFjLEVBQUUsWUFBWSxDQUFxQixnQkFBZ0IsQ0FBQztDQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi4vZi1iYWNrZ3JvdWQnO1xuaW1wb3J0IHsgRk5vZGVJbnB1dEJhc2UsIEZOb2RlT3V0bGV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNoYW5uZWwgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbm5lY3RvclJlZ2lzdHJ5IH0gZnJvbSAnLi9mLWNvbm5lY3Rvci1yZWdpc3RyeSc7XG5pbXBvcnQgeyBGTm9kZVJlZ2lzdHJ5IH0gZnJvbSAnLi9mLW5vZGUtcmVnaXN0cnknO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25SZWdpc3RyeSB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IEZDb25uZWN0aW9uTWFya2VyUmVnaXN0cnkgfSBmcm9tICcuL2YtY29ubmVjdGlvbi1tYXJrZXItcmVnaXN0cnknO1xuaW1wb3J0IHsgZkluc3RhbmNlS2V5LCBGU2luZ2xlUmVnaXN0cnlCYXNlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEZab29tQmFzZSB9IGZyb20gJy4uL2Ytem9vbSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuLi9mLXNlbGVjdGlvbi1hcmVhJztcbmltcG9ydCB7IEZNYWduZXRpY0xpbmVzQmFzZSB9IGZyb20gJy4uL2YtbWFnbmV0aWMtbGluZXMnO1xuaW1wb3J0IHsgRk1hZ25ldGljUmVjdHNCYXNlIH0gZnJvbSAnLi4vZi1tYWduZXRpYy1yZWN0cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGQ29tcG9uZW50c1N0b3JlIHtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZm9ybUNoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDaGFuZ2VzJCA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb3VudENoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHJpdmF0ZSBfZGF0YVZlcnNpb24gPSAwO1xuXG4gIHB1YmxpYyBnZXQgZGF0YVZlcnNpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVZlcnNpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mRmxvdz8uaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZkZsb3c6IEZGbG93QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkNhbnZhczogRkNhbnZhc0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ2FudmFzPy50cmFuc2Zvcm0gYXMgSVRyYW5zZm9ybU1vZGVsO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IG5vZGVzID0gbmV3IEZOb2RlUmVnaXN0cnkoKTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zID0gbmV3IEZDb25uZWN0aW9uUmVnaXN0cnkoKTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25NYXJrZXJzID0gbmV3IEZDb25uZWN0aW9uTWFya2VyUmVnaXN0cnkoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0cyA9IG5ldyBGQ29ubmVjdG9yUmVnaXN0cnk8Rk5vZGVPdXRwdXRCYXNlPignT3V0cHV0Jyk7XG4gIHB1YmxpYyByZWFkb25seSBpbnB1dHMgPSBuZXcgRkNvbm5lY3RvclJlZ2lzdHJ5PEZOb2RlSW5wdXRCYXNlPignSW5wdXQnKTtcbiAgcHVibGljIHJlYWRvbmx5IG91dGxldHMgPSBuZXcgRkNvbm5lY3RvclJlZ2lzdHJ5PEZOb2RlT3V0bGV0QmFzZT4oJ091dGxldCcpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZXMgPSBuZXcgRlNpbmdsZVJlZ2lzdHJ5QmFzZSgpO1xuXG4gIHB1YmxpYyBmRHJhZ2dhYmxlOiBGRHJhZ2dhYmxlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY291bnRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY291bnRDaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBkYXRhQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRhVmVyc2lvbisrO1xuICAgIHRoaXMuZGF0YUNoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2Zvcm1DaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgSU5TVEFOQ0VTID0ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIE1BR05FVElDX0xJTkVTOiBmSW5zdGFuY2VLZXk8Rk1hZ25ldGljTGluZXNCYXNlPignbWFnbmV0aWMtbGluZXMnKSxcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIE1BR05FVElDX1JFQ1RTOiBmSW5zdGFuY2VLZXk8Rk1hZ25ldGljUmVjdHNCYXNlPignbWFnbmV0aWMtcmVjdHMnKSxcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIFpPT006IGZJbnN0YW5jZUtleTxGWm9vbUJhc2U+KCd6b29tLWNvbnRyb2xzJyksXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICBCQUNLR1JPVU5EOiBmSW5zdGFuY2VLZXk8RkJhY2tncm91bmRCYXNlPignYmFja2dyb3VuZCcpLFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgU0VMRUNUSU9OX0FSRUE6IGZJbnN0YW5jZUtleTxGU2VsZWN0aW9uQXJlYUJhc2U+KCdzZWxlY3Rpb24tYXJlYScpLFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export class ListenDataChangesRequest {
|
|
2
|
+
notifyOnSubscribe;
|
|
2
3
|
static fToken = Symbol('ListenDataChangesRequest');
|
|
4
|
+
constructor(notifyOnSubscribe = true) {
|
|
5
|
+
this.notifyOnSubscribe = notifyOnSubscribe;
|
|
6
|
+
}
|
|
3
7
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLWRhdGEtY2hhbmdlcy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZmVhdHVyZXMvbGlzdGVuLWRhdGEtY2hhbmdlZC9saXN0ZW4tZGF0YS1jaGFuZ2VzLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHdCQUF3QjtJQUdQO0lBRjVCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFNUQsWUFBNEIsb0JBQTZCLElBQUk7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtJQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5vdGlmeU9uU3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSkge31cbn1cbiJdfQ==
|
|
@@ -7,8 +7,10 @@ import { debounceTime, FChannelHub, notifyOnStart } from '../../../reactivity';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
let ListenDataChanges = class ListenDataChanges {
|
|
9
9
|
_store = inject(FComponentsStore);
|
|
10
|
-
handle(
|
|
11
|
-
return
|
|
10
|
+
handle({ notifyOnSubscribe }) {
|
|
11
|
+
return notifyOnSubscribe
|
|
12
|
+
? new FChannelHub(this._store.dataChanges$).pipe(notifyOnStart(), debounceTime(1))
|
|
13
|
+
: new FChannelHub(this._store.dataChanges$).pipe(debounceTime(1));
|
|
12
14
|
}
|
|
13
15
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListenDataChanges, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
16
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListenDataChanges });
|
|
@@ -20,4 +22,4 @@ export { ListenDataChanges };
|
|
|
20
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListenDataChanges, decorators: [{
|
|
21
23
|
type: Injectable
|
|
22
24
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLWRhdGEtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1zdG9yYWdlL2ZlYXR1cmVzL2xpc3Rlbi1kYXRhLWNoYW5nZWQvbGlzdGVuLWRhdGEtY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSXhFLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBQ1gsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxFQUFFLGlCQUFpQixFQUE0QjtRQUMzRCxPQUFPLGlCQUFpQjtZQUN0QixDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3dHQVBVLGlCQUFpQjs0R0FBakIsaUJBQWlCOztBQUFqQixpQkFBaUI7SUFEN0Isa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsaUJBQWlCLENBUTdCOzs0RkFSWSxpQkFBaUI7a0JBRjdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0IH0gZnJvbSAnLi9saXN0ZW4tZGF0YS1jaGFuZ2VzLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vLi4vLi4vcmVhY3Rpdml0eSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIExpc3RlbkRhdGFDaGFuZ2VzIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QsIEZDaGFubmVsSHViPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUoeyBub3RpZnlPblN1YnNjcmliZSB9OiBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QpOiBGQ2hhbm5lbEh1YiB7XG4gICAgcmV0dXJuIG5vdGlmeU9uU3Vic2NyaWJlXG4gICAgICA/IG5ldyBGQ2hhbm5lbEh1Yih0aGlzLl9zdG9yZS5kYXRhQ2hhbmdlcyQpLnBpcGUobm90aWZ5T25TdGFydCgpLCBkZWJvdW5jZVRpbWUoMSkpXG4gICAgICA6IG5ldyBGQ2hhbm5lbEh1Yih0aGlzLl9zdG9yZS5kYXRhQ2hhbmdlcyQpLnBpcGUoZGVib3VuY2VUaW1lKDEpKTtcbiAgfVxufVxuIl19
|
|
@@ -25,11 +25,14 @@ export class FChannelHub {
|
|
|
25
25
|
teardownSetters.push(res.setTeardown);
|
|
26
26
|
}
|
|
27
27
|
const unsubs = this._channels.map((ch) => ch.listen(() => current()));
|
|
28
|
+
let unregisterOnDestroy = null;
|
|
28
29
|
let tornDown = false;
|
|
29
30
|
const teardown = () => {
|
|
30
31
|
if (tornDown)
|
|
31
32
|
return;
|
|
32
33
|
tornDown = true;
|
|
34
|
+
unregisterOnDestroy?.();
|
|
35
|
+
unregisterOnDestroy = null;
|
|
33
36
|
unsubs.forEach((u) => u());
|
|
34
37
|
cleanups.forEach((c) => c());
|
|
35
38
|
};
|
|
@@ -41,7 +44,7 @@ export class FChannelHub {
|
|
|
41
44
|
.slice()
|
|
42
45
|
.reverse()
|
|
43
46
|
.forEach((fn) => fn(current));
|
|
44
|
-
destroyRef.onDestroy(teardown);
|
|
47
|
+
unregisterOnDestroy = destroyRef.onDestroy(teardown);
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaGFubmVsLWh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcmVhY3Rpdml0eS9mLWNoYW5uZWwtaHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxXQUFXO0lBQ0wsU0FBUyxHQUFlLEVBQUUsQ0FBQztJQUVwQyxVQUFVLEdBQXVCLEVBQUUsQ0FBQztJQUU1QyxZQUFZLEdBQUcsUUFBb0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLElBQUksQ0FBQyxHQUFHLFNBQTZCO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUV2RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQXNCLEVBQUUsUUFBMEI7UUFDOUQsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBRXZCLE1BQU0sUUFBUSxHQUFtQixFQUFFLENBQUM7UUFDcEMsTUFBTSxZQUFZLEdBQTRDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLGVBQWUsR0FBdUMsRUFBRSxDQUFDO1FBRS9ELEtBQUssTUFBTSxRQUFRLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3RELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUV2QixJQUFJLEdBQUcsQ0FBQyxPQUFPO2dCQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLElBQUksR0FBRyxDQUFDLFdBQVc7Z0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsSUFBSSxHQUFHLENBQUMsV0FBVztnQkFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksbUJBQW1CLEdBQXdCLElBQUksQ0FBQztRQUNwRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckIsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ3BCLElBQUksUUFBUTtnQkFBRSxPQUFPO1lBQ3JCLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFaEIsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUUzQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBRUYsZUFBZTthQUNaLEtBQUssRUFBRTthQUNQLE9BQU8sRUFBRTthQUNULE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkMsWUFBWTthQUNULEtBQUssRUFBRTthQUNQLE9BQU8sRUFBRTthQUNULE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFaEMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ2hhbm5lbCB9IGZyb20gJy4vZi1jaGFubmVsJztcbmltcG9ydCB7IEZDaGFubmVsTGlzdGVuZXIsIEZDaGFubmVsT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEZDaGFubmVsSHViIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hhbm5lbHM6IEZDaGFubmVsW10gPSBbXTtcblxuICBwcml2YXRlIF9vcGVyYXRvcnM6IEZDaGFubmVsT3BlcmF0b3JbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmNoYW5uZWxzOiBGQ2hhbm5lbFtdKSB7XG4gICAgdGhpcy5fY2hhbm5lbHMgPSBbLi4uY2hhbm5lbHNdO1xuICB9XG5cbiAgcHVibGljIHBpcGUoLi4ub3BlcmF0b3JzOiBGQ2hhbm5lbE9wZXJhdG9yW10pOiBGQ2hhbm5lbEh1YiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEZDaGFubmVsSHViKC4uLnRoaXMuX2NoYW5uZWxzKTtcbiAgICByZXN1bHQuX29wZXJhdG9ycyA9IFsuLi50aGlzLl9vcGVyYXRvcnMsIC4uLm9wZXJhdG9yc107XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGxpc3RlbihkZXN0cm95UmVmOiBEZXN0cm95UmVmLCBjYWxsYmFjazogRkNoYW5uZWxMaXN0ZW5lcik6IHZvaWQge1xuICAgIGxldCBjdXJyZW50ID0gY2FsbGJhY2s7XG5cbiAgICBjb25zdCBjbGVhbnVwczogKCgpID0+IHZvaWQpW10gPSBbXTtcbiAgICBjb25zdCBvblN1YnNjcmliZXM6ICgoZmluYWxDYjogRkNoYW5uZWxMaXN0ZW5lcikgPT4gdm9pZClbXSA9IFtdO1xuICAgIGNvbnN0IHRlYXJkb3duU2V0dGVyczogKCh0ZWFyZG93bjogKCkgPT4gdm9pZCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiBbLi4udGhpcy5fb3BlcmF0b3JzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHJlcyA9IG9wZXJhdG9yKGN1cnJlbnQpO1xuICAgICAgY3VycmVudCA9IHJlcy5jYWxsYmFjaztcblxuICAgICAgaWYgKHJlcy5jbGVhbnVwKSBjbGVhbnVwcy5wdXNoKHJlcy5jbGVhbnVwKTtcbiAgICAgIGlmIChyZXMub25TdWJzY3JpYmUpIG9uU3Vic2NyaWJlcy5wdXNoKHJlcy5vblN1YnNjcmliZSk7XG4gICAgICBpZiAocmVzLnNldFRlYXJkb3duKSB0ZWFyZG93blNldHRlcnMucHVzaChyZXMuc2V0VGVhcmRvd24pO1xuICAgIH1cblxuICAgIGNvbnN0IHVuc3VicyA9IHRoaXMuX2NoYW5uZWxzLm1hcCgoY2gpID0+IGNoLmxpc3RlbigoKSA9PiBjdXJyZW50KCkpKTtcblxuICAgIGxldCB1bnJlZ2lzdGVyT25EZXN0cm95OiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdG9ybkRvd24gPSBmYWxzZTtcbiAgICBjb25zdCB0ZWFyZG93biA9ICgpID0+IHtcbiAgICAgIGlmICh0b3JuRG93bikgcmV0dXJuO1xuICAgICAgdG9ybkRvd24gPSB0cnVlO1xuXG4gICAgICB1bnJlZ2lzdGVyT25EZXN0cm95Py4oKTtcbiAgICAgIHVucmVnaXN0ZXJPbkRlc3Ryb3kgPSBudWxsO1xuXG4gICAgICB1bnN1YnMuZm9yRWFjaCgodSkgPT4gdSgpKTtcbiAgICAgIGNsZWFudXBzLmZvckVhY2goKGMpID0+IGMoKSk7XG4gICAgfTtcblxuICAgIHRlYXJkb3duU2V0dGVyc1xuICAgICAgLnNsaWNlKClcbiAgICAgIC5yZXZlcnNlKClcbiAgICAgIC5mb3JFYWNoKChzZXQpID0+IHNldCh0ZWFyZG93bikpO1xuICAgIG9uU3Vic2NyaWJlc1xuICAgICAgLnNsaWNlKClcbiAgICAgIC5yZXZlcnNlKClcbiAgICAgIC5mb3JFYWNoKChmbikgPT4gZm4oY3VycmVudCkpO1xuXG4gICAgdW5yZWdpc3Rlck9uRGVzdHJveSA9IGRlc3Ryb3lSZWYub25EZXN0cm95KHRlYXJkb3duKTtcbiAgfVxufVxuIl19
|
|
@@ -13,9 +13,21 @@
|
|
|
13
13
|
// };
|
|
14
14
|
// }
|
|
15
15
|
export function notifyOnStart() {
|
|
16
|
-
return (callback) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
return (callback) => {
|
|
17
|
+
let active = true;
|
|
18
|
+
return {
|
|
19
|
+
callback,
|
|
20
|
+
onSubscribe: (finalCallback) => {
|
|
21
|
+
queueMicrotask(() => {
|
|
22
|
+
if (!active)
|
|
23
|
+
return;
|
|
24
|
+
finalCallback();
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
cleanup: () => {
|
|
28
|
+
active = false;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
};
|
|
20
32
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LW9uLXN0YXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9yZWFjdGl2aXR5L25vdGlmeS1vbi1zdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxzREFBc0Q7QUFDdEQsMkJBQTJCO0FBQzNCLGdEQUFnRDtBQUNoRCxFQUFFO0FBQ0YsZUFBZTtBQUNmLDRDQUE0QztBQUM1QyxrQkFBa0I7QUFDbEIsMENBQTBDO0FBQzFDLGlDQUFpQztBQUNqQywyQkFBMkI7QUFDM0IsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPO0FBQ1AsSUFBSTtBQUNKLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNsQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFFbEIsT0FBTztZQUNMLFFBQVE7WUFDUixXQUFXLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDN0IsY0FBYyxDQUFDLEdBQUcsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLE1BQU07d0JBQUUsT0FBTztvQkFDcEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNqQixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ2hhbm5lbE9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBub3RpZnlPblN0YXJ0KCk6IEZDaGFubmVsT3BlcmF0b3Ige1xuLy8gICByZXR1cm4gKGNhbGxiYWNrKSA9PiB7XG4vLyAgICAgbGV0IHRlYXJkb3duOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbi8vXG4vLyAgICAgcmV0dXJuIHtcbi8vICAgICAgIHNldFRlYXJkb3duOiAodCkgPT4gKHRlYXJkb3duID0gdCksXG4vLyAgICAgICBjYWxsYmFjayxcbi8vICAgICAgIG9uU3Vic2NyaWJlOiAoZmluYWxDYWxsYmFjaykgPT4ge1xuLy8gICAgICAgICBpZiAoIXRlYXJkb3duKSByZXR1cm47XG4vLyAgICAgICAgIGZpbmFsQ2FsbGJhY2soKTtcbi8vICAgICAgIH0sXG4vLyAgICAgfTtcbi8vICAgfTtcbi8vIH1cbmV4cG9ydCBmdW5jdGlvbiBub3RpZnlPblN0YXJ0KCk6IEZDaGFubmVsT3BlcmF0b3Ige1xuICByZXR1cm4gKGNhbGxiYWNrKSA9PiB7XG4gICAgbGV0IGFjdGl2ZSA9IHRydWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FsbGJhY2ssXG4gICAgICBvblN1YnNjcmliZTogKGZpbmFsQ2FsbGJhY2spID0+IHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgIGlmICghYWN0aXZlKSByZXR1cm47XG4gICAgICAgICAgZmluYWxDYWxsYmFjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBjbGVhbnVwOiAoKSA9PiB7XG4gICAgICAgIGFjdGl2ZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
|
|
@@ -8,10 +8,14 @@ export function takeOne() {
|
|
|
8
8
|
if (taken)
|
|
9
9
|
return;
|
|
10
10
|
taken = true;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
try {
|
|
12
|
+
callback();
|
|
13
|
+
}
|
|
14
|
+
finally {
|
|
15
|
+
teardown?.();
|
|
16
|
+
}
|
|
13
17
|
},
|
|
14
18
|
};
|
|
15
19
|
};
|
|
16
20
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZS1vbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL3JlYWN0aXZpdHkvdGFrZS1vbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLE9BQU87SUFDckIsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ2xCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLFFBQVEsR0FBd0IsSUFBSSxDQUFDO1FBRXpDLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNsQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksS0FBSztvQkFBRSxPQUFPO2dCQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUViLElBQUksQ0FBQztvQkFDSCxRQUFRLEVBQUUsQ0FBQztnQkFDYixDQUFDO3dCQUFTLENBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNoYW5uZWxPcGVyYXRvciB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGFrZU9uZSgpOiBGQ2hhbm5lbE9wZXJhdG9yIHtcbiAgcmV0dXJuIChjYWxsYmFjaykgPT4ge1xuICAgIGxldCB0YWtlbiA9IGZhbHNlO1xuICAgIGxldCB0ZWFyZG93bjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2V0VGVhcmRvd246ICh0KSA9PiAodGVhcmRvd24gPSB0KSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIGlmICh0YWtlbikgcmV0dXJuO1xuICAgICAgICB0YWtlbiA9IHRydWU7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRlYXJkb3duPy4oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
|
|
@@ -14,6 +14,7 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class FCanvasComponent extends FCanvasBase implements OnInit, OnDestroy {
|
|
16
16
|
private readonly _mediator;
|
|
17
|
+
private readonly _componentsStore;
|
|
17
18
|
private readonly _elementReference;
|
|
18
19
|
private readonly _injector;
|
|
19
20
|
private _flowId;
|
|
@@ -19,6 +19,8 @@ export declare class FComponentsStore {
|
|
|
19
19
|
readonly transformChanges$: FChannel;
|
|
20
20
|
readonly dataChanges$: FChannel;
|
|
21
21
|
readonly countChanges$: FChannel;
|
|
22
|
+
private _dataVersion;
|
|
23
|
+
get dataVersion(): number;
|
|
22
24
|
get flowHost(): HTMLElement;
|
|
23
25
|
fFlow: FFlowBase | undefined;
|
|
24
26
|
fCanvas: FCanvasBase | undefined;
|
|
@@ -4,7 +4,7 @@ import { FChannelHub } from '../../../reactivity';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class ListenDataChanges implements IExecution<ListenDataChangesRequest, FChannelHub> {
|
|
6
6
|
private readonly _store;
|
|
7
|
-
handle(
|
|
7
|
+
handle({ notifyOnSubscribe }: ListenDataChangesRequest): FChannelHub;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListenDataChanges, never>;
|
|
9
9
|
static ɵprov: i0.ɵɵInjectableDeclaration<ListenDataChanges>;
|
|
10
10
|
}
|
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, ChangeDetectionStrategy, Component, Input, viewChild, contentChildren, contentChild, computed, Renderer2, DestroyRef, output, ViewContainerRef, TemplateRef, runInInjectionContext, NgZone, EventEmitter, ContentChildren, Output, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, ChangeDetectionStrategy, Component, Input, viewChild, contentChildren, contentChild, computed, Renderer2, DestroyRef, output, ViewContainerRef, TemplateRef, runInInjectionContext, NgZone, EventEmitter, ContentChildren, Output, afterNextRender, NgModule } from '@angular/core';
|
|
3
3
|
import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, GetIntersections, LineExtensions, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
|
|
4
4
|
import { __decorate } from 'tslib';
|
|
5
5
|
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
@@ -222,7 +222,11 @@ class FNodeRegistry extends FIdRegistryBase {
|
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
class ListenDataChangesRequest {
|
|
225
|
+
notifyOnSubscribe;
|
|
225
226
|
static fToken = Symbol('ListenDataChangesRequest');
|
|
227
|
+
constructor(notifyOnSubscribe = true) {
|
|
228
|
+
this.notifyOnSubscribe = notifyOnSubscribe;
|
|
229
|
+
}
|
|
226
230
|
}
|
|
227
231
|
|
|
228
232
|
function debounceAnimationFrame() {
|
|
@@ -356,11 +360,14 @@ class FChannelHub {
|
|
|
356
360
|
teardownSetters.push(res.setTeardown);
|
|
357
361
|
}
|
|
358
362
|
const unsubs = this._channels.map((ch) => ch.listen(() => current()));
|
|
363
|
+
let unregisterOnDestroy = null;
|
|
359
364
|
let tornDown = false;
|
|
360
365
|
const teardown = () => {
|
|
361
366
|
if (tornDown)
|
|
362
367
|
return;
|
|
363
368
|
tornDown = true;
|
|
369
|
+
unregisterOnDestroy?.();
|
|
370
|
+
unregisterOnDestroy = null;
|
|
364
371
|
unsubs.forEach((u) => u());
|
|
365
372
|
cleanups.forEach((c) => c());
|
|
366
373
|
};
|
|
@@ -372,7 +379,7 @@ class FChannelHub {
|
|
|
372
379
|
.slice()
|
|
373
380
|
.reverse()
|
|
374
381
|
.forEach((fn) => fn(current));
|
|
375
|
-
destroyRef.onDestroy(teardown);
|
|
382
|
+
unregisterOnDestroy = destroyRef.onDestroy(teardown);
|
|
376
383
|
}
|
|
377
384
|
}
|
|
378
385
|
|
|
@@ -391,10 +398,22 @@ class FChannelHub {
|
|
|
391
398
|
// };
|
|
392
399
|
// }
|
|
393
400
|
function notifyOnStart() {
|
|
394
|
-
return (callback) =>
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
401
|
+
return (callback) => {
|
|
402
|
+
let active = true;
|
|
403
|
+
return {
|
|
404
|
+
callback,
|
|
405
|
+
onSubscribe: (finalCallback) => {
|
|
406
|
+
queueMicrotask(() => {
|
|
407
|
+
if (!active)
|
|
408
|
+
return;
|
|
409
|
+
finalCallback();
|
|
410
|
+
});
|
|
411
|
+
},
|
|
412
|
+
cleanup: () => {
|
|
413
|
+
active = false;
|
|
414
|
+
},
|
|
415
|
+
};
|
|
416
|
+
};
|
|
398
417
|
}
|
|
399
418
|
|
|
400
419
|
function takeOne() {
|
|
@@ -407,8 +426,12 @@ function takeOne() {
|
|
|
407
426
|
if (taken)
|
|
408
427
|
return;
|
|
409
428
|
taken = true;
|
|
410
|
-
|
|
411
|
-
|
|
429
|
+
try {
|
|
430
|
+
callback();
|
|
431
|
+
}
|
|
432
|
+
finally {
|
|
433
|
+
teardown?.();
|
|
434
|
+
}
|
|
412
435
|
},
|
|
413
436
|
};
|
|
414
437
|
};
|
|
@@ -416,8 +439,10 @@ function takeOne() {
|
|
|
416
439
|
|
|
417
440
|
let ListenDataChanges = class ListenDataChanges {
|
|
418
441
|
_store = inject(FComponentsStore);
|
|
419
|
-
handle(
|
|
420
|
-
return
|
|
442
|
+
handle({ notifyOnSubscribe }) {
|
|
443
|
+
return notifyOnSubscribe
|
|
444
|
+
? new FChannelHub(this._store.dataChanges$).pipe(notifyOnStart(), debounceTime(1))
|
|
445
|
+
: new FChannelHub(this._store.dataChanges$).pipe(debounceTime(1));
|
|
421
446
|
}
|
|
422
447
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListenDataChanges, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
423
448
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListenDataChanges });
|
|
@@ -494,6 +519,10 @@ class FComponentsStore {
|
|
|
494
519
|
transformChanges$ = new FChannel();
|
|
495
520
|
dataChanges$ = new FChannel();
|
|
496
521
|
countChanges$ = new FChannel();
|
|
522
|
+
_dataVersion = 0;
|
|
523
|
+
get dataVersion() {
|
|
524
|
+
return this._dataVersion;
|
|
525
|
+
}
|
|
497
526
|
get flowHost() {
|
|
498
527
|
return this.fFlow?.hostElement;
|
|
499
528
|
}
|
|
@@ -514,6 +543,7 @@ class FComponentsStore {
|
|
|
514
543
|
this.countChanges$.notify();
|
|
515
544
|
}
|
|
516
545
|
dataChanged() {
|
|
546
|
+
this._dataVersion++;
|
|
517
547
|
this.dataChanges$.notify();
|
|
518
548
|
}
|
|
519
549
|
transformChanged() {
|
|
@@ -13562,6 +13592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13562
13592
|
*/
|
|
13563
13593
|
class FCanvasComponent extends FCanvasBase {
|
|
13564
13594
|
_mediator = inject(FMediator);
|
|
13595
|
+
_componentsStore = inject(FComponentsStore);
|
|
13565
13596
|
_elementReference = inject(ElementRef);
|
|
13566
13597
|
_injector = inject(Injector);
|
|
13567
13598
|
_flowId;
|
|
@@ -13673,8 +13704,12 @@ class FCanvasComponent extends FCanvasBase {
|
|
|
13673
13704
|
this._mediator.execute(new RemoveCanvasFromStoreRequest());
|
|
13674
13705
|
}
|
|
13675
13706
|
_afterRedraw(callback) {
|
|
13707
|
+
if (this._componentsStore.dataVersion > 0) {
|
|
13708
|
+
afterNextRender(callback, { injector: this._injector });
|
|
13709
|
+
return;
|
|
13710
|
+
}
|
|
13676
13711
|
this._mediator
|
|
13677
|
-
.execute(new ListenDataChangesRequest())
|
|
13712
|
+
.execute(new ListenDataChangesRequest(false))
|
|
13678
13713
|
.pipe(takeOne())
|
|
13679
13714
|
.listen(this.destroyRef, callback);
|
|
13680
13715
|
}
|