@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
50 lines • 1.92 kB
TypeScript
import { IManagedObject } from '@c8y/client';
import { BuiltInActionType, ExtensionFactory, FilteringModifier, ServerSideDataResult } from '@c8y/ngx-components';
import { Observable } from 'rxjs';
export type DataCallback = (serverSideDataResult: ServerSideDataResult) => ServerSideDataResult;
export interface FilterConfig {
columnName: string;
filteringModifier: FilteringModifier;
}
export declare const enum DeviceGridActionType {
Delete = "DELETE"
}
export declare const enum DeviceGridBulkActionType {
}
/**
* Defines an action hook for the device grid.
*
* @interface DeviceGridActionHook
* @member {BuiltInActionType} type of the action
* @member {boolean} refreshAfterActionDone refreshs the device grid after the action execution
* @member {(mo: IManagedObject) => boolean} deviceMatches resolves the object of the row and needs to return true for an element that you want to execute your action on
* ```typescript
* {
* ...
* deviceMatches: (device: IManagedObject) => device?.type === 'my_custom_type'
* }
* ```
* @member {(mo: IManagedObject) => Observable<unknown> | Promise<unknown> | unknown} onAction is called for a matching device. It resolves the object of the row.
* ```typescript
* {
* ...
* onAction: (device: IManagedObject) => this.myService.triggerCustomAction(device)
* }
* ```
*
* @deprecated Use `ActionControlHook` instead.
*/
export interface DeviceGridActionHook {
type: BuiltInActionType | string;
text?: string;
icon?: string;
showOnHover?: boolean;
refreshAfterActionDone: boolean;
deviceMatches: (mo: IManagedObject) => boolean;
onAction: (mo: IManagedObject) => Observable<unknown> | Promise<unknown> | unknown;
}
/**
* @deprecated Use `ActionControlFactory` instead.
*/
export type DeviceGridExtensionFactory = ExtensionFactory<DeviceGridActionHook>;
//# sourceMappingURL=device-grid.model.d.ts.map