diff --git a/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-maquetacion.js b/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-maquetacion.js index 0847736..91987d8 100644 --- a/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-maquetacion.js +++ b/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-maquetacion.js @@ -2,20 +2,11 @@ import * as Summary from "./summary.js"; import { formateaMoneda } from "../utils.js"; -let valoresAcabados = []; - $(document).on('change', '#maquetacion', function (e) { e.preventDefault(); if ($('#maquetacion').is(':checked')) { $.get("/presupuesto/public/maquetacion/form", function (data) { $("#maquetacionModalBody").html(data); - valoresAcabados = $("#acabado-marcapaginas").html(); - if($('#caras-impresion').val() === 'una_cara') { - $("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-1cara')); - } - else { - $("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-2caras')); - } $("#maquetacionModal").modal("show"); }); } else { @@ -108,14 +99,6 @@ $(document).on("submit", "#maquetacionForm", function (e) { }); }); -$(document).on('change', '#caras-impresion', function (e) { - e.preventDefault(); - if($('#caras-impresion').val() === 'una_cara') { - $("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-1cara')); - } else { - $("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-2caras')); - } -}); $(document).on('hidden.bs.modal', '#maquetacionModal', function () { diff --git a/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-marcapaginas.js b/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-marcapaginas.js index f2e7bdb..94349f5 100644 --- a/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-marcapaginas.js +++ b/src/main/resources/static/assets/js/pages/imprimelibros/presupuestador/presupuesto-marcapaginas.js @@ -6,6 +6,9 @@ $(document).on('change', '#marcapaginas', function (e) { if ($('#marcapaginas').is(':checked')) { $.get("/presupuesto/public/marcapaginas/form", function (data) { $("#marcapaginasModalBody").html(data); + + // init marcapaginas form + filtrarAcabados(); $("#marcapaginasModal").modal("show"); }); } else { @@ -95,6 +98,13 @@ $(document).on("submit", "#marcapaginasForm", function (e) { }); }); + +$(document).on("change", "#caras-impresion", function (e) { + e.preventDefault(); + filtrarAcabados(); +}); + + $(document).on('hidden.bs.modal', '#marcapaginasModal', function () { const calcularStr = $('#div-extras').data('language-calcular'); @@ -104,4 +114,30 @@ $(document).on('hidden.bs.modal', '#marcapaginasModal', function () { }); +function filtrarAcabados() { + const $select = $("#acabado-marcapaginas"); + const caras = $("#caras-impresion").val(); // "una_cara" o "dos_caras" + + $select.find("option") + .prop("disabled", true) + .attr("hidden", true); + + if (caras === "una_cara") { + $select.find("option.marcapaginas-1cara") + .prop("disabled", false) + .attr("hidden", false); + } else { + $select.find("option.marcapaginas-2caras") + .prop("disabled", false) + .attr("hidden", false); + } + + if ($select.find("option:selected").prop("disabled")) { + const firstEnabled = $select.find("option:not([disabled]):first").val(); + $select.val(firstEnabled).trigger("change"); + } +} + + +