The following has evaluated to null or missing:
==> tipoDirecto [in template "8778129#8778168#10153821" at line 737, column 80]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #if (listasesiones?size == 0 && !vali... [in template "8778129#8778168#10153821" at line 737, column 9]
----
1<#--PRUEBA-->
2<#assign vPruebas = false />
3<#--<#assign simulacion2023= false/>-->
4
5<#--<#assign vPruebas = false />--> <#--PROD-->
6
7
8
9
10<#if validator.equalsSorted([locale?string],["es_ES"] ) || validator.equalsSorted([locale?string],["eu_ES"] )>
11 <#--<#assign simulacion=true/> -->
12 <#assign
13 jsonFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
14 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
15 />
16 <#assign dlUtil = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") />
17
18 <#-- llamada para recuperar variables de jjgg-configuracion -->
19 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
20 <#assign article = journalArticleLocalService.getArticleByUrlTitle(groupId, "jjgg-configuracion") />
21 <#assign docXml = saxReaderUtil.read(article.getContentByLocale(locale)) />
22 <#assign entornoSigp = docXml.valueOf("//dynamic-element[@name='Entorno']/dynamic-content/text()") />
23 <#-- llamada para recuperar el video promocional -->
24 <#assign templateFunctionsHelperLocalService = serviceLocator.findService("net.bizkaia.iybiscuc.service.TemplateFunctionsHelperLocalService") />
25
26 <#--FTL de funciones genericas-->
27 <#assign funcionesCustomId = docXml.valueOf("//dynamic-element[@name='IdentificadorDeFuncionesGenerales']/dynamic-content/text()") />
28 <#include "${templatesPath}/${funcionesCustomId}">
29
30 <#assign urlVideo = docXml.valueOf("//dynamic-element[@name='StreamingURL']/dynamic-content/text()") />
31 <#assign urlVideoCanal1 = docXml.valueOf("//dynamic-element[@field-reference='StreamingCanal1']/dynamic-content/text()") />
32 <#assign urlVideoCanal2 = docXml.valueOf("//dynamic-element[@field-reference='StreamingCanal2']/dynamic-content/text()") />
33 <#assign urlVideoCanal3 = docXml.valueOf("//dynamic-element[@field-reference='StreamingCanal3']/dynamic-content/text()") />
34 <#assign urlVideoCanal4 = docXml.valueOf("//dynamic-element[@field-reference='StreamingCanal4']/dynamic-content/text()") />
35
36 <#assign rutaPlayer = docXml.valueOf("//dynamic-element[@name='JwplayerURL']/dynamic-content/text()") />
37 <#assign clavePlayer = docXml.valueOf("//dynamic-element[@name='JwplayerKey']/dynamic-content/text()") />
38
39 <#assign cImagenSubtituloOn = themeDisplay.getPathThemeImages()+"/jjgg-img-subtitulo-activo.png" />
40 <#assign cImagenSubtituloOff = themeDisplay.getPathThemeImages()+"/jjgg-img-subtitulo-inactivo.png" />
41 <#assign cTextoDesactivar = languageUtil.get(locale, 'jjgg.emisiones.desactivar.subtitulos')/>
42 <#assign cTextoActivar = languageUtil.get(locale, 'jjgg.emisiones.activar.subtitulos')/>
43
44
45 <#assign urlImagenGenericaPleno = themeDisplay.getPathThemeImages()+"/img-generica_plenos.png" />
46
47 <#-- IMÁGENES PLENO -->
48 <#assign urlImagenFondoEmisionPleno = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_pleno.png"/>
49 <#assign urlImagenFondoEmisionPlenoTablet = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_pleno_tablet.png"/>
50 <#assign urlImagenFondoEmisionPlenoMovil = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_pleno_movil.png"/>
51
52 <#-- IMÁGENES COMISIÓN -->
53 <#assign urlImagenFondoEmisionComision = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_comision.jpg" />
54 <#assign urlImagenFondoEmisionComisionTablet = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_comision_tablet.jpg" />
55 <#assign urlImagenFondoEmisionComisionMovil = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_comision_movil.jpg" />
56
57 <#-- IMÁGENES ESPECIAL -->
58 <#assign urlImagenFondoEmisionEspecial = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_especial.jpg" />
59 <#assign urlImagenFondoEmisionEspecialTablet = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_especial_tablet.jpg" />
60 <#assign urlImagenFondoEmisionEspecialMovil = "/o/IYBNTBNC/images/emisiones/jjgg-banner-home_especial_movil.jpg" />
61
62 <#assign urlImagenCajaEmisionComision = "/o/IYBNTBNC/images/emisiones/foto_megamenu_comision.jpg" />
63 <#assign urlImagenCajaEmisionPleno = "/o/IYBNTBNC/images/emisiones/foto_megamenu_pleno.jpg" />
64 <#assign urlImagenCajaEmisionEspecial = "/o/IYBNTBNC/images/emisiones/foto_megamenu_especial.jpg" />
65
66 <#assign imagenCabeceraResponsive = "/o/IYBNTBNC/images/home/jjgg-banner-home-responsive.jpg"/>
67
68
69 <#--COMENTAR CUNADO SE SUBA EL TEMA-->
70 <#--
71 <#assign urlImagenFondoEmisionPleno = "/documents/8778164/11671849/jjgg-banner-home_pleno.jpg"/>
72 <#assign urlImagenFondoEmisionComision = "/documents/8778164/11671849/jjgg-banner-home_comision.jpg" />
73 <#assign urlImagenCajaEmisionComision = "/documents/8778164/11671852/foto_megamenu_comision.jpg" />
74 <#assign urlImagenCajaEmisionPleno = "/documents/8778164/11671852/foto_megamenu_pleno.jpg" />
75 -->
76
77 <#--CONSTANTES-->
78 <#assign emisionesAnterioresURL="/es/emisiones-directo-historico-sesiones" />
79 <#assign aplicacion = "Slider home"/>
80 <#assign metodo = "emision-directo"/>
81
82 <#assign jsonCabLegislatura='{"entorno":"'+ entornoSigp +'","aplicacion":"'+ aplicacion +'","metodo":"'+ metodo +'" }' />
83 <#assign errorLlamadaSigp = 'N'/>
84 <#assign urlImagenFondoEmision = "" />
85 <#assign urlImagenFondoEmisionTablet = "" />
86 <#assign urlImagenFondoEmisionMovil = "" />
87 <#assign urlImagenCajaEmision = "" />
88 <#assign nombreEmision ="" />
89 <#assign nombreEmisionEus ="" />
90 <#assign listasesiones = [] />
91
92 <#attempt>
93 <#assign directo = false />
94 <#assign mostrarHistorico = false />
95
96 <#assign serviceUtils= serviceLocator.findService("net.bizkaia.iybnscsc.service.SIGPWSUtilsLocalService")/>
97 <#assign sesionesDirecto = serviceUtils.obtenerSesionesEnDirectoADT(jsonCabLegislatura)/>
98 <#--
99 <#if simulacion2023>
100
101 <#assign sesionesDirecto =
102 {
103 "sesionDirecto": true,
104 "listaSesionesDirecto": [{
105 "esComision": false,
106 "descripcion": "Pleno normal",
107 "descripcionEus": "Pleno normal eus",
108 "fechaHora": "27-06-2023 10:00:00"
109
110
111
112 },
113 {
114 "esComision": false,
115 "descripcion": "Pleno control",
116 "descripcionEus": "Pleno normal eus",
117 "fechaHora": "27-06-2023 15:00:00"
118 }
119 ]
120 }
121 />
122
123 </#if>
124 -->
125
126
127 <#recover>
128 <#assign errorLlamadaSigp = 'S' />
129 <#assign listasesiones = [] />
130 <#--<#if simulacion2023>
131
132 <#assign sesionesDirecto =
133 {
134 "sesionDirecto": true,
135 "listaSesionesDirecto": [{
136 "esComision": false,
137 "descripcion": "Pleno normal",
138 "descripcionEus": "Pleno normal eus",
139 "fechaHora": "27-06-2023 10:00:00"
140
141
142
143 },
144 {
145 "esComision": false,
146 "descripcion": "Pleno control",
147 "descripcionEus": "Pleno normal eus",
148 "fechaHora": "27-06-2023 17:00:00"
149 }
150 ]
151 }
152 />
153 </#if>-->
154 </#recover>
155
156 <#assign pasadoEspecial = false />
157
158 <#attempt>
159 <#assign haySesionHoy = sesionesDirecto.sesionDirecto/>
160 <#assign directo = haySesionHoy>
161 <#--si listasesiones esta vacia hay inicializados estos valores-->
162
163 <#assign tipoDirecto = "pleno" />
164 <#assign urlImagenFondoEmision = urlImagenFondoEmisionPleno />
165 <#assign urlImagenCajaEmision = urlImagenCajaEmisionPleno />
166
167 <#assign listasesiones = sesionesDirecto.listaSesionesDirecto/>
168 <#assign nombreEmision = "ListaSesiones vacio" />
169 <#assign nombre_EUS = "ListaSesiones vacio" />
170
171 <#assign estaEnDirecto = false />
172
173 <#recover>
174 </#recover>
175
176
177
178
179 <#--SABER SI ES DE DEMANDA PARA VER SI MACHACO EL DEL PLENO-->
180 <#assign esEventoDemanda = false />
181 <#--SABER CON QUE TIPO DE ELEMENTO SE COMPARA EVENTO DEMANDA-->
182 <#assign tipoEventoPleno = "1" />
183 <#assign tipoEventoEspecial = "2" />
184
185 <#if listasesiones?? >
186 <#--SI NO ESTABA LA VALIDACION listasesiones?size gt 0 DABA ERROR Y SE IBA POR RECOVER, AHORA SE MIRA SI HAY PLENO ESPECIAL -->
187 <#if listasesiones?size gt 0 >
188 <#--<#if !simulacion2023>
189 <#assign indexCorrecto = buscarCorrecto(listasesiones)>
190 <#else>
191 <#assign indexCorrecto = 0 />
192 </#if>
193 -->
194 <#assign indexCorrecto = buscarCorrecto(listasesiones)>
195
196<#--
197<p>hay SIGP:${listasesiones?size}_${indexCorrecto}</p>
198-->
199 <#--<#if indexCorrecto != -1>
200 ${comparacionFecha(listasesiones[indexCorrecto].fechaHora, false)}
201 <#else>
202 Se han pasado todos los eventos
203 </#if>-->
204 <#if indexCorrecto != -1>
205 <#--CASO 1: HAY PLENO CORRECTO-->
206
207 <#assign EmisionDirecto = listasesiones[indexCorrecto]/>
208
209 <#assign escomision = EmisionDirecto.esComision />
210
211 <#assign nombreEmision = EmisionDirecto.descripcion />
212 <#if !validator.equalsSorted([locale?string],["es_ES"] )>
213 <#assign nombreEmisionEus = EmisionDirecto.descripcionEus />
214 </#if>
215 <#if escomision=true >
216
217 <#assign mostrarHistorico = false />
218 <#assign tipoDirecto = "comision" />
219 <#assign urlImagenFondoEmision = urlImagenFondoEmisionComision />
220 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionComisionTablet />
221 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionComisionMovil />
222 <#assign urlImagenCajaEmision = urlImagenCajaEmisionComision />
223
224 <#if comparacionFecha(EmisionDirecto.fechaHora,false) gte 0>
225 <#assign estaEnDirecto = true/>
226 </#if>
227 <#else>
228 <#assign mostrarHistorico = true />
229 <#assign tipoDirecto = "pleno" />
230 <#assign urlImagenFondoEmision = urlImagenFondoEmisionPleno />
231 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionPlenoTablet />
232 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionPlenoMovil />
233 <#assign urlImagenCajaEmision = urlImagenCajaEmisionPleno />
234 <#assign nombreEmision = "Pleno de las Juntas Generales de Bizkaia" />
235 <#assign nombreEmisionEus ="Bizkaiko Batzar Nagusien osoko batzarra" />
236 <#if comparacionFecha(EmisionDirecto.fechaHora,false) gte 0>
237 <#assign estaEnDirecto = true/>
238 </#if>
239
240 </#if>
241
242
243 <#--CASO 2: HAY PLENO CORRECTO Y HAY PLENO ESPECIAL-->
244 <#--<#assign plenoEspecial = plenoEspecialDirecto()/>-->
245 <#--PLENO DEMANDA - PLENO ESPECIAL-->
246 <#assign eventoDemanda = eventoDemandaDirecto()/>
247 <#assign eventoEspecial = plenoEspecialDirecto()/>
248 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) && validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""])>
249 <#assign plenoEspecial = obtenerEventoCorrecto (eventoDemanda, eventoEspecial, tipoEventoEspecial)/>
250 <@pruebasDemanda/>
251 <#else>
252 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) >
253 <#assign plenoEspecial = eventoDemanda />
254 <#assign esEventoDemanda = true />
255 </#if>
256 <#if validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""]) >
257 <#assign plenoEspecial = eventoEspecial />
258 </#if>
259 </#if>
260 <#--FIN PLENO DEMANDA - PLENO ESPECIAL-->
261 <#--SI ES DEMANDA HAY Q HACER LA VALIDACION CON EL PLENO SIGP, SE VALIDA COMO DEMANDA VS ESPECIAL-->
262 <#--SI NO ES DEMANDA, HACE LO QUE HACE AHORA - PINTA ESPECIAL -->
263 <#if !esEventoDemanda >
264 <#if validator.isNotNull(plenoEspecial) && !validator.equalsSorted([plenoEspecial?trim],[""]) && !estaEnDirecto>
265
266 <#assign tituloPleno = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(plenoEspecial).data >
267 <#assign horaInicio = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(plenoEspecial).data >
268 <#assign horaFin = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(plenoEspecial).data >
269 <#assign imagenesPleno = plenoEspecial.selectNodes("dynamic-element[@name='grupoImagenesVideosFieldSet']/dynamic-element[@name='grupoImagenesVideosFieldSetFieldSet']") />
270
271 <#assign diferenciaEvento = comparacionFecha(EmisionDirecto.fechaHora,false)>
272 <#assign diferenciaEspecial = comparacionFecha("01-01-1997 " + horaInicio + ":00",false)>
273 <#assign mostrar = true>
274
275 <#if !estaEnDirecto & indexCorrecto gt 0> <#--NO HA EMPEZADO NINGUNO, EL MAS PROXIMO ES LA EMISION DE SIGP, POR ESO SE SACA EL DE SIGP-->
276 <#if comparacionFecha(listasesiones[indexCorrecto - 1].fechaHora, false) gt 0 && diferenciaEspecial gt 0 && comparacionFecha(listasesiones[indexCorrecto - 1].fechaHora, false) < diferenciaEspecial>
277 <#assign mostrar = false>
278 </#if>
279 </#if>
280
281 <#if indexCorrecto == 0>
282 <#if estaEnDirecto> <#--HA EMPEZADO EL DE SIGP-->
283 <#if diferenciaEspecial < 0> <#--HA EMPEZADO EL ESPECIAL-->
284 <#assign mostrar = false> <#--SE SACA EL DE SIGP-->
285 </#if>
286 </#if>
287 </#if>
288 <#--HA EMPEZADO EL DE SIGP Y EL MAS PROXIMO ES LA EMISION DE SIGP O NO HA EMPEZADO EL DE SIGP Y ESTÁ MÁS CERCA EL ESPECIAL Y HAY QUE MOSTRAR, SE MUESTRA EL ESPECIAL-->
289 <#if ((diferenciaEvento < 0 && diferenciaEvento < diferenciaEspecial) || (diferenciaEvento gte 0 && diferenciaEvento gt diferenciaEspecial)) && mostrar>
290
291 <#list imagenesPleno as curImagen>
292 <#if curImagen_index=0 >
293
294 <#assign urlImagenCaja= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
295 <#if urlImagenCaja?has_content && validator.isNotNull(urlImagenCaja) && !validator.equalsSorted([urlImagenCaja?trim],["{}"]) >
296 <#assign
297 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenCaja)
298 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
299 urlImagenCajaEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
300 />
301 </#if>
302 </#if>
303 <#if curImagen_index=1 >
304 <#assign urlImagenFondo= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
305 <#assign urlImagenFondoTablet= saxReaderUtil.createXPath("dynamic-element[@name='imagenTablet']/dynamic-content").selectSingleNode(curImagen).data>
306 <#assign urlImagenFondoMovil= saxReaderUtil.createXPath("dynamic-element[@name='imagenMovil']/dynamic-content").selectSingleNode(curImagen).data>
307 <#if urlImagenFondo?has_content && validator.isNotNull(urlImagenFondo) && !validator.equalsSorted([urlImagenFondo?trim],["{}"]) >
308 <#assign
309 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondo)
310 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
311 urlImagenFondoEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
312 />
313 <#else>
314 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
315 </#if>
316 <#if urlImagenFondoTablet?has_content && validator.isNotNull(urlImagenFondoTablet) && !validator.equalsSorted([urlImagenFondoTablet?trim],["{}"]) >
317 <#assign
318 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoTablet)
319 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
320 urlImagenFondoEmisionTablet = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
321 />
322 <#else>
323 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
324 </#if>
325 <#if urlImagenFondoMovil?has_content && validator.isNotNull(urlImagenFondoMovil) && !validator.equalsSorted([urlImagenFondoMovil?trim],["{}"]) >
326 <#assign
327 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoMovil)
328 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
329 urlImagenFondoEmisionMovil = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
330 />
331 <#else>
332 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
333 </#if>
334 <#else>
335 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
336 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
337 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
338 </#if>
339
340 </#list>
341
342 <#assign tipoDirecto = "especial" />
343 <#assign nombreEmision = tituloPleno/>
344 <#assign nombreEmisionEus = tituloPleno/>
345 <#assign directo = true />
346
347 <#if validator.equalsSorted([horaFin],[""])>
348 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0>
349 <#assign estaEnDirecto = true />
350 </#if>
351 <#else>
352 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0 && comparacionFecha("01-01-1997 " + horaFin + ":00", false) <= 0>
353 <#assign estaEnDirecto = true />
354 <#elseif comparacionFecha("01-01-1997 " + horaFin + ":00", false) gt 0>
355 <#assign pasadoEspecial = true/>
356 </#if>
357 </#if>
358 </#if>
359 </#if><#--FIN PLENO ESPECIAL-->
360 <#else>
361 <#--COMPARAR EVENTO DEMANDA CON PLENO SIGP-->
362 <#--<#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) && validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""])>-->
363 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""])>
364 <#assign plenoEspecial = obtenerEventoCorrecto (eventoDemanda, EmisionDirecto , tipoEventoPleno)/>
365 <@pruebasDemanda/>
366 <#--SI HAY QUE MOSTRAR EL EVENTO DEMANDA HAY QUE COGER SUS DATOS, SI NO YA SE HAN COGIDO ARRIBA EN CASO 1-->
367 <#if esEventoDemanda >
368 <#assign tituloPleno = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(plenoEspecial).data >
369 <#assign horaInicio = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(plenoEspecial).data >
370 <#assign horaFin = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(plenoEspecial).data >
371 <#assign imagenesPleno = plenoEspecial.selectNodes("dynamic-element[@name='grupoImagenesVideosFieldSet']/dynamic-element[@name='grupoImagenesVideosFieldSetFieldSet']") />
372
373 <#list imagenesPleno as curImagen>
374 <#if curImagen_index=0 >
375
376 <#assign urlImagenCaja= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
377 <#if urlImagenCaja?has_content && validator.isNotNull(urlImagenCaja) && !validator.equalsSorted([urlImagenCaja?trim],["{}"]) >
378 <#assign
379 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenCaja)
380 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
381 urlImagenCajaEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
382 />
383 </#if>
384 </#if>
385 <#if curImagen_index=1 >
386 <#assign urlImagenFondo= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
387 <#assign urlImagenFondoTablet= saxReaderUtil.createXPath("dynamic-element[@name='imagenTablet']/dynamic-content").selectSingleNode(curImagen).data>
388 <#assign urlImagenFondoMovil= saxReaderUtil.createXPath("dynamic-element[@name='imagenMovil']/dynamic-content").selectSingleNode(curImagen).data>
389 <#if urlImagenFondo?has_content && validator.isNotNull(urlImagenFondo) && !validator.equalsSorted([urlImagenFondo?trim],["{}"]) >
390 <#assign
391 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondo)
392 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
393 urlImagenFondoEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
394 />
395 <#else>
396 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
397 </#if>
398 <#if urlImagenFondoTablet?has_content && validator.isNotNull(urlImagenFondoTablet) && !validator.equalsSorted([urlImagenFondoTablet?trim],["{}"]) >
399 <#assign
400 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoTablet)
401 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
402 urlImagenFondoEmisionTablet = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
403 />
404 <#else>
405 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
406 </#if>
407 <#if urlImagenFondoMovil?has_content && validator.isNotNull(urlImagenFondoMovil) && !validator.equalsSorted([urlImagenFondoMovil?trim],["{}"]) >
408 <#assign
409 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoMovil)
410 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
411 urlImagenFondoEmisionMovil = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
412 />
413 <#else>
414 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
415 </#if>
416 <#else>
417 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
418 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
419 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
420 </#if>
421
422 </#list>
423
424 <#assign tipoDirecto = "especial" />
425 <#assign nombreEmision = tituloPleno/>
426 <#assign nombreEmisionEus = tituloPleno/>
427 <#assign directo = true />
428
429 <#if validator.equalsSorted([horaFin],[""])>
430 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0>
431 <#assign estaEnDirecto = true />
432 </#if>
433 <#else>
434 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0 && comparacionFecha("01-01-1997 " + horaFin + ":00", false) <= 0>
435 <#assign estaEnDirecto = true />
436 <#elseif comparacionFecha("01-01-1997 " + horaFin + ":00", false) gt 0>
437 <#assign pasadoEspecial = true/>
438 </#if>
439 </#if>
440 </#if>
441
442 </#if>
443 </#if>
444 <#else> <#-- <#if indexCorrecto != -1>-->
445 <#--CASO 3: HAY PLENO PERO NO HAY PLENO CORRECTO Y HAY PLENO ESPECIAL-->
446 <#assign listasesiones = [] />
447 <#attempt>
448
449 <#assign directo = false />
450 <#assign mostrarHistorico = false />
451 <#--
452 <#assign plenoEspecial = plenoEspecialDirecto()/>
453 -->
454 <#--PLENO DEMANDA - PLENO ESPECIAL-->
455 <#assign eventoDemanda = eventoDemandaDirecto()/>
456 <#assign eventoEspecial = plenoEspecialDirecto()/>
457 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) && validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""])>
458 <#assign plenoEspecial = obtenerEventoCorrecto (eventoDemanda, eventoEspecial, tipoEventoEspecial)/>
459 <@pruebasDemanda/>
460 <#else>
461 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) >
462 <#assign plenoEspecial = eventoDemanda />
463 <#assign esEventoDemanda = true />
464 </#if>
465 <#if validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""]) >
466 <#assign plenoEspecial = eventoEspecial />
467 </#if>
468 </#if>
469 <#--FIN PLENO DEMANDA - PLENO ESPECIAL-->
470
471
472 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
473 <#assign urlImagenCajaEmision = urlImagenCajaEmisionEspecial />
474
475 <#if validator.isNotNull(plenoEspecial) && !validator.equalsSorted([plenoEspecial?trim],[""])>
476
477 <#assign tituloPleno = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(plenoEspecial).data >
478 <#assign horaInicio = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(plenoEspecial).data >
479 <#assign horaFin = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(plenoEspecial).data >
480 <#assign imagenesPleno = plenoEspecial.selectNodes("dynamic-element[@name='grupoImagenesVideosFieldSet']/dynamic-element[@name='grupoImagenesVideosFieldSetFieldSet']") />
481
482 <#list imagenesPleno as curImagen>
483 <#if curImagen_index=0 >
484
485 <#assign urlImagenCaja= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
486 <#if urlImagenCaja?has_content && validator.isNotNull(urlImagenCaja) && !validator.equalsSorted([urlImagenCaja?trim],["{}"]) >
487 <#assign
488 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenCaja)
489 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
490 urlImagenCajaEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
491 />
492 </#if>
493 </#if>
494 <#if curImagen_index=1 >
495 <#assign urlImagenFondo= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
496 <#assign urlImagenFondoTablet= saxReaderUtil.createXPath("dynamic-element[@name='imagenTablet']/dynamic-content").selectSingleNode(curImagen).data>
497 <#assign urlImagenFondoMovil= saxReaderUtil.createXPath("dynamic-element[@name='imagenMovil']/dynamic-content").selectSingleNode(curImagen).data>
498 <#if urlImagenFondo?has_content && validator.isNotNull(urlImagenFondo) && !validator.equalsSorted([urlImagenFondo?trim],["{}"]) >
499 <#assign
500 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondo)
501 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
502 urlImagenFondoEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
503 />
504 <#else>
505 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
506 </#if>
507 <#if urlImagenFondoTablet?has_content && validator.isNotNull(urlImagenFondoTablet) && !validator.equalsSorted([urlImagenFondoTablet?trim],["{}"]) >
508 <#assign
509 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoTablet)
510 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
511 urlImagenFondoEmisionTablet = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
512 />
513 <#else>
514 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
515 </#if>
516 <#if urlImagenFondoMovil?has_content && validator.isNotNull(urlImagenFondoMovil) && !validator.equalsSorted([urlImagenFondoMovil?trim],["{}"]) >
517 <#assign
518 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoMovil)
519 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
520 urlImagenFondoEmisionMovil = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
521 />
522 <#else>
523 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
524 </#if>
525 </#if>
526
527 </#list>
528
529 <#assign tipoDirecto = "especial" />
530
531 <#assign nombreEmision = tituloPleno/>
532 <#assign nombreEmisionEus = tituloPleno/>
533
534 <#assign directo = true />
535
536 <#if validator.equalsSorted([horaFin],[""])>
537 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0>
538 <#assign estaEnDirecto = true />
539 </#if>
540 <#else>
541 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0 && comparacionFecha("01-01-1997 " + horaFin + ":00", false) <= 0>
542 <#assign estaEnDirecto = true />
543 <#elseif comparacionFecha("01-01-1997 " + horaFin + ":00", false) gt 0>
544 <#assign pasadoEspecial = true/>
545 </#if>
546 </#if>
547 </#if>
548 <#recover>
549 <#assign directo = false />
550 <#assign tipoDirecto = "especial" />
551
552 </#recover>
553 </#if><#-- <#if indexCorrecto != -1>-->
554 <#else> <#--<#if listasesiones?size gt 0 > NO HAY EVENTOS PARLAMENTARIOS -->
555 <#--CASO 4: PLENO ESPECIAL Y/O DEMANDA-->
556 <#attempt>
557 <#assign directo = false />
558 <#assign mostrarHistorico = false />
559 <#--PLENO DEMANDA - PLENO ESPECIAL-->
560 <#assign eventoDemanda = eventoDemandaDirecto()/>
561 <#assign eventoEspecial = plenoEspecialDirecto()/>
562 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) && validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""])>
563 <#assign plenoEspecial = obtenerEventoCorrecto (eventoDemanda, eventoEspecial, tipoEventoEspecial)/>
564 <@pruebasDemanda/>
565 <#else>
566 <#if validator.isNotNull(eventoDemanda) && !validator.equalsSorted([eventoDemanda?trim],[""]) >
567 <#assign plenoEspecial = eventoDemanda />
568 <#assign esEventoDemanda = true />
569 </#if>
570 <#if validator.isNotNull(eventoEspecial) && !validator.equalsSorted([eventoEspecial?trim],[""]) >
571 <#assign plenoEspecial = eventoEspecial />
572 </#if>
573 </#if>
574 <#--FIN PLENO DEMANDA - PLENO ESPECIAL-->
575 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
576 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
577 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
578 <#assign urlImagenCajaEmision = urlImagenCajaEmisionEspecial />
579 <#if validator.isNotNull(plenoEspecial) && !validator.equalsSorted([plenoEspecial?trim],[""])>
580 <#assign tituloPleno = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(plenoEspecial).data >
581 <#assign horaInicio = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(plenoEspecial).data >
582 <#assign horaFin = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(plenoEspecial).data >
583 <#assign imagenesPleno = plenoEspecial.selectNodes("dynamic-element[@name='grupoImagenesVideosFieldSet']/dynamic-element[@name='grupoImagenesVideosFieldSetFieldSet']") />
584
585
586 <#if imagenesPleno?has_content>
587
588 <#list imagenesPleno as curImagen>
589 <#if curImagen_index=0 >
590
591 <#assign urlImagenCaja= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
592
593 <#if urlImagenCaja?has_content && validator.isNotNull(urlImagenCaja) && !validator.equalsSorted([urlImagenCaja?trim],["{}"]) >
594 <#assign
595 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenCaja)
596 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
597 urlImagenCajaEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
598 />
599 </#if>
600 </#if>
601 <#if curImagen_index=1 >
602 <#assign urlImagenFondo= saxReaderUtil.createXPath("dynamic-element[@name='imagen']/dynamic-content").selectSingleNode(curImagen).data>
603 <#assign urlImagenFondoTablet= saxReaderUtil.createXPath("dynamic-element[@name='imagenTablet']/dynamic-content").selectSingleNode(curImagen).data>
604 <#assign urlImagenFondoMovil= saxReaderUtil.createXPath("dynamic-element[@name='imagenMovil']/dynamic-content").selectSingleNode(curImagen).data>
605 <#if urlImagenFondo?has_content && validator.isNotNull(urlImagenFondo) && !validator.equalsSorted([urlImagenFondo?trim],["{}"]) >
606 <#assign
607 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondo)
608 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
609 urlImagenFondoEmision = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
610 />
611 <#else>
612 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
613 </#if>
614 <#if urlImagenFondoTablet?has_content && validator.isNotNull(urlImagenFondoTablet) && !validator.equalsSorted([urlImagenFondoTablet?trim],["{}"]) >
615 <#assign
616 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoTablet)
617 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
618 urlImagenFondoEmisionTablet = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
619 />
620 <#else>
621 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
622 </#if>
623 <#if urlImagenFondoMovil?has_content && validator.isNotNull(urlImagenFondoMovil) && !validator.equalsSorted([urlImagenFondoMovil?trim],["{}"])>
624 <#assign
625 fileEntryJson = jsonFactoryUtil.createJSONObject(urlImagenFondoMovil)
626 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
627 urlImagenFondoEmisionMovil = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
628 />
629 <#else>
630 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
631 </#if>
632 </#if>
633
634 </#list>
635
636 </#if>
637
638 <#assign tipoDirecto = "especial" />
639
640 <#assign nombreEmision = tituloPleno/>
641 <#assign nombreEmisionEus = tituloPleno/>
642
643 <#assign directo = true />
644
645 <#if validator.equalsSorted([horaFin],[""])>
646 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0>
647 <#assign estaEnDirecto = true />
648 </#if>
649 <#else>
650 <#if comparacionFecha("01-01-1997 " + horaInicio + ":00", false) gte 0 && comparacionFecha("01-01-1997 " + horaFin + ":00", false) <= 0>
651 <#assign estaEnDirecto = true />
652 <#elseif comparacionFecha("01-01-1997 " + horaFin + ":00", false) gt 0>
653 <#assign pasadoEspecial = true/>
654 </#if>
655 </#if>
656 </#if>
657
658 <#recover>
659 <#assign directo = false />
660 <#assign tipoDirecto = "especial" />
661
662 </#recover>
663
664 </#if>
665
666 <#else>
667 <#assign directo = true />
668 </#if>
669
670 <#--<#assign simulacion=true/>-->
671 <#if simulacion>
672 <!--SIMULACION LLAMADA-->
673 <#assign directo = true />
674 <#assign EmisionDirecto2 = {"esComision":"true","descripcion","Comisión de Estudio sobre el documento de trabajo Plan Estratégico del Transporte de Bizkaia 2018-2028","descripcionEus":"Comisión de Estudio sobre el documento de trabajo Plan Estratégico del Transporte de Bizkaia 2018-2028","fechaHora":"20022022150045"}>
675 <#assign EmisionDirecto = {"esComision":"false","descripcion","Pleno de las Juntas Generales de Bizkaia","descripcionEus":"eu_Pleno de las Juntas Generales de Bizkaia","fechaHora":"20022022150045"}>
676 <#assign nombre =""/>
677 <#assign nombreEmision = EmisionDirecto.descripcion />
678 <#assign nombreEmisionEus = EmisionDirecto.descripcionEus />
679 <#-- CAMBIAR TIPO DE DIRECTO PARA SIMULAR EL CAMBIO DE IMAGENES -->
680 <#assign tipoDirecto = "pleno" />
681 <#assign tipoDirecto = "pleno" />
682
683 <#switch tipoDirecto>
684 <#case "pleno">
685 <#assign urlImagenFondoEmision = urlImagenFondoEmisionPleno />
686 <#assign urlImagenCajaEmision = urlImagenCajaEmisionPleno />
687 <#assign mostrarHistorico = true />
688 <#break>
689
690 <#case "comision">
691 <#assign urlImagenFondoEmision = urlImagenFondoEmisionComision />
692 <#assign urlImagenCajaEmision = urlImagenCajaEmisionComision />
693 <#break>
694
695 <#case "especial">
696 <#attempt>
697 <#assign directo = false />
698 <#assign mostrarHistorico = false />
699
700 <#assign plenoEspecial = plenoEspecialDirecto() />
701
702 <#if validator.isNotNull(plenoEspecial) && !validator.equalsSorted([plenoEspecial?trim],[""])>
703 <#assign tituloPleno = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(plenoEspecial).data >
704 <#assign tipoDirecto = "especial" />
705 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
706 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
707 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
708 <#assign urlImagenCajaEmision = urlImagenCajaEmisionEspecial />
709 <#assign nombreEmision = tituloPleno/>
710
711 <#assign directo = true />
712 </#if>
713 <#recover>
714 <#assign directo = false />
715 <#assign tipoDirecto = "especial" />
716 <#assign urlImagenFondoEmision = urlImagenFondoEmisionEspecial />
717 <#assign urlImagenFondoEmisionMovil = urlImagenFondoEmisionEspecialMovil />
718 <#assign urlImagenFondoEmisionTablet = urlImagenFondoEmisionEspecialTablet />
719 <#assign urlImagenCajaEmision = urlImagenCajaEmisionEspecial />
720 <#assign nombreEmision = "simulado especial(recover)"/>
721 </#recover>
722 <#break>
723
724 </#switch>
725
726
727 <!--FIN SIMULACION LLAMADA-->
728 </#if>
729
730
731 <#assign directo = true />
732 <#assign cssparlamentaria=""/>
733 <#if !directo >
734 <#assign cssparlamentaria="jjgg-emisiones0"/>
735 </#if>
736 <#assign claseEspacio = "jjgg-emisiones-directo"/>
737 <#if (listasesiones?size == 0 && !validator.equalsSorted(["especial"],[tipoDirecto])) || (tipoDirecto == "especial" && pasadoEspecial)>
738 <#assign directo = false/>
739 <#assign claseEspacio = ""/>
740 </#if>
741
742
743
744 <#assign count = 4>
745 <h1 class="sr-only"><@liferay.language key='jjgg.home.slider.directo' /></h1>
746 <p class="sr-only"><@liferay.language key='jjgg.home.slider.paraDetener' /></p>
747 <div aria-label="Apartados destacados" class="jjgg-home-carousel ${claseEspacio} carousel slide ${cssparlamentaria}" data-interval="5000" data-ride="carousel" data-pause="false" id="carouselExampleIndicators" role="region">
748 <!-- data-interval="" es el parametro en el que define el tiempo de transición entre las imágenes, 5000 es el equivalente a 5 seg. si quisiéramos que estuviese parado al cargar la página, el valos debería ser data-interval="false"-->
749 <#if entries?size != 0>
750 <div class="jjgg-container jjgg-relative">
751 <!-- Enlaces -->
752 <div class="jjgg-carousel-links-container">
753 <ul class="jjgg-carousel-links" role="navigation" aria-label="<@liferay.language key='jjgg.home.slider.navigation.label' />">
754 <#if directo && errorLlamadaSigp = 'N'>
755 <li class="active">
756 <button type="button" data-slide-to="0" data-target="#carouselExampleIndicators">
757 <#if estaEnDirecto>
758 <span class="jjgg-tipo-emisiones"><@liferay.language key='jjgg.home.slider.emisiondirecto' /></span>
759 <#else>
760 <span class="jjgg-tipo-proxima"><@liferay.language key='jjgg.home.slider.emisiondirectoproxima' /></span>
761 </#if>
762 </button>
763 </li>
764 <#assign count = 3>
765 </#if>
766 <#list entries as curEntry>
767 <#assign assetRenderer = curEntry.getAssetRenderer()>
768 <#assign journalArticle = assetRenderer.getAssetObject()>
769 <#assign docXml = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
770 <#assign titulo = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") />
771
772 <#if curEntry?index < count>
773 <#assign enlace = docXml.valueOf("//dynamic-element[@name='urlEnlace']/dynamic-content/text()") /> <!-- añadido -->
774 <li class="${(curEntry?index==0 && !directo)?then('active','')}"><a href="${enlace}"><span><span>${titulo}</span></span></a></li>
775 </#if>
776 </#list>
777 </ul>
778 </div>
779 <!-- //Enlaces -->
780
781 <ol class="carousel-indicators">
782 <#if directo && errorLlamadaSigp = 'N'>
783 <li class="active">
784 <button type="button" data-slide-to="0" data-target="#carouselExampleIndicators">
785 <#if estaEnDirecto>
786 <span class="sr-only"><@liferay.language key='jjgg.home.slider.emisiondirecto' /></span>
787 <#else>
788 <span class="sr-only"><@liferay.language key='jjgg.home.slider.emisiondirectoproxima' /></span>
789 </#if>
790 </button>
791 </li>
792 <#assign count = 3>
793 </#if>
794 <#list entries as curEntry>
795 <#assign assetRenderer = curEntry.getAssetRenderer()>
796 <#assign journalArticle = assetRenderer.getAssetObject()>
797 <#assign docXml = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
798 <#assign titulo = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") />
799
800 <#if curEntry?index < count>
801 <#assign enlace = docXml.valueOf("//dynamic-element[@name='urlEnlace']/dynamic-content/text()") /> <!-- añadido -->
802
803 <li class="${(curEntry?index==0 && !directo)?then('active','')}"><button data-slide-to="${directo?then(curEntry?index+1,curEntry?index)}" data-target="#carouselExampleIndicators" ><span class="sr-only">${titulo}</span></button></li>
804 </#if>
805 </#list>
806 </ol>
807 <div class="jjgg-carrusel-buttons">
808 <button type="button" class="jjgg_carousel-stop" aria-controls="jjgg_carrusel-destacados"><span class="bipoicon icon-pause2"><span class="sr-only"><@liferay.language key='jjgg.home.slider.detener.rotacion' /></span></span></button>
809
810 <button type="button" class="jjgg_carousel-play" aria-controls="jjgg_carrusel-destacados"><span class="bipoicon icon-play3"><span class="sr-only"><@liferay.language key='jjgg.home.slider.inicio.rotacion' /></span></span></button>
811 </div>
812
813 <#-- LLAMADA PLANTILLA PARA PINTAR EL CONTENIDO VIDEO PROMOCIONAL-->
814 <#--
815 <#assign journalArticle = journalArticleLocalService.getArticleByUrlTitle(groupId, "jjgg-video-presentacion-institucional") />
816 <#assign curTemplateKey= templateFunctionsHelperLocalService.getDDMTemplateKey(journalArticle.getGroupId(), "JJGG-video-slider") />
817 <@liferay_journal["journal-article"]
818 articleId=journalArticle.getArticleId()
819 ddmTemplateKey=curTemplateKey
820 groupId=journalArticle.getGroupId() />
821 -->
822
823 </div>
824
825 <div id="jjgg_carrusel-destacados" class="carousel-inner" aria-live="polite">
826 <#if (( directo && validator.equalsSorted(["especial"],[tipoDirecto]) )|| (directo && errorLlamadaSigp = 'N')) >
827 <div aria-label="titulo destacado banner 01" class="carousel-item active" role="group">
828 <div class="jjgg-banner-clip">
829 <picture>
830 <source srcset="${urlImagenFondoEmisionMovil}" media="(max-width:480px)"/>
831 <source srcset="${urlImagenFondoEmisionTablet}" media="(max-width:991px)"/>
832 <source srcset="${urlImagenFondoEmision}" media="(min-width:992px)"/>
833 <img src="${urlImagenFondoEmision}" alt="<@liferay.language_format arguments="${1}" key="jjgg.home.slider.numSlider" />"/>
834 </picture>
835
836 </div>
837 <div class="jjgg-container">
838 <div class="carousel-caption jjgg-tipo-emisiones jjgg-banner-caption02">
839 <div class="row">
840 <div class="col-12 col-md-7">
841 <#if estaEnDirecto>
842 <p class="d-inline-block jjgg-advise-directo"><@liferay.language key='jjgg.home.slider.directo' /></p>
843 <#else>
844 <p class="d-inline-block jjgg-advise-directo-proximo text-uppercase"><@liferay.language key='jjgg.home.slider.emisiondirectoproxima' /></p>
845 </#if>
846 <span class="sr-only" >${locale?string}</span>
847 <#if validator.equalsSorted( [locale?string],["es_ES"] )>
848 <h2 class="jjgg-megamenu-text-header2 ${estiloSegunLongitud (nombreEmision)}">${nombreEmision}</h2>
849 <#else>
850 <h2 class="jjgg-megamenu-text-header2 ${estiloSegunLongitud (nombreEmision)}">${nombreEmisionEus}</h2>
851 </#if>
852 </div>
853
854 <div class="d-none d-md-block col-md-5">
855 <p><img alt="" loading="lazy" class="w-100" src="${urlImagenCajaEmision}" /></p>
856 </div>
857 </div>
858
859 <div class="row">
860 <div class="col-12 d-flex">
861 <p>
862 <a data-url="javascript:verEmisionDirectoJWPLAYERPorCanales('${urlVideoCanal1}','${urlVideoCanal2}','${urlVideoCanal3}','${urlVideoCanal4}','${urlImagenGenericaPleno}','${clavePlayer}','00:00:00','00:00:00','${cImagenSubtituloOn}','${cImagenSubtituloOff}','${cTextoActivar}','${cTextoDesactivar}')" class="jjgg-button" id="enlaceEmisionModalSlider" data-target="#emisionModal" data-toggle="modal" href="#" role="button">
863 <span class="bipoicon icon-play3"></span>
864 <@liferay.language key='jjgg.home.slider.ver-directo' />
865 <span class="sr-only"> ${nombreEmision}</span>
866 <#--<span class="sr-only"> ${nombre}</span>-->
867 </a>
868 </p>
869 <#--
870 <p><a class="jjgg-button" href="#"><span class="bipoicon icon-play3"></span><@liferay.language key='jjgg.home.slider.ver-directo' /><span class="sr-only"> ${nombre}</span></a></p>-->
871 <#--SI ES COMISION NO SE SACA HISTORICO VIDEOS-->
872 <#--SI ES PLENO ESPECIAL NO SE SACA HISTORICO VIDEOS-->
873 <#if mostrarHistorico >
874 <p class="ml-3">
875 <a class="jjgg-button jjgg-button-white jjgg-button-outline jjgg-videogallery" href="${emisionesAnterioresURL}">
876 <span class="bipoicon jjgg-icon-videogallery"></span>
877 <span class="jjgg-button-text"><@liferay.language key='jjgg.home.slider.videoteca' /></span>
878 </a>
879 </p>
880 </#if>
881 </div>
882 </div>
883 </div>
884 </div>
885 </div>
886 </#if>
887
888 <#list entries as curEntry>
889 <#if curEntry?index < count>
890 <#assign assetRenderer = curEntry.getAssetRenderer()>
891 <#assign journalArticle = assetRenderer.getAssetObject()>
892 <#assign docXml = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
893
894 <#assign titulo = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") />
895 <#assign descripcion = docXml.valueOf("//dynamic-element[@name='descripcion']/dynamic-content/text()") />
896 <#assign fecha = docXml.valueOf("//dynamic-element[@name='fecha']/dynamic-content/text()") />
897 <#assign tipo = docXml.valueOf("//dynamic-element[@name='tipo']/dynamic-content/text()") />
898 <#assign enlace = docXml.valueOf("//dynamic-element[@name='urlEnlace']/dynamic-content/text()") />
899 <#assign tituloEnlace = docXml.valueOf("//dynamic-element[@name='tituloEnlace']/dynamic-content/text()") />
900 <#assign target = docXml.valueOf("//dynamic-element[@name='enlaceVentanaNueva']/dynamic-content/text()") />
901 <#assign imagen = docXml.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()") />
902 <#assign imagenTablet = docXml.valueOf("//dynamic-element[@name='imagenTablet']/dynamic-content/text()") />
903 <#assign imagenMovil = docXml.valueOf("//dynamic-element[@name='imagenMovil']/dynamic-content/text()") />
904 <#assign imgAlt = docXml.valueOf("//dynamic-element[@name='imgAlt']/dynamic-content/text()") />
905
906 <#assign img = ""/>
907 <#if validator.isNotNull(imagen) && !validator.equalsSorted([imagen?trim],[""])>
908 <#assign img = getFileEntryJson(imagen) >
909 </#if>
910 <#assign imgTablet = ""/>
911 <#if validator.isNotNull(imagenTablet) && !validator.equalsSorted([imagenTablet?trim],[""])>
912 <#assign imgTablet = getFileEntryJson(imagenTablet) >
913 </#if>
914 <#assign imgMovil = ""/>
915 <#if validator.isNotNull(imagenMovil) && !validator.equalsSorted([imagenMovil?trim],[""])>
916 <#assign imgMovil = getFileEntryJson(imagenMovil) >
917 </#if>
918
919 <#if tituloEnlace?lower_case == "leer" && validator.equalsSorted([locale?string],["eu_ES"] )>
920 <#assign tituloEnlace = "Irakurri" />
921 </#if>
922
923 <div aria-label="${titulo}" class="carousel-item ${(curEntry?index==0 && !directo)?then('active','')}" role="group">
924 <div class="jjgg-banner-clip">
925 <picture>
926 <source srcset="${imgMovil}" media="(max-width:480px)"/>
927 <source srcset="${imgTablet}" media="(max-width:991px)"/>
928 <source srcset="${img}" media="(min-width:992px)"/>
929 <img src="${img}" alt="${imgAlt}"/>
930 </picture>
931 </div>
932
933 <div class="carousel-caption jjgg-banner-caption01">
934 <div class="jjgg-container">
935 <div class="row">
936 <div class="col-11 offset-1">
937 <#if validator.isNotNull(tipo)>
938 <p class="d-inline-block jjgg-advise-noticias">${tipo}</p>
939 </#if>
940
941 <h2 id="jjgg-tit-carousel" class="jjgg-megamenu-text-header2"><a href="${enlace}">${titulo} <span class="bipoicon icon-flecha_enlace_derecha"></span></a></h2>
942
943 </div>
944 </div>
945 </div>
946 </div>
947
948 </div>
949 </#if>
950 </#list>
951
952
953 </div>
954 </#if>
955 </div>
956
957
958
959 <#-- Añadido responsive -->
960 <#-- cabecera si hay emisiones en directo -->
961 <#--<#assign imagenCabeceraResponsive = "/documents/8144354/8946456/jjgg-banner-home-responsive.jpg"/>-->
962
963
964
965</#if>
966
967<#macro pruebasDemanda >
968 <#if vPruebas>
969 <p>horaInicioDemanda:${horaInicioDemanda}</p>
970 <p>horaFinDemanda:${horaFinDemanda}</p>
971 <p>diferenciaInicioDemanda:${diferenciaInicioDemanda}</p>
972 <p>diferenciaFinDemanda:${diferenciaFinDemanda}</p>
973 <p>horaInicioEspecial:${horaInicioEspecial}</p>
974 <p>horaFinEspecial:${horaFinEspecial}</p>
975 <p>diferenciaInicioEspecial:${diferenciaInicioEspecial}</p>
976 <p>diferenciaFinEspecial:${diferenciaFinEspecial}</p>
977 <p>fechaActual:${fechaActual}</p>
978 <p>diferenciaActual:${diferenciaActual}</p>
979 <p>esEventoDemanda:${esEventoDemanda?string }</p>
980 <p>tituloEventoDemanda: ${tituloEventoDemanda}</p>
981 <p>tituloEventoEspecial:${tituloEventoEspecial}</p>
982 <p>nombreEmision:${nombreEmision}</p>
983
984 </#if>
985</#macro>
986<#--OBTENER EL EVENTO ESPECIAL O DEMANDA CORRECTO DE ENTRE LOS DOS-->
987<#function obtenerEventoCorrecto(pEventoDemanda, pEvento, pTipo ) >
988 <#assign groupId = themeDisplay.getSiteGroupId() />
989 <#assign eventoCorrecto = "" />
990
991 <#assign defaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss">
992 <#assign fechaActual = .now?date?string(defaultDateTimeFormat)>
993 <#assign diferenciaActual = comparacionFecha(fechaActual +":00",false)> <#--EN DESA 2h retraso-->
994
995 <#assign horaInicioDemanda = ""/>
996 <#assign horaFinDemanda = ""/>
997 <#assign diferenciaInicioDemanda = ""/>
998 <#assign diferenciaFinDemanda = ""/>
999 <#assign tituloEventoDemanda =""/>
1000 <#assign horaInicioEspecial = ""/>
1001 <#assign horaFinEspecial = ""/>
1002 <#assign diferenciaInicioEspecial = ""/>
1003 <#assign diferenciaFinEspecial = ""/>
1004 <#assign tituloEventoEspecial=""/>
1005
1006 <#assign esEventoDemanda = false />
1007
1008 <#if validator.isNotNull(pEventoDemanda) && !validator.equalsSorted([pEventoDemanda?trim],[""])>
1009 <#assign horaInicioDemanda = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(pEventoDemanda).data >
1010 <#assign horaFinDemanda = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(pEventoDemanda).data >
1011 <#assign diferenciaInicioDemanda = comparacionFecha("1-01-1997 " + horaInicioDemanda + ":00",false)>
1012 <#assign diferenciaFinDemanda = comparacionFecha("1-01-1997 " + horaFinDemanda + ":00",false)>
1013 <#assign tituloEventoDemanda = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(pEventoDemanda).data >
1014 </#if>
1015 <#--SE VA A COMPARAR CON PLENO SIGP-->
1016 <#if validator.equalsSorted([pTipo],[tipoEventoPleno])>
1017 <#assign diferenciaInicioEspecial = comparacionFecha(pEvento.fechaHora,false)>
1018
1019 <#--mostrar el menor A o B , si son iguales se muestra el de demanda, no ha empezado ninguno , se saca el más cercano a la hora actual, si son iguales el de demanda-->
1020 <#-- no ha empezado ninguno-->
1021 <#if diferenciaInicioDemanda lt 0 && diferenciaInicioEspecial lt 0 >
1022 <#if diferenciaInicioDemanda gte diferenciaInicioEspecial> <#--si no ha emprezado es valor negativo, POR ESO LA COMPARACION ES A LA INVERSA-->
1023 <#assign eventoCorrecto = pEventoDemanda />
1024 <#assign esEventoDemanda = true />
1025 <#else>
1026 <#assign eventoCorrecto = pEvento />
1027 </#if>
1028 <#--mostrar A, han empezado los dos y ninguno ha terminado-->
1029 <#--han empezado los dos--><#--ninguno ha terminado-->
1030 <#--*****estaEnDirecto es que no ha terminado pleno sigp-->
1031 <#elseif diferenciaInicioDemanda gte 0 && diferenciaInicioEspecial gte 0 && diferenciaFinDemanda lte 0 && estaEnDirecto >
1032 <#assign eventoCorrecto = pEventoDemanda />
1033 <#assign esEventoDemanda = true />
1034 <#--mostrar A, ha empezado el de demanda y no ha terminado y no ha empezado el especial o ha empezado el pleno SIGP pero ha terminado-->
1035 <#elseif diferenciaInicioDemanda gte 0 && diferenciaFinDemanda lte 0 && (diferenciaInicioEspecial lt 0 || (diferenciaInicioEspecial gte 0 && !estaEnDirecto))>
1036 <#assign eventoCorrecto = pEventoDemanda />
1037 <#assign esEventoDemanda = true />
1038 <#--mostrar B (PROXIMO) si ha empezado el de demanda y ha terminado y no ha empezado el pelno SIGP -->
1039 <#elseif diferenciaInicioDemanda gte 0 && diferenciaFinDemanda gt 0 && diferenciaInicioEspecial lt 0 >
1040 <#assign eventoCorrecto = pEvento />
1041 <#--mostrar A (PROXIMO) si ha empezado el pleno SIGP y ha terminado y no ha empezado el de demanda -->
1042 <#elseif diferenciaInicioEspecial gte 0 && !estaEnDirecto && diferenciaInicioDemanda lt 0 >
1043 <#assign eventoCorrecto = pEventoDemanda />
1044 <#assign esEventoDemanda = true />
1045 <#--mostrar B, ha empezado el pleno SIGP y no ha terminado y no ha empezado el de demanda o ha empezado el de demanda pero ha terminado-->
1046 <#elseif diferenciaInicioEspecial gte 0 && estaEnDirecto && (diferenciaInicioDemanda lt 0 || (diferenciaInicioDemanda gte 0 && diferenciaFinDemanda gt 0))>
1047 <#assign eventoCorrecto = pEvento />
1048 <#--A y B > fecha fin -> no mostrar ninguno, los dos han terminado-->
1049 <#elseif diferenciaFinDemanda gt 0 && !estaEnDirecto>
1050 <#assign eventoCorrecto = "" />
1051 </#if>
1052 <#--SE VA A COMPARAR CON PLENO ESPECIAL-->
1053 <#elseif validator.equalsSorted([pTipo],[tipoEventoEspecial])>
1054 <#if validator.isNotNull(pEvento) && !validator.equalsSorted([pEvento?trim],[""])>
1055 <#assign horaInicioEspecial = saxReaderUtil.createXPath("dynamic-element[@name='HoraInicio']/dynamic-content").selectSingleNode(pEvento).data >
1056 <#assign horaFinEspecial = saxReaderUtil.createXPath("dynamic-element[@name='HoraFin']/dynamic-content").selectSingleNode(pEvento).data >
1057 <#assign diferenciaInicioEspecial = comparacionFecha("1-01-1997 " + horaInicioEspecial + ":00",false)>
1058 <#assign diferenciaFinEspecial = comparacionFecha("1-01-1997 " + horaFinEspecial + ":00",false)>
1059 <#assign tituloEventoEspecial = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']/dynamic-content").selectSingleNode(pEvento).data >
1060 </#if>
1061 <#--
1062 Terminado si la hora actual es mayor que la hora de fin
1063
1064 empezado -> diferenciaInicioDemanda gte 0
1065 no empezado -> diferenciaInicioDemanda lt 0
1066 no terminado -> diferenciaFinDemanda <= 0
1067 terminado -> diferenciaFinDemanda gt 0
1068
1069 -->
1070 <#--A: DEMANDA, B: ESPECIAL -->
1071 <#--mostrar el menor A o B , si son iguales se muestra el de demanda, no ha empezado ninguno , se saca el más cercano a la hora actual, si son iguales el de demanda-->
1072 <#-- no ha empezado ninguno-->
1073 <#if diferenciaInicioDemanda lt 0 && diferenciaInicioEspecial lt 0 >
1074 <#if diferenciaInicioDemanda gte diferenciaInicioEspecial> <#--si no ha emprezado es valor negativo, POR ESO LA COMPARACION ES A LA INVERSA-->
1075 <#assign eventoCorrecto = pEventoDemanda />
1076 <#assign esEventoDemanda = true />
1077 <#else>
1078 <#assign eventoCorrecto = eventoEspecial />
1079 </#if>
1080 <#--mostrar A, han empezado los dos y ninguno ha terminado-->
1081 <#--han empezado los dos--><#--ninguno ha terminado-->
1082 <#elseif diferenciaInicioDemanda gte 0 && diferenciaInicioEspecial gte 0 && diferenciaFinDemanda lte 0 && diferenciaFinEspecial lte 0 >
1083 <#assign eventoCorrecto = pEventoDemanda />
1084 <#assign esEventoDemanda = true />
1085 <#--mostrar A, ha empezado el de demanda y no ha terminado y no ha empezado el especial o ha empezado el especial pero ha terminado-->
1086 <#elseif diferenciaInicioDemanda gte 0 && diferenciaFinDemanda lte 0 && (diferenciaInicioEspecial lt 0 || (diferenciaInicioEspecial gte 0 && diferenciaFinEspecial gt 0))>
1087 <#assign eventoCorrecto = pEventoDemanda />
1088 <#assign esEventoDemanda = true />
1089 <#--mostrar B (PROXIMO) si ha empezado el de demanda y ha terminado y no ha empezado el especial -->
1090 <#elseif diferenciaInicioDemanda gte 0 && diferenciaFinDemanda gt 0 && diferenciaInicioEspecial lt 0 >
1091 <#assign eventoCorrecto = eventoEspecial />
1092 <#--mostrar A (PROXIMO) si ha empezado el especial y ha terminado y no ha empezado el de demanda -->
1093 <#elseif diferenciaInicioEspecial gte 0 && diferenciaFinEspecial gt 0 && diferenciaInicioDemanda lt 0 >
1094 <#assign eventoCorrecto = pEventoDemanda />
1095 <#assign esEventoDemanda = true />
1096 <#--mostrar B, ha empezado el especial y no ha terminado y no ha empezado el de demanda o ha empezado el de demanda pero ha terminado-->
1097 <#elseif diferenciaInicioEspecial gte 0 && diferenciaFinEspecial lte 0 && (diferenciaInicioDemanda lt 0 || (diferenciaInicioDemanda gte 0 && diferenciaFinDemanda gt 0))>
1098 <#assign eventoCorrecto = eventoEspecial />
1099 <#--A y B > fecha fin -> no mostrar ninguno, los dos han terminado-->
1100 <#elseif diferenciaFinDemanda gt 0 && diferenciaFinEspecial gt 0 >
1101 <#assign eventoCorrecto = "" />
1102 </#if>
1103 </#if>
1104
1105
1106
1107 <#return eventoCorrecto />
1108</#function>
1109
1110
1111<script>
1112
1113$(function(){
1114
1115 $(".jjgg-home-carousel").carousel('cycle');
1116
1117 /*Control de los textos de los botones en los cambios de idioma*/
1118
1119 if($('html').attr('lang')==="eu-ES"){
1120 $(".jjgg_carousel-play span.sr-only").text('Irudi galeriaren biraketa automatikoa hasi');
1121 $(".jjgg_carousel-stop span.sr-only").text('Irudi galeriaren biraketa automatikoa gelditu');
1122 }
1123
1124 if($('html').attr('lang')==="es-ES"){
1125 $(".jjgg_carousel-play span.sr-only").text('Iniciar la rotación automática de la galería');
1126 $(".jjgg_carousel-stop span.sr-only").text('Detener la rotación automática de la galería');
1127 }
1128
1129 if($('html').attr('lang')==="en-US"){
1130 $(".jjgg_carousel-play span.sr-only").text('Start gallery automatic rotation');
1131 $(".jjgg_carousel-stop span.sr-only").text('Stop gallery automatic rotation');
1132 }
1133
1134 if($('html').attr('lang')==="fr-FR"){
1135 $(".jjgg_carousel-play span.sr-only").text('FR_Iniciar la rotación automática de la galería');
1136 $(".jjgg_carousel-stop span.sr-only").text('FR_Detener la rotación automática de la galería');
1137 }
1138
1139 /**/
1140
1141 $(".jjgg_carousel-play").addClass('hide');
1142
1143
1144 //stop
1145 $(".jjgg_carousel-stop").click(function(){
1146
1147 $(".jjgg-home-carousel").carousel('pause');
1148
1149 if($(".jjgg-carrusel-buttons button").hasClass('hide')){
1150 $(".jjgg-carrusel-buttons button").removeClass('hide');
1151 $(this).addClass('hide');
1152 $(".jjgg_carousel-play").focus();
1153 }
1154 });
1155
1156
1157 //Play
1158 $(".jjgg_carousel-play").click(function(){
1159
1160 $(".jjgg-home-carousel").carousel('cycle');
1161
1162 if($(".jjgg-carrusel-buttons button").hasClass('hide')){
1163 $(".jjgg-carrusel-buttons button").removeClass('hide');
1164 $(this).addClass('hide');
1165 $(".jjgg_carousel-stop").focus();
1166 }
1167 });
1168
1169 //Stop mediante tecla escape
1170
1171 $(document).on('keydown', function(event) {
1172 if (event.key == "Escape") {
1173 $(".jjgg-home-carousel").carousel('pause');
1174
1175 if($(".jjgg-carrusel-buttons button").hasClass('hide')){
1176 $(".jjgg-carrusel-buttons button").removeClass('hide');
1177 $(".jjgg_carousel-stop").addClass('hide');
1178
1179 $(".jjgg_carousel-play").focus();
1180 }
1181
1182 }
1183 });
1184
1185
1186});
1187
1188</script>
1189
1190<script>
1191
1192$(function(){
1193
1194 $('.jjgg-home-carousel').on('slid.bs.carousel', function () {
1195 //alert($('.carousel-indicators li.active').index());
1196 var varIndice = $('.carousel-indicators li.active').index() + 1;
1197 $('.jjgg-carousel-links li').removeClass('active');
1198 $(".jjgg-carousel-links li:nth-child(" + varIndice + ")").addClass('active');
1199 });
1200
1201 $('.carousel-indicators button').click(function(){
1202 var varIndice = $(this).parent('li').index() + 1;
1203 $('.jjgg-carousel-links li').removeClass('active');
1204 $(".jjgg-carousel-links li:nth-child(" + varIndice + ")").addClass('active');
1205 });
1206});
1207
1208</script>
Azkenengo jarduera parlamentarioa
- Ekimenak
- Batzordeak
- Osoko batzarrak
- Kontrolerako osoko batzarrak
- Taldeburuen batzarra
- Aldizkari ofiziala
Agenda
-
{1} {0}ko ekitaldiak:
-
Gaurko ekitaldiak:
-
Hurrengo ekitaldiak
Ikusi jarduera parlamentarioa Ikusi jarduera parlamentarioa
Ikusi kultura-jarduerea Ikusi kultura-jarduerea
Une honetan ezin da informazio hori erakutsi, saiatu beranduago.
Título
Hasta el 25 de Noviembre
url documento21 Diciembre
22 Diciembre
Título
Hasta el 25 de Noviembre
22 Diciembre
Gernikako Batzar Etxeko bisita
Batzar Etxeko lorategien bisitea sarrera librekoa da eta ez da hitzordurik eskatu behar.
Ezagutu gure egoitzak
Gernikako Batzar Etxeko bisita
ENKARTERRIETAKO MUSEOA
Une honetan ezin da informazio hori eskuratu, saiatu beranduago
Emakumeen eta Gizonen Bardintasunerako Plana
Emakumeen eta Gizonen Bardintasunerako II. Planaren (2022-2025) bidez, ekintza gehiago bultzatzen gabilz gero eta erakunde bardinzaleagoa lortzeko.
Gehiago jakin nahi dot