import React from 'react'; import type { ActionObject, RendererData, ScopedComponentType } from 'jamis-core'; import { SimpleMap } from 'jamis-core'; import type { FormProps, InputTableProps, SchemaObject } from '../types'; interface TableState { items: Array; raw?: any; columns: Array; editIndex: number; isCreateMode?: boolean; page?: number; queryObj?: { orderBy?: string; orderDir?: 'desc' | 'asc'; [key: string]: string | undefined | Record; }; } export default class InputTable extends React.Component { static defaultProps: Partial; static propsList: Array; entries: SimpleMap; entityId: number; subForms: Record>; subFormItems: Record; rowPrinstine: Array; editting: any; constructor(props: InputTableProps); componentDidUpdate(prevProps: InputTableProps): void; componentWillUnmount(): void; resolveVariableProps: (key: "minLength" | "maxLength") => any; subFormRef: (formRef: any, colIndex: number, rowIndex: number) => void; subFormItemRef: (form: any, colIndex: number, rowIndex: number) => void; validate: () => Promise; emitValue: () => void; doAction(action: ActionObject, ctx: RendererData, ...rest: Array): Promise; copyItem: (index: number) => Promise; addItem: (index: number) => Promise; startEdit(index: number, isCreate?: boolean): Promise; confirmEdit: () => Promise; cancelEdit: () => void; removeItem(index: number): Promise; matchQueryObj: (query: Record>> | undefined, item: Record) => boolean; buildItemProps: (item: { data: Record; [key: string]: any; }, index: number) => Record; buildColumns: (props: InputTableProps, isCreateMode?: boolean) => Array; columnToQuickEdit(column: any): SchemaObject; handleTableSave: (rows: Array | object, diff: Array | object, rowIndexes: Array | string) => void; handleSaveTableOrder: (moved: Array, rows: Array) => void; handlePageChange: (page: number) => void; getEntryId: (rowData: any, rowIndex: number) => string; tableRef: (ref: any) => void; handleQuery: (query: Record) => void; sortItems: (items: any[], queryObj?: { [key: string]: string | Record | undefined; orderBy?: string; orderDir?: "desc" | "asc"; } | undefined) => any[]; filterItems: () => { pageItems: any[]; filterItems: any[]; adjustPage: number; lastPage: number; total: number; offset: number; }; render(): JSX.Element | null; } export declare class TableControlRenderer extends InputTable { reload(subPath?: string, query?: any): void; } export {};