1<#-- Risultati Ricerca Custom Laboratori ADT -->
2
3<#assign journalArticle = serviceLocator.findService('com.liferay.journal.service.JournalArticleLocalService') />
4<#assign results = languageUtil.get(locale, "artes-results") />
5<#assign discover = languageUtil.get(locale, "artes-discover") />
6<#assign info = languageUtil.get(locale, "artes-more-info") />
7<#assign type = languageUtil.get(locale, "artes-type") />
8
9<#if entries?has_content && entries?size gt 0>
10
11 <div class="search-total-label">
12 ${searchContainer.getTotal()} ${results}
13 <#if htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords())?has_content && htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords())?length gt 0>
14 : <strong> ${htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords())} </strong>
15 </#if>
16 </div>
17
18 <div class="display-list laboratori custom-search">
19 <ul class="list-group" id="search-results-display-list">
20 <#if entries?has_content>
21 <#list entries as entry>
22 <li class="list-group-item list-group-item-flex pt-0">
23 <#if !entry.isTemporarilyUnavailable()>
24 <div class="autofit-col autofit-col-expand">
25 <section class="autofit-section">
26 <div class="search-results-metadata">
27 <#if entry.isContentVisible()>
28 <p class="list-group-subtext">
29 <span class="subtext-item">
30 <#assign article = journalArticle.fetchLatestArticle(entry.getClassPK()) />
31 <#assign docXml = saxReaderUtil.read(article.getContentByLocale(locale)) />
32 <#assign articleId = article.getArticleId() />
33
34 <#assign nome = docXml.valueOf("//dynamic-element[@name='Nome']/dynamic-content/text()") />
35 <#assign descrizione_custom = docXml.valueOf("//dynamic-element[@name='Descrizione']/dynamic-content/text()") />
36
37 <#-- 20201016: Inizio aggiunta link e immagini (francesco.longobardi) -->
38 <#assign link_custom = docXml.valueOf("//dynamic-element[@name='LinkAllaPagina']/dynamic-content/text()") />
39 <#assign immagini = docXml.getRootElement().selectNodes("//dynamic-element[@name='Immagini']") />
40 <#-- 20201016: Fine aggiunta link e immagini (francesco.longobardi) -->
41
42 <#if entry.isAssetCategoriesOrTagsVisible()>
43 <h6 class="search-document-tags text-default">
44 <p class="categories">
45 <i class="fas fa-tags"></i>
46 <@liferay_asset["asset-tags-summary"]
47 className=entry.getClassName()
48 classPK=entry.getClassPK()
49 paramName=entry.getFieldAssetTagNames()
50 portletURL=entry.getPortletURL()
51 />
52
53 <@liferay_asset["asset-categories-summary"]
54 className=entry.getClassName()
55 classPK=entry.getClassPK()
56 paramName=entry.getFieldAssetCategoryIds()
57 portletURL=entry.getPortletURL()
58 />
59 </p>
60 </h6>
61 </#if>
62 <div class="laboratorio pb-1">
63 <div class="description">
64 <h3>${nome}</h3>
65 </div>
66
67 <#assign url=themeDisplay.getPortalURL() /> <#assign viewURL = article.getUrlTitle() />
68 <#assign linkUrl = url + '/web/guest/-/' + viewURL />
69 <div class="div-desc-laboratori">
70 <#if descrizione_custom?has_content>
71
72 <#if descrizione_custom?length gt 200>
73 ${descrizione_custom?replace('<[^>]+>','','r')?substring(0, 200)}...
74 <#else>
75 ${descrizione_custom}...
76 </#if>
77 </#if>
78 </div>
79 <div class="div-link-sito-laboratori"><a href="${linkUrl}" target="_blank" class="btn-laboratori">${info}</a></div>
80
81 <#--
82 <#if descrizione_custom?has_content>
83 <div class="custom-accordion" id="accordion_${articleId}">
84 <div class="card mb-0">
85 <div class="card-header" id="heading_${articleId}">
86 <h5 class="mb-0">
87 <button class="btn btn-link link-accordion" data-toggle="collapse" data-target="#c_${articleId}" aria-expanded="true" aria-controls="c_${articleId}">
88 <i class="fas fa-chevron-down"></i> ${info}
89 </button>
90 </h5>
91 </div>
92
93 <div id="c_${articleId}" class="collapse" aria-labelledby="heading_${articleId}" data-parent="#accordion_${articleId}">
94 <div class="card-body pt-0">
95 <#if descrizione_custom?has_content>
96 ${descrizione_custom}
97 </#if>
98
99
100 <#if link_custom?has_content>
101 <p><strong>Link:</strong></p>
102 <a href="${link_custom}">
103 ${link_custom}
104 </a>
105 </#if>
106 <br/><br/>
107 <#if immagini?has_content && immagini?size gt 0 && immagini??>
108 <#list immagini as img>
109 <#attempt>
110 <#assign imgTxt = img.valueOf("dynamic-content/text()") />
111 <#assign docVal = imgTxt?eval />
112 <#assign dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService') />
113 <#assign dlFileEntry = dlFileEntryService.getFileEntryByUuidAndGroupId(docVal.uuid, docVal.groupId?number) />
114 <#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
115 <#assign assetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
116 <#assign assetRenderer=assetEntry.assetRenderer />
117 <#assign docUrl=assetRenderer.getURLDownload(themeDisplay) />
118 <img src="${docUrl}" />
119 <#recover>
120 </#attempt>
121 </#list>
122 </#if>
123
124
125 </div>
126 </div>
127 </div>
128 </div>
129 </#if>-->
130 </div>
131 </span>
132 </p>
133 </#if>
134
135 <#if entry.isFieldsVisible()>
136 <p class="list-group-subtext">
137 <#assign separate = false />
138
139 <#list entry.getFieldDisplayContexts() as fieldDisplayContext>
140 <#if separate>
141 ·
142 </#if>
143
144 <span class="badge">${fieldDisplayContext.getName()}</span>
145
146 <span>${fieldDisplayContext.getValuesToString()}</span>
147
148 <#assign separate = true />
149 </#list>
150 </p>
151 </#if>
152
153 <#if entry.isDocumentFormVisible()>
154 <h6 class="expand-details text-default">
155 <span class="list-group-text" style="">
156 <a href="javascript:;">
157 <@liferay.language key="details" />...
158 </a>
159 </span>
160 </h6>
161
162 <div class="hide search-results-list table-details table-responsive">
163 <table class="table">
164 <thead>
165 <tr>
166 <th class="key-column">
167 <@liferay.language key="key" />
168 </th>
169 <th>
170 <@liferay.language key="value" />
171 </th>
172 </tr>
173 </thead>
174
175 <tbody>
176 <#list entry.getDocumentFormFieldDisplayContexts() as fieldDisplayContext>
177 <tr>
178 <td class="key-column table-details-content">
179 <strong>${htmlUtil.escape(fieldDisplayContext.getName())}</strong>
180 </td>
181 <td class="table-details-content">
182 <code>
183 ${fieldDisplayContext.getValuesToString()}
184 </code>
185 </td>
186 </tr>
187 </#list>
188 </tbody>
189 </table>
190 </div>
191 </#if>
192 </div>
193 </section>
194 </div>
195 <#else>
196 <div class="autofit-col">
197 <div class="alert alert-danger">
198 <@liferay.language_format
199 arguments="result"
200 key="is-temporarily-unavailable"
201 />
202 </div>
203 </div>
204 </#if>
205 </li>
206 </#list>
207 </#if>
208 </ul>
209 </div>
210<#else>
211 Nessun risultato trovato
212</#if>
213
214<@liferay_aui.script use="aui-base">
215 A.one('#search-results-display-list').delegate(
216 'click',
217 function(event) {
218 var currentTarget = event.currentTarget;
219
220 currentTarget.siblings('.search-results-list').toggleClass('hide');
221 },
222 '.expand-details'
223 );
224</@liferay_aui.script>
225
226<style>
227 .display-list.laboratori.custom-search .list-group-item.list-group-item-flex {
228 border: none;
229 }
230
231 .display-list.laboratori.custom-search .taglib-asset-categories-summary .asset-category.text-uppercase {
232 color: #C10A27;
233 }
234
235 .portlet-search-results .pagination-bar .dropdown.pagination-items-per-page {
236 border: 2px solid #181818;
237 border-radius: 0.25rem;
238 }
239
240 .portlet-search-results .pagination-bar .dropdown.pagination-items-per-page .dropdown-toggle.page-link {
241 color: #c10a27;
242 font-weight: bold;
243 border: none;
244 background-color: transparent;
245 }
246
247 .portlet-search-results .pagination-bar .dropdown.pagination-items-per-page .dropdown-toggle.page-link:focus {
248 box-shadow: none;
249 }
250
251 .portlet-search-results .pagination-bar .dropdown.pagination-items-per-page.show .dropdown-icon:active {
252 background-color: #c10a27;
253 color: #fff;
254 }
255
256 .portlet-search-results .pagination-bar .pagination {
257 border: 2px solid #181818;
258 }
259
260 .portlet-search-results .pagination-bar .pagination .page-item.active .page-link,
261 .portlet-search-results .pagination-bar .pagination .page-item .page-link:active {
262 background-color: #c10a27;
263 border-color: #c10a27;
264 font-weight: bold;
265 color: white;
266 }
267
268 .portlet-search-results .pagination-bar .pagination .page-item .page-link:focus {
269 box-shadow: none;
270 }
271
272 .portlet-search-results .pagination-bar .pagination .page-item .page-link {
273 color: #c10a27;
274 font-weight: bold;
275 }
276
277 .portlet-search-results .pagination-bar .pagination .page-item.disabled .page-link {
278 color: #6c757d;
279 }
280
281 .div-desc-laboratori {
282 margin-top:10px;
283 margin-bottom:20px;
284 color: #000;
285 }
286
287 .div-link-sito-laboratori {
288 display: flex;
289 justify-content: flex-end
290 }
291
292 .btn-laboratori {
293 width:140px;
294 display: block;
295 font-weight: bold;
296 background-color: #C10A27 !important;
297 color: white;
298 border-radius: 0.25rem;
299 border-style: unset;
300 padding: 0.375rem 0.75rem;
301 text-decoration: none;
302 text-align: center;
303 margin-right: 10px;
304 font-size: 13px;
305 }
306
307 .btn-laboratori:hover {
308 width: 140px;
309 font-weight: bold;
310 background-color: #C10A27 !important;
311 color: white !important;
312 text-decoration: none;
313 }
314</style>