Dashboard Menu Plugin Extension Files and Code

This feature is in Developer Preview and is subject to change.

In your project, the configuration files for dashboard menu plugins are located in the src/extensions/ folder. Each menu plugin is defined in its own subdirectory. Each subdirectory contains one file, extension.json, that has the plugin configuration details.

Copy

Extension configuration (extension.json)

The extension.json file contains the dashboard menu plugin configuration details. You can edit some its fields manually to modify its appearance or behavior. The structure is as follows:

Copy
FieldTypeDescription
compIdStringExtension's unique identifier. The ID is used to register the menu plugin and must be unique across all extensions in the project.
compTypeStringAlways BACK_OFFICE_EXTENSION_MENU_ITEM for dashboard menu plugins.
compNameStringName of the menu plugin.
compData.backOfficeExtensionMenuItem.hostingPlatformStringAlways BUSINESS_MANAGER.
compData.backOfficeExtensionMenuItem.titleStringText of the menu item the extension adds.
compData.backOfficeExtensionMenuItem.iconKeyStringIcon that appears next to your extension's title.
compData.backOfficeExtensionMenuItem.extendsStringSlot ID into which the extension plugs in.
compData.backOfficeExtensionMenuItem.actionObjectNavigation configuration object that determines the action taken when the extension is clicked. Possible values are either openModal or navigateToPage.
compData.backOfficeExtensionMenuItem.action.openModalObjectDashboard modal configuration object. Contains the ID of the dashboard modal to display when the extension's menu item is clicked, along with additional parameters.
compData.backOfficeExtensionMenuItem.action.openModal.componentIdStringID of the dashboard modal to display when the extension's menu item is clicked.
compData.backOfficeExtensionMenuItem.action.openModal.componentParamsObjectAdditional configuration parameters you can pass to the dashboard modal.
compData.backOfficeExtensionMenuItem.action.navigateToPageObjectPage navigation configuration object. Contains the ID of the target dashboard page, as well as additional configuration parameters.
compData.backOfficeExtensionMenuItem.action.navigateToPage.pageIdStringID of the dashboard page to which site administrators are directed.
compData.backOfficeExtensionMenuItem.action.navigateToPage.relativeUrlStringURI segment appended to the base URI of the target dashboard page.

Example

Here's an example extension.json file:

Copy
Did this help?