drf-react-by-schema
Version:
Components and Tools for building a React App having Django Rest Framework (DRF) as server
69 lines • 3.5 kB
TypeScript
import React from 'react';
import { GridRowId, GridRenderCellParams, GridColumnVisibilityModel } from '@mui/x-data-grid';
import { AnySchema } from 'yup';
import { SxProps, Theme } from '@mui/material/styles';
import { Item, SchemaType, Id, GridEnrichedBySchemaColDef, PaginationModel, ActionType, OnSelectActions, OptionsAC, FormFieldLayout, CustomAction, LinkComponentType, ExtraValidators } from '../../@types';
import { OnEditModelType } from '../../context/APIWrapperContext';
interface DataGridDesktopProps {
schema: SchemaType;
dataGrid: {
data: Item[];
};
setDataGrid: (value: React.SetStateAction<{
data: Item[];
}>) => void;
rowCount?: number;
columns: GridEnrichedBySchemaColDef[];
columnVisibilityModel?: GridColumnVisibilityModel;
model: string;
fieldKey?: string;
labelKey?: string;
index?: number;
name?: string;
indexField?: string;
addExistingModel?: string;
indexFieldMinWidth?: number;
indexFieldBasePath?: string;
indexFieldViewBasePath?: string;
stateToLink?: object;
minWidth?: number;
loading?: boolean;
modelParentId?: Id;
modelParent?: string;
customColumnOperations?: (p: GridEnrichedBySchemaColDef) => GridEnrichedBySchemaColDef | Promise<GridEnrichedBySchemaColDef>;
customFieldFormLayouts?: Record<string, FormFieldLayout[]>;
customLinkDestination?: (p: GridRenderCellParams) => string;
LinkComponent?: LinkComponentType;
onProcessRow?: (p: Item) => void;
onDataChange?: (p: Item[]) => void;
onEditModel?: (p: OnEditModelType) => void;
isEditable?: boolean;
hasBulkSelect?: boolean;
onSelectActions?: OnSelectActions[];
sx?: SxProps<Theme>;
isAutoHeight?: boolean;
defaultValues?: Item;
hideFooterPagination?: boolean;
setVisibleRows?: (p: GridRowId[]) => void;
paginationModel?: PaginationModel;
setPaginationModel?: (x: PaginationModel) => void;
hideFooterComponent?: boolean;
hideToolbarComponent?: boolean;
tableAutoHeight?: boolean;
actions?: Partial<ActionType>[];
customActions?: CustomAction[];
hideColumnsButton?: boolean;
hideFilterButton?: boolean;
hideDensityButton?: boolean;
hideExportButton?: boolean;
hideQuickFilterBar?: boolean;
optionsAC?: OptionsAC;
extraValidators?: ExtraValidators;
emptyItem: Item;
handleDeleteClick: (id: Id) => void;
setSnackBar: React.Dispatch<React.SetStateAction<Item>>;
yupValidationSchema: AnySchema | null;
}
declare function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount, columns, columnVisibilityModel, model, name, indexField, addExistingModel, indexFieldMinWidth, indexFieldBasePath, indexFieldViewBasePath, stateToLink, minWidth, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable, hasBulkSelect, onSelectActions, sx: sxProp, isAutoHeight, defaultValues, hideFooterPagination, setVisibleRows, paginationModel, setPaginationModel, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, extraValidators, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }: DataGridDesktopProps): React.JSX.Element;
export default DataGridDesktop;
//# sourceMappingURL=DataGridDesktop.d.ts.map