@foblex/flow 1.2.7 → 1.2.9

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.
@@ -8,4 +8,4 @@ import { GetInputRectInFlowHandler } from './get-input-rect-in-flow.handler';
8
8
  import { GetConnectionVectorHandler } from './get-connection-vector';
9
9
  import { UpdateNodeLayerHandler } from './update-node-layer.handler';
10
10
  import { SelectAllHandler } from './select-all.handler';
11
- export declare const COMMON_PROVIDERS: (typeof GetConnectionVectorHandler | typeof GetAllNodesRectHandler | typeof GetConnectionHandler | typeof GetElementRectInFlowHandler | typeof GetIncomingConnectionsHandler | typeof GetOutgoingConnectionsHandler | typeof GetInputRectInFlowHandler | typeof GetOutputRectInFlowHandler | typeof UpdateNodeLayerHandler | typeof SelectAllHandler)[];
11
+ export declare const COMMON_PROVIDERS: (typeof SelectAllHandler | typeof GetAllNodesRectHandler | typeof GetConnectionVectorHandler | typeof GetConnectionHandler | typeof GetElementRectInFlowHandler | typeof GetOutputRectInFlowHandler | typeof GetInputRectInFlowHandler | typeof GetIncomingConnectionsHandler | typeof GetOutgoingConnectionsHandler | typeof UpdateNodeLayerHandler)[];
@@ -4,6 +4,7 @@ import { F_CONNECTION } from '../f-connection.injection-token';
4
4
  import { CONNECTION_PATH } from './i-connection-path';
5
5
  import { sanitizeElementId } from '@foblex/core';
6
6
  import { getFlowUid } from '../../../get-flow-uid';
7
+ import { EFMarkerType } from '../../f-marker/e-f-marker-type';
7
8
  import * as i0 from "@angular/core";
