Skip to content

Main module

Main module

Add main module

Add a main module to your extension. The content of the main module is determined by your locationId. A specific view or a set of actions can be triggered based on the locationId.

Usage:

ts
ui.mainModule.addMainModule({
    heading: 'My App',
    locationId: 'main-location-id',
});

Parameters

NameRequiredDefaultDescription
headingtrueThe heading displayed in your module
locationIdtrueThe Id for the content of the module
displaySearchBarfalsetrueToggles the sw-page search bar on/off
displayLanguageSwitchfalsefalseToggles sw-page language switch on/off

Example

Main module example

ts
import { location, ui } from '@shopware-ag/meteor-admin-sdk';

// General commands
if (location.is(location.MAIN_HIDDEN)) {
    // Add the main module
    ui.mainModule.addMainModule({
        heading: 'My App',
        locationId: 'main-location-id',
    });

  // If you want to provide some buttons for the smart bar of your main module
  ui.mainModule.addSmartbarButton({
      locationId: 'main-location-id', // locationId of your main module
      buttonId: 'test-button', // The button id
      label: 'Click me', // The button label
      variant: 'primary', // The button variant
      onClickCallback: () => {}
  });
}

// Render your custom view
if (location.is('main-location-id')) {
    document.body.innerHTML = '<h1 style="text-align: center">Hello from your main module</h1>';
}

Add smart bar button to main module

Add a button to the smart bar of your main module. The button can be used to trigger actions, e.g. saving, cancel, etc. The location ID needs to be defined and have the same value as the locationId of the main module.

Usage:

ts
ui.mainModule.addSmartbarButton({
    locationId: 'main-location-id', // locationId of your main module
    buttonId: 'test-button', // The button id
    label: 'Click me', // The button label
    variant: 'primary', // The button variant
    onClickCallback: () => {}
});

Parameters

NameRequiredDefaultDescription
locationIdtrueThe locationId of the module you want to display the smart bar button
buttonIdtrueThe id of the button
labeltrueThe label of the button
variantfalseprimarySet the variant of the button. Possible values: primary, ghost, danger, ghost-danger, contrast, context
onClickCallbacktrueCallback function which will be called once the button is clicked
disabledfalsefalseToggle disabled state of the button