| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { Injectable } from '@angular/core';
- import { addActionBarItem, addNavMenuSection } from '@vendure/admin-ui/core';
- import { interval } from 'rxjs';
- import { map, switchMap } from 'rxjs/operators';
- @Injectable()
- class MyService {
- greet() {
- console.log('Hello!');
- }
- }
- export default [
- MyService,
- addNavMenuSection(
- {
- id: 'greeter',
- label: 'My Extensions',
- items: [
- {
- id: 'greeter',
- label: 'Greeter',
- routerLink: ['/extensions/example/greet'],
- // Icon can be any of https://clarity.design/icons
- icon: 'cursor-hand-open',
- },
- ],
- },
- // Add this section before the "settings" section
- 'settings',
- ),
- addActionBarItem({
- id: 'test',
- icon: 'cursor-hand-open',
- label: 'Test',
- locationId: 'order-detail',
- buttonState: context => {
- return context.route.data.pipe(
- switchMap(data => data.detail.entity),
- map((order: any) => {
- context.injector.get(MyService).greet();
- console.log(order);
- return {
- disabled: order.state === 'AddingItems',
- visible: true,
- };
- }),
- );
- // return interval(1000).pipe(
- // map(t => {
- // console.log(t);
- // return {
- // disabled: t % 2 === 0,
- // visible: t % 5 !== 0,
- // };
- // }),
- // );
- },
- }),
- ];
|