import { Observable } from 'rxjs'; import { StateRequest, StatuExecuteOption, TypeHeaderOptions, TypeOption, TypesMultiEdit } from '../../enums/export'; import { DataTable } from '../data'; /** * emitter click options */ export interface ClickOption { /** * option clicked */ option: OptionsTable; /** * loading flag */ loading: boolean; /** * response data */ response?: any; /** * error data */ error?: any; /** * status request */ status: StateRequest; } /** * execute option */ export interface ExecuteOption { /** * option to execute */ option: TypeHeaderOptions | TypesMultiEdit | TypeOption; /** * data */ data?: DataTable; /** * status executed */ status: StatuExecuteOption; } /** * tooltip */ export interface ToolTip { /** * flag display tooltip */ tooltip: boolean | ((data: any) => string); /** * title text */ title: string | ((data: any) => string); } /** * option table */ export interface OptionsTable { /** * type option */ type: TypeOptions; /** * id table */ id: string; /** * tooltip */ tooltip?: ToolTip; /** * is display flag */ visible?: (data: any) => boolean; /** * response option */ responseOption?: (data: any) => void; /** * disable an option */ disabled?: Observable | boolean | Function; }