@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
57 lines • 2.19 kB
TypeScript
import { Injector } from '@angular/core';
import { Observable } from 'rxjs';
import { UserMenuItem } from './user.model';
import { ExtensionPointForPlugins, GenericHookOptions, GenericHookType } from '../common';
import { Router } from '@angular/router';
import { PluginsResolveService } from '../plugins/plugins-resolve.service';
import * as i0 from "@angular/core";
/**
* You can either provide a single `UserMenuItem` as parameter:
* ```typescript
* hookUserMenu(...)
* ```
*
* Or an array to directly register multiple:
* ```typescript
* hookUserMenu([...])
* ```
*
* Or you provide a Service that implements `ExtensionFactory<UserMenuItem>`
* ```typescript
* export class MyUserMenuFactory implements ExtensionFactory<UserMenuItem> {...}
* ...
* hookUserMenu(MyUserMenuFactory)
* ```
* @param userMenu The `UserMenuItem`'s or `ExtensionFactory` to be provided.
* @param options The options to use for the hook.
* @returns A `Provider` to be provided in your module.
*/
export declare function hookUserMenu(userMenu: GenericHookType<UserMenuItem>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ExistingProvider | import("@angular/core").ClassProvider;
export declare class UserMenuService extends ExtensionPointForPlugins<UserMenuItem> {
private router;
constructor(rootInjector: Injector, router: Router, pluginService: PluginsResolveService);
/**
* Returns the current state.
* @readonly
* @returns The current set of actions.
*/
get state(): Set<UserMenuItem>;
/**
* Adds a new item to the search in the header.
* @param item The item to add.
*/
add(item: UserMenuItem): void;
/**
* Removes an search from the header.
* @param item The item to remove.
*/
remove(item: UserMenuItem): void;
/**
* Sets the items observable.
* @returns The items observable.
*/
protected setupItemsObservable(): Observable<UserMenuItem[]>;
static ɵfac: i0.ɵɵFactoryDeclaration<UserMenuService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<UserMenuService>;
}
//# sourceMappingURL=user-menu.service.d.ts.map