Interface ExternalTabConfig<T, P>

interface ExternalTabConfig<T, P> {
    buildOnRegister?: boolean;
    buildTab: ((fullUrl?: string, params?: P) => INavigationBarTab<T, T>);
    configUrl: string;
    doNotReuse?: boolean;
    elementName: string;
    mainTabId?: string;
    sortIndex?: number;
    systemTab?: boolean;
}

Type Parameters

Properties

buildOnRegister?: boolean

set this to true if you want buildTab to run when registered (e.g. for a system tab that's always there) if your buildTab takes params, this can not be provided and must be assumed undefined a secondaryTab (one that has mainTabId) will be created regardless of this flag.

buildTab: ((fullUrl?: string, params?: P) => INavigationBarTab<T, T>)

function to return INavigationBarTab , remember routeUrl is from baseURL with a leading / fullUrl is the full URL that relates to the tab, useful when catching wildcards params is constructed as of /:param1/:param2, so {param1: string, param2: string} be aware fullUrl/params will be undefined if buildOnRegister true

configUrl: string

this is the URL that the tab will be registered under, technically it's just a unique ID as this will be used to unregister a route and close any related tab(s)

doNotReuse?: boolean

set this to true if you want the component to reset every time you navigate away

elementName: string

this is the element/tag name that will get presented

mainTabId?: string

finds TabId, and adds this as a secondaryTab to that tab

sortIndex?: number

will try to place at this index, can be negative, fraction, etc to put before/between existing tabs

systemTab?: boolean

add as a systemTab?, if left out will default to applicationTab, ignored if mainTabId is defined