import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core'; import { NgForm } from '@angular/forms'; import { Observable } from 'rxjs'; import { PoDynamicFormField } from './interfaces/po-dynamic-form-field.interface'; import { PoDynamicFormBaseComponent } from './po-dynamic-form-base.component'; import { PoDynamicFormLoadService } from './po-dynamic-form-load/po-dynamic-form-load.service'; import { PoDynamicFormValidationService } from './po-dynamic-form-validation/po-dynamic-form-validation.service'; /** * @docsExtends PoDynamicFormBaseComponent * * @example * * * * * * * * * * * * * * * * * * */ export declare class PoDynamicFormComponent extends PoDynamicFormBaseComponent implements OnInit, OnDestroy { private readonly changes; private readonly loadService; private readonly validationService; fieldsComponent: { focus: (property: string) => void; updatePreviousValue: () => void; showAdditionalHelp: (property: string) => void; }; disabledForm: boolean; displayAdditionalHelp: boolean; private _form; private onLoadSubscription; private sendFormSubscription; private readonly comboOptionSubject; set form(value: NgForm); get form(): NgForm; constructor(changes: ChangeDetectorRef, loadService: PoDynamicFormLoadService, validationService: PoDynamicFormValidationService); ngOnDestroy(): void; ngOnInit(): void; /** * Função que atribui foco ao campo desejado. * * Para utilizá-la é necessário capturar a instância do `dynamic form`, como por exemplo: * * ``` html * * ``` * * ``` javascript * import { PoDynamicFormComponent, PoDynamicFormField } from '@po-ui/ng-components'; * * ... * * @ViewChild('dynamicForm', { static: true }) dynamicForm: PoDynamicFormComponent; * * fields: Array = [ * { property: 'fieldOne' }, * { property: 'fieldTwo' } * ]; * * fieldFocus() { * this.dynamicForm.focus('fieldTwo'); * } * ``` * * @param {string} property Nome da propriedade atribuída ao `PoDynamicFormField.property`. */ focus(property: string): void; getObjectValue(): Observable; sendObjectValue(objectValue: any): void; /** * Método que exibe `p-helper` ou executa a ação definida em `p-helper{eventOnClick}` ou em `p-additionalHelp`. * Para isso, será necessário configurar uma tecla de atalho utilizando o evento `keydown`. * * ``` * import { PoDynamicModule } from '@po-ui/ng-components'; * ... * @ViewChild('dynamicForm', { static: true }) dynamicForm: PoDynamicFormComponent; * * fields: Array = [ * { * property: 'name', * ... * help: 'Mensagem de ajuda.', * helper: 'Mensagem de ajuda complementar com o componente po-helper implementado.', * keydown: this.onKeyDown.bind(this, 'name') * }, * ] * * onKeyDown(property: string, event: KeyboardEvent): void { * if (event.code === 'F9') { * this.dynamicForm.showAdditionalHelp(property); * } * } * ``` * * @param { string } property Identificador da coluna. */ showAdditionalHelp(property: string): void; validateForm(field: PoDynamicFormField): void; private applyFormUpdatesOnLoad; private applyFormValidation; private disableForm; private emitForm; private loadDataOnInitialize; private removeListeners; private setFocusOnFieldByProperty; private updateModelOnLoad; private updateModelWithValidation; }