8
9
  export class FConnectionPathComponent {
9
10
  get linkToGradient() {
@@ -26,15 +27,18 @@ export class FConnectionPathComponent {
26
27
  this.hostElement.setAttribute("d", `${path}`);
27
28
  }
28
29
  select() {
29
- this.hostElement.setAttribute('marker-start', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-selected')})`);
30
- this.hostElement.setAttribute('marker-end', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-end-selected')})`);
30
+ this.hostElement.setAttribute('marker-start', `url(#${this.getMarkerId(EFMarkerType.SELECTED_START)})`);
31
+ this.hostElement.setAttribute('marker-end', `url(#${this.getMarkerId(EFMarkerType.SELECTED_END)})`);
31
32
  }
32
33
  deselect() {
33
- this.hostElement.setAttribute('marker-start', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-' + this.base.id)})`);
34
- this.hostElement.setAttribute('marker-end', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-end-' + this.base.id)})`);
34
+ this.hostElement.setAttribute('marker-start', `url(#${this.getMarkerId(EFMarkerType.START)})`);
35
+ this.hostElement.setAttribute('marker-end', `url(#${this.getMarkerId(EFMarkerType.END)})`);
36
+ }
37
+ getMarkerId(type) {
38
+ return sanitizeElementId(`${getFlowUid()}-${type}-${this.base.id}`);
35
39
  }
36
40
  isSelected() {
37
- return this.hostElement.getAttribute('marker-start') === `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-selected')})`;
41
+ return this.hostElement.getAttribute('marker-start') === `url(#${this.getMarkerId(EFMarkerType.SELECTED_START)})`;
38
42
  }
39
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FConnectionPathComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component }); }
40
44
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FConnectionPathComponent, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -56,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
56
60
  type: Inject,
57
61
  args: [F_CONNECTION]
58
62
  }] }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsTUFBTSxFQUM5QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWFuRCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLElBQVcsY0FBYztRQUN2QixPQUFPLHdCQUF3QixDQUFDLGNBQWMsQ0FDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyx3QkFBd0IsQ0FBQyxZQUFZLENBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQTRDLEVBQ3RCLElBQWdEO1FBRHRFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNEI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBNEM7SUFFbEYsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFJLElBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsR0FBRyxxQ0FBcUMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUNwSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsR0FBRyxtQ0FBbUMsQ0FBRSxHQUFHLENBQUMsQ0FBQztJQUNsSSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxHQUFHLDZCQUE2QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxRQUFTLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxHQUFHLDJCQUEyQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pJLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxRQUFTLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxHQUFHLHFDQUFxQyxDQUFFLEdBQUcsQ0FBQTtJQUMvSSxDQUFDOzhHQTVDVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9QQVRILCBJQ29ubmVjdGlvblBhdGggfSBmcm9tICcuL2ktY29ubmVjdGlvbi1wYXRoJztcbmltcG9ydCB7IHNhbml0aXplRWxlbWVudElkIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IGdldEZsb3dVaWQgfSBmcm9tICcuLi8uLi8uLi9nZXQtZmxvdy11aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicGF0aFtmLWNvbm5lY3Rpb24tcGF0aF1cIixcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbi1wYXRoXCIsXG4gICAgJ1thdHRyLmlkXSc6ICdhdHRyQ29ubmVjdGlvbklkJyxcbiAgICAnW2F0dHIuc3Ryb2tlXSc6ICdsaW5rVG9HcmFkaWVudCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENPTk5FQ1RJT05fUEFUSCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCBpbXBsZW1lbnRzIElDb25uZWN0aW9uUGF0aCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9HcmFkaWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMubGlua1RvR3JhZGllbnQoXG4gICAgICAgIHRoaXMuYmFzZS5vdXRwdXRJZCArIHRoaXMuYmFzZS5pbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0ckNvbm5lY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbklkKFxuICAgICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgc2FuaXRpemVFbGVtZW50SWQoZ2V0Rmxvd1VpZCgpICsgJy1mLWNvbm5lY3Rpb24tbWFya2VyLXN0YXJ0LXNlbGVjdGVkJykgfSlgKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsIGB1cmwoIyR7IHNhbml0aXplRWxlbWVudElkKGdldEZsb3dVaWQoKSArICctZi1jb25uZWN0aW9uLW1hcmtlci1lbmQtc2VsZWN0ZWQnKSB9KWApO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItc3RhcnQnLCBgdXJsKCMkeyBzYW5pdGl6ZUVsZW1lbnRJZChnZXRGbG93VWlkKCkgKyAnLWYtY29ubmVjdGlvbi1tYXJrZXItc3RhcnQtJyArIHRoaXMuYmFzZS5pZCkgfSlgKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsIGB1cmwoIyR7IHNhbml0aXplRWxlbWVudElkKGdldEZsb3dVaWQoKSArICctZi1jb25uZWN0aW9uLW1hcmtlci1lbmQtJyArIHRoaXMuYmFzZS5pZCkgfSlgKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmdldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JykgPT09IGB1cmwoIyR7IHNhbml0aXplRWxlbWVudElkKGdldEZsb3dVaWQoKSArICctZi1jb25uZWN0aW9uLW1hcmtlci1zdGFydC1zZWxlY3RlZCcpIH0pYFxuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBYTlELE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDekMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVsRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlci9lLWYtbWFya2VyLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicGF0aFtmLWNvbm5lY3Rpb24tcGF0aF1cIixcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbi1wYXRoXCIsXG4gICAgJ1thdHRyLmlkXSc6ICdhdHRyQ29ubmVjdGlvbklkJyxcbiAgICAnW2F0dHIuc3Ryb2tlXSc6ICdsaW5rVG9HcmFkaWVudCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENPTk5FQ1RJT05fUEFUSCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCBpbXBsZW1lbnRzIElDb25uZWN0aW9uUGF0aCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9HcmFkaWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMubGlua1RvR3JhZGllbnQoXG4gICAgICAgIHRoaXMuYmFzZS5vdXRwdXRJZCArIHRoaXMuYmFzZS5pbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0ckNvbm5lY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbklkKFxuICAgICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9FTkQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNUQVJUKSB9KWApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuRU5EKSB9KWApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJJZCh0eXBlOiBFRk1hcmtlclR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChgJHsgZ2V0Rmxvd1VpZCgpIH0tJHsgdHlwZSB9LSR7IHRoaXMuYmFzZS5pZCB9YCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcpID09PSBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgXG4gIH1cbn1cbiJdfQ==
