1(function ($) { 2 $(document).ready(function () { 3 // Campos que siempre deben estar ocultos 4 const camposSiempreOcultos = [ 5 '.field-name-field-marca', 6 '.field-name-field-modelo' 7 ]; 8 9 const camposOcultarEnConcesion = [ 10 '.field-name-field-tipo-proyecto', 11 ]; 12 const camposSoloEnConcesion = [ 13 '.field-name-field-destino', 14 '.field-name-field-plazo', 15 '.field-name-field-tipo-de-plazo', 16 '.field-name-field-objeto' 17 ]; 18 const camposOcultarEnMueble = [ 19 '.field-name-field-tipo-proyecto', 20 '.field-name-field-superficie-decimal', 21 '.field-name-field-ba-os', 22 '.field-name-field-ambientes', 23 '.field-name-field-dormitorios', 24 '.field-name-field-cocheras', 25 '.field-name-field-metros-cuadrados-cubiertos', 26 '.field-name-field-antig-edad', 27 '.group-domicilio-propiedad', 28 '.group-mapa' 29 ]; 30 const camposSoloEnMuebles = [ 31 '.field-name-field-tipo-de-bien', 32 '.field-name-field-kilometraje', 33 '.field-name-field-a-o', 34 '.field-name-field-dominio', 35 '.field-name-field-etiqueta-del-bien', 36 '.field-name-field-descripci-n-del-bien' 37 ]; 38 39 // Función para ocultar campos que siempre deben estar ocultos 40 function ocultarCamposSiempre() { 41 camposSiempreOcultos.forEach(selector => $(selector).hide()); 42 } 43 44 // Función para cambiar el label del campo descripción según la etiqueta seleccionada 45 function cambiarLabelDescripcion() { 46 var etiquetaSeleccionada = $('#edit-field-etiqueta-del-bien-und').val(); 47 var labelDescripcion = $('label[for="edit-field-descripci-n-del-bien-und-0-value"]'); 48 49 if (etiquetaSeleccionada === '_none') { 50 // Vaciar el campo de entrada 51 $('#edit-field-descripci-n-del-bien-und-0-value').val(''); 52 } 53 if (etiquetaSeleccionada === 'marca_modelo') { 54 labelDescripcion.text('Marca / modelo'); 55 } else { 56 // Restaurar el label original (puedes ajustar este texto según el label original) 57 labelDescripcion.text('Descripción del bien'); 58 } 59 } 60 61 62 function toggleSubtipo() { 63 var tipoSeleccionado = $('input[name="field_tipo_aabe[und]"]:checked').val(); 64 if (tipoSeleccionado === 'aabe-mueble') { 65 $('#edit-field-subtipo-aabe').hide(); 66 } else { 67 $('#edit-field-subtipo-aabe').show(); 68 } 69 } 70 71 function togglePorSubtipo() { 72 var subtipoSeleccionado = $('input[name="field_subtipo_aabe[und]"]:checked').val(); 73 var tipoSeleccionado = $('input[name="field_tipo_aabe[und]"]:checked').val(); 74 // Asegurarse de que los campos de concesión solo se muestren cuando el tipo NO es mueble 75 if (subtipoSeleccionado === 'concesion' && tipoSeleccionado !== 'aabe-mueble') { 76 camposOcultarEnConcesion.forEach(selector => $(selector).hide()); 77 camposSoloEnConcesion.forEach(selector => $(selector).show()); 78 } else { 79 camposOcultarEnConcesion.forEach(selector => $(selector).show()); 80 camposSoloEnConcesion.forEach(selector => $(selector).hide()); 81 } 82 // Cambiar etiqueta de "Precio base" a "Canon base" si es concesión e inmueble 83 if (subtipoSeleccionado === 'concesion' && tipoSeleccionado !== 'aabe-mueble') { 84 // $('label[for="edit-field-precio-subasta-und-0-value"]').text('Canon base'); 85 $('label[for="edit-field-precio-subasta-decimal-und-0-value"]').text('Canon base'); 86 87 } else { 88 // $('label[for="edit-field-precio-subasta-und-0-value"]').text('Precio base'); 89 $('label[for="edit-field-precio-subasta-decimal-und-0-value"]').text('Precio base'); 90 91 } 92 } 93 94 function togglePorTipo() { 95 var tipoSeleccionado = $('input[name="field_tipo_aabe[und]"]:checked').val(); 96 if (tipoSeleccionado === 'aabe-mueble') { 97 camposOcultarEnMueble.forEach(selector => $(selector).hide()); 98 camposSoloEnMuebles.forEach(selector => $(selector).show()); 99 camposSoloEnConcesion.forEach(selector => $(selector).hide()); 100 } else { 101 camposOcultarEnMueble.forEach(selector => $(selector).show());
102 camposSoloEnMuebles.forEach(selector => $(selector).hide()); 103 togglePorSubtipo(); 104 } 105 // Cambiar solo el primer tÃtulo del fieldset sin duplicar texto 106 const tituloFieldset = $('.group-propiedad-subasta .fieldset-title').first(); 107 const span = tituloFieldset.find('span'); 108 const nuevoTexto = (tipoSeleccionado === 'aabe-mueble') 109 ? ' Información del bien mueble' 110 : ' Información de la propiedad'; 111 tituloFieldset.html(span.prop('outerHTML') + nuevoTexto); 112 113 // Asegurarse de que los campos siempre ocultos permanezcan ocultos 114 ocultarCamposSiempre(); 115 } 116 117 // función para controlar la visibilidad de "Cuándo cierra la oferta" 118 function toggleCierreOferta() { 119 var tipoSeleccionado = $('input[name="field_tipo_aabe[und]"]:checked').val(); 120 var subtipoSeleccionado = $('input[name="field_subtipo_aabe[und]"]:checked').val(); 121 var estadoSeleccionado = $('#edit-field-estados-subasta-und').val(); 122 var campoCierre = $('#edit-field-cierra-subasta'); 123 124 // Verificamos todos los selectores de la fecha de subasta 125 var dia = $('#edit-field-cuando-subasta-und-0-value-day').val(); 126 var mes = $('#edit-field-cuando-subasta-und-0-value-month').val(); 127 var anio = $('#edit-field-cuando-subasta-und-0-value-year').val(); 128 129 // Se considera vacÃo solo si los tres campos están sin selección 130 var cuandoSubastaVacio = (dia === "" || dia === null) && 131 (mes === "" || mes === null) && 132 (anio === "" || anio === null); 133 134 // Lógica de ocultación 135 if ( 136 tipoSeleccionado === 'aabe-mueble' || 137 (tipoSeleccionado === 'aabe-inmueble' && subtipoSeleccionado === 'concesion') || 138 (estadoSeleccionado === '_none' && cuandoSubastaVacio) || 139 (estadoSeleccionado === 'finalizado') || (estadoSeleccionado === 'desierta') 140 ) { 141 campoCierre.hide(); 142 } else { 143 campoCierre.show(); 144 } 145 } 146 147 // Ejecutar funciones iniciales 148 ocultarCamposSiempre(); 149 toggleSubtipo(); 150 togglePorSubtipo(); 151 togglePorTipo(); 152 cambiarLabelDescripcion(); // Ejecutar al cargar la página 153 toggleCierreOferta(); // 154 155 $('input[name="field_tipo_aabe[und]"]').change(function () { 156 toggleSubtipo(); 157 togglePorTipo(); // Esto incluye ocultar campos de concesión si se cambia a mueble 158 toggleCierreOferta(); 159 }); 160 161 $('input[name="field_subtipo_aabe[und]"]').change(function () { 162 togglePorSubtipo(); 163 // Asegurarse de que los campos siempre ocultos permanezcan ocultos 164 ocultarCamposSiempre(); 165 toggleCierreOferta(); 166 }); 167 168 // Event listener para el cambio en el campo etiqueta del bien 169 $('#edit-field-etiqueta-del-bien-und').change(function () { 170 cambiarLabelDescripcion(); 171 }); 172 173 // Forzar el listener del campo Estado 174 $(document).on('change', '#edit-field-estados-subasta-und', function () { 175 toggleCierreOferta(); 176 }); 177 178 // Listeners para los tres selectores de la fecha de subasta 179 $('#edit-field-cuando-subasta-und-0-value-day, #edit-field-cuando-subasta-und-0-value-month, #edit-field-cuando-subasta-und-0-value-year').change(function () { 180 toggleCierreOferta(); 181 }); 182 183 }); 184})(jQuery); 185 186Drupal.behaviors.requiredAsterisk = { 187 attach: function (context, settings) { 188 function toggleAsterisk() { 189 var selectedValue = jQuery('input[name="field_tipo_aabe[und]"]:checked').val(); 190 191 var campos = [ 192 '#edit-field-superficie-decimal-und-0-value', 193 '#edit-field-domicilio-calle-prop-und-0-value', 194 '#edit-field-latitud-und-0-value', 195 '#edit-field-longitud-und-0-value' 196 ]; 197 198 campos.forEach(function (selector) { 199 var label = jQuery(selector, context).closest('.form-item').find('label'); 200 201 if (selectedValue === 'aabe-inmueble') { 202 // Agregar asterisco si no existe 203 if (label.find('.form-required').length === 0) { 204 label.append('<span class="form-required" title="Este campo es obligatorio">*</span>'); 205 } 206 } else if (selectedValue === 'aabe-mueble') { 207 // Quitar asterisco si existe 208 label.find('.form-required').remove(); 209 } 210 }); 211 } 212 // Ejecutar al cargar 213 toggleAsterisk(); 214 215 // Escuchar cambios en el radio 216 jQuery('input[name="field_tipo_aabe[und]"]', context).once('asterisk-handler').change(function () { 217 toggleAsterisk(); 218 }); 219 } 220}; 221 222(function ($) { 223 Drupal.behaviors.disableEstados = { 224 attach: function (context, settings) { 225 226 function deshabilitarEstados(opciones) { 227 $('#edit-field-estados-subasta-und', context) 228 .find('option') 229 .prop('disabled', false) // habilita todas primero 230 .filter(function () { 231 return opciones.includes($(this).val()); 232 }) 233 .prop('disabled', true); 234 } 235 236 function aplicarReglas() { 237 var subtipoSeleccionado = $('input[name="field_subtipo_aabe[und]"]:checked').val(); 238 var tipoSeleccionado = $('input[name="field_tipo_aabe[und]"]:checked').val(); 239 240 if (tipoSeleccionado === 'aabe-inmueble' && subtipoSeleccionado !== 'concesion') { 241 deshabilitarEstados(['subastado', 'adjudicado']); 242 } 243 else if (tipoSeleccionado === 'aabe-mueble') { 244 deshabilitarEstados(['subastado', 'desierta']); 245 } 246 else if (tipoSeleccionado === 'aabe-inmueble' && subtipoSeleccionado === 'concesion') { 247 deshabilitarEstados(['subastado', 'desierta']); 248 } 249 } 250 251 // Ejecutar al cargar la página 252 aplicarReglas(); 253 254 // Ejecutar al cambiar el tipo o subtipo 255 $('input[name="field_tipo_aabe[und]"], input[name="field_subtipo_aabe[und]"]', context) 256 .once('disableEstadosChange') // evita múltiples binds 257 .on('change', function () { 258 aplicarReglas(); 259 }); 260 261 } 262 }; 263})(jQuery); 264
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.