UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

146 lines 5.64 kB
import { ChangeDetectorRef, EventEmitter, OnInit, SimpleChanges } from '@angular/core'; import { IIdentified, IManagedObject, InventoryService } from '@c8y/client'; import { BehaviorSubject, Subject } from 'rxjs'; import { AssetSelectorBase } from './asset-selector-base'; import { AssetSelectionChangeEvent, AssetSelectorOptions } from './asset-selector.model'; import { AssetSelectorService } from './asset-selector.service'; import { GroupNode } from './group-node'; import { GroupNodeService } from './group-node.service'; import * as i0 from "@angular/core"; /** * Displays a hierarchical tree selector for assets. */ export declare class AssetSelectorComponent extends AssetSelectorBase implements OnInit { protected groupNodeService: GroupNodeService; protected inventory: InventoryService; protected assetSelectorService: AssetSelectorService; protected cd: ChangeDetectorRef; /** * Config object containing all options for the asset selector. */ config: AssetSelectorOptions; /** * Defines the node, which should be displayed as active. */ active: GroupNode; /** * Used only for miller-view, displays the column level for the current node. * E.g if the index is one, this will be second column. */ index: number; /** * The asset to use as root. */ asset: IIdentified; /** * The selected device. */ selectedDevice: IManagedObject; /** * An array of predefined nodes. */ selected: Array<Partial<IManagedObject>> | IIdentified[] | IIdentified; /** * The node to use as root. You can either set this, or the asset to start from. */ rootNode: GroupNode; /** * All currently selected assets. */ selectedItems: IIdentified[] | IIdentified; container: '' | 'body'; isNodeSelectable: boolean | ((node: IIdentified) => boolean); disabled: boolean; /** * Emits if one item was selected (all currently selected nodes). */ onSelected: EventEmitter<AssetSelectionChangeEvent>; /** * Emits if the currently selected asset is cleared. */ onClearSelected: EventEmitter<void>; /** * Used only for miller view. Emit the selected node and use it as a 'rootNode' for the new column. */ onRowSelected: EventEmitter<any>; /** * Emits the current loading state of the node. */ onLoad: EventEmitter<any>; /** * The current filter applied. */ filterText: string; /** * Displays the global search at all times if the miller view is used * on root group level. */ root: boolean; /** * @ignore */ unsubscribe$: Subject<void>; /** * Returns the current header hight in pixel. */ getHeaderHeight$: BehaviorSubject<number>; readonly ASSET_CONST: "Asset {{ assetId }}"; private header; /** * @ignore only DI */ constructor(groupNodeService: GroupNodeService, inventory: InventoryService, assetSelectorService: AssetSelectorService, cd: ChangeDetectorRef); /** * Checks when a node was selected, if a new column needs to be added. * @param node The node that was clicked. * @param index The current index of this node. * @returns True if the click was handled and a new column was added. */ handleNextMillerViewColumn(node: GroupNode, index: number): boolean; /** * @ignore */ ngOnInit(): Promise<void>; ngOnChanges(changes: SimpleChanges): Promise<void>; /** * @ignore */ ngAfterViewInit(): void; /** * Changes the current root to one level back. */ back(): void; /** * Clears the current filter. */ clearFilters(): void; clearSelectedDevices(): void; isGroupSelected(): boolean; groupNameFilter(nameFilter: string, moId: any, showUnassignedDevices?: boolean): string; /** * Applies a filter. * @param filter The filter to apply. */ applyFilter(filter: string): Promise<void>; /** * Check if the UnassignedDevice node is the rootNode. */ isUnassignedDevicesNode(): boolean; /** * Called when the user resets the search result. */ onSearchResultReset(selectedItem: any): void; /** * Called if the user clicks on a search result. */ onSearchResultClick(mo: IManagedObject): Promise<void>; onLoading(isLoading: boolean): void; onSelect(mo: IManagedObject): void; onDeselect(config: { deselectMode: 'single' | 'all'; mo: IManagedObject; }): void; static ɵfac: i0.ɵɵFactoryDeclaration<AssetSelectorComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<AssetSelectorComponent, "c8y-asset-selector", never, { "config": { "alias": "config"; "required": false; }; "active": { "alias": "active"; "required": false; }; "index": { "alias": "index"; "required": false; }; "asset": { "alias": "asset"; "required": false; }; "selectedDevice": { "alias": "selectedDevice"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "rootNode": { "alias": "rootNode"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "container": { "alias": "container"; "required": false; }; "isNodeSelectable": { "alias": "isNodeSelectable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelected": "onSelected"; "onClearSelected": "onClearSelected"; "onRowSelected": "onRowSelected"; "onLoad": "onLoad"; }, never, never, false, never>; } //# sourceMappingURL=asset-selector.component.d.ts.map