@@ -44,6 +44,7 @@ export class FDraggableDirective extends FDraggableBase {
44
44
  this.injector.get(SingleSelectOnPointerDown).handle(event);
45
45
  this.injector.get(ReassignConnectionPrepareDragSequence).handle(event);
46
46
  this.injector.get(CreateConnectionPrepareDragSequence).handle(event);
47
+ this.emitSelectionChangeEvent();
47
48
  return result;
48
49
  }
49
50
  prepareDragSequence(event) {
@@ -54,7 +55,6 @@ export class FDraggableDirective extends FDraggableBase {
54
55
  this.fDraggableDataContext.draggableItems.forEach((item) => {
55
56
  item.initialize?.();
56
57
  });
57
- this.emitSelectionChangeEvent();
58
58
  if (this.fDraggableDataContext.draggableItems.length > 0) {
59
59
  this.hostElement.classList.add('f-dragging');
60
60
  }
@@ -74,6 +74,7 @@ export class FDraggableDirective extends FDraggableBase {
74
74
  this.injector.get(CanvasOnPointerUp).handle(event);
75
75
  this.injector.get(ExternalItemOnPointerUp).handle(event);
76
76
  this.hostElement.classList.remove('f-dragging');
77
+ this.emitSelectionChangeEvent();
77
78
  this.fDraggableDataContext.reset();
78
79
  }
79
80
  emitSelectionChangeEvent() {
@@ -122,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
122
123
  }], fCreateConnection: [{
123
124
  type: Output
124
125
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQUUsTUFBTSxFQUVwQixLQUFLLEVBR0csTUFBTSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUcsT0FBTyxFQUFpQixLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTCwyQkFBMkIsRUFDM0IsbUNBQW1DLEVBQ25DLDZCQUE2QixFQUM3QixxQ0FBcUMsRUFDdEMsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFPckQsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJ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QkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfRFJBR0dBQkxFLCBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3JlYXRlTm9kZUV2ZW50LCBFeHRlcm5hbEl0ZW1PblBvaW50ZXJVcCwgRXh0ZXJuYWxJdGVtUHJlcGFyZURyYWdTZXF1ZW5jZSB9IGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2VFdmVudCwgU2luZ2xlU2VsZWN0T25Qb2ludGVyRG93biB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhT25Qb2ludGVyVXAsIFNlbGVjdGlvbkFyZWFQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYSc7XG5pbXBvcnQgeyBOb2RlT25Qb2ludGVyVXAsIE5vZGVQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc09uUG9pbnRlclVwLCBDYW52YXNQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBDcmVhdGVDb25uZWN0aW9uT25Qb2ludGVyVXAsXG4gIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlLCBSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uT25Qb2ludGVyVXAsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2Vcbn0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0RSQUdHQUJMRSwgdXNlRXhpc3Rpbmc6IEZEcmFnZ2FibGVEaXJlY3RpdmUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmRHJhZ2dhYmxlRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIC8vIEBPdXRwdXQoKVxuICAvLyBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JbnRlcnNlY3ROb2RlOiBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25JbnRlcnNlY3ROb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPENyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxDcmVhdGVDb25uZWN0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50IGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICAgIGxldCByZXN1bHQ6IGJvb2xlYW4gPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFNpbmdsZVNlbGVjdE9uUG9pbnRlckRvd24pLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoQ3JlYXRlQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2UpLmhhbmRsZShldmVudCk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpIHtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFNlbGVjdGlvbkFyZWFQcmVwYXJlRHJhZ1NlcXVlbmNlKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoTm9kZVByZXBhcmVEcmFnU2VxdWVuY2UpLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChDYW52YXNQcmVwYXJlRHJhZ1NlcXVlbmNlKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoRXh0ZXJuYWxJdGVtUHJlcGFyZURyYWdTZXF1ZW5jZSkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaW5pdGlhbGl6ZT8uKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuXG4gICAgaWYgKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZi1kcmFnZ2luZycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMgPSBQb2ludC5mcm9tUG9pbnQoZXZlbnQuZ2V0UG9zaXRpb24oKSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLmhvc3RFbGVtZW50KTtcbiAgICBjb25zdCBkaWZmZXJlbmNlID0gcG9pbnRlclBvc2l0aW9uSW5DYW52YXMuZGl2KHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSkuc3ViKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5tb3ZlKGRpZmZlcmVuY2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChSZWFzc2lnbkNvbm5lY3Rpb25PblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENyZWF0ZUNvbm5lY3Rpb25PblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFNlbGVjdGlvbkFyZWFPblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KE5vZGVPblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENhbnZhc09uUG9pbnRlclVwKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoRXh0ZXJuYWxJdGVtT25Qb2ludGVyVXApLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2YtZHJhZ2dpbmcnKTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICBsZXQgc2VsZWN0ZWROb2Rlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgc2VsZWN0ZWRDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIGlmICh4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykpIHtcbiAgICAgICAgc2VsZWN0ZWROb2Rlcy5wdXNoKHguaG9zdEVsZW1lbnQuaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0aW9ucy5wdXNoKHguaG9zdEVsZW1lbnQuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZlNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyBTZWxlY3Rpb25DaGFuZ2VFdmVudChzZWxlY3RlZE5vZGVzLCBzZWxlY3RlZENvbm5lY3Rpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQUUsTUFBTSxFQUVwQixLQUFLLEVBR0csTUFBTSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUcsT0FBTyxFQUFpQixLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTCwyQkFBMkIsRUFDM0IsbUNBQW1DLEVBQ25DLDZCQUE2QixFQUM3QixxQ0FBcUMsRUFDdEMsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFPckQsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJ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WCxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBT1MsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfRFJBR0dBQkxFLCBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3JlYXRlTm9kZUV2ZW50LCBFeHRlcm5hbEl0ZW1PblBvaW50ZXJVcCwgRXh0ZXJuYWxJdGVtUHJlcGFyZURyYWdTZXF1ZW5jZSB9IGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2VFdmVudCwgU2luZ2xlU2VsZWN0T25Qb2ludGVyRG93biB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhT25Qb2ludGVyVXAsIFNlbGVjdGlvbkFyZWFQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYSc7XG5pbXBvcnQgeyBOb2RlT25Qb2ludGVyVXAsIE5vZGVQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc09uUG9pbnRlclVwLCBDYW52YXNQcmVwYXJlRHJhZ1NlcXVlbmNlIH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBDcmVhdGVDb25uZWN0aW9uT25Qb2ludGVyVXAsXG4gIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlLCBSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uT25Qb2ludGVyVXAsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2Vcbn0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0RSQUdHQUJMRSwgdXNlRXhpc3Rpbmc6IEZEcmFnZ2FibGVEaXJlY3RpdmUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmRHJhZ2dhYmxlRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIC8vIEBPdXRwdXQoKVxuICAvLyBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JbnRlcnNlY3ROb2RlOiBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25JbnRlcnNlY3ROb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPENyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxDcmVhdGVDb25uZWN0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50IGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICAgIGxldCByZXN1bHQ6IGJvb2xlYW4gPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFNpbmdsZVNlbGVjdE9uUG9pbnRlckRvd24pLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoQ3JlYXRlQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2UpLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChTZWxlY3Rpb25BcmVhUHJlcGFyZURyYWdTZXF1ZW5jZSkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KE5vZGVQcmVwYXJlRHJhZ1NlcXVlbmNlKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoQ2FudmFzUHJlcGFyZURyYWdTZXF1ZW5jZSkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEV4dGVybmFsSXRlbVByZXBhcmVEcmFnU2VxdWVuY2UpLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmluaXRpYWxpemU/LigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZi1kcmFnZ2luZycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMgPSBQb2ludC5mcm9tUG9pbnQoZXZlbnQuZ2V0UG9zaXRpb24oKSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLmhvc3RFbGVtZW50KTtcbiAgICBjb25zdCBkaWZmZXJlbmNlID0gcG9pbnRlclBvc2l0aW9uSW5DYW52YXMuZGl2KHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSkuc3ViKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5tb3ZlKGRpZmZlcmVuY2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLmluamVjdG9yLmdldChSZWFzc2lnbkNvbm5lY3Rpb25PblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENyZWF0ZUNvbm5lY3Rpb25PblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFNlbGVjdGlvbkFyZWFPblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KE5vZGVPblBvaW50ZXJVcCkuaGFuZGxlKGV2ZW50KTtcblxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENhbnZhc09uUG9pbnRlclVwKS5oYW5kbGUoZXZlbnQpO1xuXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoRXh0ZXJuYWxJdGVtT25Qb2ludGVyVXApLmhhbmRsZShldmVudCk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2YtZHJhZ2dpbmcnKTtcblxuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgbGV0IHNlbGVjdGVkTm9kZXM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IHNlbGVjdGVkQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBpZiAoeC5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2Ytbm9kZScpKSB7XG4gICAgICAgIHNlbGVjdGVkTm9kZXMucHVzaCh4Lmhvc3RFbGVtZW50LmlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGVkQ29ubmVjdGlvbnMucHVzaCh4Lmhvc3RFbGVtZW50LmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZTZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgU2VsZWN0aW9uQ2hhbmdlRXZlbnQoc2VsZWN0ZWROb2Rlcywgc2VsZWN0ZWRDb25uZWN0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
@@ -14,6 +14,7 @@ export declare class FConnectionPathComponent implements IConnectionPath {
14
14
  setPath(path: string): void;
15
15
  select(): void;
16
16
  deselect(): void;
17
+ private getMarkerId;
17
18
  isSelected(): boolean;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionPathComponent, never>;
19
20
  static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionPathComponent, "path[f-connection-path]", never, {}, {}, never, never, false, never>;
@@ -1,3 +1,3 @@
1
1
  import { CanvasOnPointerUp } from './canvas.on-pointer-up';
2
2
  import { CanvasPrepareDragSequence } from './canvas.prepare-drag-sequence';
3
- export declare const CANVAS_PROVIDERS: (typeof CanvasOnPointerUp | typeof CanvasPrepareDragSequence)[];
3
+ export declare const CANVAS_PROVIDERS: (typeof CanvasPrepareDragSequence | typeof CanvasOnPointerUp)[];
@@ -1,4 +1,4 @@
1
1
  import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
2
2
  import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler, InputsUnderPointerHandler } from './find-inputs-under-pointer';
3
3
  import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
4
- export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof ReassignConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence | typeof FindInputsUnderPointerHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence)[];
4
+ export declare const CONNECTIONS_PROVIDERS: (typeof ReassignConnectionPrepareDragSequence | typeof CreateConnectionPrepareDragSequence | typeof ReassignConnectionOnPointerUp | typeof CreateConnectionOnPointerUp | typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof FindInputsUnderPointerHandler)[];
@@ -1,4 +1,4 @@
1
1
  import { NodeOnPointerUp } from './node.on-pointer-up';
2
2
  import { NodePrepareDragSequence } from './node.prepare-drag-sequence';
3
3
  import { IsConnectionUnderNodeHandler } from './domain/is-connection-under-node';
4
- export declare const NODE_PROVIDERS: (typeof IsConnectionUnderNodeHandler | typeof NodeOnPointerUp | typeof NodePrepareDragSequence)[];
4
+ export declare const NODE_PROVIDERS: (typeof NodePrepareDragSequence | typeof NodeOnPointerUp | typeof IsConnectionUnderNodeHandler)[];
@@ -1,4 +1,4 @@
1
1
  import { SelectionAreaPrepareDragSequence } from './selection-area.prepare-drag-sequence';
2
2
  import { SelectionAreaOnPointerUp } from './selection-area.on-pointer-up';
3
3
  import { GetCanBeSelectedItemsHandler } from './get-can-be-selected-items';
4
- export declare const SELECTION_AREA_PROVIDERS: (typeof GetCanBeSelectedItemsHandler | typeof SelectionAreaPrepareDragSequence | typeof SelectionAreaOnPointerUp)[];
4
+ export declare const SELECTION_AREA_PROVIDERS: (typeof SelectionAreaPrepareDragSequence | typeof SelectionAreaOnPointerUp | typeof GetCanBeSelectedItemsHandler)[];
@@ -496,6 +496,14 @@ function getFlowUid() {
496
496
  return FLOW.UID;
497
497
  }
498
498
 
499
+ var EFMarkerType;
500
+ (function (EFMarkerType) {
501
+ EFMarkerType["START"] = "f-connection-marker-start";
502
+ EFMarkerType["END"] = "f-connection-marker-end";
503
+ EFMarkerType["SELECTED_START"] = "selected_start";
504
+ EFMarkerType["SELECTED_END"] = "selected_end";
505
+ })(EFMarkerType || (EFMarkerType = {}));
506
+
499
507
  class FConnectionPathComponent {
500
508
  get linkToGradient() {
501
509
  return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.outputId + this.base.inputId);
@@ -517,15 +525,18 @@ class FConnectionPathComponent {
517
525
  this.hostElement.setAttribute("d", `${path}`);
518
526
  }
519
527
  select() {
520
- this.hostElement.setAttribute('marker-start', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-selected')})`);
521
- this.hostElement.setAttribute('marker-end', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-end-selected')})`);
528
+ this.hostElement.setAttribute('marker-start', `url(#${this.getMarkerId(EFMarkerType.SELECTED_START)})`);
529
+ this.hostElement.setAttribute('marker-end', `url(#${this.getMarkerId(EFMarkerType.SELECTED_END)})`);
522
530
  }
523
531
  deselect() {
524
- this.hostElement.setAttribute('marker-start', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-' + this.base.id)})`);
525
- this.hostElement.setAttribute('marker-end', `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-end-' + this.base.id)})`);
532
+ this.hostElement.setAttribute('marker-start', `url(#${this.getMarkerId(EFMarkerType.START)})`);
533
+ this.hostElement.setAttribute('marker-end', `url(#${this.getMarkerId(EFMarkerType.END)})`);
534
+ }
535
+ getMarkerId(type) {
536
+ return sanitizeElementId(`${getFlowUid()}-${type}-${this.base.id}`);
526
537
  }
527
538
  isSelected() {
528
- return this.hostElement.getAttribute('marker-start') === `url(#${sanitizeElementId(getFlowUid() + '-f-connection-marker-start-selected')})`;
539
+ return this.hostElement.getAttribute('marker-start') === `url(#${this.getMarkerId(EFMarkerType.SELECTED_START)})`;
529
540
  }
530
541
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FConnectionPathComponent, deps: [{ token: i0.ElementRef }, { token: F_CONNECTION }], target: i0.ɵɵFactoryTarget.Component }); }
531
542
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FConnectionPathComponent, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [{ provide: CONNECTION_PATH, useExisting: FConnectionPathComponent }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -900,14 +911,6 @@ function castToConnectionType(type) {
900
911
  return result;
901
912
  }
902
913
 
903
- var EFMarkerType;
904
- (function (EFMarkerType) {
905
- EFMarkerType["START"] = "f-connection-marker-start";
906
- EFMarkerType["END"] = "f-connection-marker-end";
907
- EFMarkerType["SELECTED_START"] = "selected_start";
908
- EFMarkerType["SELECTED_END"] = "selected_end";
909
- })(EFMarkerType || (EFMarkerType = {}));
910
-
911
914
  const F_MARKER = new InjectionToken('F_MARKER');
912
915
  class FMarkerBase {
913
916
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FMarkerBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -2930,6 +2933,7 @@ class FDraggableDirective extends FDraggableBase {
2930
2933
  this.injector.get(SingleSelectOnPointerDown).handle(event);
2931
2934
  this.injector.get(ReassignConnectionPrepareDragSequence).handle(event);
2932
2935
  this.injector.get(CreateConnectionPrepareDragSequence).handle(event);
2936
+ this.emitSelectionChangeEvent();
2933
2937
  return result;
2934
2938
  }
2935
2939
  prepareDragSequence(event) {
@@ -2940,7 +2944,6 @@ class FDraggableDirective extends FDraggableBase {
2940
2944
  this.fDraggableDataContext.draggableItems.forEach((item) => {
2941
2945
  item.initialize?.();
2942
2946
  });
2943
- this.emitSelectionChangeEvent();
2944
2947
  if (this.fDraggableDataContext.draggableItems.length > 0) {
2945
2948
  this.hostElement.classList.add('f-dragging');
2946
2949
  }
@@ -2960,6 +2963,7 @@ class FDraggableDirective extends FDraggableBase {
2960
2963
  this.injector.get(CanvasOnPointerUp).handle(event);
2961
2964
  this.injector.get(ExternalItemOnPointerUp).handle(event);
2962
2965
  this.hostElement.classList.remove('f-dragging');
2966
+ this.emitSelectionChangeEvent();
2963
2967
  this.fDraggableDataContext.reset();
2964
2968
  }
2965
2969
  emitSelectionChangeEvent() {