ngx-core-business
Version:
A comprehensive solution designed to streamline the development of enterprise-level Angular applications.
82 lines (81 loc) • 3.08 kB
TypeScript
import { Injector } from '@angular/core';
import { ModelViewComponent } from './model-view.component';
import { AbstractControl, UntypedFormGroup } from '@angular/forms';
import { FieldValidations, FormBuilderHelper, FormFields } from './form-builder-helper';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare abstract class FormComponent<T> extends ModelViewComponent<T> {
protected api: any;
formModel: UntypedFormGroup;
formFields: FormFields;
model: T | any;
modelIdProperty: string;
autoload: boolean;
dataPath: string;
fieldRequiredErrorMessageText: string;
invalidValuesMessageText: string;
msgSuccessfulCreateText: string;
msgSuccessfulUpdateText: string;
_isSaving: boolean;
/**
* This property is used to idenfify whe the form model don't exist yet
*/
routeCreateKeyword: string;
protected fbHelper: FormBuilderHelper;
constructor(injector: Injector, api: any);
subscribeRouteParams(): void;
ngOnInit(): void;
onData(model: any): void;
/**
* Hook para cargar datasets relacionados como por ejemplo: listas de selección
*/
loadDatasets(): void;
getPostData(): any;
getNewModel(): T;
getModelId(): any;
isFormValid(): boolean;
/**
* Permite determinar si el campo debe incluirse en el formulario
* @param field
* @returns
*/
hasField(field: string): boolean;
/**
* Retorna el campo del formulario solicitado
* @param name
*/
getFormControl(name: string): AbstractControl | null;
hasError(fieldName: string, errorType: string): boolean | undefined;
getFieldProperty(fieldName: string, prop: keyof FieldValidations): any;
getFieldValue(field: string): any;
defineFormModel(): void;
/**
* Permite modificar la definición original del campo antes de construir el formControl
* @param field
* @returns
*/
protected transformDefinedField(fieldName: string, field: FieldValidations): FieldValidations;
/**
* Permite modificar los valores que se usarán para construir el formControl
* @param field
* @returns
*/
protected getValuesForFormModel(values: T | any): any;
isFieldRequired(fieldName: string): boolean | undefined;
hasMinLengthError(fieldName: string): boolean | undefined;
hasMaxLengthError(fieldName: string): boolean | undefined;
getRequiredErrorMessage(_fieldName?: string): string;
getMinLengthErrorMessage(fieldName: string): string;
getMaxLengthErrorMessage(fieldName: string): string;
onSubmit(): void;
resetValues(): void;
/**
*
* @returns true si el modelo posee un id.
*/
isRecordStored(): boolean;
getDataService(): any;
getSaveService(model: any): Observable<any>;
static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<FormComponent<any>, never, never, { "dataPath": { "alias": "dataPath"; "required": false; }; }, {}, never, never, true, never>;
}