Interface AccessMenuMethods

interface AccessMenuMethods {
    addApplicationMenuLink: (
        link: Translatable<ApplicationMenuLink>,
    ) => Promise<Translatable<ApplicationMenuLink>[]>;
    addApplicationMenuLinks: (
        links: Translatable<ApplicationMenuLink>[],
    ) => Promise<Translatable<ApplicationMenuLink>[]>;
    getApplicationName: () => Promise<string>;
    getProfile: () => Promise<Partial<ProfileConfig>>;
    setApplicationMenuLinks: (
        links: Translatable<ApplicationMenuLink>[],
    ) => Promise<Translatable<ApplicationMenuLink>[]>;
    setApplicationName: (
        applicationName: Translatable<string>,
    ) => Promise<boolean>;
    setMainLinks: (mainLinks: Translatable<MainLink>[]) => Promise<boolean>;
    setProfile: (profileConfig: Partial<ProfileConfig>) => Promise<boolean>;
    setVisibility: (visibility: boolean) => Promise<boolean>;
}

Properties

addApplicationMenuLink: (
    link: Translatable<ApplicationMenuLink>,
) => Promise<Translatable<ApplicationMenuLink>[]>

Add an application menu link

Type declaration

const updatedLinks = await globalHeaderClient.accessMenu.addApplicationMenuLink({ label: 'Dashboard', href: '/dashboard' });
addApplicationMenuLinks: (
    links: Translatable<ApplicationMenuLink>[],
) => Promise<Translatable<ApplicationMenuLink>[]>

Add multiple application menu links

Type declaration

const updatedLinks = await globalHeaderClient.accessMenu.addApplicationMenuLinks([{ label: 'Profile', href: '/profile' }]);
getApplicationName: () => Promise<string>

Get the application name

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

      The application name

const appName = await globalHeaderClient.accessMenu.getApplicationName();
getProfile: () => Promise<Partial<ProfileConfig>>

Get the profile configuration

Type declaration

const profile = await globalHeaderClient.accessMenu.getProfile();
setApplicationMenuLinks: (
    links: Translatable<ApplicationMenuLink>[],
) => Promise<Translatable<ApplicationMenuLink>[]>

Set all application menu links

Type declaration

const updatedLinks = await globalHeaderClient.accessMenu.setApplicationMenuLinks([{ label: 'Settings', href: '/settings' }]);
setApplicationName: (applicationName: Translatable<string>) => Promise<boolean>

Set the application name

Type declaration

    • (applicationName: Translatable<string>): Promise<boolean>
    • Parameters

      • applicationName: Translatable<string>

        The application name to set

      Returns Promise<boolean>

      The result of the operation

const success = await globalHeaderClient.accessMenu.setApplicationName('My Application');
setMainLinks: (mainLinks: Translatable<MainLink>[]) => Promise<boolean>

Set the main links

Type declaration

const success = await globalHeaderClient.accessMenu.setMainLinks([{ label: 'Home', href: '/', isExternal: false }]);
setProfile: (profileConfig: Partial<ProfileConfig>) => Promise<boolean>

Set the profile configuration

Type declaration

    • (profileConfig: Partial<ProfileConfig>): Promise<boolean>
    • Parameters

      • profileConfig: Partial<ProfileConfig>

        The profile configuration to set

      Returns Promise<boolean>

      The result of the operation

// Simple example
const successSimple = await globalHeaderClient.accessMenu.setProfile({ active: true, loginUrl: '/login', logoutUrl: '/logout' });

// Example with IdP profile token (active: true must be provided in the same call)
const successWithToken = await globalHeaderClient.accessMenu.setProfile({
active: true, // Required: must be provided together with idpProfileToken in the same call
loginUrl: 'https://login.url.be',
logoutUrl: 'https://logout.url.be',
switchCapacityUrl: 'https://switchcapacity.url.be',
idpProfileToken: '1Tr1SZkt43VprVxRL8MvfDLpxJ8uAMy'
});

// Complex example with manual IDP data and multiple identities
const successComplex = await globalHeaderClient.accessMenu.setProfile({
active: true,
loginUrl: 'https://login.url.be',
logoutUrl: 'https://logout.url.be',
switchCapacityUrl: 'https://switchcapacity.url.be',
idpData: {
user: {
firstName: 'John',
name: 'Doe',
},
activeIdentity: {
capacity: 'BUR',
loginHint: 'active-identity-login-hint',
},
identities: [
{
capacity: 'BUR',
onBehalfOf: {
type: 'organisation',
name: 'ABC Company',
identifier: 'BE04564566556',
},
loginHint: 'identity1-login-hint',
},
{
capacity: 'EA',
onBehalfOf: {
type: 'organisation',
name: 'Company XYZ',
identifier: 'BE04987987987',
},
mandateGiver: {
type: 'person',
firstName: 'Alice',
name: 'Johnson',
identifier: 'BE01234567890',
},
loginHint: 'identity2-login-hint',
},
],
},
});
setVisibility: (visibility: boolean) => Promise<boolean>

Set the visibility of the access menu

Type declaration

    • (visibility: boolean): Promise<boolean>
    • Parameters

      • visibility: boolean

        The visibility to set

      Returns Promise<boolean>

      The result of the operation

const success = await globalHeaderClient.accessMenu.setVisibility(true);