// {} Librerías e importaciones

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


// {}
(() => {

  // ! Declaración de variables
  let
		peticion = { actual: null },
		campo = {
			mascara: {}
		}
	;

	// !
	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: 'VEHICULOS'
				}
			}
		},
		configuracion: { dom: `t`, pageLength: -1 }
	}).inicializar();

	// !
	$(botonLimpiar).click(function (evento){

		peticion.actual && peticion.actual.abort()

	})

  $('#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: 'VEHICULO',
				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: formularioVehiculos }
    });

  });

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

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

  });

})()
