diff --git a/projects/f-flow/src/f-connection/common/f-connection-base.ts b/projects/f-flow/src/f-connection/common/f-connection-base.ts index 208d321e..501caf32 100644 --- a/projects/f-flow/src/f-connection/common/f-connection-base.ts +++ b/projects/f-flow/src/f-connection/common/f-connection-base.ts @@ -80,6 +80,8 @@ export abstract class FConnectionBase extends MIXIN_BASE public abstract fText: string; + public abstract fTextStartOffset: string; + public abstract fConnectionCenter: ElementRef; private penultimatePoint: IPoint = PointExtensions.initialize(); diff --git a/projects/f-flow/src/f-connection/common/f-connection-text/f-connection-text-path.directive.ts b/projects/f-flow/src/f-connection/common/f-connection-text/f-connection-text-path.directive.ts index 3dfc8e74..9fb9fccb 100644 --- a/projects/f-flow/src/f-connection/common/f-connection-text/f-connection-text-path.directive.ts +++ b/projects/f-flow/src/f-connection/common/f-connection-text/f-connection-text-path.directive.ts @@ -35,7 +35,7 @@ export class FConnectionTextPathDirective implements IHasHostElement, OnInit { } public ngOnInit(): void { - this.hostElement.setAttribute('startOffset', '50%'); + this.hostElement.setAttribute('startOffset', this.base.fTextStartOffset || '50%'); this.hostElement.setAttribute('text-anchor', `middle`); this.symbolWidth = this.getSymbolWidth(this.base.fText || ''); } diff --git a/projects/f-flow/src/f-connection/common/i-has-connection-text.ts b/projects/f-flow/src/f-connection/common/i-has-connection-text.ts index 03526f15..d7ad935f 100644 --- a/projects/f-flow/src/f-connection/common/i-has-connection-text.ts +++ b/projects/f-flow/src/f-connection/common/i-has-connection-text.ts @@ -1,4 +1,5 @@ export interface IHasConnectionText { fText: string; + fTextStartOffset: string; } diff --git a/projects/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts b/projects/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts index 3d4d709d..c219e105 100644 --- a/projects/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts +++ b/projects/f-flow/src/f-connection/f-connection-for-create/f-connection-for-create.component.ts @@ -37,10 +37,12 @@ let uniqueId: number = 0; }) export class FConnectionForCreateComponent extends FConnectionBase implements AfterViewInit, OnInit, OnDestroy { + + public override fId: string = `f-connection-for-create-${ uniqueId++ }`; + + public override fText: string = ''; - public override fId: string = `f-connection-for-create-${ uniqueId++ }`; - - public override fText: string = ''; + public override fTextStartOffset: string = ''; private _fStartColor: string = 'black'; @Input() diff --git a/projects/f-flow/src/f-connection/f-connection/f-connection.component.ts b/projects/f-flow/src/f-connection/f-connection/f-connection.component.ts index 2875112b..391b0723 100644 --- a/projects/f-flow/src/f-connection/f-connection/f-connection.component.ts +++ b/projects/f-flow/src/f-connection/f-connection/f-connection.component.ts @@ -53,6 +53,9 @@ export class FConnectionComponent @Input('fConnectionId') public override fId: string = `f-connection-${ uniqueId++ }`; + @Input() + public override fTextStartOffset: string = ''; + @Input() public override fText: string = ''; diff --git a/projects/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts b/projects/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts index f96eff4a..21860be3 100644 --- a/projects/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts +++ b/projects/f-flow/src/f-connection/f-snap-connection/f-snap-connection.component.ts @@ -34,11 +34,13 @@ let uniqueId: number = 0; }) export class FSnapConnectionComponent extends FConnectionBase implements AfterViewInit, OnInit, OnDestroy { - + public override fId: string = `f-snap-connection-${ uniqueId++ }`; public override fText: string = ''; + public override fTextStartOffset: string = ''; + private _fStartColor: string = 'black'; @Input() public override set fStartColor(value: string) {