@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
55 lines • 2.17 kB
TypeScript
import { Injector } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { ExtensionPointForPlugins } from '../common';
import { DrawerItem } from './drawer.model';
import { GenericHookType, GenericHookOptions } from '../common';
import { PluginsResolveService } from '../plugins';
import * as i0 from "@angular/core";
/**
* You can either provide a single `DrawerItem` as parameter:
* ```typescript
* hookDrawer(...)
* ```
*
* Or an array to directly register multiple:
* ```typescript
* hookDrawer([...])
* ```
*
* Or you provide a Service that implements `ExtensionFactory<DrawerItem>`
* ```typescript
* export class MyDrawerFactory implements ExtensionFactory<DrawerItem> {...}
* ...
* hookDrawer(MyDrawerFactory)
* ```
* A typed alternative to `HOOK_DRAWER`.
* @param drawer The `DrawerItem`'s or `ExtensionFactory` to be provided.
* @returns An `Provider` to be provided in your module.
*/
export declare function hookDrawer(drawer: GenericHookType<DrawerItem>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ClassProvider | import("@angular/core").ExistingProvider;
export declare class DrawerService extends ExtensionPointForPlugins<DrawerItem> {
private router;
constructor(rootInjector: Injector, router: Router, pluginService: PluginsResolveService);
/**
* Returns the current state.
* @readonly
* @returns The current set of actions.
*/
get state(): Set<DrawerItem>;
getDrawersForPosition$(position: 'right' | 'left'): Observable<DrawerItem[]>;
/**
* Adds a new node to the navigator.
* @param {DrawerItem} node Navigator node to add.
*/
add(node: DrawerItem): void;
/**
* Removes a node from the navigator.
* @param {DrawerItem} node Navigator node to remove.
*/
remove(node: DrawerItem): void;
protected setupItemsObservable(): Observable<DrawerItem[]>;
static ɵfac: i0.ɵɵFactoryDeclaration<DrawerService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<DrawerService>;
}
//# sourceMappingURL=drawer.service.d.ts.map