Skip to main content

ActionBarContext

Providers & data available to the onClick & buttonState functions of an ActionBarItem, ActionBarDropdownMenuItem or NavMenuItem.

Signature
interface ActionBarContext {    route: ActivatedRoute;    injector: Injector;    dataService: DataService;    notificationService: NotificationService;    entity$: Observable<Record<string, any> | undefined>;}

route

propertyActivatedRoute

The router's ActivatedRoute object for the current route. This object contains information about the route, its parameters, and additional data associated with the route.

injector

propertyInjector

The Angular Injector which can be used to get instances of services and other providers available in the application.

dataService

propertyDataService

The DataService, which provides methods for querying the server-side data.

notificationService

The NotificationService, which provides methods for displaying notifications to the user.

entity$

propertyObservable<Record<string, any> | undefined>v2.2.0

An observable of the current entity in a detail view. In a list view the observable will not emit any values.

Example

Ts
addActionBarDropdownMenuItem({    id: 'print-invoice',    locationId: 'order-detail',    label: 'Print Invoice',    icon: 'printer',    buttonState: context => {        return context.entity$.pipe( // [!code highlight]            map((order) => { // [!code highlight]                return order?.state === 'PaymentSettled' // [!code highlight]                    ? { disabled: false, visible: true } // [!code highlight]                    : { disabled: true, visible: true }; // [!code highlight]            }), // [!code highlight]        ); // [!code highlight]    },    requiresPermission: ['UpdateOrder'],}),
Was this chapter helpful?
Report Issue
Edited Feb 2, 2026·Edit this page