Interface INavigationBarTab<D, SecondaryData>

interface INavigationBarTab<D, SecondaryData> {
    controlsId?: string;
    creating?: boolean;
    data?: D;
    dirty?: boolean;
    disabled?: boolean;
    excludedFromSystemMenu?: boolean;
    hidden?: boolean;
    hideSecondaryTabs?: boolean;
    icon?: string;
    id: string;
    img?: string;
    isLabelResourceKey?: boolean;
    label: string;
    routeUrl: string;
    secondaryTabs?: ISecondaryNavigationBarTab<SecondaryData>[];
    selectedSecondaryTab?: ISecondaryNavigationBarTab<SecondaryData>;
    sortIndex?: number;
    getSaveOptions?(tab: INavigationBarTab<{
        [key: string]: any;
    }, {
        [key: string]: any;
    }>): undefined | INavigationBarTabSaveOptions;
    onClose?(tab: INavigationBarTab<{
        [key: string]: any;
    }, {
        [key: string]: any;
    }>): boolean | Promise<boolean> | Observable<boolean>;
}

Type Parameters

  • D = {
        [key: string]: any;
    }
  • SecondaryData = D

Properties

controlsId?: string

aria-controls ID

creating?: boolean

Indicate that the tab is associated with a new object being created

data?: D

Any additional data to be associated with the tab

dirty?: boolean

Mark tab as having unsaved changes

disabled?: boolean

Visually disable and make tab unselectable

excludedFromSystemMenu?: boolean

Exclude tab from appearing in the navigation bar system tab menu

hidden?: boolean

Visually hide tab and make it unselectable

hideSecondaryTabs?: boolean

Visually hide secondary tabs bar for this tab

icon?: string

Font icon

id: string

Unique tab identifier

img?: string

Image URL

isLabelResourceKey?: boolean

When true, uses resourceService.get to resolve INavigationBarTab.label

label: string

Label for the tab, can be a string or resource key (if isLabelResourceKey is true)

routeUrl: string

URL relative to shell root (e.g., /user/123) - must start with a forward slash

List of secondary tabs displayed under the top-level tab

Currently selected secondary tab

sortIndex?: number

Weight used during sorting to order the tabs; defaults to the order in which tabs were added. This doesn't refer to array index, as many tabs can have the same value, including negatives and fractions.

Methods

  • Callback executed when tab is removed

    Parameters

    • tab: INavigationBarTab<{
          [key: string]: any;
      }, {
          [key: string]: any;
      }>

    Returns boolean | Promise<boolean> | Observable<boolean>