// {} Librerías e importaciones

// ! Parámetros

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

// {}
(() => {

  // ! Declaración de variables
  let peticion = {
    actual: null
  }

	// ! Para ocultar la navBar cuando se abre desde un iFrame
	if(window.location !== window.parent.location){

		document.querySelectorAll('body > :where(header, footer)').forEach(elemento =>
			elemento.classList.add('d-none')
		);
		document.querySelector('.page-heading .justify-self-start').disabled = true
	}

	// ! Para que me haga el traer registro en la pantalla de Con.Sol.Prestamos
	$(window).on('message', (evento) => {

		// +
		$(id_registro).trigger('focusout');

		// +
		document.querySelector('#botonLimpiar').style.display = 'none';
	});

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

    // +
    if (!this.value) {
			return formularioAutorizaciones.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_registro_anular',
        renglon: renglon_registro_autorizar.value,
        id_registro: this.value
      },
      beforeSend: function(peticion, configuracion) {},
      success: function(respuesta, estado, peticion) {

				if(!respuesta.length)
					formularioAutorizaciones.reset()
				;

			},
      error: function(peticion, estado) {},
      complete: function(peticion, estado) {},
      campo: { elemento: this },
      formulario: { elemento: formularioAutorizaciones }
    })

  });

	// !
	// $(renglon_registro_autorizar).on('change', function () { formularioAutorizaciones.reset(); });

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

		// +
		let formulario = {
			peticion: {
				parametro: parametros(formularioAutorizaciones)
			}
		}

		// +
		const dispositivo = `${navigator.userAgentData.platform} ${navigator.userAgentData.brands[1].brand}`

		// +
		formulario.peticion.parametro.append(
		  'dispositivo',
			dispositivo
		);

		// +
		window.aplicacion.peticion.formulario.parametro = formulario.peticion.parametro;

	});

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

		if (
			window.aplicacion.peticion.formulario.elemento === formularioAutorizaciones &&
			window.aplicacion.peticion.formulario.exitosa.propiedades === window.aplicacion.peticion.exitosa.propiedades &&
			new URLSearchParams(window.aplicacion.peticion.exitosa.configuracion.url).get('renglon') === 'guardar'
		)
			{

			}
	});

})();
