@vs-form/vs-form
Version:
A schema-based form generator component for React using material-ui
52 lines (51 loc) • 1.93 kB
TypeScript
import * as React from 'react';
import * as types from '../../schemaManager/types';
import { ItemProps } from '../../common/propTypes';
export declare enum SortDirection {
asc = "asc",
desc = "desc"
}
export interface ISubschemaArrayState {
columnSettings: types.IDataTableColumnSettings;
showForm: boolean;
order: SortDirection;
orderBy: types.IComponent | null;
selected: number[];
data: object[];
page: number;
rowsPerPage: number;
errors: types.IValidationErrorList;
}
export default class SubSchemaArray extends React.Component<ItemProps, ISubschemaArrayState> {
private insertMode;
private oldData;
private dataComponents;
constructor(props: ItemProps);
render(): JSX.Element;
Body: () => JSX.Element[];
getDefaultColumnSettings: () => types.IDataTableColumnSettings;
addRecord: () => void;
editRecord: () => void;
deleteRecords: () => void;
cancelEditing: () => void;
setData: (data: any) => void;
updateValue: () => boolean;
readonly numSelected: number;
showTable: () => void;
isSelected: (id: number) => boolean;
handleSelectClick: (id: number) => () => void;
handleSelectDoubleClick: (index: number) => () => void;
handleSelectAllClick: (_event: any, checked: boolean) => void;
handleChangePage: (_event: any, page: number) => void;
handleChangeRowsPerPage: (event: any) => void;
updateSort: (comp: types.IComponent) => () => void;
sortedData: () => object[];
applyCellStyle: (selectionCell: boolean, setting?: types.IDataTableColumnSetting | undefined) => object;
Toolbar: () => JSX.Element;
ToolbarForm: () => JSX.Element;
ToolbarTable: () => JSX.Element;
Head: () => JSX.Element;
Pagination: () => JSX.Element | null;
EmptyRows: () => JSX.Element | null;
ErrorRow: (arrayId: number) => any;
}