añadida carga de datos de cache en formularios

This commit is contained in:
Jaime Jiménez
2025-09-19 14:55:54 +02:00
parent 796a0ccb6e
commit 6d88608612
6 changed files with 187 additions and 40 deletions

View File

@ -2,13 +2,13 @@
<form id="maquetacionForm" novalidate th:action="@{/presupuesto/public/maquetacion}" th:object="${presupuestoMaquetacion}" method="get">
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.num-caracteres}" for="num-caracteres">Número de caracteres</label>
<input type="number" class="form-control" id="num-caracteres" th:field="*{numCaracteres}" min="1" required>
<input type="number" class="form-control maquetacion-item" id="num-caracteres" th:field="*{numCaracteres}" min="1" required>
<div class="invalid-feedback"></div>
<label th:text="#{presupuesto.maquetacion.num-caracteres-descripcion}" class="form-text text-muted"></label>
</div>
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.formato}" for="formato-maquetacion">Formato</label>
<select class="form-control" id="formato-maquetacion" th:field="*{formato}" required>
<select class="form-control maquetacion-item" id="formato-maquetacion" th:field="*{formato}" required>
<option value="A5" selected>A5</option>
<option value="_17x24_">170x240 mm</option>
<option value="A4">A4</option>
@ -17,52 +17,52 @@
</div>
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.cuerpo-texto}" for="cuerpo-texto">Cuerpo de texto</label>
<select class="form-control" id="cuerpo-texto" th:field="*{cuerpoTexto}" required>
<select class="form-control maquetacion-item" id="cuerpo-texto" th:field="*{cuerpoTexto}" required>
<option th:text="#{presupuesto.maquetacion.cuerpo-texto-pequeño}" value="small"></option>
<option th:text="#{presupuesto.maquetacion.cuerpo-texto-medio}" value="medium" selected>Medio (12pt)
</option>
<option th:text="#{presupuesto.maquetacion.cuerpo-texto-grande}" value="large">Grande</option>
<option th:text="#{presupuesto.maquetacion.cuerpo-texto-grande}" value="big">Grande</option>
</select>
<label th:text="#{presupuesto.maquetacion.cuerpo-texto-descripcion}" class="form-text text-muted"></label>
</div>
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.num-columnas}" for="num-columnas">Número de columnas</label>
<input type="number" class="form-control" id="num-columnas" th:field="*{numColumnas}" min="1" required>
<input type="number" class="form-control maquetacion-item" id="num-columnas" th:field="*{numColumnas}" min="1" required>
<div class="invalid-feedback"></div>
<label th:text="#{presupuesto.maquetacion.num-columnas-descripcion}" class="form-text text-muted"></label>
</div>
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.num-tablas}" for="num-tablas">Número de tablas</label>
<input type="number" class="form-control" id="num-tablas" th:field="*{numTablas}" min="0" required>
<input type="number" class="form-control maquetacion-item" id="num-tablas" th:field="*{numTablas}" min="0" required>
<div class="invalid-feedback"></div>
</div>
<div class="form-group">
<label th:text="#{presupuesto.maquetacion.num-fotos}" for="num-fotos">Número de fotos</label>
<input type="number" class="form-control" id="num-fotos" th:field="*{numFotos}" min="0" required>
<input type="number" class="form-control maquetacion-item" id="num-fotos" th:field="*{numFotos}" min="0" required>
<div class="invalid-feedback"></div>
</div>
<div class="form-check form-switch form-switch-custom mb-3 mt-3">
<input type="checkbox" class="form-check-input form-switch-custom-primary"
<input type="checkbox" class="form-check-input form-switch-custom-primary maquetacion-item"
id="correccion-ortotipografica" name="correccion-ortotipografica"
th:field="*{correccionOrtotipografica}">
<label class="form-check-label" for="correccion-ortotipografica">Corrección ortotipográfica</label>
</div>
<div class="form-check form-switch form-switch-custom mb-3">
<input type="checkbox" class="form-check-input form-switch-custom-primary"
<input type="checkbox" class="form-check-input form-switch-custom-primary maquetacion-item"
id="texto-mecanografiado" name="texto-mecanografiado" th:field="*{textoMecanografiado}">
<label for="texto-mecanografiado" class="form-check-label" th:text="#{presupuesto.maquetacion.texto-mecanografiado}">
Texto mecanografiado
</label>
</div>
<div class="form-check form-switch form-switch-custom mb-3">
<input type="checkbox" class="form-check-input form-switch-custom-primary" id="disenio-portada"
<input type="checkbox" class="form-check-input form-switch-custom-primary maquetacion-item" id="disenio-portada"
name="disenio-portada" th:field="*{disenioPortada}">
<label for="disenio-portada" class="form-check-label" th:text="#{presupuesto.maquetacion.diseno-portada}">
Diseño de portada
</label>
</div>
<div class="form-check form-switch form-switch-custom">
<input type="checkbox" class="form-check-input form-switch-custom-primary" id="epub" name="epub"
<input type="checkbox" class="form-check-input form-switch-custom-primary maquetacion-item" id="epub" name="epub"
th:field="*{epub}">
<label for="epub" class="form-check-label" th:text="#{presupuesto.maquetacion.epub}">ePub</label>
</div>

