// {} Librerías e importaciones

// ! Utilidades
import { parametros } from "../../../../utilidades.js";

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

// {}
(() => {

  // ! Declaración de variables
  let peticion = { actual: null },
	campo = { id_nomina: window.aplicacion.campo.selector.id_nomina }

	$(id_proyecto).on('select2:select',function() {

		campo.id_nomina.parametros();

		campo.id_nomina.peticion('opciones')

	});

	// !
	$(formularioReporteAsistencias).on('submit reset', function(evento) {

		// +
		if (evento.type === 'reset') {

			// ?
			if ($('#tablaRegistros').is('.dataTable'))
				$('#tablaRegistros').DataTable().destroy() &&
					$('#tablaRegistros')
						.find('thead tr, tbody, tfoot tr')
						.children()
						.remove()
			;

			return

		}

		// +
		if (
			(!document.activeElement.type && !['BODY', 'DIV'].includes(document.activeElement.tagName)) ||
			(document.activeElement.type && document.activeElement.type !== 'submit')
		)
			return
		;

		// +
		new Tabla({
			columna: {
				peticion: {
					ruta: `${window.aplicacion.enlace}/ejecutar`,
					parametro: {
						procedimiento: 'p_traer_encabezado_reportes',
						renglon: 'ASISTENCIAS',
						tipo_reporte:tipo_reporte.value
					}
				}
			},
			datos: {
				peticion: {
					ruta: '../ejecutar?procedimiento=p_traer_asistencias',
					parametro: Object.fromEntries(parametros(formularioReporteAsistencias))
				}
			}
		}).inicializar()

	});

	// !
	// function traerNominas() {

	// 	// + 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_periodos_nomina',
	// 			renglon: 'PERIODO',
	// 			id_proyecto: $('#id_proyecto').val(),
	// 			id_estado: 0
	// 		},
  //     beforeSend: function(peticion, configuracion) {

	// 			$(id_nomina).children().remove()

	// 		},
  //     success: function(respuesta, estado, peticion) {

	// 			// * Iteración para recorrer todos los registros
	// 			// * de la petición realizada
	// 			respuesta.forEach((registro, indiceFila) => {

	// 				// Añadiendo el contenido a la tabla #tablaRegistrosConsulta
	// 				$(id_nomina).append(`
	// 					<option value="${registro.id_nomina}">
	// 						${registro.nomina}
	// 					</option>
	// 				`)

	// 			})

	// 		},
  //     error: function(peticion, estado) {},
  //     complete: function(peticion, estado) {}
	// 	})

	// }

})()
