Member Junction
    Preparing search index...

    Hierarchy

    • MJTestSuiteFormComponent
      • MJTestSuiteFormComponentExtended

    Implements

    • OnInit
    • OnDestroy
    • AfterViewInit
    Index

    Constructors

    Properties

    Accessors

    Methods

    addTagFromDraft BuildOrganicKeyViewParams BuildOrganicKeyViewParamsByNames BuildRelationshipViewParams BuildRelationshipViewParamsByEntityName CancelEdit cancelRemoveTest changeTab CheckUserPermission clearAddSelection clearCompareSelection clearMatrixFilter closeAddTestsDialog collapseAllSections confirmAddTests confirmRemoveTest discardChanges EndEditMode expandAllSections exportMatrixToCSV exportToExcel formatCost formatDuration FormatField formatTimeout FormatValue getAbsCompareDurationDiff getAverageDuration getAveragePassRate getCompareCostDiff getCompareDurationDiff getCompareImprovedCount getComparePassRateDiff getCompareRegressedCount getDefaultFormWidthMode getEntityName GetEntityRelationshipByRelatedEntityName getEvalCount getExpandedCount getFilteredAnalyticsData getFormWidthMode getHumanTooltip GetListsCanAddTo getMatrixCellClass getPassRate getPassRateTrend GetRecordDependencies GetRelatedEntityTabDisplayName getRelativeTime getRunAutoAvg getRunAutoCount getRunHumanAvg getRunHumanCount getRunPassedCount getRunStatusColor getRunTags getRunTotalCount getSection getSectionDisplayOrder getSectionOrder GetSectionPanelHeight GetSectionRowCount getStatusClass getStatusColor getStatusTooltip getTestResultForRun getTotalCost getTotalRuns getTotalSectionCount getUniqueTestsFromMatrix getVisibleSectionCount GridEditMode handleBeforeUnload handleHistoryDialog handleKeyboardShortcut HandleTagsPanel hasCustomSectionOrder initSections InternalSaveRecord isAddSelected IsCompareRunA IsCompareRunB IsSectionExpanded isTagSelected MakeFavorite navigateToTestingDashboard NewRecordValues NewRecordValuesByEntityRelationship ngAfterViewInit ngOnDestroy ngOnInit OnDeleteRequested OnFavoriteToggled onFilterChange onFiltersExpandedChange OnFormNavigate OnHistoryRequested OnListManagementRequested onMatrixCellClick onMatrixFilterInput OnPanelClosed onTagInputKeydown onTestDrop openAddTestsDialog openSuiteRun openTest openTestRun PendingRecordsDirty PopulatePendingRecords RaiseEvent refresh RemoveFavorite removeTag requestRemoveTest resetSectionOrder runSuite saveChanges SaveRecord selectAllFiltered selectCompareRunA selectCompareRunB selectMatrixRow setAnalyticsView SetFavoriteStatus setFormWidthMode SetSectionExpanded setSectionOrder SetSectionPanelHeight SetSectionRowCount setTimeRange ShowChanges ShowDependencies splitterLayoutChange StartEditMode toggleAddSelection toggleFilters toggleFormWidthMode toggleMatrixSort toggleSection toggleShortcuts toggleTagFilter Validate ValidatePendingRecords Wait

    Constructors

    Properties

    activeTab: string = 'overview'
    addTestsSearch: string = ''
    analyticsData: AnalyticsDataPoint[] = []
    analyticsLoaded: boolean = false
    analyticsTimeRange: "all" | "7d" | "30d" | "90d" = '30d'
    analyticsView: "summary" | "matrix" | "chart" = 'summary'
    availableTests: MJTestEntity[] = []
    BottomAreaSize: number

    Size of the bottom area as a percentage (0-100) for angular-split. Used by CodeGen-generated templates with as-split.

    cdr: ChangeDetectorRef
    chartContainer: ElementRef<HTMLDivElement>
    collapsiblePanels: QueryList<MjCollapsiblePanelComponent>
    compareResults: TestRunComparison[] = []
    compareRunA: MJTestSuiteRunEntity | null = null
    compareRunATests: MJTestRunEntity[] = []
    compareRunB: MJTestSuiteRunEntity | null = null
    compareRunBTests: MJTestRunEntity[] = []
    Config: EntityFormConfig | null

    Per-instance presentation config (toolbar visibility, related-entity sections, collapsibility, width, in-form navigation). Set by the form host (MjEntityFormHostComponent) or any consumer that instantiates the form directly. Read back by MjRecordFormContainerComponent and the collapsible panels through the FormComponent reference, so it takes effect WITHOUT regenerating the CodeGen-produced template. Null means "use the container's own defaults" (the classic full-page tab behavior).

    confirmingRemoveSuiteTestId: string | null = null
    CurrentVariantID: string | null

    ID of the currently-rendered variant (null when no override is active and the form is the CodeGen /

    default).

    EditMode: boolean
    elementRef: ElementRef<any>
    error: string | null = null
    evalPreferences: EvaluationPreferences = ...
    FavoriteInitDone: boolean
    filtersCollapsed: boolean = false
    formStateService: FormStateService
    isAddingTests: boolean = false
    isHistoryDialogOpen: boolean
    isRefreshing: boolean = false
    isRemovingTest: boolean = false
    isReorderingTests: boolean = false
    isSaving: boolean = false
    IsTagsPanelOpen: boolean
    keyboardShortcutsEnabled: boolean = true
    loading: boolean = false
    loadingAnalytics: boolean = false
    loadingAvailableTests: boolean = false
    loadingCompare: boolean = false
    loadingMatrix: boolean = false
    loadingRuns: boolean = false
    loadingTests: boolean = false
    matrixData: MatrixDataPoint[] = []
    matrixLoaded: boolean = false
    matrixSortAsc: boolean = true
    matrixSortBy: "name" | "sequence" = 'sequence'
    matrixTestFilter: string = ''
    Navigate: EventEmitter<FormNavigationEvent>

    Emitted when navigation is requested (record link, external link, email, new record, etc.)

    Notification: EventEmitter<FormNotificationEvent>

    Emitted when a user-facing notification should be shown

    OnVariantChanged: (variantID: string | null) => void

    Hook called when the user picks a different variant from the picker. Default is a no-op; the Explorer-level single-record component replaces this on the form instance to wire FormResolverService.SetSelectedVariant and reload the record. Kept as a method (not an EventEmitter) so the host doesn't need to subscribe — assignment is enough.

    parentSuiteOptions: MJTestSuiteEntity[] = []
    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.

    RecordDeleted: EventEmitter<RecordDeletedEvent>

    Emitted after a record is deleted successfully

    RecordDeleteFailed: EventEmitter<RecordDeleteFailedEvent>

    Emitted when a record delete fails

    RecordReady: EventEmitter<BaseEntity<unknown>>

    Emitted once after ngOnInit completes and the record is fully initialized (favorites loaded, form state initialized). This is the safe point for the container to start loading badge counts and other record-dependent data.

    RecordSaved: EventEmitter<RecordSavedEvent>

    Emitted after a record is saved successfully

    RecordSaveFailed: EventEmitter<RecordSaveFailedEvent>

    Emitted when a record save fails

    runsLoaded: boolean = false
    searchFilter: string
    sections: BaseFormSectionInfo<any>[]
    selectedMatrixTestId: string | null = null
    selectedTags: string[] = []
    selectedTestIdsToAdd: Set<string> = ...
    showAddTestsDialog: boolean = false
    showCreateDialog: boolean
    showDeleteDialog: boolean
    showEmptyFields: boolean
    showShortcuts: boolean = false
    statusOptions: readonly string[] = ...
    suiteRuns: MJTestSuiteRunEntity[] = []
    suiteTests: MJTestSuiteTestEntity[] = []
    TagCount: number
    tagDraft: string = ''
    testingDialogService: TestingDialogService = ...
    testsLoaded: boolean = false
    TopAreaHeight: string

    Height of the top area when a splitter layout is used. Referenced by CodeGen-generated templates for entities with "top area" sections.

    TopAreaSize: number

    Size of the top area as a percentage (0-100) for angular-split. Used by CodeGen-generated templates with as-split.

    uniqueTags: string[] = []
    ValidationFailed: EventEmitter<ValidationFailedEvent>

    Emitted when validation fails before save

    Variants: {
        ID: string;
        Label: string;
        Scope: "User" | "Role" | "Global";
        Status: "Active" | "Pending" | "Inactive";
    }[]

    Variants applicable to the current (entity, user) tuple, supplied by the Explorer-level form resolver. When more than one entry is present, the record-form-container shows a picker that lets the user switch between variants. Empty / single-entry arrays hide the picker.

    The container reads this via its EffectiveVariants accessor — generated form templates do NOT need to bind it explicitly.

    "ɵdir": unknown
    "ɵfac": unknown

    Accessors

    • get EntityInfo(): EntityInfo | undefined

      Returns EntityInfo | undefined

    • get formContext(): FormContext

      Returns FormContext

    • get HasOrganicKeys(): boolean

      Whether the current entity has any active organic keys with related entities configured.

      Returns boolean

    • get HasRelatedEntities(): boolean

      Returns boolean

    • get IsFavorite(): boolean

      Returns boolean

    • get OrganicKeys(): EntityOrganicKeyInfo[]

      Returns all active organic keys for the current entity, or an empty array if none.

      Returns EntityOrganicKeyInfo[]

    • get PendingRecords(): PendingRecordItem[]

      Returns PendingRecordItem[]

    • 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

    • get UserCanCreate(): boolean

      Returns boolean

    • get UserCanDelete(): boolean

      Returns boolean

    • get UserCanEdit(): boolean

      Returns boolean

    • get UserCanRead(): boolean

      Returns boolean

    Methods

    • Convenience method to build organic key view params by organic key name and related entity name.

      Parameters

      • organicKeyName: string
      • relatedEntityName: string

      Returns RunViewParams

    • Parameters

      • relatedEntityName: string
      • OptionalrelatedEntityJoinField: string

      Returns RunViewParams

    • Returns void

    • Parameters

      Returns boolean

    • Returns void

    • Returns void

    • Returns void

    • Parameters

      • entityFieldInfo: EntityFieldInfo
      • value: any
      • Optionaldecimals: number
      • Optionalcurrency: string

      Returns string

    • Parameters

      • fieldName: string
      • Optionaldecimals: number
      • Optionalcurrency: string

      Returns string

    • Component-level default width mode, used when the user has NOT explicitly chosen a width for this entity yet (first visit, nothing persisted in User Settings). Subclasses can override this — for example, custom forms with full-bleed layouts should return 'full-width' here and the container will respect it on first open.

      Once the user toggles the width via the toolbar, their choice persists via setFormWidthMode() and takes priority over this default on subsequent opens.

      Returns "centered" | "full-width"

    • Returns string

    • Parameters

      • relatedEntityName: string
      • OptionalrelatedEntityJoinField: string

      Returns EntityRelationshipInfo | undefined

    • Returns number

    • Returns "centered" | "full-width"

    • Returns Promise<MJListEntity[]>

    • Returns Promise<RecordDependency[]>

    • Parameters

      • relatedEntityName: string

      Returns string

    • Parameters

      • sectionKey: string

      Returns BaseFormSectionInfo<any> | undefined

    • Parameters

      • sectionKey: string

      Returns number

    • Returns string[]

    • Parameters

      • sectionKey: string

      Returns number | undefined

    • Parameters

      • sectionKey: string

      Returns number | undefined

    • Returns number

    • Returns number

    • Returns "None" | "Save" | "Queue"

    • Returns void

    • Returns void

    • Returns boolean

    • Parameters

      • sections: (
            | BaseFormSectionInfo<any>
            | {
                isExpanded: boolean;
                metadata?: unknown;
                rowCount?: number;
                sectionKey: string;
                sectionName: string;
            }
        )[]

      Returns void

    • Returns Promise<boolean>

    • Parameters

      • sectionKey: string
      • OptionaldefaultExpanded: boolean

      Returns boolean

    • Returns Promise<void>

    • Parameters

      • relatedEntityName: string

      Returns Record<string, unknown>

    • Parameters

      Returns Record<string, unknown>

    • Handles delete requests from the form container. Emits RecordDeleted on success, RecordDeleteFailed on failure. Generated form templates bind this as: (DeleteRequested)="OnDeleteRequested()"

      Returns Promise<void>

    • Handles favorite toggle from the form container. Generated form templates bind this as: (FavoriteToggled)="OnFavoriteToggled()"

      Returns Promise<void>

    • Parameters

      • searchTerm: string

      Returns void

    • Handles navigation events from the form container and related entity grids. Relays the event upward via the Navigate

      Parameters

      Returns void

      for the host application to handle. Generated form templates bind this as: (Navigate)="OnFormNavigate($event)"

    • Handles history view requests from the form container. Generated form templates bind this as: (HistoryRequested)="OnHistoryRequested()"

      Returns void

    • Handles list management requests from the form container. Generated form templates bind this as: (ListManagementRequested)="OnListManagementRequested()"

      Returns void

    • Returns boolean

    • Returns void

    • Returns Promise<void>

    • Returns void

    • Parameters

      • StopEditModeAfterSave: boolean

      Returns Promise<boolean>

    • Parameters

      • isFavorite: boolean

      Returns Promise<void>

    • Parameters

      • widthMode: "centered" | "full-width"

      Returns void

    • Parameters

      • sectionKey: string
      • isExpanded: boolean

      Returns void

    • Parameters

      • sectionOrder: string[]

      Returns void

    • Parameters

      • sectionKey: string
      • height: number

      Returns void

    • Parameters

      • sectionKey: string
      • rowCount: number

      Returns void

    • Returns void

    • Returns Promise<void>

    • Called when the splitter layout changes (for entities with "top area" sections). No-op in the generic version; override in host application if splitter resizing is needed.

      Returns void

    • Returns void

    • Returns void

    • Parameters

      • sectionKey: string

      Returns void

    • Returns ValidationResult

    • Returns ValidationResult[]

    • Parameters

      • duration: number

      Returns Promise<void>