;
getLoadParams?: () => any[];
load?: (...args: any[]) => Promise<{}>;
save: (entity: {}) => Promise<{}>;
}
/** Classe de base pour un composant Focus avec un formulaire. */
export declare abstract class AutoForm> extends React.Component
{
static contextTypes: {
classNames: React.Requireable;
};
context: {
classNames: {
[key: string]: {
[key: string]: any;
};
};
};
readonly entity: E & ViewModel;
readonly services: ServiceConfig;
readonly storeData: E;
errors: Record;
fields: Record;
isEdit: boolean;
isLoading: boolean;
private className;
private hasForm;
private isCustomEntity;
private loadDisposer?;
/**
* Initialise le formulaire.
* @param props Les props du composant.
* @param storeData L'EntityStoreData de base du formulaire.
* @param services La config de services pour le formulaire ({delete?, getLoadParams, load, save}).
* @param options Options additionnelles.
*/
constructor(props: P, storeData: E, services: ServiceConfig, {entity, className, hasForm, initiallyEditing}?: AutoFormOptions);
componentWillMount(): void;
componentWillUnmount(): void;
/** Change le mode du formulaire. */
toggleEdit(isEdit: boolean): void;
/** Appelle le service de suppression. */
delete(): Promise;
/** Appele le service de chargement */
load(): Promise;
/** Appelle le service de sauvegarde. */
save(): Promise;
onFormDeleted(): void;
onFormLoaded(): void;
onFormSaved(): void;
/** Valide les différents champs du formulaire. */
validate(): boolean;
/** Récupère les props à fournir à un Panel pour relier ses boutons au formulaire. */
getPanelButtonProps(): PanelButtonsProps;
abstract renderContent(): React.ReactElement | null;
render(): JSX.Element | null;
/**
* Crée un champ de type AutocompleteSelect.
* @param field La définition de champ.
* @param options Les options du champ.
*/
autocompleteSelectFor(field: EntityField, options: AutocompleteSelectOptions): JSX.Element;
/**
* Crée un champ de type AutocompleteText.
* @param field La définition de champ.
* @param options Les options du champ.
*/
autocompleteTextFor(field: EntityField, options: AutocompleteTextOptions): JSX.Element;
/**
* Crée un champ standard en lecture seule.
* @param field La définition de champ.
* @param options Les options du champ.
*/
displayFor(field: EntityField, options?: BaseOptions & {
[key: string]: any;
}): JSX.Element;
/**
* Crée un champ standard.
* @param field La définition de champ.
* @param options Les options du champ.
*/
fieldFor(field: EntityField, options?: BaseOptions & {
[key: string]: any;
}): JSX.Element;
/**
* Crée un champ avec des composants personnalisés.
* @param field La définition de champ.
* @param options Les options du champ.
*/
fieldForWith(field: EntityField, options: FieldOptions & DisplayProps & FieldProps & InputProps): JSX.Element;
/**
* Crée un champ avec résolution de référence.
* @param field La définition de champ.
* @param listName Le nom de la liste de référence.
* @param options Les options du champ.
*/
selectFor(field: EntityField, values: {
code?: T;
id?: T;
}[], options?: SelectOptions): JSX.Element;
/**
* Récupère le texte correspondant à un champ.
* @param field La définition de champ.
* @param options Les options du champ.
*/
stringFor(field: EntityField, options?: TextOptions): string;
/**
* Affiche un champ sous format texte.
* @param field La définition de champ.
* @param options Les options du champ.
*/
textFor(field: EntityField, options?: TextOptions): JSX.Element;
private setFieldOptions(field, options);
}