@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
78 lines • 3.71 kB
TypeScript
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { Router } from '@angular/router';
import { IManagedObject, InventoryService, IResultList } from '@c8y/client';
import { Observable, UnaryFunction } from 'rxjs';
import { ManagedObjectType } from '../common/managed-object-type';
import { InventorySearchService } from './inventory-search.service';
import * as i0 from "@angular/core";
export declare class SearchInputComponent {
private router;
private inventory;
private inventorySearchService;
private cd;
mode: 'search' | 'select';
/**
* Unlocks the ability to place a custom template under the search input.
*/
enableCustomTemplatePlaceholder: boolean;
/**
* A custom placeholder in the search bar.
*/
customPlaceholder: string;
/**
* Event, which is used to set a new external term. Passing null will re-execute the query to BE.
* This allows new filters to be applied to the currently selected term.
*/
externalTerm: EventEmitter<string>;
/**
* A custom query setter used to override the standard query. In order to obtain data.
*/
set customDataQuery(query: UnaryFunction<string, Observable<IResultList<IManagedObject>>>);
container: '' | 'body';
groupsOnly: boolean;
filter: EventEmitter<string>;
search: EventEmitter<string>;
reset: EventEmitter<IManagedObject>;
onClick: EventEmitter<IManagedObject>;
deviceType: typeof ManagedObjectType;
term: string;
defaultPlaceholder: "Search for groups or assets…";
selected: any;
customQuery: (text: string) => Observable<IResultList<IManagedObject>>;
results$: Observable<IResultList<IManagedObject>>;
recentSearchResults: IManagedObject[];
recentlyRegisteredResults$: Observable<IResultList<IManagedObject>>;
isLoading: boolean;
noMatch: boolean;
private readonly RECENT_SEARCH_STORAGE_KEY;
private readonly MAX_RECENT_SEARCH_RESULTS;
private readonly DEFAULT_FILTER;
private readonly KEYCODE_ENTER;
private readonly KEYCODE_ESC;
private onDestroy$;
private typeahead;
private dropdown;
constructor(router: Router, inventory: InventoryService, inventorySearchService: InventorySearchService, cd: ChangeDetectorRef);
ngOnInit(): Promise<void>;
onKeydownHandler(event: KeyboardEvent): void;
onOpenChange(isOpen: boolean): void;
open(event: Event, mo: IManagedObject, term?: any): void;
onReset(status: {
icon: string;
$event: MouseEvent;
}): void;
keyDown(event: KeyboardEvent): void;
onSearch(search: string): void;
onFilter(search: string): void;
onOpenAssetTable(): void;
ngOnDestroy(): void;
private hideDropdown;
private subscribeOnSearch;
private mergeRequest;
private handleQuery;
private onLoadingDone;
private onTypingStarted;
static ɵfac: i0.ɵɵFactoryDeclaration<SearchInputComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SearchInputComponent, "c8y-search-input", never, { "mode": { "alias": "mode"; "required": false; }; "enableCustomTemplatePlaceholder": { "alias": "enableCustomTemplatePlaceholder"; "required": false; }; "customPlaceholder": { "alias": "customPlaceholder"; "required": false; }; "externalTerm": { "alias": "externalTerm"; "required": false; }; "customDataQuery": { "alias": "customDataQuery"; "required": false; }; "container": { "alias": "container"; "required": false; }; "groupsOnly": { "alias": "groupsOnly"; "required": false; }; }, { "filter": "filter"; "search": "search"; "reset": "reset"; "onClick": "onClick"; }, never, ["*"], true, never>;
}
//# sourceMappingURL=search-input.component.d.ts.map