@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
68 lines • 2.58 kB
TypeScript
import { InjectionToken, Injector } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { GenericHookType, ExtensionPointForPlugins, GenericHookOptions } from '../common/extension-hooks';
import { PluginsResolveService } from '../plugins/plugins-resolve.service';
import { Search } from './search.model';
import * as i0 from "@angular/core";
/**
* A hook to use for Multi Provider extension.
* Consider using the `hookSearch` function instead.
* @deprecated Please don't use the search factory. It will be refactored soon.
*/
export declare const HOOK_SEARCH: InjectionToken<unknown>;
/**
* You can either provide a single `Search` as parameter:
* ```typescript
* hookSearch(...)
* ```
*
* Or an array to directly register multiple:
* ```typescript
* hookSearch([...])
* ```
*
* Or you provide an Service that implements `ExtensionFactory<Search>`
* ```typescript
* export class MySearchFactory implements ExtensionFactory<Search> {...}
* ...
* hookSearch(MySearchFactory)
* ```
* A typed alternative to `HOOK_SEARCH`.
* @param search The `Search`'s or `ExtensionFactory` to be provided.
* @returns An `Provider` to be provided in your module.
* @deprecated Please don't use the search factory. It will be refactored soon.
*/
export declare function hookSearch(search: GenericHookType<Search>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ExistingProvider | import("@angular/core").ClassProvider;
export declare enum SearchFilters {
ONLY_DEVICES = "onlyDevices",
ONLY_GROUPS_AND_ASSETS = "onlyGroupsAndAssets",
ALL_FILTERS = "allFilters"
}
/**
* A service which defines the search function.
*/
export declare class SearchService extends ExtensionPointForPlugins<Search> {
private router;
constructor(rootInjector: Injector, router: Router, plugins: PluginsResolveService);
/**
* Returns the current state.
* @readonly
* @returns The current set of actions.
*/
get state(): Set<Search>;
/**
* Adds a new item to the search in the header.
* @param item The item to add.
*/
add(item: Search): void;
/**
* Removes an search from the header.
* @param item The item to remove.
*/
remove(item: Search): void;
protected setupItemsObservable(): Observable<Search[]>;
static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
}
//# sourceMappingURL=search.service.d.ts.map