// {} Librerías e importaciones

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

// {}
(async () => {

  let
    peticion = {},
    tabla = {
      documentos: {
        elemento: $(tabla_documentos),
				clase: new Tabla({
					tabla: tabla_documentos,
					columna: {
						peticion: {
							ruta: `${window.aplicacion.enlace}/ejecutar`,
							parametro: {
								procedimiento: 'p_traer_encabezado_procesos',
								renglon: 'DOCUMENTOS'
							}
						}
					},
					datos: {
						peticion: {
							ruta: `${window.aplicacion.enlace}/ejecutar`,
							parametro: {
								procedimiento: 'p_traer_documentos_cajero',
								id_cajero: id_cajero.value,
								fecha: fecha.value
							}
						}
					},
					configuracion: { dom: `ft`, pageLength: -1 }
				})
      }
    }
  ;

  // !
  tabla.documentos.elemento.on('draw.dt', function(evento) {

		evento.tabla.clase  = tabla.documentos.clase;
		tabla.documentos = evento.tabla

	});

  // !
  await tabla.documentos.clase.inicializar();

	// !
	tabla.documentos.instancia.on('click', 'tr', function(evento) {

		if (!evento.target.classList.contains('fa-print'))
			return
		;

	});

	// !
	$(document).on('ajaxSuccess', async (evento, peticion, configuracion) => {

		configuracion.parametros = new URLSearchParams(configuracion.url);

    if (!peticion.responseJSON)
      return
    ;

    peticion.respuesta = peticion.responseJSON[0];

		if (
			peticion.respuesta.mensaje !== 'PUEDES GUARDAR' &&
			configuracion.parametros.get('procedimiento').includes('p_registrar_documentos')
		)
			tabla.documentos.instancia.ajax.reload()

	})

})()