UNPKG

kea-react

Version:

Componentes comunes de react

49 lines (48 loc) 2.09 kB
/// <reference types="react" /> import * as rx from "rxjs"; /**Props generales para una fila de una tabla */ export interface ListRowProps<T> { /**Elemento que representa esta fila */ item: T; /**Función que se debe de ejecutar cuando el usuario quiera borrar esta fila, si no esta especificado significa que el usuario no puede borrar filas */ onDelete?: () => void; } /**Props para un editor de un valor */ export interface ControlledValueProps<TIn, TOut> { /**Valor que se esta editando */ value?: TIn; /**Se dispara cuando el usuario ha modificado el valor del campo */ onChange?: (newValue: TOut) => void; } /**Props para un editor que soporta valores asíncronos */ export interface AsyncControlledValueProps<TIn, TOut> extends ControlledValueProps<TIn | PromiseLike<TIn>, TOut> { } export interface FormFieldDefaultProps { /**True para mostrar un valor de solo lectura */ isReadOnly?: boolean; /**Label del selector */ label?: string | JSX.Element; /**True para mostrar que este campo tiene un error */ error?: boolean | string | rx.Observable<boolean | string | undefined> | PromiseLike<boolean | string | undefined>; } /**Props para un editor de un valor */ export interface EditorProps<TIn, TOut> extends ControlledValueProps<TIn, TOut> { /**True para que el elemento sea de solo lectura */ isReadOnly?: boolean; } /**Props para un editor con un label */ export interface FormEditProps<TIn, TOut> extends EditorProps<TIn, TOut>, FormFieldDefaultProps { } export interface AsyncFormEditProps<TIn, TOut> extends FormFieldDefaultProps, ControlledValueProps<TIn | PromiseLike<TIn>, TOut> { /**True para que el elemento sea de solo lectura */ isReadOnly?: boolean; } /**Interfaz base para los state de un catalogo */ export interface CatalogListState<T> { /**Elementos que se van a mostrar */ Items?: T[]; /**Elemento seleccionado para borrar */ SelectedItem?: T; /**True si se esta mostrado el modal para borrar */ BorrarModal?: boolean; }