// {} Librerías e importaciones

// ! Tabla
import Tabla from '../../elementos/tabla.js';

// {}
(() => {

  // ! Declaración de variables
  let peticion = {
    actual: null
  },
	boton = {
		accion: null,
		primario: null
	}

  new Tabla({
		columna: {
      peticion: {
        ruta: `${window.aplicacion.enlace}/ejecutar`,
        parametro: { procedimiento: 'p_traer_encabezado_registros'}
      }
    },
    datos: {
      peticion: {
        ruta: `${window.aplicacion.enlace}/ejecutar`,
        parametro: {
          procedimiento: 'p_traer_registros_combinados',
          renglon: 'ACTIVOS'
        }
      }
    },
    configuracion: {
      dom: `ftp`
    }
  }).inicializar();

  // !
  $(id_suplidor).focusout(function(evento) {

    // +
    if (!this.value) {
			$('#id_suplidor, #suplidor').trigger('reset')
		};

    // + Condición para verificar si la
    // + petición existe y cancelarla
    peticion.actual &&
    peticion.actual.abort();

    // + Petición hacía el
    // + controlador 'traerRegistros'
    peticion.actual = $.ajax({
      url: `${window.aplicacion.enlace}/ejecutar`,
      data: {
        procedimiento: 'p_traer_unico_registro',
        renglon: 'SUPLIDOR_SECUNDARIO',
        id_renglon: this.value
      },
      beforeSend: function(peticion, configuracion) {
				$('#id_suplidor, #suplidor').trigger('reset')
			},
      success: function(respuesta, estado, peticion) {},
      error: function(peticion, estado) {},
      complete: function(peticion, estado) {},
      campo: { elemento: this },
      formulario: { elemento: formularioActivos }
    })

  });

  $('#tablaRegistros tbody').on('dblclick','tr', function (evento) {

		// + Condición para verificar si la
    // + petición existe y cancelarla
    peticion.actual &&
    peticion.actual.abort();

    // + Petición hacía el
    // + controlador 'traerRegistros'
    peticion.actual = $.ajax({
      url: `${window.aplicacion.enlace}/ejecutar`,
      type: 'GET',
      data: {
        procedimiento: 'p_traer_unico_registro',
        renglon: 'ACTIVO',
				id_renglon: $(evento.currentTarget).find('.id').text()
      },
      beforeSend: function(peticion, configuracion) {},
      success: function(respuesta, estado, peticion) {},
      error: function(peticion, estado) {},
      complete: function(peticion, estado) {},
      formulario: { elemento: formularioActivos }
    });

  });

  $(document).on('ajaxSuccess', (evento, configuracion) => {

    if (
      window.aplicacion.peticion.formulario.elemento === formularioActivos &&
      window.aplicacion.peticion.formulario.exitosa.propiedades === window.aplicacion.peticion.exitosa.propiedades
    )
      $("#tablaRegistros").DataTable().ajax.reload();

  });

})();
