import { Component, Inject, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { Thickness } from '@syncfusion/ej2-angular-diagrams';
import { DialogModule, TablaResponse } from 'src/app/interfaces/getb/getbgt.interface';

@Component({
  selector: 'app-getbgt-form',
  templateUrl: './table-management-form.component.html',
  styleUrls: ['./table-management-form.component.css']
})
export class TableManagementFormComponent {

  public formGroup: FormGroup;
  private dataTable: TablaResponse;
  public title: string;

  constructor(@Inject(MAT_DIALOG_DATA) public data: DialogModule) {
    // Se asigna el título del cuadro de diálogo
    this.title = data.TYPE_ACTION === 'REG' ? 'Registro de Tabla' : 'Modificación de Tabla';
    // Se obtienen los datos en caso de modificación
    this.dataTable = data.DATA_ELEMENT;
    // Se inicializa el formulario
    this.formGroup = this.createFormGroup();
  }

  // Método de creación de formularios
  private createFormGroup() {
    console.log(this.dataTable.CODIGO_TABLA);

    return new FormGroup({
      table_code: new FormControl(this.dataTable.CODIGO_TABLA),
      table_name: new FormControl(this.title === 'REG' ? '' : this.dataTable.NOMBRE_TABLA, Validators.required),
    });
  }

  get table_name() { return this.formGroup.get('table_name'); }
}
