Bibliobús Montnegre - Gènius

Ruta de navegació

Busca llibres, música i cinema al catàleg aladí

Bibliobús

S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> thereIsImage  [in template "10901#10934#BIBLIOBUS" at line 406, column 30]

----
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 thereIsImage || thereIsReferenceL...  [in template "10901#10934#BIBLIOBUS" at line 406, column 25]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2<#assign articles = journalArticleLocalService.getStructureArticles(groupId, 435087, 0,1,null)> 
3<#assign groupUtil = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
4<#assign group = groupUtil.getGroup(groupId)> 
5<#assign articleTitle=.vars["reserved-article-title"].data> 
6<#assign imgSrc=""> 
7<#assign thereIsReferenceLibrary = false> 
8<#assign thereAreObs = false> 
9<#setting locale=locale> 
10 
11<#assign geniusGroupId="6200569"> 
12<#if (scopeGroupId?number != geniusGroupId?number)> 
13	<div class="library-general-info bibliobus"> 
14		<h2>${articleTitle}</h2> 
15		<div class="valoraciones hidden-sm hidden-xs">						 
16			<div class="a2a_kit a2a_kit_size_32 a2a_default_style" data-a2a-url="${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" data-a2a-title="${articleTitle}" style="background-color: #e6e6e6;display: inline-block;" data-a2a-icon-color="#e6e6e6,#000000"> 
17				<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> 
18					<a class="a2a_dd" href="https://www.addtoany.com/share"></a> 
19					<a class="a2a_button_email"></a> 
20					<a class="a2a_button_print"></a> 
21				</div> 
22 
23				<script> 
24					var a2a_config = a2a_config || {}; 
25					a2a_config.onclick = false; 
26					a2a_config.locale = "es"; 
27 
28					/* MIGRATION FIX: jQuery ($(document).ready) -> DOMContentLoaded natiu */ 
29					document.addEventListener('DOMContentLoaded', function () { 
30						try { 
31							var script = document.createElement('script'); 
32							script.src = "https://static.addtoany.com/menu/page.js"; 
33							script.addEventListener('load', function () { 
34								try { 
35									a2a.init_all(); 
36								} catch (error) { 
37									console.error(error.message); 
38
39							}); 
40							document.head.appendChild(script); 
41						} catch (error) { 
42							console.error(error.message); 
43
44					}); 
45				</script> 
46			</div> 
47		</div> 
48		<div class="library-contact-data"> 
49			<div class="row info"> 
50				<div class="hidden-xs hidden-sm col-md-1"> 
51					<!--## Redes sociales			--> 
52					<#assign thereAreValidNetworks = false> 
53 
54					<#list socialNetwork.getSiblings() as network> 
55						<#if ( (network.getData() != "") && (network.socialNetworkUrl.getData() != "") )> 
56							<#assign thereAreValidNetworks = true > 
57							<#break> 
58						</#if>						 
59					</#list> 
60 
61					<#if (thereAreValidNetworks)> 
62						<span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.socialnetworks.label")}:</span>			 
63						<ul class="value">						 
64							<#list socialNetwork.getSiblings() as network> 
65								<#if ( (network.getData() != "") && (network.socialNetworkUrl.getData() != "") )> 
66									<li><a class="${network.getData()}" href="${htmlUtil.escape(network.socialNetworkUrl.getData())}">${network.getData()}</a></li>									 
67								</#if> 
68							</#list>	 
69						</ul>						 
70					</#if> 
71				 
72				</div> 
73				<div class="col-12 col-sm-7 col-md-7"> 
74				<#if referenceLibrary.getData()!=""> 
75					<#assign thereIsReferenceLibrary = true> 
76				</#if> 
77				<#-- MIGRATION FIX: inicialitzem imgBusSrc per evitar variable indefinida si cap branca assigna --> 
78				<#assign imgBusSrc = ""> 
79				<#if ((busImageFieldSet.busImage.getData())!"") != "" > 
80					<#assign imgBusSrc = busImageFieldSet.busImage.getData()> 
81				<#elseif ((busImageFieldSet.urlExterna2.getData())!"") != ""> 
82					<#assign imgBusSrc = busImageFieldSet.urlExterna2.getData()> 
83				</#if> 
84 
85					<#if (imgBusSrc!="" || thereIsReferenceLibrary)> 
86						<div class="imagen"> 
87							 
88							<#if (articles?has_content)> 
89								<#list articles as article> 
90									<#assign artTemp=article> 
91								</#list> 
92								<#-- MIGRATION FIX: sense saxReaderUtil; s'usa artTemp.getDocument() (document ja parsejat per l'article) + guarda null --> 
93								<#assign doc = artTemp.getDocument()!> 
94								<#assign imatgesBiblio = []> 
95								<#if doc?? && doc?has_content> 
96									<#assign root = doc.getRootElement()> 
97									<#assign imatgesBiblio = root.selectNodes("dynamic-element[@name='BloqueImagenFieldSet']/dynamic-element[@name='ImagenFieldSet']")> 
98								</#if> 
99								 
100								<#assign totalCount = 0> 
101								<#-- MIGRATION FIX: carrusel adaptat a Bootstrap 5 (data-bs-ride/slide-to/target/slide) --> 
102								<div id="carousal" class="carousel slide" data-bs-ride="carousel"> 
103									<ol class="carousel-indicators"> 
104										<#assign indexItem=0> 
105										<#assign classCarouselItem="active"> 
106										<li data-bs-target="#carousal" data-bs-slide-to="${indexItem}" class="${classCarouselItem}"></li> 
107										<#assign indexItem++> 
108										<#assign classCarouselItem=""> 
109										<#list imatgesBiblio as imatgeBibliop> 
110											<#assign jsonImatge=imatgeBibliop.getStringValue()?trim> 
111										 
112											<#if (validator.isNotNull(jsonImatge) && jsonImatge!="" && jsonImatge?starts_with('{'))> 
113												<#assign jsonObject=jsonFactoryUtil.createJSONObject(jsonImatge)> 
114												<#if jsonObject.has('groupId') && jsonObject.has('uuid')> 
115													<li data-bs-target="#carousal" data-bs-slide-to="${indexItem}" class="${classCarouselItem}"></li> 
116													<#assign classCarouselItem=""> 
117													<#assign indexItem++> 
118												</#if> 
119											</#if> 
120										</#list> 
121									</ol> 
122									<#-- MIGRATION FIX BS5: .carousel-inner wrapper obligatori --> 
123									<div class="carousel-inner"> 
124									<#assign classCarouselItem="active"> 
125									<#assign indexItem=0> 
126									<div class="carousel-item ${classCarouselItem}">  
127										 <a href="${(busImageFieldSet.busImage.getData())!""}"><img class="d-block w-100" src="${(busImageFieldSet.busImage.getData())!""}" /></a> 
128									</div> 
129									<#assign indexItem++> 
130									<#assign classCarouselItem="">		 
131									<#list imatgesBiblio as imatgeBibliop>	 
132																				  
133										<#assign jsonImatge=imatgeBibliop.getStringValue()?trim> 
134									 
135										<#if (validator.isNotNull(jsonImatge) && jsonImatge!="" && jsonImatge?starts_with('{'))> 
136											<#assign jsonObject=jsonFactoryUtil.createJSONObject(jsonImatge)> 
137											<#if jsonObject.has('groupId') && jsonObject.has('uuid')> 
138												<div class="carousel-item ${classCarouselItem}">  
139														<a href="/documents/${jsonObject.groupId}/${jsonObject.uuid}"><img class="d-block w-100" src="/documents/${jsonObject.groupId}/${jsonObject.uuid}" /></a> 
140												</div> 
141											</#if> 
142										 
143										</#if>										 
144										<#assign indexItem++>								 
145									</#list> 
146									</div> 
147									<a class="carousel-control-prev" href="#carousal" role="button" data-bs-slide="prev" data-bs-target="#carousal" aria-label="${languageUtil.get(locale, "contentlist.view.prev")}"> 
148										<span class="carousel-control-prev-icon" aria-hidden="true"></span> 
149									</a> 
150									<a class="carousel-control-next" href="#carousal" role="button" data-bs-slide="next" data-bs-target="#carousal" aria-label="${languageUtil.get(locale, "contentlist.view.next")}"> 
151										<span class="carousel-control-next-icon" aria-hidden="true"></span> 
152									</a> 
153								</div> 
154 
155							<#else> 
156								<img src="${htmlUtil.escape(imgBusSrc)}" alt="${name.getData()}" height="230" width="310" /> 
157							</#if> 
158						</div> 
159					</#if> 
160 
161 
162 
163 
164 
165				</div> 
166				<div class="col-12 col-sm-5 col-md-4"> 
167					<div class="biblio-data"> 
168						<dl> 
169 
170							<#if address.getData() != ""> 
171								<dt class="m1"><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.address.label")}:</span><span class="icon-address"></span></dt> 
172								<dd class="m1">${address.getData()}</dd> 
173							</#if> 
174 
175							<#if phone.getData() != ""> 
176								<dt><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.phone.label")}:</span><span class="icon-phone"></span></dt> 
177								<dd><span><a href="tel:${phone.getData()}">${phone.getData()}</a></span></dd> 
178							</#if> 
179 
180							<#if email.getData() != ""> 
181								<dt class="m1"><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.email.label")}:</span><span class="icon-email"></span></dt> 
182								<dd><a href="mailto:${email.getData()}">${email.getData()}</a></dd> 
183							</#if> 
184 
185							<!--## Oculto por si se vuelve a utilizar en un futuro 
186							## #if( $webUrl && ($webUrl.getData() != "") ) 
187							##	 <dt>Web</dt><dd>$webUrl.getData()</dd> 
188							## #end--> 
189 
190							<#if managerName.getData() != ""> 
191								<dt><span class="icon-manager"></span></dt><dd><strong>${languageUtil.get(locale, "bibliobus.bibliobusdetail.manager.label")}:</strong><br/>${managerName.getData()}</dd> 
192							</#if> 
193 
194							<#if thereIsReferenceLibrary> 
195								<dt></dt> 
196								<dd><span class="referenceLibrary">${languageUtil.get(locale, "bibliobus.bibliobusdetail.supporterlibrary.label")}:</span><br/><span>${referenceLibrary.getData()}</span></dd> 
197							</#if> 
198 
199							<#if statisticsUrl.getData() != ""> 
200								 <dt><span class="icon-pdf"></span></dt> 
201								 <dd><a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank">${languageUtil.get(locale, "statistics")}</a></dd>	 
202							</#if> 
203 
204 
205							<#if horariosUrl.getData() != ""> 
206								<dt><span class="icon-pdf"></span></dt> 
207								<dd><a href="${htmlUtil.escape(horariosUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.horarios.label")}</a></dd>	 
208							</#if> 
209							<#if photosPlansUrl.getData() != ""> 
210								<dt><span class="icon-pdf"></span></dt> 
211								<dd><a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}</a></dd>	 
212							</#if> 
213					 
214 
215							<dt></dt> 
216							<dd> 
217								<div class="btnbibliobus"> 
218									<#assign formPage=""> 
219									<#if locale?string == "ca_ES"> 
220										<#assign formPage="biblioteques/connecta-amb-bibliobus"> 
221									<#elseif locale?string == "es_ES"> 
222										<#assign formPage="biblioteques/conecta-con-bibliobus"> 
223									<#elseif locale?string == "en_US"> 
224										<#assign formPage="biblioteques/connect-with-the-bookmobile"> 
225									</#if> 
226									<a href="http://formularis.diba.cat/diba/${formPage}">${languageUtil.get(locale, "bibliobus.librarydetail.formulario.label")}</a>  
227								</div> 
228							</dd> 
229							</dl> 
230					</div> 
231				</div> 
232			</div> 
233 
234			<div class="row-fluid info-tablet hidden-xs hidden-md hidden-lg"> 
235				<div class="col-sm-12"> 
236					<dl> 
237						<#if statisticsUrl.getData() != ""> 
238							 <dt><span class="icon-pdf"></span></dt> 
239							 <dd><strong>${languageUtil.get(locale, "statistics")}</strong><br/><a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank">${languageUtil.get(locale, "view-data")}</a></dd>	 
240						</#if> 
241 
242						<#if photosPlansUrl.getData() != ""> 
243							<dt><span class="icon-pdf"></span></dt> 
244							<dd><strong>${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}</strong><br/><a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank">${languageUtil.get(locale, "view-data")}</a></dd>	 
245						</#if> 
246					</dl> 
247				</div> 
248			</div> 
249 
250 
251			<div class="row-fluid panels"> 
252				<#if obs.getData()!=""> 
253					<#assign thereAreObs=true> 
254				</#if> 
255 
256 
257				<#if thereAreObs> 
258 
259					<#-- MIGRATION FIX BS5: .panel .panel-default -> .card; .panel-heading -> .card-header; 
260					     .panel-body -> .card-body; .panel-collapse eliminat. --> 
261					<div class="card" id="library-obs"> 
262						<div class="card-header">			 
263							<h3 class="panel-title"> 
264								<a href="javascript:void(0);" onclick="return false;" data-bs-toggle="collapse" data-bs-target="#library-obsbodyContent"> 
265 
266									<span class="desplegable fa-solid fa-chevron-up"></span> &nbsp; ${languageUtil.get(locale, "bibliobus.librarydetail.obs.label")}:<span class="custom-icon"></span> 
267								</a> 
268							</h3>			 
269						</div> 
270						 <div id="library-obsbodyContent" class="collapse show"> 
271							<div class="card-body"> 
272								 ${obs.getData()} 
273							</div> 
274						</div> 
275					</div>		 
276				</#if> 
277				 
278				 	<div id="route"> 
279					 <h3>${languageUtil.get(locale, "bibliobus.bibliobusdetail.route.label")}:</h3> 
280					 	<#assign nBusStops = 0> 
281						<#list stop.getSiblings() as busStop> 
282 
283							<#if busStop.getData() != ""> 
284 
285								<#assign nBusStops++> 
286								<#assign nBusStopsBodyContent = nBusStops + "bodyContent"> 
287								<div class="card" id="parada${nBusStops}"> 
288									<div class="card-header"> 
289										<h4 class="panel-title"> 
290											<a href="javascript:void(0);" onclick="return false;" data-bs-toggle="collapse" data-bs-target="#parada${nBusStopsBodyContent}" class="collapsed"> 
291												<span class="desplegable fa-solid fa-chevron-down"></span> &nbsp;${busStop.getData()}: <span class="custom-icon"></span> 
292											</a> 
293										</h4> 
294									</div> 
295									<div id="parada${nBusStopsBodyContent}" class="collapse"> 
296										<div class="card-body"> 
297											<ul>	 
298												<#if busStop.shortDescription.getData() != "" > 
299													<div>${busStop.shortDescription.getData()}</div>  
300														<#if busStop.longDescription.getData() != ""> 
301															<div style="font-style: italic;"> ${busStop.longDescription.getData()}</div> 
302														</#if> 
303												</#if>	 
304 
305 
306												<#list busStop.month.getSiblings() as busMonth> 
307													<li>						 
308														 
309														<#if busMonth.monthCode.getData()!=""> 
310														<#assign dataMes=busMonth.monthCode.getData()?string+"/01/2000">		 
311														<#assign dataMes=dataMes?date("MM/dd/yyyy")>					 
312														${dataMes?string("MMMM")?capitalize}: 
313														</#if> 
314											 
315														<#assign thereAreValidDays = false> 
316														<#if busMonth.day.getSiblings()?has_content> 
317															<#list busMonth.day.getSiblings() as day> 
318																<#if day.getData() != ""> 
319																	<#assign thereAreValidDays = true> 
320																	<#break> 
321																</#if> 
322															</#list> 
323														</#if> 
324														 
325														<#if thereAreValidDays> 
326 
327															<ul> 
328 
329																<#list busMonth.day.getSiblings() as day> 
330																	<#if day.getData() != ""> 
331 
332																		<li class="tres">${day.getData()}: ${day.hour.getData()}</li> 
333 
334																	</#if> 
335																</#list> 
336 
337															</ul> 
338 
339														</#if> 
340 
341													</li> 
342 
343												</#list> 
344 
345 
346											</ul> 
347 
348											<#if busStop.timeDescription.getData() != ""> 
349												<p class="obs"><span class="label">${languageUtil.get(locale, "bibliobus.bibliobusdetail.warning.label")}:</span><span class="value">${busStop.timeDescription.getData()}</span></p> 
350											</#if> 
351										</div> 
352									</div> 
353								</div>					 
354 
355							</#if>						 
356						</#list> 
357					</div> 
358				</div>			 
359 
360 
361		</div>  
362 
363	</div> 
364	<script> 
365		/* MIGRATION FIX: jQuery -> JS natiu; només alterna la icòna (el desplegable el gestiona Bootstrap via data-bs-toggle) */ 
366		/* SPA FIX: DOMContentLoaded no dispara al navegar per Senna; usar readyState + Liferay.on('endNavigate') + guard per no duplicar handlers */ 
367		(function () { 
368			function bindDesplegableToggle() { 
369				document.querySelectorAll('h4 a, h3 a').forEach(function (link) { 
370					if (link.dataset.desplegableBound === '1') return; 
371					link.dataset.desplegableBound = '1'; 
372					link.addEventListener('click', function () { 
373						var icon = this.querySelector('span.desplegable'); 
374						if (icon) { 
375							icon.classList.toggle('fa-chevron-up'); 
376							icon.classList.toggle('fa-chevron-down'); 
377
378					}); 
379				}); 
380
381			if (document.readyState === 'loading') { 
382				document.addEventListener('DOMContentLoaded', bindDesplegableToggle); 
383			} else { 
384				bindDesplegableToggle(); 
385
386			if (window.Liferay && typeof Liferay.on === 'function') { 
387				Liferay.on('endNavigate', bindDesplegableToggle); 
388
389		})(); 
390	</script> 
391<#else> 
392<!--##GENIUS--> 
393 
394	<div class="genius library-general-info"> 
395 
396		<div class="library-contact-data"> 
397 
398			<#if busImage.getData() != ""> 
399				<#assign thereIsImage=true> 
400			</#if> 
401			<#if referenceLibrary.getData() != ""> 
402				<#assign thereIsReferenceLibrary=true> 
403			</#if> 
404 
405			<div class="detail"> 
406			<#if thereIsImage || thereIsReferenceLibrary> 
407				<div class="imagen" style="float:left; max-width:330px;"> 
408 
409					<#if thereIsImage> 
410						<img src="${htmlUtil.escape(busImage.getData())}" alt="${name.getData()}" /> 
411					</#if> 
412 
413					<#if thereIsReferenceLibrary> 
414						<div> 
415							<span class="referenceLibrary">${languageUtil.get(locale, "bibliobus.bibliobusdetail.supporterlibrary.label")}:<span>${referenceLibrary.getData()}</span></span> 
416						</div> 
417					</#if> 
418 
419						<#if statisticsUrl.getData() != ""> 
420							<div> 
421							<br/>${languageUtil.get(locale, "statistics")}: <a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank"><img src="/image/image_gallery?img_id=5416321&t=1353937771460" /> ${languageUtil.get(locale, "view-data")}</a>	 
422						</div> 
423					</#if> 
424 
425					<#if photosPlansUrl.getData() != ""> 
426						<br/>${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}: <a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank"><img src="/image/image_gallery?img_id=5416321&t=1353937771460" /> ${languageUtil.get(locale, "view-data")}</a>	 
427					</#if> 
428 
429				</div> 
430			</#if> 
431 
432			<dl> 
433 
434				<#if address.getData() != ""> 
435					<dt class="m1">${languageUtil.get(locale, "bibliobus.bibliobusdetail.address.label")}:</dt><dd class="m1">${address.getData()}</dd> 
436				</#if> 
437 
438				<#if phone.getData() != ""> 
439					<dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.phone.label")}:</dt><dd><span><a href="tel:${phone.getData()}">${phone.getData()}</a></span></dd> 
440				</#if> 
441 
442				<#if email.getData() != ""> 
443					<dt class="m1">${languageUtil.get(locale, "bibliobus.bibliobusdetail.email.label")}:</dt><dd><a href="mailto:${email.getData()}">${email.getData()}</a></dd> 
444				</#if> 
445 
446				<!--## Oculto por si se vuelve a utilizar en un futuro 
447				## #if( $webUrl && ($webUrl.getData() != "") ) 
448				##	 <dt>Web</dt><dd>$webUrl.getData()</dd> 
449				## #end--> 
450 
451				<#if managerName.getData() != ""> 
452					<dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.manager.label")}:</dt><dd>${managerName.getData()}</dd> 
453				</#if> 
454 
455				<!--##Horarios y botón formulario--> 
456				<#if horariosUrl.getData() != ""> 
457					<dd><a href="${htmlUtil.escape(horariosUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.horarios.label")}</a></dd>	 
458				</#if> 
459 
460						<dt></dt> 
461						<dd> 
462							<div class="btnbibliobus"> 
463									<#assign formPage=""> 
464									<#if locale == "ca_ES"> 
465										<#assign formPage="biblioteques/connecta-amb-bibliobus"> 
466									<#elseif locale == "es_ES"> 
467										<#assign formPage="biblioteques/conecta-con-bibliobus"> 
468									<#elseif locale == "en_US"> 
469										<#assign formPage="biblioteques/connect-with-the-bookmobile"> 
470									</#if> 
471									<a href="http://formularis.diba.cat/diba/${formPage}">${languageUtil.get(locale, "bibliobus.librarydetail.formulario.label")}</a>  
472							</div> 
473						</dd> 
474				 
475 
476				<!--## Redes sociales--> 
477 
478				<#if socialNetwork.getData()!=""> 
479 
480					<#assign thereAreValidNetworks = false> 
481 
482					<#list socialNetwork.getSiblings() as network> 
483 
484						<#if network.getData() != "" && network.socialNetworkUrl.getData() != ""> 
485							<#assign thereAreValidNetworks = true> 
486							<#break> 
487						</#if> 
488 
489					</#list> 
490 
491					<#if thereAreValidNetworks> 
492 
493						<dt> 
494 
495							<dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.socialnetworks.label")}:</dt> 
496 
497							<dd> 
498								<ul class="value"> 
499 
500									<#list socialNetwork.getSiblings() as network> 
501 
502										<#if network.getData() != "" && network.socialNetworkUrl.getData() != ""> 
503 
504											<li><a href="${htmlUtil.escape(network.socialNetworkUrl.getData())}">${network.getData()}</a></li> 
505 
506										</#if> 
507 
508									</#list> 
509 
510								</ul> 
511							</dd> 
512 
513						</dt> 
514 
515					</#if> 
516 
517				</#if><!--	## de redes sociales--> 
518 
519			</dl> 
520			</div> 
521 
522			 
523 
524		<div class="mainDiv"> 
525 
526			<!--## Observaciones--> 
527			<#if obs.getData()!=""> 
528				<#assign thereAreObs=true> 
529			</#if> 
530 
531			  
532				<#if thereAreObs> 
533				<div id="library-obs" class="expandableCollapsibleDiv"> 
534							<span id="icon-collapse" class="fa-solid fa-angle-up"></span> 
535							<h4> ${languageUtil.get(locale, "bibliobus.librarydetail.obs.label")}:</h4> 
536				 		<div id="library-obsbodyContent"> 
537	 			 		${obs.getData()} 
538					</div> 
539				</div> 
540			</#if> 
541 
542 
543 
544			<!--## Itinerario--> 
545 
546 
547			<div id="route"> 
548 
549 
550				<h3>${languageUtil.get(locale, "bibliobus.bibliobusdetail.route.label")}:</h3> 
551				<#assign nBusStops = 0> 
552 
553				<#list stop.getSiblings() as busStop> 
554 
555					<#if busStop.getData() != ""> 
556 
557						<#assign nBusStops++> 
558						<#assign nBusStopsBodyContent = nBusStops + "bodyContent"> 
559						<div id="parada${nBusStops}" class="expandableCollapsibleDiv"> 
560							<span id="icon-collapse" class="fa-solid fa-angle-down"></span> 
561							<h4> ${busStop.getData()}: </h4> 
562							<div id="parada${nBusStopsBodyContent}" style="display: none;"> 
563									<ul> 
564 
565												<#if busStop.shortDescription.getData() != ""> 
566													<div>${busStop.shortDescription.getData()}</div>  
567														<#if busStop.longDescription.getData() != ""> 
568															<div style="font-style: italic;"> ${busStop.longDescription.getData()} </div> 
569														</#if> 
570												</#if> 
571 
572										<#list busStop.month.getSiblings() as busMonth> 
573 
574											<li> 
575 
576												<#if busMonth.monthCode.getData()!=""> 
577														<#assign dataMes=busMonth.monthCode.getData()?string+"/01/2000">		 
578														<#assign dataMes=dataMes?date("MM/dd/yyyy")>					 
579														${dataMes?string("MMMM")?capitalize}: 
580												</#if> 
581												 
582												<#assign thereAreValidDays = false> 
583												<#list busMonth.day.getSiblings() as day> 
584													<#if (day.getData() != "" )> 
585														<#assign thereAreValidDays = true> 
586														<#break> 
587													</#if> 
588												</#list> 
589												 
590												<#if (thereAreValidDays )> 
591 
592													<ul> 
593 
594														<#list busMonth.day.getSiblings() as day> 
595															<#if (day.getData() != "" )> 
596 
597																<li class="tres">${day.getData()}: ${day.hour.getData()}</li> 
598 
599															</#if> 
600														</#list> 
601 
602													</ul> 
603 
604												</#if> 
605 
606											</li> 
607 
608										</#list> 
609 
610									</ul> 
611 
612									<#if busStop.timeDescription.getData() != ""> 
613										<p class="obs"><span class="label">${languageUtil.get(locale, "bibliobus.bibliobusdetail.warning.label")}:</span><span class="value">${busStop.timeDescription.getData()}</span></p> 
614									</#if> 
615 
616					 		</div> <!-- ## stop$nBusStopsbodyContent--> 
617	 				 </div> 
618					</#if> 
619 
620				</#list> 
621 
622			</div> 
623 
624		</div> <!--## .library-contact-data --> 
625 
626	</div> <!--## .library-general-info --> 
627 
628 
629	<script type="text/javascript"> 
630		/* MIGRATION FIX: jQuery (.show/.hide/:visible) -> JS natiu */ 
631		document.addEventListener('DOMContentLoaded', function () { 
632			var spans = document.querySelectorAll('.expandableCollapsibleDiv > span'); 
633			spans.forEach(function (span) { 
634				span.addEventListener('click', function () { 
635					var container = this.closest('.expandableCollapsibleDiv'); 
636					if (!container) { return; } 
637					var content = container.querySelector('div'); 
638					if (!content) { return; } 
639					var hidden = window.getComputedStyle(content).display === 'none'; 
640					if (hidden) { 
641						content.style.display = 'block'; 
642						this.className = 'fa-solid fa-angle-up'; 
643					} else { 
644						content.style.display = 'none'; 
645						this.className = 'fa-solid fa-angle-down'; 
646
647				}); 
648			}); 
649		}); 
650	</script> 
651<style> 
652.genius .icon-collapse-top:before { 
653	content: "\f151"; 
654
655.genius .icon-collapse:before { 
656	content: "\f150";} 
657.genius [class^=icon-]:before, [class*=" icon-"]:before { 
658	text-decoration: inherit; 
659	display: inline-block; 
660	speak: none; 
661
662</style> 
663 
664</#if> 

Agenda

No hi ha resultats per a aquesta cerca