Member Junction
    Preparing search index...

    Create/edit form for a User Routine. Routines run an AI AGENT on a schedule (TargetType is implicitly 'Agent') — the agent is chosen from a categorical tree grouped by Agent Category, showing each agent's own IconClass, with Realtime-type agents excluded (interactive-only). Also covers the initial message, optional JSON payload, AI Skills pre-activation, cron presets + advanced escape hatch, IANA timezone, activation window, notification settings, and the ordered recipients list.

    Reusable (Generic) component: no Router, no page chrome. The host mounts it (slide-in / dialog / inline), passes RoutineID (null = create), and reacts to Saved / Cancelled plus the cancelable BeforeRoutineCreated / AfterRoutineCreated pair for new routines. All persistence flows through MJ entity objects with explicit Save() boolean checks; failures surface LatestResult.CompleteMessage. Cached routine/recipient data comes from UserRoutineEngine.

    Hierarchy (View Summary)

    Implements

    • OnInit
    Index

    Constructors

    Properties

    AfterRoutineCreated: EventEmitter<AfterRoutineCreatedEventArgs> = ...

    Informational: fires after a new routine (and its recipients) was persisted.

    AgentTreeBranchConfig: TreeBranchConfig = ...

    Tree config for the agent-category branches.

    AgentTreeLeafConfig: TreeLeafConfig | undefined

    Tree config for the pickable agents (built at load time — excludes Realtime types).

    BeforeRoutineCreated: EventEmitter<BeforeRoutineCreatedEventArgs> = ...

    Cancelable: fires before a NEW routine is saved for the first time.

    Cancelled: EventEmitter<void> = ...

    Emitted when the user cancels without saving.

    Catalog: RoutineTargetCatalog | null = null
    ChannelOptions: { text: string; value: string }[] = ...
    DayNames: readonly string[] = CRON_DAY_NAMES
    DayOfMonthOptions: { text: string; value: number }[] = ...
    DayOfWeekOptions: { text: string; value: number }[] = ...
    Description: string = ''
    EndAtLocal: string = ''
    InitialMessage: string = ''
    IsLoading: boolean = true
    IsSaving: boolean = false
    Name: string = ''
    NotifyCondition: "Always" | "OnChange" | "OnFailure" | "OnSuccess" = 'Always'
    NotifyConditionOptions: { text: string; value: string }[] = ...
    NotifyViaEmail: boolean = false
    NotifyViaInApp: 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.

    RawCron: string = ''
    RecipientModeOptions: { text: string; value: string }[] = ...
    Recipients: RecipientRow[] = []
    RoutineType: "Monitoring" | "Scheduled" = 'Scheduled'
    Saved: EventEmitter<MJUserRoutineEntity> = ...

    Emitted after a successful save (routine + recipients persisted) — create AND edit.

    ScheduleDayOfMonth: number = 1
    ScheduleDayOfWeek: number = 1
    ScheduleKind: CronPresetKind = 'daily'
    ScheduleKindOptions: { Label: string; Value: CronPresetKind }[] = ...
    ScheduleMinute: number = 0

    Minute past each hour for the hourly preset.

    ScheduleTime: string = '09:00'

    "HH:MM" run time for daily/weekly/monthly presets.

    SelectedAgentIDs: string[] = []

    Tree selection binding (single agent).

    SelectedSkillIDs: string[] = []
    ShowAdvanced: boolean = false

    Progressive disclosure: the basic view (name / agent / message / frequency) covers the 80% path; everything else lives behind this toggle. Auto-expands when editing a routine that already uses advanced settings.

    StartAtLocal: string = ''
    StartingPayloadText: string = ''
    TargetID: string | null = null

    The selected agent's ID (TargetType is implicitly 'Agent').

    Timezone: string = ...
    TimezoneOptions: string[] = ...
    UserOptions: UserOption[] = []
    ValidationErrors: string[] = []
    "ɵdir": unknown
    "ɵfac": unknown

    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 RunReportToUse(): IRunReportProvider

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

      Returns IRunReportProvider

    • 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 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 Promise<void>