View File

@ -2,12 +2,12 @@
<form id="marcapaginasForm" novalidate th:action="@{/presupuesto/public/marcapaginas}" th:object="${presupuestoMarcapaginas}" method="get">
<div class="form-group mb-3">
<label th:text="#{presupuesto.tirada}" for="marcapaginas-tirada">Tirada</label>
<input type="number" class="form-control" id="marcapaginas-tirada" th:field="*{unidades}" min="100" required>
<input type="number" class="form-control marcapaginas-item" id="marcapaginas-tirada" th:field="*{unidades}" min="100" required>
<div class="invalid-feedback"></div>
</div>
<div class="form-group mb-3">
<label th:text="#{presupuesto.marcapaginas.tamanio}" for="tamanio-maquetacion">Tamaño</label>
<select class="form-control" id="tamanio-maquetacion" th:field="*{tamanio}" required>
<select class="form-control marcapaginas-item" id="tamanio-maquetacion" th:field="*{tamanio}" required>
<option value="_50x140_" selected>50x140 mm</option>
<option value="_50x170_">50x170 mm</option>
<option value="_50x210_">50x210 mm</option>
@ -15,28 +15,28 @@
</div>
<div class="form-group mb-3">
<label th:text="#{presupuesto.marcapaginas.caras-impresion}" for="caras-impresion">Caras impresión</label>
<select class="form-control" id="caras-impresion" th:field="*{carasImpresion}" required>
<select class="form-control marcapaginas-item" id="caras-impresion" th:field="*{carasImpresion}" required>
<option th:text="#{presupuesto.marcapaginas.caras-impresion-1}" value="una_cara">Una cara</option>
<option th:text="#{presupuesto.marcapaginas.caras-impresion-2}" value="dos_caras" selected>Dos caras</option>
</select>
</div>
<div class="form-group mb-3">
<label th:text="#{presupuesto.marcapaginas.papel}" for="papel-marcapaginas">Papel marcapáginas</label>
<select class="form-control" id="papel-marcapaginas" th:field="*{papel}" required>
<select class="form-control marcapaginas-item" id="papel-marcapaginas" th:field="*{papel}" required>
<option th:text="#{presupuesto.marcapaginas.papel.cartulina-grafica}" value="cartulina_grafica">Cartulina gráfica</option>
<option th:text="#{presupuesto.marcapaginas.papel.estucado-mate}" value="estucado_mate" selected>Estucado mate</option>
</select>
</div>
<div class="form-group mb-3">
<label th:text="#{presupuesto.marcapaginas.gramaje}" for="gramaje-marcapaginas">Gramaje marcapáginas</label>
<select class="form-control" id="gramaje-marcapaginas" th:field="*{gramaje}" required>
<select class="form-control marcapaginas-item" id="gramaje-marcapaginas" th:field="*{gramaje}" required>
<option value="300" selected>300</option>
<option value="350">350</option>
</select>
</div>
<div class="form-group mb-3">
<label th:text="#{presupuesto.marcapaginas.acabado}" for="acabado-marcapaginas">Acabado marcapáginas</label>
<select class="form-control" id="acabado-marcapaginas" th:field="*{acabado}" required>
<select class="form-control marcapaginas-item" id="acabado-marcapaginas" th:field="*{acabado}" required>
<option class="marcapaginas-1cara marcapaginas-2caras" value="ninguno" th:text="#{presupuesto.marcapaginas.acabado.ninguno}" selected>Sin acabado</option>
<option class="marcapaginas-1cara" value="plastificado_brillo_1c" th:text="#{presupuesto.marcapaginas.acabado.plastificado-brillo-1c}">Plastificado brillo</option>
<option class="marcapaginas-1cara" value="plastificado_mate_1c" th:text="#{presupuesto.marcapaginas.acabado.plastificado-mate-1c}">Plastificado mate</option>