Navigationsleiste erweitern
Die Navigationsleiste in der Anwendung IBM® Sterling Store Engagement enthält derzeit die Menüoptionen "Globale Suche" und "Warnungen". Sie können die Navigationsleiste erweitern, um weitere Menüoptionen entsprechend Ihren Geschäftsanforderungen anzuzeigen.
Informationen zu diesem Vorgang
Um das Menü für die Navigationsleiste zu entwickeln, müssen Sie das Menü konfigurieren und einen Service für die Implementierung der Menüaktionen erstellen.
Vorgehensweise
- Konfigurieren Sie das Navigationsleistenmenü.Die Schnittstelle
INavbarMenusConfigwird durch Menükonfiguration implementiert. Stellen Sie dieINavbarMenusConfig-Konfiguration in die Dateistore-customization-impl.ts, um die Navigationsleiste zu konfigurieren. Sie können die Serviceklasse in einem gemeinsam genutzten Modul platzieren und inshared-extension.module.tskonfigurieren.Hinweis: Änderungen inshared-extension.module.tsdürfen nur für das Hinzufügen neuer Komponenten oder Services vorgenommen werden.Konfigurieren Sie die folgenden Felder, um die Navigationsleiste zu erweitern.
menuSequenceNumberDas Feld
menuSequenceNumbergibt die Reihenfolge an, in der die Menüoptionen angezeigt werden. Die Menüoptionen werden in aufsteigender Reihenfolge angezeigt. Es wird empfohlen, eine Folgenummer mit einer Differenz von fünf anzugeben. Sie können sofort einsatzfähige Symbole ohne Überlappungen hinzufügen.menuServiceDer
menuService-Service implementiert die Aktion, die ausgeführt werden muss, wenn Sie auf das Menü klicken. Sie muss den TypInjectionToken<INavbarMenu>haben.menuTIDmenuTIDist eine eindeutige ID für ein Menü. Sie können sie einemHTML-Tag hinzufügen, um Testfälle zu automatisieren.menuTitleBundleKeyDie
menuTitleBundleKeyist ein Paketschlüssel des Texts, der zusammen mit dem Symbol des Menüs angezeigt wird.resourceIdDas Feld
resourceIdist eine Ressourcenberechtigung, die geprüft wird, bevor das Menü angezeigt wird.menuIconClassDas Feld
menuIconClassist der Name der Menüsymbolklasse.
Das folgende Beispiel zeigt, wie Sie die Felder konfigurieren.
export class StoreCustomizationImpl extends StoreCustomizationBase { static extensionNavbarMenusConfigList: INavbarMenusConfig[] = [ { menuSequenceNumber: 20, menuService: GLOBAL_SEARCH_MENU_SERVICE, menuTID: 'NavBarGlobalSearchAction', menuIconClass: 'app-icon-alert_16', menuTitleBundleKey: 'topNavBar.TITLE_AlertMenu', resourceId: 'ISF000001' } ]; } - Erstellen Sie einen Service zum Implementieren von Serviceaktionen.
Die Serviceklasse implementiert die Schnittstelle
INavbarMenu, die nur über die FunktionhandleMenuActionverfügt. Dieser Service implementiert die Aktionen, die ausgeführt werden sollen, wenn Sie auf das Menü klicken. Der Service muss den TypInjectionToken<INavbarMenu>aufweisen.Das folgende Beispiel zeigt, wie Sie eine Serviceaktion implementieren können.
@Injectable() export class GlobalSearchMenuService implements INavbarMenu { constructor(private modalService: NgbModal, private router: Router, private activeRoute: ActivatedRoute ) { } handleMenuAction(route) { console.log('global search menu called'); } } export const GLOBAL_SEARCH_MENU_SERVICE = new InjectionToken<INavbarMenu>('GlobalSearchMenuService');Sie können das Token in Multidimensional wie folgt konfigurieren.
@NgModule({ imports: [], entryComponents: [], declarations: [], exports: [], providers: [ { provide: GLOBAL_SEARCH_MENU_SERVICE, // Previously defined token useClass: GlobalSearchMenuService, // The actual service } ] }) export class SharedExtensionModule { }