Hierarchy (view full)

Implements

  • AfterViewInit
  • OnInit
  • OnDestroy

Constructors

Properties

Accessors

Methods

Constructors

Properties

BottomMargin: number = 10
EditMode: boolean = false
FavoriteInitDone: boolean = false
GridBottomMargin: number = 100
TabHeight: string = '500px'
TopAreaHeight: string = '300px'

This property is automatically updated by the BaseFormComponent to reflect the height of the "Top Area" of the form. The Top Area is defined in a template by having a #topArea element anywhere in the form. This property will automatically be updated AfterViewInit to reflect the height of the top area. This is useful for various things like setting a pane in a splitter to a specific height based on the top area height.

__debug: boolean = false
_isFavorite: boolean = false
_pendingRecords: PendingRecordItem[] = []
_tabMargin: number = 10
_updatingBrowserUrl: boolean = false
_userPermissions: {
    canDo: boolean;
    permission: EntityPermissionType;
}[] = []

Type declaration

cdr: ChangeDetectorRef
collapsiblePanels: QueryList<CollapsiblePanelComponent>
elementRef: ElementRef<any>
filterSubject: Subject<string> = ...

Subject for debouncing filter changes.

filterSubscription?: Subscription
formStateService: FormStateService = ...

Form state service for persisting section states to User Settings

formStateSubscription?: Subscription

Subscription to form state changes

isHistoryDialogOpen: boolean = false
record: BaseEntity<unknown>
resizeSub: null | Subscription = null
route: ActivatedRoute
router: Router
searchFilter: string = ''

Current search filter text for filtering sections.

sectionMap: Map<string, BaseFormSectionInfo<any>> = ...

Map for fast section lookup by key.

sections: BaseFormSectionInfo<any>[] = []

Array of section information including expanded state and row counts. Initialized by subclasses via initSections().

sharedService: SharedService
showCreateDialog: boolean = false
showDeleteDialog: boolean = false
showEmptyFields: boolean = false

Controls whether empty fields should be shown in read-only mode. When false (default), empty fields are hidden to reduce visual clutter.

splitterLayoutChangeSubject: Subject<void> = ...
tabComponent: MJTabStripComponent
tabStrips: QueryList<MJTabStripComponent>
topArea: ElementRef<any>

Accessors

  • get formContext(): BaseFormContext
  • Returns the current form context containing all form-level state. This is a computed property that creates a fresh context object on each access, ensuring child components always have the latest values.

    Returns BaseFormContext

Methods

  • Builds a RunViewParams object for a related entity based on the relationship between the current entity and the related entity

    Parameters

    • relatedEntityName: string

      the name of the entity that is related to the current entity where we're building the view params from

    • Optional relatedEntityJoinField: string

      the name of the foreign key field in the current entity that links to the related entity, only required if there are multiple relationships between the entities

    Returns RunViewParams

  • This method can be called at anytime to re-calculate the height of the top area and set the TopAreaHeight property. This is useful if the top area height changes dynamically

    Returns void

  • Looks up and returns the EntityRelationshipInfo object for the related entity name

    Parameters

    • relatedEntityName: string

      the name of the related entity to look up the relationship for

    • Optional relatedEntityJoinField: string

      the name of the foreign key field in the current entity that links to the related entity, only required if there are multiple relationships between the entities

    Returns undefined | EntityRelationshipInfo

  • Gets the row count for a section.

    Parameters

    • sectionKey: string

      The section key

    Returns undefined | number

    The row count or undefined

  • Convenience method to resize application container when required

    Parameters

    • Optional delay: number

    Returns void

  • Returns true if the tabName specified is the currently displayed tab, otherwise returns false

    Parameters

    • tabName: string

    Returns boolean

  • Checks if a section is expanded. Uses FormStateService for persisted state.

    Parameters

    • sectionKey: string

      The section key

    Returns boolean

    True if expanded, false otherwise

  • Builds new record values for a related entity based on the relationship between the current entity and the related entity

    Parameters

    • relatedEntityName: string

    Returns any

  • Parameters

    • StopEditModeAfterSave: boolean

    Returns Promise<boolean>

  • Sets the expanded state of a section. Persists to User Settings via FormStateService.

    Parameters

    • sectionKey: string

      The section key

    • isExpanded: boolean

      The new expanded state

    Returns void

  • Sets the row count for a section.

    Parameters

    • sectionKey: string

      The section key

    • rowCount: number

      The row count

    Returns void

  • Collapses all sections. Persists to User Settings via FormStateService.

    Returns void

  • Gets the entity name for the current record (used for state persistence keys).

    Returns string

    Entity name or empty string

  • Gets the count of currently expanded sections.

    Returns number

    Number of expanded sections

  • Gets the width mode for a section from persisted state.

    Parameters

    • sectionKey: string

      The section key

    Returns "normal" | "full-width"

    Width mode ('normal' or 'full-width')

  • Gets the total count of all sections (regardless of filter).

    Returns number

    Total number of sections

  • Gets the count of visible sections after filtering.

    Returns number

    Number of sections currently visible (not hidden by search filter)

  • Initializes the sections array. Called by subclasses in ngOnInit. Accepts either BaseFormSectionInfo instances or plain objects that will be converted.

    Parameters

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

      Array of section information or plain objects

    Returns void

  • Handles filter change events from the section controls. Debounces the filter updates by 250ms to avoid excessive re-rendering during typing.

    Parameters

    • searchTerm: string

      The search term to filter sections

    Returns void

  • Resets all panel width modes to normal for the current entity. Persists to User Settings via FormStateService.

    Returns void

  • Sets the width mode for a section. Persists to User Settings via FormStateService.

    Parameters

    • sectionKey: string

      The section key

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

      The width mode

    Returns void

  • Toggles the expanded state of a section. Persists to User Settings via FormStateService.

    Parameters

    • sectionKey: string

      The section key to toggle

    Returns void