Member Junction
    Preparing search index...

    Flow Agent Editor — wraps the generic FlowEditorComponent with MJ agent-specific CRUD, properties panel, and data transformation.

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnChanges
    • OnDestroy
    Index

    Constructors

    Properties

    AgentID: string | null = null
    availableActions: { IconClass?: string | null; ID: string; Name: string }[] = []
    availableAgents: {
        IconClass?: string | null;
        ID: string;
        LogoURL?: string | null;
        Name: string;
    }[] = []
    availablePrompts: { ID: string; Name: string }[] = []
    CanvasTitle: string | null = 'Flow Configuration'

    The title shown in the centre of the toolbar. null hides it.

    Hidden by hosts whose own page chrome already names the record — repeating it inside the canvas is a second, smaller title competing with the real one.

    connections: FlowConnection[] = []
    deletedPathIDs: string[] = []
    deletedStepIDs: string[] = []
    EditMode: boolean = true
    FlowChanged: EventEmitter<boolean> = ...
    flowEditor: FlowEditorComponent | undefined
    FlowSaved: EventEmitter<void> = ...
    FullScreen: boolean = false
    fullscreenEditMode: boolean = false
    FullScreenToggled: EventEmitter<boolean> = ...
    hasUnsavedChanges: boolean = false
    isLoading: boolean = true
    isSaving: boolean = false
    lastSaved: Date | null = null
    nodes: FlowNode[] = []
    nodeTypes: FlowNodeTypeConfig[] = AGENT_STEP_TYPE_CONFIGS
    prefShowGrid: boolean = true
    prefShowLegend: boolean = true
    prefShowMinimap: boolean = true
    Provider: IMetadataProvider | null

    If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.

    selectedConnection: FlowConnection | null = null
    selectedPathEntity: MJAIAgentStepPathEntity | null = null
    selectedStep: MJAIAgentStepEntity | null = null
    showPropertiesPanel: boolean = false
    ShowSaveControls: boolean = false

    Whether this editor shows its own Save / Edit / Cancel controls.

    Off by default, and that default is the safe one. When a host form owns the record's save — which is the normal case, since the flow is one part of an agent — a Save button here is a second save button for the same record. The user then has two, they disagree about what "saved" means, and the unsaved indicator on one says nothing about the other.

    A host that turns this ON is declaring that this editor owns its own persistence (the standalone or fullscreen self-contained case). A host that leaves it off MUST call FlowAgentEditorComponent.QueueSaveInto from its own save, or flow edits will have no way to reach the database at all.

    showUnsavedDialog: boolean = false
    steps: MJAIAgentStepEntity[] = []
    StepSelected: EventEmitter<MJAIAgentStepEntity | null> = ...
    userCanUpdate: boolean = false
    viewMode: AgentEditorViewMode = 'diagram'
    "ɵdir": unknown
    "ɵfac": ɵɵFactoryDeclaration<BaseAngularComponent, never>

    Accessors

    • get ProviderToUse(): IMetadataProvider

      Returns either the default Metadata provider or the one specified in the Provider property, if it was specified

      Returns IMetadataProvider

    • get RunQueryToUse(): IRunQueryProvider

      Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified

      Returns IRunQueryProvider

    • get RunViewToUse(): IRunViewProvider

      Returns either the default RunView provider or the one specified in the Provider property, if it was specified

      Returns IRunViewProvider

    Methods

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • changes: { [propName: string]: SimpleChange<any> }

        The changed properties.

      Returns void

    • 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

    • Queues every step and path change onto a transaction the CALLER owns and will submit.

      Split out of Save so a host form can make the flow part of the record's own atomic save rather than a second, separate one. Two independent saves is how a record ends up looking saved while the user's step edits are gone — the form succeeds, the flow fails, and nothing says so.

      Deliberately does NOT submit and does NOT clear dirty state: the caller decides whether the transaction commits, and only the caller knows whether it did. Call MarkSaved after a successful submit.

      Parameters

      Returns Promise<void>

    • Saves the flow on its own — creates a transaction, queues everything into it, submits.

      Used when this editor owns the save (the standalone / fullscreen self-contained mode). A host that owns the record's save should call QueueSaveInto instead so the flow lands in the same transaction as the rest of the record.

      Returns Promise<void>