Member Junction
    Preparing search index...

    Generic, entity-agnostic visual flow editor component. Wraps Foblex Flow to provide a clean MJ-style API.

    Usage:

    <mj-flow-editor
    [Nodes]="myNodes"
    [Connections]="myConnections"
    [NodeTypes]="myNodeTypes"
    (NodeSelected)="onNodeSelected($event)"
    (ConnectionCreated)="onConnectionCreated($event)">
    </mj-flow-editor>

    Implements

    • OnInit
    • OnDestroy
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    AfterContextMenuAction: EventEmitter<FlowAfterContextMenuActionEventArgs> = ...
    AutoLayoutDirection: FlowLayoutDirection = 'vertical'
    BeforeContextMenu: EventEmitter<FlowBeforeContextMenuEventArgs> = ...

    Host may replace Items or Cancel the menu. Debug attaches here — the canvas stays blind.

    canvasArea: ElementRef<HTMLElement> | undefined
    CanvasClicked: EventEmitter<FlowCanvasClickEvent> = ...
    canvasPosition: { x: number; y: number } = ...
    canvasScale: number = 1
    ConnectionCreated: EventEmitter<FlowConnectionCreatedEvent> = ...
    ConnectionEditRequested: EventEmitter<FlowConnection> = ...
    ConnectionLabelBackground: string = 'var(--mj-bg-surface)'

    Background color for connection labels

    ConnectionLabelBorderColor: string = 'var(--mj-border-default)'

    Border color for connection labels

    ConnectionLabelTextColor: string = 'var(--mj-text-secondary)'

    Text color for connection labels

    ConnectionReassigned: EventEmitter<FlowConnectionReassignedEvent> = ...
    ConnectionRemoved: EventEmitter<FlowConnection> = ...
    Connections: FlowConnection[] = []
    ConnectionsChanged: EventEmitter<FlowConnection[]> = ...
    ConnectionSelected: EventEmitter<FlowConnection | null> = ...
    contextMenuConnection: FlowConnection | null = null
    contextMenuItems: FlowContextMenuItem[] = []
    contextMenuNode: FlowNode | null = null
    contextMenuTargetType: FlowContextMenuTarget = 'node'
    contextMenuVisible: boolean = false
    contextMenuX: number = 0
    contextMenuY: number = 0
    fCanvas: FCanvasComponent | undefined
    fFlow: FFlowComponent | undefined
    fZoom: FZoomDirective | undefined
    GridSize: number = 20
    GridToggled: EventEmitter<boolean> = ...
    LegendToggled: EventEmitter<boolean> = ...
    MinimapToggled: EventEmitter<boolean> = ...
    NodeAdded: EventEmitter<FlowNodeAddedEvent> = ...
    NodeEditRequested: EventEmitter<FlowNode> = ...
    NodeMoved: EventEmitter<FlowNodeMovedEvent> = ...
    NodeRemoved: EventEmitter<FlowNode> = ...
    Nodes: FlowNode[] = []
    NodesChanged: EventEmitter<FlowNode[]> = ...
    NodeSelected: EventEmitter<FlowNode | null> = ...
    NodeTypes: FlowNodeTypeConfig[] = []
    panMode: boolean = false
    ReadOnly: boolean = false
    selectedConnectionIDs: string[] = []
    selectedNodeIDs: string[] = []
    SelectionChanged: EventEmitter<FlowSelectionChangedEvent> = ...
    ShowGrid: boolean = true
    ShowLegend: boolean = true
    ShowMinimap: boolean = true
    ShowPalette: boolean = true
    ShowStatusBar: boolean = true
    ShowToolbar: boolean = true

    Legacy on/off. false forces the toolbar fully off (no recover tab). Prefer ToolbarVisibility when the host wants shown / minimized / hidden with a way back.

    ToolbarAlign: FlowToolbarAlign = 'center'

    Left / center / right along the top of the canvas.

    ToolbarVisibility: FlowToolbarVisibility = 'shown'

    Full bar, a restore chip, or a recover tab. Ignored when ShowToolbar is false.

    ToolbarVisibilityChanged: EventEmitter<FlowToolbarVisibility> = ...

    The person changed shown / minimized / hidden from the canvas chrome.

    zoomLevel: number = 100

    Accessors

    Methods

    • A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.

      Returns void

    • A palette entry was clicked (or activated from the keyboard) rather than dragged.

      Deliberately routed into the SAME addNodeFromPalette the drop path uses. A separate click-only creation path would be a second way for a node to come into existence, and the two would drift — which is exactly the failure this fixes, one level up.

      Parameters

      Returns void

    • Update a connection's visual properties in-place (label, color, style, etc.)

      Parameters

      • connId: string
      • changes: Partial<
            Pick<
                FlowConnection,
                | "Label"
                | "LabelIcon"
                | "LabelIconColor"
                | "LabelDetail"
                | "Color"
                | "StrokeWidth"
                | "Style"
                | "Animated",
            >,
        >

      Returns void

    • Update a node's visual properties and push a new object reference so OnPush child components (FlowNodeComponent) detect the change.

      Parameters

      • nodeId: string
      • changes: Partial<
            Pick<
                FlowNode,
                | "Label"
                | "Subtitle"
                | "Icon"
                | "Status"
                | "StatusMessage"
                | "IsStartNode"
                | "Badges"
                | "Data",
            >,
        >

      Returns void