drf-react-by-schema
Version:
Components and Tools for building a React App having Django Rest Framework (DRF) as server
44 lines • 2.44 kB
TypeScript
import { GridFilterModel } from '@mui/x-data-grid';
import { Choice, ChoiceValue, ExtraValidators, Field, FormFieldLayout, GenericValue, GridEnrichedBySchemaColDef, Item, SchemaType } from './@types';
export declare const emptyByType: GenericValue;
export declare const getChoiceByValue: (value: ChoiceValue, choices: Choice[] | undefined) => string | null | undefined;
export declare const populateValues: ({ data, schema }: {
data: Item;
schema: SchemaType;
}) => Item;
export declare function buildGenericYupValidationSchema({ data, schema, many, skipFields, extraValidators, uiFields, }: {
data: Item;
schema: SchemaType;
many?: boolean;
skipFields?: string[];
extraValidators?: ExtraValidators;
uiFields?: string[];
}): any;
export declare const errorProps: ({ errors, fieldKey, fieldKeyProp, index, }: {
errors: Item;
fieldKey: string;
fieldKeyProp: string;
index?: number;
}) => {
error: any;
helperText: any;
};
export declare const getTmpId: () => string;
export declare const isTmpId: (id: string | number | undefined | null) => boolean;
export declare function reducer<T>(state: T | null, newState: Partial<T> | null): T | null;
export declare const getPatternFormat: (type: string) => string;
export declare function buildDateFormatBySchema(dateViews: string[] | null | undefined): "DD/MM/YYYY" | "MM/YYYY" | "YYYY" | "MM" | "DD";
export declare const slugToCamelCase: (str: string, includeFirst?: boolean) => string;
export declare const slugify: (text: string | null) => string;
export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): any;
export declare function initViewColumns({ schema, columns, customColumnOperations, }: {
schema: SchemaType;
columns: GridEnrichedBySchemaColDef[];
customColumnOperations?: (p: GridEnrichedBySchemaColDef) => GridEnrichedBySchemaColDef | Promise<GridEnrichedBySchemaColDef>;
}): Promise<any>;
export declare function shouldMemoUpdate<T extends object>(prevProps: Readonly<T>, nextProps: Readonly<T>): boolean;
export declare const convertToFormData: (data: Item) => FormData;
export declare function formatFileSize(bytes: number): string;
export declare function getFieldsFromFieldsLayout(fieldsLayout: FormFieldLayout[]): string[];
export declare function isFieldRequired(fieldSchema: Field, isInForm?: boolean): boolean;
//# sourceMappingURL=utils.d.ts.map