@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
146 lines • 5.64 kB
TypeScript
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