// {} 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_renglon: window.aplicacion.campo.selector.id_renglon,
			id_cliente: window.aplicacion.campo.mascara.id_cliente
		},
		tabla = {
			instancia: new Tabla({
				columna: {
					peticion: {
						ruta: `${window.aplicacion.enlace}/ejecutar`,
						parametro: {
							procedimiento: 'p_traer_encabezado_reportes',
							renglon: 'DOCUMENTOS_CUENTAS',
							tipo_reporte: () => tipo_reporte.value
						}
					}
				},
				datos: {
					peticion: {
						ruta: '../ejecutar?procedimiento=p_traer_documentos_cuentas',
						parametro: () => Object.fromEntries(parametros(formularioReportedocumentosPrestamos))
					}
				}
			})
		}

	// !
	$.ajax({
		url: `${window.aplicacion.enlace}/ejecutar`,
		data: {
			procedimiento: 'p_traer_fechas',
			renglon: 'FECHA_ACTUAL'
		},
		success: function (respuesta) {

			respuesta = respuesta[0];

			$.each(respuesta, (indice, valor) => respuesta[indice] = respuesta[indice].split(' ')[0]);

			fecha_corte.value = respuesta.fecha;
			fecha_corte.min = respuesta.fecha_minima;
			fecha_corte.max = respuesta.fecha_maxima;

		}
	});



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

		// +
		if (evento.type === 'reset')
			return tabla.instancia.destruir()
		;

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

		// +
		await tabla.instancia.inicializar()

	})

})()
