@arteneo/forge
Version:
35 lines (34 loc) • 2.79 kB
TypeScript
import React from "react";
import { AxiosResponse } from "axios";
import { FormikValues } from "formik";
import { AutocompleteChangeReason, AutocompleteChangeDetails, AutocompleteRenderOptionState } from "@mui/material";
import { SelectProps, SelectRenderInputProps } from "../../../components/Form/fields/Select";
import OptionsType from "../../../components/Form/definitions/OptionsType";
import OptionInterface from "../../../components/Form/definitions/OptionInterface";
import FieldAutocompleteEndpointType from "../../../components/Form/definitions/FieldAutocompleteEndpointType";
import { SelectValueType } from "../../../components/Form/definitions/AutocompleteTypes";
interface SelectAutocompleteApiSpecificProps {
endpoint: FieldAutocompleteEndpointType;
onChange?: (path: string, setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void, value: SelectValueType, onChange: () => void, setInputValue: React.Dispatch<React.SetStateAction<string>>, setSelectedOption: React.Dispatch<React.SetStateAction<undefined | OptionInterface>>, setSkipLoading: (skipLoading: boolean) => void, values: FormikValues, event: React.SyntheticEvent, reason: AutocompleteChangeReason, name: string, details?: AutocompleteChangeDetails<OptionInterface>) => void;
processResponse?: (response: AxiosResponse) => OptionsType;
getInitialSelectedOption?: (path: string, initialValues?: FormikValues, initializedValuesResponse?: AxiosResponse) => undefined | OptionInterface;
getOptionRepresentation?: (option: OptionInterface) => string;
renderOption?: (inputValue: string, props: React.HTMLAttributes<HTMLLIElement>, option: OptionInterface, state: AutocompleteRenderOptionState) => React.ReactNode;
renderInput?: (params: SelectAutocompleteApiRenderInputProps) => React.ReactNode;
noOptionsText?: (inputValue: string, loading: boolean) => string;
disableNoOptionsTextTranslate?: boolean;
loadUseEffectDependency?: any;
}
type SelectAutocompleteApiProps = SelectAutocompleteApiSpecificProps & Omit<SelectProps, "options" | "onChange" | "renderInput">;
interface SelectAutocompleteApiRenderInputProps extends SelectRenderInputProps {
option?: OptionInterface;
loading: boolean;
}
declare const SelectAutocompleteApi: {
({ endpoint, onChange, processResponse, loadUseEffectDependency, disableTranslateOption, getInitialSelectedOption, getOptionRepresentation, renderOption, renderInput, noOptionsText, disableNoOptionsTextTranslate, ...selectProps }: SelectAutocompleteApiProps): React.JSX.Element;
defaultProps: {
transformInitialValue: (value: any) => any;
};
};
export default SelectAutocompleteApi;
export { SelectAutocompleteApiProps, SelectAutocompleteApiSpecificProps, SelectAutocompleteApiRenderInputProps };