Intesa Mistral LUG05 Serie I, II
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> label_gestione_separata_associata [in template "10154#10194#TEMPLATE_RENDIMENTI_E_QUOTAZIONI" at line 1277, column 72] ---- Tip: If the failing expression is known to be 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: #assign titolo_gs_associata = label_g... [in template "10154#10194#TEMPLATE_RENDIMENTI_E_QUOTAZIONI" at line 1277, column 41] ----
1<#-- Questo web content deve poter utilizzare CSS e JS di Intesa_Vita-theme7 o di ISPVita-theme, a seconda di come e' configurata la pagina -->
2
3<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/jquery.jqplot.min.css" rel="stylesheet" />
4<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/jquery-ui.css" rel="stylesheet" />
5<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/rendimentoDettaglioValore.css" rel="stylesheet" />
6
7<#if (impostaDataDefault?has_content && getterUtil.getBoolean(impostaDataDefault.getData()))>
8 <#assign data_inizio_default_grafico_Data = getterUtil.getBoolean(impostaDataDefault.data_inizio_default_grafico.getData())>
9<#else>
10 <#assign data_inizio_default_grafico_Data = 0>
11</#if>
12
13
14
15
16<#assign _scopeThemplateNameSite = themeDisplay.getScopeGroup()>
17<#assign groupId = themeDisplay.getScopeGroup().getGroupId()>
18
19<#if data_inizio_default_grafico_Data gt 0 >
20 <#assign data_inizio_default_grafico_DateObj = dateUtil.newDate(data_inizio_default_grafico_Data)>
21 <#assign dataDefaultVisualizzazione = dateUtil.getDate(data_inizio_default_grafico_DateObj, "yyyy/MM/dd", locale)>
22 <div id="dataDefaultVisualizzazionediv" style="display:none;">${dataDefaultVisualizzazione}</div>
23<#else>
24 <div id="dataDefaultVisualizzazionediv" style="display:none;"></div>
25</#if>
26
27<#assign logaritmica = false>
28<#if Abilita_scala_logaritmica?has_content>
29 <#assign logaritmica = getterUtil.getBoolean(Abilita_scala_logaritmica.getData())>
30</#if>
31
32<#if groupLocalService.getGroup(groupId).getName()?contains("areapubblica (Staging)") || groupLocalService.getGroup(groupId).getName()?contains("areapubblica")>
33
34 <#if Fondo_In_valuta?? && getterUtil.getBoolean(Fondo_In_valuta.getData())> <#-- Se Fondo_In_valuta = true -->
35 <#-- INIZIO GS IN VALUTA -->
36 <#assign localeIT = localeUtil.fromLanguageId("it")>
37 <#assign currentGroup = groupLocalService.getGroup(groupId)>
38 <#assign checkDisplayDate = !currentGroup.isStagingGroup()>
39 <#assign user = "">
40 <#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!="">
41 <#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))>
42 <#else>
43 <#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))>
44 </#if>
45
46 <#assign current_url = request.getAttribute("CURRENT_URL")>
47 <#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))>
48 <#assign catId = getterUtil.getLong(catIdStr)>
49 <!-- catIdStr - catId -->
50 <#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))>
51 <#assign subcatId = getterUtil.getLong(subcatIdStr)>
52 <!-- subcatIdStr - subcatId -->
53 <#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))>
54 <!-- categoria -->
55 <#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))>
56 <!-- $sottoCategoria -->
57
58
59 <!-- Take layout id -->
60 <#assign currentLayoutId = themeDisplay.getPlid()>
61 <#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)>
62
63 <!-- parent layoutId -->
64 <#assign currentLayoutParentPlid = currentLayout.getParentPlid()>
65 <#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid)>
66
67
68 <#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()>
69 <#if validator.isNull(catKey)>
70 <#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()>
71 </#if>
72
73 <#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()>
74
75 <#assign isOICR = false>
76 <!-- pretitolo -->
77 <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili">
78 <#assign pre_titolo_rendimento = "Gestione Separata">
79 <#elseif categoria?lower_case == "index linked">
80 <#assign pre_titolo_rendimento = "Indice">
81 <#elseif categoria?lower_case == "oicr">
82 <#assign pre_titolo_rendimento = "OICR">
83 <#assign isOICR = true>
84 <#else>
85 <#assign pre_titolo_rendimento = "Fondo">
86 </#if>
87
88 <!-- valore dei fondi dal web content -->
89 <#assign valoreFondoUno = confTool.getValoreFondoFromStr(valore_1.getData(), locale)>
90
91 <#if getterUtil.getBoolean(Fondo_In_valuta.getData())>
92 <!-- titolo -->
93 <#assign titolo_rendimento = Titolo_rendimento.getData()>
94
95 <#assign valutaFondoUno = valuta1.getData()>
96 <#assign ultimaDataCambio = dateUtil.getDate(confTool.getLatestTassoDiCambio().getDataCambio(), "dd/MM/yyyy", localeIT)>
97
98 </#if>
99
100 <!-- INIZIO PRIMO BLOCCO -->
101
102 <#assign titolo_gs_associata = label_gestione_separata_associata.getData()>
103 <#assign titolo_da_visualizzare = titolo_rendimento>
104
105 <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) && validator.isNotNull(titolo_gs_associata)>
106 <#if categoria?lower_case == "previdenza">
107 <#assign titolo_da_visualizzare = titolo_gs_associata>
108 </#if>
109 </#if>
110 <div class="boxesDettaglio togliMargin">
111 <div>
112 <div class="supTitle capitalize">${pre_titolo_rendimento}</div>
113 <h1 class="titoloRendimento">${titolo_da_visualizzare}</h1>
114 </div>
115
116 <!-- blocco valore corrente valore protetto -->
117
118 <script type="text/javascript">
119
120 var divisaSimboloMap = {
121 'EUR': '€',
122 'USD': '$',
123 '':'',
124 '%':'%'
125 };
126
127 jQuery(document).ready(function(){
128 var listaValuta=jQuery(".titoloValuta");
129 if (listaValuta!=null){
130 for (var i=0;i<listaValuta.length;i++){
131 if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){
132 var listaValuta_split = listaValuta.get(i).innerHTML.split(',');
133 var parteIntera = listaValuta_split[0];
134 if(listaValuta_split[1].indexOf(" ")){
135 var listaValuta1_split = listaValuta_split[1].split(" ");
136 var parteDecimale = listaValuta1_split[0];
137 var parteValuta = listaValuta1_split[1];
138 }else{
139 var parteDecimale = listaValuta_split[1];
140 var parteValuta = "";
141 }
142
143 var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:"");
144 console.log(parteValutaMap + "-" + parteValuta );
145 var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta);
146 listaValuta.get(i).innerHTML = html;
147 }else{
148 console.log(listaValuta.get(i).innerHTML);
149 if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){
150 var listaValuta_split = listaValuta.get(i).innerHTML.split(" ");
151 var parteIntera = listaValuta_split[0];
152 var parteValuta = listaValuta_split[1];
153 var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:"");
154 console.log(parteValutaMap + "-" + parteValuta );
155 var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta);
156 listaValuta.get(i).innerHTML = html;
157 }
158 }
159 }
160 }
161 });
162 </script>
163
164 <!-- blocco a singola colonna -->
165 <div class="bloccoValori" >
166 <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4>
167 <div class="bloccoValuta">
168 <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3>
169 <h6 class="dataValuta">Aggiornato al ${ultimaDataCambio}</h6>
170 </div>
171 </div>
172
173 </div>
174 <!-- FINE PRIMO BLOCCO -->
175
176 <div class="template_rendimenti_e_quotazioni">
177 <!-- INIZIO BLOCCO (GRAFICO STORICO) -->
178 <div class="boxesDettaglio storicGraph">
179 <#assign _listaTassiDiCambio = confTool.getTassoDiCambio()>
180 <div class="reset">
181 <h5 class="titolo">
182 Andamento del tasso di cambio Euro/Dollari rilevato alle 14:00 ora italiana. <small class="">Dati aggiornati al ${ultimaDataCambio}.</small>
183 </h5>
184 <#if _listaTassiDiCambio?size gt 0>
185 <div class="graficoRendimento" >
186 <div id="chartdiv"></div>
187 </div>
188 <div class="datePickers reset">
189 <p class="inizio">
190 <input type="text" class="datePicker" id="datepickerDa" value="" />
191 </p>
192 <p class="fine">
193 <input type="text" class="datePicker" id="datepickerA" value="" />
194 </p>
195 </div>
196 <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p>
197 <p class="reset" style="font-style:italic">
198 Attenzione: i valori passati non sono indicativi di quelli futuri.
199 </p>
200 </#if>
201 </div>
202 </div>
203 <!-- FINE BLOCCO GRAFICO -->
204
205 <!-- BLOCCO PROSPETTO -->
206 <#if !(
207 !Colonna_prospetto.getSiblings()?has_content ||
208 (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' &&
209 (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||
210 (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='')
211 )))>
212 <div class="boxesDettaglio togliMargin">
213 <div class="reset">
214 <h5 class="titolo prospetto">${label_prospetto.getData()}</h5>
215 <p class="">${descrizione_prospetto.getData()}</p>
216 </div>
217
218 <#if $Colonna_prospetto.getSiblings()?has_content>
219 <div class="table">
220
221 <div class="row theader">
222 <div class="cell">
223 <!-- prima colonnavuota -->
224 </div>
225
226 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
227 <div class="cell">
228 ${cur_Colonna_prospetto.getData()}
229 </div>
230 </#list>
231
232 </div>
233
234 <#if Tipo_generazione_righe_prospetto.getData()=="dinamico">
235
236 <#if $Nome_Riga_Prospetto.getSiblings()?has_content>
237 <#assign contatore_righe = 0>
238 <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto>
239
240 <div class="row">
241 <div class="cell">
242 <div class="">${cur_Nome_Riga_Prospetto.getData()}</div>
243 </div>
244
245 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>
246 <div class="cell">
247 <#assign contatore_allegati = 0>
248 <#assign allegatoUrl = ''>
249
250 <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato>
251 <#if contatore_allegati == contatore_righe>
252 <#assign allegatoUrl = allegato.getData()>
253 </#if>
254 <#assign contatore_allegati = contatore_allegati + 1>
255 </#list>
256
257 <#assign dlFileVersion = ''>
258 <#if validator.isNotNull(allegatoUrl)>
259 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
260 </#if>
261 <#if validator.isNotNull(dlFileVersion)>
262 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
263 <#else>
264 <div>—</div>
265 </#if>
266 </div>
267 </#list>
268 </div>
269
270 <#assign contatore_righe = contatore_righe + 1>
271 </#list>
272
273 </div>
274
275 </#if>
276
277 </#if>
278 </#if>
279
280
281 <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali">
282 <div class="row">
283 <div class="cell">
284 <div class="">Composizione al 31/03</div>
285 </div>
286
287 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>
288 <div class="cell">
289 <#assign contatore_allegati = 0>
290 <#assign allegatoUrl = ''>
291 <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato>
292 <#if contatore_allegati == 0>
293 <#assign allegatoUrl = allegato.getData()>
294 </#if>
295 <#assign contatore_allegati = contatore_allegati + 1>
296 </#list>
297
298 <#assign dlFileVersion = ''>
299 <#if validator.isNotNull(allegatoUrl)>
300 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
301 </#if>
302 <#if validator.isNotNull(dlFileVersion)>
303 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
304 <#else>
305 <div>—</div>
306 </#if>
307 </div>
308 </#list>
309
310 </div>
311
312
313 <div class="row">
314 <div class="cell">
315 <div class="">Composizione al 30/06</div>
316 </div>
317
318 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2>
319 <div class="cell">
320 <#assign contatore_allegati = 0>
321 <#assign allegatoUrl = ''>
322 <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato>
323 <#if contatore_allegati == 1>
324 <#assign allegatoUrl = allegato.getData()>
325 </#if>
326 <#assign contatore_allegati = contatore_allegati + 1>
327 </#list>
328
329 <#assign dlFileVersion = ''>
330 <#if validator.isNotNull(allegatoUrl)>
331 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
332 </#if>
333 <#if validator.isNotNull(dlFileVersion)>
334 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
335 <#else>
336 <div>—</div>
337 </#if>
338 </div>
339 </#list>
340
341 </div>
342
343
344 <div class="row">
345 <div class="cell">
346 <div class="">Composizione al 30/09</div>
347 </div>
348
349 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3>
350 <div class="cell">
351 <#assign contatore_allegati = 0>
352 <#assign allegatoUrl = ''>
353 <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato>
354 <#if contatore_allegati == 2>
355 <#assign allegatoUrl = allegato.getData()>
356 </#if>
357 <#assign contatore_allegati = contatore_allegati + 1>
358 </#list>
359
360 <#assign dlFileVersion = ''>
361 <#if validator.isNotNull(allegatoUrl)>
362 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
363 </#if>
364 <#if validator.isNotNull(dlFileVersion)>
365 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
366 <#else>
367 <div>—</div>
368 </#if>
369 </div>
370 </#list>
371
372 </div>
373
374 <div class="row">
375 <div class="cell">
376 <div class="">Composizione al 31/12</div>
377 </div>
378
379 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4>
380 <div class="cell">
381 <#assign contatore_allegati = 0>
382 <#assign allegatoUrl = ''>
383 <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato>
384 <#if contatore_allegati == 3>
385 <#assign allegatoUrl = allegato.getData()>
386 </#if>
387 <#assign contatore_allegati = contatore_allegati + 1>
388 </#list>
389
390 <#assign dlFileVersion = ''>
391 <#if validator.isNotNull(allegatoUrl)>
392 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
393 </#if>
394 <#if validator.isNotNull(dlFileVersion)>
395 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
396 <#else>
397 <div>—</div>
398 </#if>
399 </div>
400 </#list>
401
402 </div>
403 </#if>
404
405 ##</div>
406 </div>
407 </#if>
408
409 <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO -->
410 <#if !(
411 !Colonna_prospetto.getSiblings()?has_content ||
412 (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' &&
413 (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||
414 (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='')
415 )))>
416 <div class="table_smart secondaTab prospetto">
417 <table>
418 <tbody>
419
420 <#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData() > <!-- in realta per gli smart le righe sono colonne -->
421 <#if tipo_colonne_prospetto == "dinamico">
422
423 <tr class="intestazione_smart">
424 <td colspan="1">Anno</td>
425 <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto>
426 <td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td>
427 </#list>
428 </tr>
429
430 <#if Colonna_prospetto.getSiblings()?has_content>
431 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
432 <#assign velocityCount = cur_Colonna_prospetto?index/>
433 <#if velocityCount % 2 == 0>
434 <tr class="pari">
435 <#elseif velocityCount % 2 == 1>
436 <tr class="dispari">
437 </#if>
438
439 <td>${cur_Colonna_prospetto.getData()}</td>
440 <#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>
441 <#assign allegatoUrl = ''>
442 <td>
443 <#assign allegatoUrl = allegato.getData()>
444 <#assign dlFileVersion = ''>
445 <#if validator.isNotNull(allegatoUrl)>
446 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
447 </#if>
448 <#if validator.isNotNull(dlFileVersion)>
449 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
450 <#else>
451 <div>—</div>
452 </#if>
453 </td>
454 </#list>
455 </tr>
456 </#list>
457 </#if>
458
459 <#elseif tipo_colonne_prospetto == "quadrimestrali">
460
461 <tr class="intestazione_smart">
462 <td colspan="1">Anno</td>
463 <td colspan="1">31Mar</td>
464 <td colspan="1">30Giu</td>
465 <td colspan="1">30Set</td>
466 <td colspan="1">31Dic</td>
467 </tr>
468
469 <#if Colonna_prospetto.getSiblings()?has_content>
470
471 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
472 <#assign velocityCount = cur_Colonna_prospetto?index/>
473 <#if velocityCount % 2 == 0>
474 <tr class="pari">
475 <#elseif velocityCount % 2 == 1>
476 <tr class="dispari">
477 </#if>
478
479 <td>${cur_Colonna_prospetto.getData()}</td>
480
481 <#assign contatore_allegati = 0>
482 <#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>
483 <#assign allegatoUrl = ''>
484 <td>
485 <#assign allegatoUrl = allegato.getData()>
486 <#assign dlFileVersion = ''>
487 <#if validator.isNotNull(allegatoUrl)>
488 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
489 </#if>
490 <#if validator.isNotNull(dlFileVersion)>
491 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
492 <#else>
493 <div>—</div>
494 </#if>
495 </td>
496 </#list>
497 </tr>
498 </#list>
499 </#if>
500 </#if>
501 </tbody>
502 </table>
503 </div>
504 </#if>
505 <!-- FINE BLOCCO SMARTPHONE PROSPETTO -->
506
507 </div>
508 <!-- FINE SECONDO BLOCCO -->
509
510 <!-- BLOCCO (DOWNLOADS BOXES) -->
511
512 <#if !( Download_box_label?? && Download_box_label.getData()?has_content &&
513 !Download_box_label.getSiblings()?has_content ||
514 (Download_box_label.getSiblings()?size==1 &&
515 (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') &&
516 (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content ||
517 (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 &&
518 (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='')
519 ))))>
520
521 <#list Download_box_label.getSiblings() as cur_Download_box_label>
522 <div class="boxesDettaglio togliMargin">
523 <div class="reset download">
524 <#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())>
525 <#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size>
526 <h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5>
527 <#else>
528 <h5 class="titolo download">${cur_Download_box_label.getData()}</h5>
529 </#if>
530 <#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content>
531 <div class="archivi">
532 <#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box>
533
534 <#assign fileEntryPath = cur_Download_box.Allegato_url.getData()>
535
536 <#assign dlFileVersion = ''>
537 <#if validator.isNotNull(fileEntryPath)>
538 <#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)>
539 </#if>
540 <#if validator.isNotNull(dlFileVersion)>
541 <#if cur_Download_box.tipo_allegato.getData()=="excel">
542 <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank">
543 <h6>
544 <span class="icona icon-copy"></span>
545 <#else>
546 <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank">
547 <h6>
548 <span class="icona icon-file"></span>
549 </#if>
550 <div>${cur_Download_box.getData()}</div>
551 </h6>
552 </a>
553 </#if>
554 </#list>
555 </div>
556 </#if>
557 </div>
558 </div>
559 </#list>
560 </#if>
561
562 <!-- FINE BLOCCO (DOWNLOADS BOXES) -->
563
564 <script type="text/javascript">
565 jQuery(document).ready(function(){
566
567 /* Nasconde, se presente lo span che contiene la pagina di dettaglio */
568 if(jQuery(".breadcrumbs .elementi span").length) {
569 jQuery(".breadcrumbs .elementi span").hide();
570 }
571
572 if(jQuery("html").is(".smartphone"))
573 {
574 convertTableToDivs();
575 swipeProspetto();
576 jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>");
577 jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>");
578 jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items");
579
580 jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>");
581
582 var bullet=jQuery('<span class="carousel-menu-index">•</span>');
583
584 /* creo l'elenco delle slide */
585 jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){
586 bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu");
587 });
588
589 var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu');
590
591 car.play();
592 }
593 });
594
595 function updateAndamentoLabel(){
596 jQuery("#andamentoDa").html(jQuery("#datepickerDa").val());
597 jQuery("#andamentoA").html(jQuery("#datepickerA").val());
598 }
599
600 function applyGradientOnPlot(){
601 var canvasSeries = jQuery(".jqplot-series-canvas")[0];
602 var ctx = canvasSeries.getContext("2d");
603 var my_gradient=ctx.createLinearGradient(0,0,0,300);
604 my_gradient.addColorStop(0, "rgba(251,168,129,0.6)");
605 my_gradient.addColorStop(1, "rgba(251,168,129,0.1)");
606 ctx.fillStyle = my_gradient;
607 ctx.fill();
608 }
609
610 function updateDatePickers(){
611 //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding.
612
613 var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text();
614
615 if(dataInizialeDefault.length>0){
616 var dataNuova = new Date (dataInizialeDefault);
617
618 jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault));
619 }else{
620 jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min));
621 }
622
623
624 jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max));
625 jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min));
626 jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max));
627 jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min));
628 jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max));
629 }
630
631 function aggiornaPerformance(dataIniziale, dataFinale){
632 var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale);
633
634 var valoreIniziale = dati[0][1];
635 var valoreFinale = dati[dati.length - 1][1];
636
637 var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100;
638 if(!isNumber(performance)){
639 performance = 0;
640 }
641 var performance_rounded = +performance.toFixed(2);
642
643 var performance_split = [];
644 if(performance_rounded.toString().indexOf(".")>0){
645 performance_split = performance_rounded.toString().split(".");
646 }else{
647 performance_split[0] = performance_rounded;
648 performance_split[1] = 0;
649 }
650 jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %");
651 }
652
653 function postDrawProcessing(){
654 console.log("postDrawHooks!");
655 applyGradientOnPlot();
656
657 var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min);
658 var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max);
659
660 aggiornaPerformance(dataIniziale, dataFinale);
661
662 var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale)
663 var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale);
664
665 //aggiorno solo se diverso per evitare di far scattare onchange
666 //if (dataInizialeStr!=jQuery("#datepickerDa").val()) {
667 console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr);
668 jQuery("#datepickerDa").datepicker("setDate", dataIniziale);
669 //}
670 //if (dataFinaleStr!=jQuery("#datepickerA").val()) {
671 console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr);
672 jQuery("#datepickerA").datepicker("setDate", dataFinale);
673 //}
674
675 updateAndamentoLabel();
676 }
677
678 function isNumber(n) {
679 return !isNaN(parseFloat(n)) && isFinite(n);
680 }
681
682 jQuery(document).ready(function() {
683
684 //window.primavolta = true;
685
686 jQuery.jsDate.regional['it-IT'] = {
687 monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
688 monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'],
689 dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'],
690 dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
691 formatString: '%d-%m-%Y %H:%M:%S'
692 };
693 jQuery.jsDate.regional.getLocale();
694
695 Date.prototype.sameDay = function(d) {
696
697
698 return (this.getFullYear() === d.getFullYear()
699 && this.getMonth() === d.getMonth()
700 && this.getDate() === d.getDate());
701
702 }
703
704 //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione.
705 //window.gestioneGrafico garantisce che è una variabile globale! -RC
706 window.gestioneGrafico = {
707
708 //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC
709 pad: 1.1,
710
711 tuttiIdatiDelGrafico : function() {
712
713 var tuttiIDati =[];
714
715 <#assign _listaTassiDiCambio = confTool.getTassoDiCambio()>
716
717 <#list _listaTassiDiCambio as tassoDicambio>
718 tuttiIDati.push([this.getADate('${tassoDicambio.getDataCambioString()}'),'${tassoDicambio.getBfixAsk()}']);
719 </#list>
720
721 //ritorno una copia dell'array che contiene tutti i dati
722 return tuttiIDati.slice();
723 },
724
725 getADate: function (dataStr)
726 {
727 //console.log("getADate dataStr" + dataStr);
728 if (dataStr == null)
729 return;
730 var partiData = dataStr.split("/");
731 var day = partiData[0];
732 var month = partiData[1] - 1;
733 var year = partiData[2];
734 //console.log("year " + year + " month" + month + " day " + day)
735 var aDate = new Date(year, month, day, 0, 0, 0, 0);
736 return aDate;
737 },
738
739 datiTraLeDate : function (dataDa, dataA){
740 //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA);
741
742 var tuttiIdati = this.tuttiIdatiDelGrafico();
743 //cerco l'elemento minimo superiore a dataDa
744 //cerco l'elemnto massimo inferiore a dataA
745 //l'array di dati originali è gia ordinato per data
746 var indiceDellaDataMinore = -1;
747 var indiceDellaDataMaggiore = -1;
748 var currDate;
749 //cerco la prima data subito superiore a dataDa
750 for (var i=0; i< tuttiIdati.length; i++) {
751 currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0);
752 if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) {
753 indiceDellaDataMinore = i;
754 break;
755 }
756 }
757 //cerco la prima data subito inveriore a dataA
758 for (var i=tuttiIdati.length -1; i>=0; i--) {
759 currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0);
760 if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) {
761 indiceDellaDataMaggiore = i;
762 break;
763 }
764 }
765 //a questo punto ho gli indici delle date minore e maggiore, taglio l'array
766 var nDiElementi = indiceDellaDataMaggiore - indiceDellaDataMinore + 1;
767 console.log("nDiElementi" + nDiElementi);
768 var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi);
769 //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]]
770 if (nuovoRange.length == 0){
771 console.log("ritorno un range vuoto");
772 }
773
774 return nuovoRange;
775 },
776 getAxisBounds: function(dati, pad, dataDa, dataA){
777 var _pad = (pad==null||typeof pad == 'undefined')?0:pad;
778 var _dataDa = typeof dataDa == 'undefined'?null:dataDa;
779 var _dataA = typeof dataA == 'undefined'?null:dataA;
780
781
782 var minXVal = null;
783 var maxXVal = null;
784 //Vogliamo che Y parta da 0 o dal minimo valore minore di 0
785 var minYVal = null;
786 var maxYVal = null;
787
788 for(var i=0; i<dati.length; i++){
789 var valY = parseFloat(dati[i][1]);
790 if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){
791 minXVal = dati[i][0];
792 }
793 if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){
794 maxXVal = dati[i][0];
795 }
796 if(minYVal==null||valY<minYVal){
797 minYVal = valY;
798 }
799 if(maxYVal==null||valY>maxYVal){
800 maxYVal = valY;
801 }
802 }
803
804 if(dataDa!=null){
805 minXVal = dataDa;
806 }
807 if(dataA!=null){
808 maxXVal = dataA;
809 }
810
811 var padX = 0;
812 var padY = 0;
813 if(dati.length>1){
814 padX = ((maxXVal - minXVal)*(pad-1))/2;
815 // padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2;
816 padY = ((maxYVal - minYVal)*(pad-1))/2;
817 }else{
818 padX = 86401000;
819 padY = maxYVal*(pad-1);
820 }
821
822 if(padY<0){
823 padY=-padY;
824 }else if(padY==0){
825 padY=2;
826 }
827
828 var bounds = {
829 minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX),
830 maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX),
831 // minY: minYVal>0?0:minYVal-padY,
832 minY: (minYVal-padY),
833 maxY: maxYVal+padY
834 }
835
836 return bounds;
837 },
838 zoomHandler: function() {
839 var c = this.plugins.cursor;
840 console.log(c);
841 },
842
843 plotter: null,
844 visualizzaGrafico : function (dati, dataDa, dataA){
845 var seriesToPlot;
846
847 try{
848 if (typeof dataDa === 'undefined') dataDa = new Date(gestore.plotter.axes.xaxis.min);
849 if (typeof dataA === 'undefined') dataA = new Date(gestore.plotter.axes.xaxis.max);
850 }catch(e){
851 //console.log(e);
852 }
853 var minDate = jQuery("#datepickerDa").datepicker('getDate'),//.datepicker('option', 'minDate'),
854 maxDate = jQuery("#datepickerA").datepicker('getDate'),//.datepicker('option', 'maxDate'),
855 datiFondo = window.gestioneGrafico.tuttiIdatiDelGrafico().slice();
856 datiFondo.sort(function(a,b){
857 return a[0] - b[0];
858 });
859
860 var minFondo = null;
861
862 for (var i = 0; i < datiFondo.length; i++){
863 if (!isNaN(datiFondo[i][0])){
864 datiFondo[i][0] = new Date(datiFondo[i][0]);
865 }
866 }
867
868 for (var i = 0; i < datiFondo.length; i++){
869 if (datiFondo[i][0].sameDay(minDate)){
870 minFondo = datiFondo[i];
871 break;
872 }
873 }
874 for (var i = 0; i < datiFondo.length; i++){
875 if (datiFondo[i][0] >= minDate){
876 minFondo = datiFondo[i];
877 break;
878 }
879 }
880 if (minFondo == null) minFondo = datiFondo[0];
881
882 var maxFondo = null;
883
884 for (var i = 0; i < datiFondo.length; i++){
885 if (datiFondo[i][0].sameDay(maxDate)){
886 maxFondo = datiFondo[i];
887 break;
888 }
889 }
890
891 if(maxFondo == null){
892 for (var i = 0; i < datiFondo.length; i++){
893 if (datiFondo[i][0] > maxDate){
894 maxFondo = datiFondo[i];
895 break;
896 }
897 }
898 }
899 var datiFiltrati=[];
900 for(var i = 0; i < dati.length; i++){
901 if (window.gestioneGrafico.checkData(dati[i][0], minFondo[0], maxFondo[0], datiFondo)){
902 datiFiltrati.push(dati[i]);
903 }
904 }
905 seriesToPlot = [datiFiltrati];
906
907 var singlePoint = dati.length==1;
908 var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA);
909 var logaritmica = logaritmica;
910 console.log("Axis Bounds: " + bounds);
911 if(this.plotter != null)
912 this.plotter.destroy();
913 if(singlePoint){
914 dati.push(dati[0]);
915 }
916 this.plotter = jQuery.jqplot('chartdiv', seriesToPlot,
917 {
918 title:{
919 text: '',
920 show: false
921 },
922 axesDefaults: {
923 },
924 cursor:{
925 show: false,
926 showTooltip: false,
927 zoom: false,
928 constrainZoomTo: 'x'
929 },
930 seriesDefaults: {
931
932 color: '#fba881', // CSS color spec to use for the line. Determined automatically.
933 showMarker: singlePoint, // render the data point markers or not.
934 fill: true, // fill under the line,
935 fillAndStroke: singlePoint, // *stroke a line at top of fill area.
936 fillColor: '#fba881',
937 fillAlpha: 0.001, // *custom alpha to apply to fillColor.
938 shadow: false // show shadow or not.
939
940 },
941 axes:{
942 xaxis: {
943 renderer:jQuery.jqplot.DateAxisRenderer,
944 min: bounds.minX,
945 max: bounds.maxX,
946 //min:minimo,
947 //max:maximo,
948 tickOptions: {formatString: '%d/%m/%Y'}
949 },
950 yaxis: {
951 renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer,
952 min: bounds.minY,
953 max: bounds.maxY,
954 tickOptions: {formatString: '%#.3f' +" "+ divisaSimboloMap['EUR'] }
955 }
956 },
957 series:[{
958 lineWidth:2,
959 markerOptions:
960 {
961 style:'circle'
962 }
963 },{
964 lineWidth: 1,
965 markerOptions:
966 {
967 style:'circle'
968 },
969 color: '#0a4379', // CSS color spec to use for the line. Determined automatically.
970 linePattern: 'dashed',
971 lineWidth: 0.5,
972 showMarker: singlePoint, // render the data point markers or not.
973 fill: false,
974 shadow: false,
975 rendererOptions: {
976 smooth: true
977 }
978 }],
979 highlighter: {
980 show: false,
981 sizeAdjust: 7.5,
982 formatString: "%s - %#.3f"
983 },
984 grid: {
985 drawGridLines: true, // wether to draw lines across the grid or not.
986 gridLineColor: '#f0f1f6', // *Color of the grid lines.
987 background: '#fff', // CSS color spec for background color of grid.
988 borderColor: '#f0f1f6', // CSS color spec for border around grid.
989 borderWidth: 1.0, // pixel width of border around grid.
990 shadow: false, // draw a shadow for grid.
991 }
992 });
993
994
995 },
996
997 checkData: function(data, dStart, dEnd, datiFondo){
998 var dStart = typeof dStart == 'undefined'?null:dStart;
999 var dEnd = typeof dEnd == 'undefined'?null:dEnd;
1000
1001 if (dStart == null || dEnd == null){
1002 for(var i=0; i<datiFondo.length; i++){
1003 if(dStart == null || datiFondo[i][0] < dStart){
1004 dStart = datiFondo[i][0];
1005 }
1006 if(dEnd == null || datiFondo[i][0] > dEnd){
1007 dEnd = datiFondo[i][0];
1008 }
1009 }
1010 }
1011 if (data >= dStart && data <= dEnd){
1012 return true;
1013 }
1014 return false;
1015 }
1016 }
1017 <#if getterUtil.getBoolean(Fondo_In_valuta.getData())>
1018 <#if _listaTassiDiCambio?size gt 0>
1019
1020 jQuery.jqplot.sprintf.thousandsSeparator = '';
1021 jQuery.jqplot.sprintf.decimalMark = ',';
1022 var gestore = gestioneGrafico;
1023 var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico();
1024 var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare,this.pad);
1025 console.log('LIMITS');
1026 console.log(bounds);
1027 // inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti
1028 jQuery("#datepickerDa").datepicker({
1029 //showOtherMonths: false,
1030 //selectOtherMonths: false,
1031 changeMonth : true,
1032 changeYear : true,
1033 dateFormat : "dd/mm/yy",
1034
1035 onSelect : function() {
1036 jQuery("#datepickerA").datepicker('option', {
1037 minDate : jQuery(this).datepicker('getDate')
1038 });
1039 updateGraphDatesFromDatePickers();
1040 //updateDatePickers();
1041 },
1042 }, jQuery.datepicker.regional['it']);
1043 jQuery("#datepickerDa").datepicker("setDate", bounds.minX);
1044
1045 jQuery("#datepickerA").datepicker({
1046 changeMonth : true,
1047 changeYear : true,
1048 dateFormat : "dd/mm/yy",
1049 defaultDate : bounds.maxX,
1050 minDate : bounds.minX,
1051 maxDate : bounds.maxX,
1052 onSelect : function() {
1053 jQuery("#datepickerDa").datepicker('option', {
1054 maxDate : jQuery(this).datepicker('getDate')
1055 });
1056 updateGraphDatesFromDatePickers();
1057 },
1058 beforeShow : function(input, inst) {
1059 inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'});
1060 }
1061 }, jQuery.datepicker.regional['it']);
1062 jQuery("#datepickerA").datepicker("setDate",bounds.maxX);
1063 function updateGraphDatesFromDatePickers() {
1064 var dataDaStr = jQuery("#datepickerDa").val();
1065 var dataAStr = jQuery("#datepickerA").val();
1066 console.log("date cambiate: da " + dataDaStr + " a " + dataAStr);
1067 var dataDa = gestore.getADate(dataDaStr);
1068 var dataA = gestore.getADate(dataAStr);
1069 // se la data è maggiore di data a non fare nulla
1070 if (dataDa >= dataA)
1071 return;
1072
1073 gestore.plotter.axes.xaxis.min = dataDa;
1074 gestore.plotter.axes.xaxis.max = dataA;
1075
1076 var interval = (dataA.getTime() - dataDa.getTime()) / 5;
1077 var ticks = [];
1078 var currTick = dataDa.getTime();
1079 ticks.push(currTick);
1080 for (var i = 0; i < 5; i++) {
1081 currTick += interval;
1082 ticks.push(currTick);
1083 }
1084
1085 gestore.plotter.axes.xaxis.ticks = ticks;
1086 //gestore.plotter.replot();
1087 var datiDaVisualizzare = window.gestioneGrafico.tuttiIdatiDelGrafico();
1088 window.gestioneGrafico.visualizzaGrafico(datiDaVisualizzare);
1089
1090 // Necessario per riabilitare zoom
1091 gestore.plotter.axes.xaxis.ticks = [];
1092 };
1093 if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9)
1094 {
1095 // carica script che emula il canvas poiché ie < 9 non lo supoporta
1096 var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js";
1097 jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) {
1098 gestore.visualizzaGrafico(datiDaVisualizzare);
1099
1100 applyGradientOnPlot();
1101 jQuery.jqplot.postDrawHooks.push(postDrawProcessing);
1102 updateAndamentoLabel();
1103 });
1104 }
1105 else
1106 {
1107 gestore.visualizzaGrafico(datiDaVisualizzare);
1108 applyGradientOnPlot();
1109 jQuery.jqplot.postDrawHooks.push(postDrawProcessing);
1110 updateAndamentoLabel();
1111 }
1112 updateDatePickers();
1113 updateGraphDatesFromDatePickers();
1114 aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]);
1115 jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers);
1116 jQuery('#datepickerDa').click(function(){
1117 jQuery('#datepickerDa').datepicker('show');
1118 });
1119 jQuery('#datepickerA').focus(function(){
1120 jQuery('#datepickerA').datepicker('show');
1121 });
1122
1123 jQuery('#datepickerA').click(function(){
1124 jQuery('#datepickerA').datepicker('show');
1125 });
1126 </#if>
1127 </#if>
1128 });
1129 </script>
1130
1131 <!-- FINE GS IN VALUTA -->
1132
1133 <#else> <!-- Se Fondo_In_valuta = false -->
1134 <div class="template_rendimenti_e_quotazioni">
1135
1136 <link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/jquery.jqplot.min.css" rel="stylesheet" />
1137 <link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/jquery-ui.css" rel="stylesheet" />
1138 <link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/rendimentoDettaglioValore.css" rel="stylesheet" />
1139
1140
1141 <#assign localeIT = localeUtil.fromLanguageId('it')>
1142
1143 <#assign currentGroup = groupLocalService.getGroup(groupId)>
1144
1145 <#assign checkDisplayDate = !currentGroup.isStagingGroup()>
1146
1147 <!-- assegnazione di una variabile con il tool custom, deployato sul portale -->
1148 <!-- get user from request -->
1149
1150 <#assign user = "">
1151 <#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!="">
1152 <#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))>
1153 <#else>
1154 <#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))>
1155 </#if>
1156
1157 <#assign current_url = request.getAttribute("CURRENT_URL")>
1158
1159 <if getterUtil.getBoolean(request.getAttribute("isCustomFriendlyUrlFilter")) && request.getAttribute("originalFriendlyUrlFilterUrl")?if_exists>
1160 <#assign current_url = request.getAttribute("originalFriendlyUrlFilterUrl")?if_exists >
1161 </if>
1162
1163 <#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))>
1164 <#assign catId = getterUtil.getLong(catIdStr)>
1165
1166 <#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))>
1167 <#assign subcatId = getterUtil.getLong(subcatIdStr)>
1168
1169 <#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))>
1170 <#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))>
1171
1172 <!-- Take layout id -->
1173 <#assign currentLayoutId = themeDisplay.getPlid()>
1174 <#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)>
1175
1176 <!-- parent layoutId -->
1177 <#assign currentLayoutParentPlid = currentLayout.getParentPlid()>
1178 <#if currentLayoutParentPlid != 0>
1179 <#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid)>
1180 </#if>
1181
1182 <#if catId != 0>
1183 <#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()>
1184 <#if validator.isNull(catKey)>
1185 <#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()>
1186 </#if>
1187
1188 <#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()>
1189 </#if>
1190
1191 <#if !catKey??>
1192 <#assign catKey = "">
1193 </#if>
1194
1195 <#assign isOICR = false>
1196 <!-- pretitolo -->
1197 <#if (visualizza_label_gestione_separata_associata?has_content && getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData())) || catKey?lower_case == "rivalutabili">
1198 <#assign pre_titolo_rendimento = "Gestione Separata">
1199 <#elseif categoria?lower_case == "index linked">
1200 <#assign pre_titolo_rendimento = "Indice">
1201 <#elseif categoria?lower_case == "oicr">
1202 <#assign pre_titolo_rendimento = "OICR">
1203 <#assign isOICR = true>
1204 <#else>
1205 <#assign pre_titolo_rendimento = "Fondo">
1206 </#if>
1207
1208 <!-- valore dei fondi dal web content -->
1209 <#assign valoreFondoUno = confTool.getValoreFondoFromStr(valore_1.getData(), locale)>
1210 <#assign valoreFondoDue = confTool.getValoreFondoFromStr(valore_2.getData(), locale)>
1211
1212 <#if getterUtil.getBoolean(usa_valori_da_fondo.getData())>
1213 <#assign usaFondo = true>
1214
1215 <!-- titolo -->
1216 <#assign titolo_rendimento = Titolo_rendimento.getData()>
1217
1218 <#if titolo_rendimento=="">
1219 <#assign titolo_rendimento = Titolo_rendimento.getData()>
1220 </#if>
1221
1222 <!-- valore e valuta dei fondi dal db -->
1223 <#if validator.isNotNull(valoreFondoUno)>
1224 <#if validator.isNull(valoreFondoDue) || valoreFondoDue == "0">
1225 <#assign valoreFondoUno = confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)>
1226 <#assign valoreFondoDue = "">
1227 <#else>
1228 <#assign valoreFondoUno = confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)>
1229 <#assign valoreFondoDue = confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(), locale)>
1230 </#if>
1231 <#else>
1232 <#assign valoreFondoUno = confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(),locale)>
1233 <#assign valoreFondoDue = confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(),locale)>
1234 </#if>
1235
1236 <#if valoreFondoDue=="0" || valoreFondoDue == "0,000">
1237 <#assign valoreFondoDue = "">
1238 </#if>
1239
1240 <#assign valutaFondoUno = confTool.getValutaFondoUnoFromDb(id_fondo.getData())>
1241 <#assign valutaFondoDue = confTool.getValutaFondoDueFromDb(id_fondo.getData())>
1242
1243 <!-- data aggiornamento valore -->
1244 <#assign dataAggiornamentoValore = confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)>
1245
1246 <!-- rating -->
1247 <#assign ratings = confTool.getRatingsFromDb(id_fondo.getData())>
1248
1249 <#else>
1250 <#assign usaFondo = false>
1251
1252 <!-- titolo -->
1253 <#assign titolo_rendimento = Titolo_rendimento.getData()>
1254
1255 <!-- valuta dei fondi dal web content -->
1256 <#assign valutaFondoUno = valuta1.getData()>
1257 <#assign valutaFondoDue = valuta_2.getData()>
1258
1259 <!-- data aggiornamento valori -->
1260 <#assign aggiornato_al_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(aggiornato_al.getData()), localeIT)>
1261 <#assign dataAggiornamentoValore = dateUtil.getDate(aggiornato_al_DateObj, "dd MMM yyyy", localeIT)>
1262
1263 <!-- rating -->
1264 <#assign ratings = Rating.getData()>
1265
1266 </#if>
1267
1268 <!-- PRIMO BLOCCO -->
1269 <#assign breadCrumb = confTool.getBreadcrumb(themeDisplay.getLayout(),themeDisplay) >
1270 <div class="boxesDettaglio togliMargin">
1271 <!-- briciole di pane -->
1272 <div id="breadcrumbs" class="breadcrumbs">
1273 <div class="elementi">
1274
1275 <!-- Inizio creazione Breadcrumb -->
1276
1277 <#assign titolo_gs_associata = label_gestione_separata_associata.getData()>
1278 <#assign titolo_da_visualizzare = titolo_rendimento>
1279
1280 <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) && validator.isNotNull(titolo_gs_associata)>
1281 <#if categoria?lower_case == "previdenza">
1282 <#assign titolo_da_visualizzare = titolo_gs_associata>
1283 </#if>
1284 </#if>
1285
1286 <!-- get article's primaryKey -->
1287 <#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data, getterUtil.getDouble(.vars['reserved-article-version'].data))>
1288 <#assign articlePrimKey = article.resourcePrimKey>
1289 <#assign resourcePrimKey = getterUtil.getLong(articlePrimKey)>
1290 <#assign categorie = confTool.getCategoriesByResourcePrimKey(resourcePrimKey)>
1291 <#assign categorieSize = categorie?size>
1292
1293 <#list breadCrumb?keys as key>
1294 <a href="${key?replace("../../", "/")}">${breadCrumb[key]}</a>
1295 </#list>
1296 <span>${themeDisplay.getLayout().getName()}</span>
1297
1298 <#list categorie as cur_categoria>
1299 <#if currentLayoutParent?has_content && cur_categoria.getCategoryId() == catId>
1300 <!-- -->
1301 <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a>
1302 </#if>
1303 </#list>
1304
1305 <#list categorie as cur_categoria>
1306 <#if currentLayoutParent?has_content && cur_categoria.getCategoryId() == subcatId>
1307 <!-- cur_categoria.getCategoryId() == catId -->
1308 <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a>
1309 </#if>
1310 </#list>
1311
1312 ${titolo_da_visualizzare}
1313
1314 <!-- Fine creazione Breadcrumb -->
1315
1316 </div>
1317 </div>
1318 <div>
1319 <div class="supTitle capitalize">${pre_titolo_rendimento}</div>
1320 <h1 class="titoloRendimento">${titolo_da_visualizzare}</h1>
1321
1322 <#if Notifica_alert?? && Notifica_alert.getData() != "">
1323
1324 <div class="descrizioni notifica_alert">${Notifica_alert.getData()}</div>
1325
1326 <#assign testoFascetta = confTool.getRendimentoParsed(article, themeDisplay.getLanguageId()).getTestoFascetta(article, themeDisplay.getLanguageId(), catId, subcatId)>
1327 <#if validator.isNotNull(testoFascetta)>
1328 <div class="fascetta_rendimento ${catColor}">${testoFascetta}</div>
1329 </#if>
1330
1331 </#if>
1332
1333 <#assign strippedHtmlDescrizione = confTool.stripHTML(Descrizione_rendimento_e_quotazione.getData())?trim>
1334 <#if validator.isNotNull(titolo_rendimento) && strippedHtmlDescrizione?lower_case != titolo_rendimento?trim?lower_case>
1335 <div class="descrizioni">${Descrizione_rendimento_e_quotazione.getData()}</div>
1336 </#if>
1337
1338 </div>
1339
1340 <!-- blocco valore corrente valore protetto -->
1341 <!-- script da spostare in hook -->
1342 <script type="text/javascript">
1343
1344 var divisaSimboloMap = {
1345 'EUR': '€',
1346 'USD': '$',
1347 '':'',
1348 '%':'%'
1349 };
1350
1351 jQuery(document).ready(function(){
1352 var listaValuta=jQuery(".titoloValuta");
1353 if (listaValuta!=null){
1354 for (var i=0;i<listaValuta.length;i++){
1355 if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){
1356 // var index=listaValuta.get(i).outerHTML.indexOf(',');
1357 // var html = listaValuta.get(i).outerHTML.substring(0,index+1) + "<span class='decimali'>" + listaValuta.get(i).outerHTML.substring(index+1,index+3) + "</span>" + listaValuta.get(i).outerHTML.substring(index+3,listaValuta.get(i).outerHTML.length);
1358 // listaValuta.get(i).outerHTML = html;
1359 var listaValuta_split = listaValuta.get(i).innerHTML.split(',');
1360 var parteIntera = listaValuta_split[0];
1361 if(listaValuta_split[1].indexOf(" ")){
1362 var listaValuta1_split = listaValuta_split[1].split(" ");
1363 var parteDecimale = listaValuta1_split[0];
1364 var parteValuta = listaValuta1_split[1];
1365 }else{
1366 var parteDecimale = listaValuta_split[1];
1367 var parteValuta = "";
1368 }
1369
1370 var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:"");
1371 console.log(parteValutaMap + "-" + parteValuta );
1372 var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta);
1373 listaValuta.get(i).innerHTML = html;
1374 }else{
1375 console.log(listaValuta.get(i).innerHTML);
1376 if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){
1377 var listaValuta_split = listaValuta.get(i).innerHTML.split(" ");
1378 var parteIntera = listaValuta_split[0];
1379 var parteValuta = listaValuta_split[1];
1380 var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:"");
1381 console.log(parteValutaMap + "-" + parteValuta );
1382 var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta);
1383 listaValuta.get(i).innerHTML = html;
1384 }
1385 }
1386 }
1387 }
1388 });
1389 </script>
1390
1391 <#if valoreFondoDue == "" >
1392 <!-- blocco a singola colonna 2-->
1393
1394 <div class="bloccoValori" >
1395 <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4>
1396 <div class="bloccoValuta">
1397 <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3>
1398 <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6>
1399 </div>
1400 </div>
1401
1402 <#else>
1403
1404 <!-- blocco a doppia colonna -->
1405 <div class="valoriDoppioWrapper">
1406 <div class="bloccoValori doppio first" >
1407 <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4>
1408 <div class="bloccoValuta">
1409 <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3>
1410 <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6>
1411 </div>
1412 </div>
1413 <div class="bloccoValori doppio" >
1414 <h4 class="titoloValori">${Label_valore_protetto.getData()}
1415 <#if valore_1_min_garantito.getData()!="">
1416 *
1417 </#if>
1418 </h4>
1419 <div class="bloccoValuta">
1420 <h3 class="titoloValuta">${valoreFondoDue} ${valutaFondoDue}</h3>
1421 <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6>
1422 </div>
1423 </div>
1424 </div>
1425 <#if validator.isNotNull(valore_1_min_garantito.getData())>
1426 <div class="caption">
1427 * ${valore_1_min_garantito.getData()}
1428 </div>
1429 </#if>
1430 </#if>
1431
1432 <div class="reset">
1433
1434 <#if isOICR && validator.isNotNull(Societa_di_gestione.getData())>
1435 <#assign labelSocietaGestione = "Società di gestione">
1436 <#if validator.isNotNull(Label_societa_di_gestione.getData())>
1437 <#assign labelSocietaGestione = Label_societa_di_gestione.getData()>
1438 </#if>
1439 <div class="gestione">
1440 <h6 class="">${labelSocietaGestione}: <strong> ${Societa_di_gestione.getData()}</strong></h6>
1441 </div>
1442 </#if>
1443
1444 <#if Istituto_emittente.getData() != "">
1445 <h5 class="titolo">${Label_obbligazione_strutturata.getData()}</h5>
1446 <div class="istituto">
1447 <h6 class="">${Label_istituto_emittente.getData()}: <strong>${Istituto_emittente.getData()}</strong></h6>
1448 <h6 class="">${Label_rating.getData()}: <strong>${Rating.getData()}</strong></h6>
1449 </div>
1450 </#if>
1451
1452 <#assign Data_scadenza_to_show = ''>
1453 <#if validator.isNotNull(Data_scadenza.getData())>
1454 <#assign Data_scadenza_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(Data_scadenza.getData()), localeIT)>
1455 <!-- 01/01/2100 -->
1456 <#if dateUtil.compareTo(Data_scadenza_DateObj,dateUtil.newDate(4102441200000)) lt 0 >
1457 <#assign Data_scadenza_to_show = 'Scadenza ' + dateUtil.getDate(Data_scadenza_DateObj, "dd/MM/yyyy", localeIT)>
1458 </#if>
1459 </#if>
1460
1461 <#if validator.isNotNull(Data_scadenza_to_show)>
1462 <h6 class="scadenza nomobile"><strong>${Data_scadenza_to_show}</strong></h6>
1463 </#if>
1464 </div>
1465
1466 <!-- Da agganciare nel momento in cui caricano i contenuti derivati -->
1467 <div class="reset">
1468 <#if Istituto_emittente_derivata?? && Istituto_emittente_derivata.getData() != "">
1469 <h5 class="titolo">${Label_obbligazione_derivata.getData()}</h5>
1470 <div class="istituto derivata">
1471 <h6 class="">${Label_istituto_emittente_derivata.getData()}:<strong>${Istituto_emittente_derivata.getData()}</strong></h6>
1472 <h6 class="">${Label_rating_derivata.getData()}:<strong>${Rating_derivata.getData()}</strong></h6>
1473 </div>
1474 </#if>
1475
1476 <#if validator.isNotNull(Data_scadenza_to_show)>
1477 <h6 class="scadenza onlymobile"><strong>$Data_scadenza_to_show</strong></h6>
1478 </#if>
1479
1480 </div>
1481
1482 </div>
1483
1484 <!-- FINE PRIMO BLOCCO -->
1485
1486
1487 <!-- SECONDO BLOCCO (GRAFICO STORICO) -->
1488
1489 <#assign _listaRendimenti = []>
1490 <#assign hasBenchmark = false>
1491 <#assign _benchmarkFondoMap = confTool.getBenchmarkFondo(id_fondo.id_benchmark_fondo.getData())>
1492 <#if _benchmarkFondoMap?size gt 0>
1493 <#assign hasBenchmark = true>
1494 </#if>
1495
1496 <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))>
1497 <div class="boxesDettaglio storicGraph">
1498 <#assign _datiStorico = confTool.getDatiStorico(id_fondo.getData())>
1499 <#assign _listaRendimenti = _datiStorico.getValoriRendimenti()>
1500
1501 <div class="reset">
1502 <#if getterUtil.getBoolean(hasBenchmark)>
1503 <style type="text/css">
1504 .legendaBenchmark span.fondo::before{
1505 color: #fba881;
1506 background-color: #fba881;
1507 }
1508 .legendaBenchmark span.benchmark::before{
1509 color: #0a4379;
1510 background-color: #0a4379;
1511 }
1512 .legendaBenchmark span::before{
1513 display: inline-block;
1514 height: 12px;
1515 width: 12px;
1516 border-radius: 12px;
1517 border: 1px solid #eee;
1518 content: " ";
1519 margin-right: 8px;
1520 margin-bottom: -3px;
1521 }
1522 </style>
1523
1524 <div class="legendaBenchmark" style="float: right; border: 1px solid #eee; padding: 10px; margin-right: 9px;">
1525 <span class="fondo"><i></i>Andamento Fondo</span><br/></br>
1526 <span class="benchmark"><i></i>Andamento Benchmark</span>
1527 </div>
1528
1529 </#if>
1530
1531 <h5 class="titolo">
1532 Andamento performance
1533 <#if getterUtil.getBoolean(hasBenchmark)>
1534 fondo e benchmark <br/>
1535 </#if>
1536 <small class="">Dati aggiornati al ${confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)}</small>
1537 </h5>
1538 <#if getterUtil.getBoolean(hasBenchmark)>
1539 <div style="clear: right"></div>
1540 </#if>
1541
1542 <#if _listaRendimenti?size gt 0>
1543 <div class="graficoRendimento" >
1544 <div id="chartdiv"></div>
1545 </div>
1546 <div class="datePickers reset">
1547 <p class="inizio">
1548 <input type="text" class="datePicker" id="datepickerDa" value="${_datiStorico.getDataInizialeString()}" />
1549 </p>
1550 <p class="fine">
1551 <input type="text" class="datePicker" id="datepickerA" value="${_datiStorico.getDataFinaleString()}" />
1552 </p>
1553 </div>
1554 <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p>
1555 <p class="reset" style="font-style:italic">
1556 Attenzione: i valori passati non sono indicativi di quelli futuri.
1557 <#if getterUtil.getBoolean(hasBenchmark)>
1558 Si evidenzia inoltre che la performance del Fondo risente dei costi gravanti sullo stesso, mentre il benchmark,
1559 in quanto indice teorico, non è gravato da costi.
1560 </#if>
1561 </p>
1562 </#if>
1563 </div>
1564 </div>
1565 </#if>
1566
1567 <!-- FINE SECONDO BLOCCO -->
1568
1569 <!-- BLOCCO PROSPETTO -->
1570
1571 <#if !(
1572 !Colonna_prospetto.getSiblings()?has_content ||
1573 (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' &&
1574 (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||
1575 (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='')
1576 )))>
1577
1578 <div class="boxesDettaglio togliMargin">
1579 <div class="reset">
1580 <p class="">${descrizione_prospetto.getData()}</p>
1581 </div>
1582 <#if Colonna_prospetto.getSiblings()?has_content>
1583 <div class="table">
1584 <div class="row theader">
1585 <div class="cell">
1586 <!-- prima colonnavuota -->
1587 </div>
1588 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
1589 <div class="cell">
1590 ${cur_Colonna_prospetto.getData()}
1591 </div>
1592 </#list>
1593 </div>
1594
1595 <#if Tipo_generazione_righe_prospetto.getData()=="dinamico">
1596 <#if Nome_Riga_Prospetto.getSiblings()?has_content>
1597 <#assign contatore_righe = 0>
1598 <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto>
1599 <div class="row">
1600 <div class="cell">
1601 <div class="">${cur_Nome_Riga_Prospetto.getData()}</div>
1602 </div>
1603 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>
1604 <div class="cell">
1605 <#assign contatore_allegati = 0>
1606 <#assign allegatoUrl = ''>
1607
1608 <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato>
1609
1610 <#if contatore_allegati == contatore_righe>
1611 <#assign allegatoUrl = allegato.getData()>
1612 </#if>
1613 <#assign contatore_allegati = contatore_allegati + 1>
1614 </#list>
1615
1616 <#assign dlFileVersion = ''>
1617 <#if validator.isNotNull(allegatoUrl)>
1618 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1619 </#if>
1620 <#if validator.isNotNull(dlFileVersion)>
1621 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1622 <#else>
1623 <div>—</div>
1624 </#if>
1625 </div>
1626 </#list>
1627 </div>
1628 <#assign contatore_righe = contatore_righe + 1>
1629 </#list>
1630 </#if>
1631 </#if>
1632
1633 <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali">
1634 <div class="row">
1635 <div class="cell">
1636 <div class="">Composizione al 31/03</div>
1637 </div>
1638
1639 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>
1640 <div class="cell">
1641 <#assign contatore_allegati = 0>
1642 <#assign allegatoUrl = ''>
1643 <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato>
1644 <#if contatore_allegati == 0>
1645 <#assign allegatoUrl = allegato.getData()>
1646 </#if>
1647 <#assign contatore_allegati = contatore_allegati + 1>
1648 </#list>
1649
1650 <#assign dlFileVersion = ''>
1651 <#if validator.isNotNull(allegatoUrl)>
1652 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1653 </#if>
1654 <#if validator.isNotNull(dlFileVersion)>
1655 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1656 <#else>
1657 <div>—</div>
1658 </#if>
1659 </div>
1660 </#list>
1661 </div>
1662
1663 <div class="row">
1664 <div class="cell">
1665 <div class="">Composizione al 30/06</div>
1666 </div>
1667
1668 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2>
1669 <div class="cell">
1670 <#assign contatore_allegati = 0>
1671 <#assign allegatoUrl = ''>
1672 <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato>
1673 <#if contatore_allegati == 1>
1674 <#assign allegatoUrl = allegato.getData()>
1675 </#if>
1676 <#assign contatore_allegati = contatore_allegati + 1>
1677 </#list>
1678
1679 <#assign dlFileVersion = ''>
1680 <#if validator.isNotNull(allegatoUrl)>
1681 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1682 </#if>
1683 <#if validator.isNotNull(dlFileVersion)>
1684 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1685 <#else>
1686 <div>—</div>
1687 </#if>
1688 </div>
1689 </#list>
1690 </div>
1691
1692 <div class="row">
1693 <div class="cell">
1694 <div class="">Composizione al 30/09</div>
1695 </div>
1696
1697 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3>
1698 <div class="cell">
1699 <#assign contatore_allegati = 0>
1700 <#assign allegatoUrl = ''>
1701 <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato>
1702 <#if contatore_allegati == 2>
1703 <#assign allegatoUrl = allegato.getData()>
1704 </#if>
1705 <#assign contatore_allegati = contatore_allegati + 1>
1706 </#list>
1707
1708 <#assign dlFileVersion = ''>
1709 <#if validator.isNotNull(allegatoUrl)>
1710 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1711 </#if>
1712 <#if validator.isNotNull(dlFileVersion)>
1713 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1714 <#else>
1715 <div>—</div>
1716 </#if>
1717 </div>
1718 </#list>
1719 </div>
1720
1721 <div class="row">
1722 <div class="cell">
1723 <div class="">Composizione al 31/12</div>
1724 </div>
1725
1726 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4>
1727 <div class="cell">
1728 <#assign contatore_allegati = 0>
1729 <#assign allegatoUrl = ''>
1730 <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato>
1731 <#if contatore_allegati == 3>
1732 <#assign allegatoUrl = allegato.getData()>
1733 </#if>
1734 <#assign contatore_allegati = contatore_allegati + 1>
1735 </#list>
1736
1737 <#assign dlFileVersion = ''>
1738 <#if validator.isNotNull(allegatoUrl)>
1739 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1740 </#if>
1741 <#if validator.isNotNull(dlFileVersion)>
1742 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1743 <#else>
1744 <div>—</div>
1745 </#if>
1746 </div>
1747 </#list>
1748 </div>
1749 </#if>
1750 </div>
1751 </#if>
1752 </div>
1753 </#if>
1754
1755
1756 <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO -->
1757
1758 <#if !(
1759 !Colonna_prospetto.getSiblings()?has_content ||
1760 (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' &&
1761 (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||
1762 (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='')
1763 )))>
1764 <div class="table_smart secondaTab prospetto">
1765 <table>
1766 <tbody>
1767 <#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData()> <!-- in realta per gli smart le righe sono colonne -->
1768 <#if tipo_colonne_prospetto == "dinamico">
1769
1770 <tr class="intestazione_smart">
1771 <td colspan="1">Anno</td>
1772 <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto>
1773 <td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td>
1774 </#list>
1775 </tr>
1776
1777 <#if Colonna_prospetto.getSiblings()?has_content>
1778 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
1779 <#assign velocityCount = cur_Colonna_prospetto?index/>
1780 <#if velocityCount % 2 == 0>
1781 <tr class="pari">
1782 <#elseif velocityCount % 2 == 1>
1783 <tr class="dispari">
1784 </#if>
1785
1786 <td>${cur_Colonna_prospetto.getData()}</td>
1787 <#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>
1788 <#assign allegatoUrl = ''>
1789 <td>
1790 <#assign allegatoUrl = allegato.getData()>
1791 <#assign dlFileVersion = ''>
1792 <#if validator.isNotNull(allegatoUrl)>
1793 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1794 </#if>
1795 <#if validator.isNotNull(dlFileVersion)>
1796 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1797 <#else>
1798 <div>—</div>
1799 </#if>
1800 </td>
1801 </#list>
1802 </tr>
1803 </#list>
1804 </#if>
1805
1806 <#elseif tipo_colonne_prospetto == "quadrimestrali">
1807
1808 <tr class="intestazione_smart">
1809 <td colspan="1">Anno</td>
1810 <td colspan="1">31Mar</td>
1811 <td colspan="1">30Giu</td>
1812 <td colspan="1">30Set</td>
1813 <td colspan="1">31Dic</td>
1814 </tr>
1815
1816 <#if Colonna_prospetto.getSiblings()?has_content>
1817 <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>
1818 <#assign velocityCount = cur_Colonna_prospetto?index/>
1819 <#if velocityCount % 2 == 0>
1820 <tr class="pari">
1821 <#elseif velocityCount % 2 == 1>
1822 <tr class="dispari">
1823 </#if>
1824
1825 <td>${cur_Colonna_prospetto.getData()}</td>
1826
1827 <#assign contatore_allegati = 0>
1828 <#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>
1829 <#assign allegatoUrl = ''>
1830 <td>
1831 <#assign allegatoUrl = allegato.getData()>
1832 <#assign dlFileVersion = ''>
1833 <#if validator.isNotNull(allegatoUrl)>
1834 <#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)>
1835 </#if>
1836 <#if validator.isNotNull(dlFileVersion)>
1837 <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
1838 <#else>
1839 <div>—</div>
1840 </#if>
1841 </td>
1842 </#list>
1843 </tr>
1844 </#list>
1845 </#if>
1846 </#if>
1847 </tbody>
1848 </table>
1849 </div>
1850 </#if>
1851
1852 <!-- FINE BLOCCO SMARTPHONE PROSPETTO -->
1853
1854 <!-- BLOCCO INDICI -->
1855
1856 <#if !(
1857 (!Indici_titolo_alto?has_content || Indici_titolo_alto.getData()=='') &&
1858 (!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='') &&
1859 (!Label_titolo_tabella_valore_iniziale_indici?has_content || Label_titolo_tabella_valore_iniziale_indici.getData()=='') &&
1860 (!Label_titolo_tabella_prestazioni_annuali?has_content || Label_titolo_tabella_prestazioni_annuali.getData()=='') &&
1861 (!Indici_titolo_basso?has_content || Indici_titolo_basso.getData()=='') &&
1862 (!titolo_box_tabella?has_content || titolo_box_tabella.getData()=='')
1863 )>
1864
1865 <div class="boxesDettaglio togliMargin">
1866 <div class="reset">
1867 <h5 class="titolo">${Indici_titolo_alto.getData()}</h5>
1868 <p class="">${Indici_descrizione_alta.getData()}</p>
1869
1870 <#if !(!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='')>
1871 <#assign fileEntryPath = Nome_allegato_valore_iniziale_titoli.Allegato_valore_iniziale_titoli.getData()>
1872 <#assign dlFileVersion = ''>
1873 <#if validator.isNotNull(fileEntryPath)>
1874 <#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)>
1875 </#if>
1876
1877 <#if validator.isNotNull(dlFileVersion)>
1878 <h6 class="titolo">${Label_titolo_valore_iniziale_titoli.getData()}</h6>
1879 <div class="archivi">
1880 <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank">
1881 <h6>
1882 <span class="icona icon-file"></span>
1883 <div>${Nome_allegato_valore_iniziale_titoli.getData()}</div>
1884 </h6>
1885 </a>
1886 </div>
1887 </#if>
1888 </#if>
1889
1890 <#if Label_titolo_tabella_valore_iniziale_indici.getData() != "">
1891 <h6 class="titolo indici">${Label_titolo_tabella_valore_iniziale_indici.getData()}</h6>
1892 </div>
1893 <div class="table">
1894
1895 <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content>
1896
1897 <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1>
1898 <div class="row">
1899 <div class="cell">
1900 ${cur_Riga_valore_iniziale_indici_colonna_1.getData()}
1901 </div>
1902
1903 <div class="cell">
1904 ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}
1905 </div>
1906
1907 <div class="cell">
1908 ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}
1909 </div>
1910 </div>
1911 </#list>
1912
1913 </#if>
1914
1915 </div>
1916
1917 <!-- INIZIO BLOCCO SMARTPHONE SECONDA TABELLA -->
1918 <div class="table_smart secondaTab">
1919 <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content>
1920 <table>
1921 <tbody>
1922 <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1>
1923 <#assign velocityCount = cur_Riga_valore_iniziale_indici_colonna_1?index/>
1924 <#if velocityCount!=1>
1925 <tr class="intestazione_smart">
1926 <td colspan="2">${cur_Riga_valore_iniziale_indici_colonna_1.getData()}</td>
1927 </tr>
1928 <tr class="pari">
1929 <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_data_emissione.getData()}</td>
1930 <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}</td>
1931 </tr>
1932 <tr class="dispari">
1933 <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_colonna_3.getData()}</td>
1934 <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}</td>
1935 </tr>
1936 </#if>
1937
1938 </#list>
1939 </tbody>
1940 </table>
1941 </#if>
1942 </div>
1943 <!-- FINE BLOCCO SMARTPHONE SECONDA TABELLA -->
1944
1945
1946
1947 <div class="reset tab">
1948 </#if>
1949 <#if Label_titolo_tabella_prestazioni_annuali.getData() != "">
1950 <h6 class="titolo">${Label_titolo_tabella_prestazioni_annuali.getData()}</h6>
1951 <#if Prestazione_annuale_data_label.getSiblings()?has_content>
1952 </div>
1953 <div class="table">
1954
1955 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label>
1956 <div class="row">
1957 <div class="cell">
1958 ${cur_Prestazione_annuale_data_label.getData()}
1959 </div>
1960
1961 <div class="cell">
1962 ${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}
1963 </div>
1964 </div>
1965 </#list>
1966
1967 </div>
1968
1969
1970
1971 <!-- INZIO BLOCCO SMARTPHONE -->
1972 <div class="table_smart terzaTab">
1973 <table>
1974 <tbody>
1975 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label>
1976 <#assign velocityCount = cur_Prestazione_annuale_data_label?index/>
1977 <#if velocityCount==1>
1978 <tr class="intestazione_smart">
1979 <td>${cur_Prestazione_annuale_data_label.getData()}</td>
1980 <td class="presta_ann">${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td>
1981 </tr>
1982 <#elseif velocityCount%2==0>
1983 <tr class="pari">
1984 <td>${cur_Prestazione_annuale_data_label.getData()}</td>
1985 <td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td>
1986 </tr>
1987 <#elseif velocityCount%2==1>
1988 <tr class="dispari">
1989 <td>${cur_Prestazione_annuale_data_label.getData()}</td>
1990 <td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td>
1991 </tr>
1992 </#if>
1993 </#list>
1994 </tbody>
1995 </table>
1996 </div>
1997
1998 <!-- FINE BLOCCO SMARTPHONE -->
1999
2000 </#if>
2001 </#if>
2002
2003 <!-- INIZIO BLOCCO TABELLA NxM -->
2004 <#list titolo_box_tabella.getSiblings() as cur_titolo_box_tabella>
2005 <div class="reset">
2006 <#assign tipoTabella = cur_titolo_box_tabella.tipo_tabella.getData()>
2007 <#assign descrizioneTabella = cur_titolo_box_tabella.descrizione_tabella.getData()>
2008 <#if descrizioneTabella!=''>
2009 <h5 class="titolo prospetto">
2010 ${cur_titolo_box_tabella.getData()}
2011 </h5>
2012 <p class="">${descrizioneTabella}</p>
2013 <#else>
2014 <h6 class="titolo">
2015 ${cur_titolo_box_tabella.getData()}
2016 </h6>
2017 </#if>
2018 </div>
2019
2020 <!-- controllo che la prima riga sia valorizzata altrimenti non la stampo -->
2021 <#assign contTheaderVisible = 0>
2022 <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella>
2023 <#if cur_th_tabella.getData()?has_content>
2024 <#assign contTheaderVisible = contTheaderVisible + 1>
2025 <#break>
2026 </#if>
2027 </#list>
2028
2029 <#assign contRowVisible = 0>
2030 <#if cur_titolo_box_tabella.tr_tabella?has_content>
2031 <#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella>
2032 <#if cur_tr_tabella.getData()?has_content>
2033 <#assign contRowVisible = contRowVisible + 1>
2034 <#break>
2035 <#else>
2036 <#if cur_tr_tabella.td_tabella?has_content>
2037 <#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>
2038 <!-- se di tipo testo stampo il campo td_tabella -->
2039 <#if tipoTabella?lower_case == 'testo'>
2040 <#if cur_td_tabella.getData()?has_content>
2041 <#assign contRowVisible = contRowVisible + 1>
2042 <#break>
2043 </#if>
2044 </#if>
2045 <!-- se di tipo documento stampo il campo td_allegato_url -->
2046 <#if tipoTabella?lower_case == 'documento'>
2047 <#if cur_td_tabella.td_allegato_url.getData() && cur_td_tabella.td_allegato_url.getData() != ''>
2048 <#assign contRowVisible = contRowVisible + 1>
2049 <#break>
2050 </#if>
2051 </#if>
2052 </#list>
2053 </#if>
2054 </#if>
2055 </#list>
2056 </#if>
2057
2058 <#if (contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content) || contRowVisible gt 0>
2059 <div class="table">
2060
2061 <#if contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content>
2062 <div class="row theader">
2063 <#else>
2064 <div class="row theader" style="display:none;">
2065 </#if>
2066
2067 <div class="cell">
2068 ${cur_titolo_box_tabella.intestazione_tabella.getData()}
2069 </div>
2070
2071 <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella>
2072 <div class="cell">
2073 ${cur_th_tabella.getData()}
2074 </div>
2075 </#list>
2076
2077 </div>
2078 <#if cur_titolo_box_tabella.tr_tabella.isEmpty()?has_content>
2079 <#assign rowCount = 0>
2080 <#assign velocityCount = 0>
2081 <#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella>
2082 <#assign velocityCount = cur_tr_tabella?index/>
2083 <#assign rowCount = velocityCount>
2084 <div class="row">
2085 <#if rowCount==1>
2086 <div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;">
2087 <#else>
2088 <div class="cell">
2089 </#if>
2090
2091 <div class="">${cur_tr_tabella.getData()}</div>
2092 </div>
2093
2094 <#if cur_tr_tabella.td_tabella.isEmpty()?has_content>
2095 <#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>
2096 <#if rowCount==1>
2097 <div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;">
2098 <#else>
2099 <div class="cell">
2100 </#if>
2101
2102 <!-- se di tipo testo stampo il campo td_tabella -->
2103 <#if tipoTabella?lower_case == 'testo'>
2104 ${cur_td_tabella.getData()}
2105 </#if>
2106
2107 <!-- se di tipo documento stampo il campo td_allegato_url -->
2108 <#if tipoTabella?lower_case == 'documento'>
2109 <#assign fileEntryPath = cur_td_tabella.td_allegato_url.getData()>
2110
2111 <#assign dlFileVersion = ''>
2112 <#if validator.isNotNull(fileEntryPath)>
2113 <#assign dlFileVersion =$confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)>
2114 </#if>
2115 <#if validator.isNotNull(dlFileVersion)>
2116 <a class="icona icon-file" href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"></a>
2117 <#else>
2118 <div>—</div>
2119 </#if>
2120 </#if>
2121 </div>
2122 </#list>
2123 </#if>
2124 </div>
2125 <!-- end if in piu -->
2126 </#list>
2127 </div>
2128 </#if>
2129 </#if>
2130 </#list>
2131 <!-- FINE BLOCCO TABELLA NxM -->
2132
2133
2134 <div class="reset">
2135 <h5 class="titolo">${Indici_titolo_basso.getData()}</h5>
2136
2137 <p class="">${Indici_descrizione_bassa.getData()}</p>
2138 </div>
2139
2140 </div>
2141 </div> <!-- boxesDettaglio togliMargin -->
2142
2143 </#if>
2144
2145
2146
2147 <!-- FINE BLOCCO INDICI -->
2148
2149
2150
2151 <!-- BLOCCO (DOWNLOADS BOXES) -->
2152
2153 <#if !(Download_box_label?? && Download_box_label.getData()?has_content && (!Download_box_label.getSiblings()?has_content ||
2154 (Download_box_label.getSiblings()?size==1 &&
2155 (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') &&
2156 (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content ||
2157 (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 &&
2158 (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='')
2159 )))))>
2160
2161 <#list Download_box_label.getSiblings() as cur_Download_box_label>
2162 <div class="boxesDettaglio togliMargin">
2163 <div class="reset download">
2164 <#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())>
2165 <#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size>
2166 <h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5>
2167 <#else>
2168 <h5 class="titolo download">${cur_Download_box_label.getData()}</h5>
2169 </#if>
2170 <#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content>
2171 <div class="archivi">
2172 <#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box>
2173
2174 <#assign fileEntryPath = cur_Download_box.Allegato_url.getData()>
2175
2176 <#assign dlFileVersion = ''>
2177 <#if validator.isNotNull(fileEntryPath)>
2178 <#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)>
2179 </#if>
2180 <#if validator.isNotNull(dlFileVersion)>
2181 <#if cur_Download_box.tipo_allegato.getData()=="excel">
2182 <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank">
2183 <h6>
2184 <span class="icona icon-copy"></span>
2185 <#else>
2186 <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank">
2187 <h6>
2188 <span class="icona icon-file"></span>
2189 </#if>
2190 <div>${cur_Download_box.getData()}</div>
2191 </h6>
2192 </a>
2193 </#if>
2194 </#list>
2195 </div>
2196 </#if>
2197 </div>
2198 </div>
2199 </#list>
2200 </#if>
2201
2202 <!-- FINE BLOCCO (DOWNLOADS BOXES) -->
2203
2204 <!-- BLOCCO DISCLAIMER -->
2205
2206 <footer >
2207
2208 <p class="caption disclaimer">${disclaimer.getData()}</p>
2209
2210 </footer>
2211
2212 <!-- FINE BLOCCO DISCLAIMER -->
2213
2214
2215 <!-- LINK AL TOP -->
2216 <a href="#Top" class="back-to-top" title="Torna a inizio pagina">
2217 TORNA A INIZIO PAGINA <span class="icona icon-angle-up"></span>
2218 </a>
2219 <!-- FINE LINK AL TOP -->
2220
2221 <script type="text/javascript">
2222
2223 jQuery(document).ready(function(){
2224
2225 /* Nasconde, se presente lo span che contiene la pagina di dettaglio */
2226 if(jQuery(".breadcrumbs .elementi span").length) {
2227 jQuery(".breadcrumbs .elementi span").hide();
2228 }
2229
2230 if(jQuery("html").is(".smartphone"))
2231 {
2232 convertTableToDivs();
2233 swipeProspetto();
2234 jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>");
2235 jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>");
2236 jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items");
2237
2238 jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>");
2239
2240 var bullet=jQuery('<span class="carousel-menu-index">•</span>');
2241
2242 /* creo l'elenco delle slide */
2243 jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){
2244 bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu");
2245 });
2246
2247 var ca