1<@liferay_ui["panel-container"]
2 extended=true
3 id="${namespace + 'facetAssetCategoriesPanelContainer'}"
4 markupView="lexicon"
5 persistState=false
6 >
7 <#assign barrios = []/>
8 <#assign recintos = []/>
9 <#assign selected = ""/>
10 <#if entries?has_content>
11 <#list entries as entry>
12 <#if entry.isSelected()>
13 <#assign selected = entry.getFilterValue()/>
14 </#if>
15 <#assign category = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-categories/${entry.getFilterValue()}")/>
16 <#assign vocabulary = category.parentTaxonomyVocabulary.name/>
17 <#if vocabulary = "Barrio" || vocabulary = "Auzoa">
18 <#assign barrios += [category]/>
19 <#elseif vocabulary = "Lugar" || vocabulary = "Lekua">
20 <#assign recintos += [category]/>
21 </#if>
22 </#list>
23 </#if>
24 <#assign random = .now?long/>
25 <div class="dtik-input-group" id="${random}">
26 <select class="dtik-input-group__select custom-select" onChange="document.getElementById(this.options[this.selectedIndex].value).click();">
27 <option value="${random}all_0">${languageUtil.get(locale, "all")}</option>
28 <#if recintos?has_content>
29 <#assign recintosOrder = []/>
30 <#list recintos as recinto>
31 <#assign orden = 0/>
32 <#list recinto.taxonomyCategoryProperties as property>
33 <#if property.key = "order">
34 <#assign orden = property.value/>
35 </#if>
36 </#list>
37 <#assign recintosOrder = recintosOrder + [ recinto + {"orden": orden?number} ]/>
38 </#list>
39 <optgroup label="${languageUtil.get(locale, 'enclosure')}">
40 <#list recintosOrder?sort_by("orden") as recinto>
41 <option ${(recinto?is_first)?then("data-before='" + languageUtil.get(locale, "enclosures") + "'", '')} ${(selected = recinto.id)?then('selected', '')} value="${random}_${recinto.id}">
42 ${htmlUtil.escape(recinto.name)}
43 </option>
44 </#list>
45 </optgroup>
46 </#if>
47 <#if barrios?has_content>
48 <optgroup label="${languageUtil.get(locale, 'neighborhood')}">
49 <#list barrios as barrio>
50 <option ${(selected = barrio.id)?then('selected', '')} value="${random}_${barrio.id}">
51 ${htmlUtil.escape(barrio.name)}
52 </option>
53 </#list>
54 </optgroup>
55 </#if>
56 </select>
57 <svg class="dtik-input-group__icon" width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1.5L6 6.5L11 1.5" stroke="#666C85" stroke-width="2"></path>
58 </svg>
59 <@clay.button
60 cssClass="facet-term ${(entry.isSelected())?then('facet-term-selected', 'facet-term-unselected')}"
61 data\-term\-id="all_0"
62 disabled="false"
63 displayType="link"
64 onClick="if(!document.querySelector('.searchEvents'))Liferay.Search.FacetUtil.clearSelections(event);"
65 style="display: none;"
66 id="${random}all_0"
67 >
68 ${htmlUtil.escape(entry.getBucketText())}
69 </@clay.button>
70 <#if entries?has_content>
71 <#list entries as category>
72 <@clay.button
73 cssClass="facet-term ${(category.isSelected())?then('facet-term-selected', 'facet-term-unselected')}"
74 data\-term\-id="${category.getFilterValue()}"
75 disabled="false"
76 displayType="link"
77 onClick="clearFilters(this);if(!document.querySelector('.searchEvents'))Liferay.Search.FacetUtil.changeSelection(event);"
78 style="display: none;"
79 id="${random}_${category.getFilterValue()}"
80 >
81 ${htmlUtil.escape(category.getBucketText())}
82 </@clay.button>
83 </#list>
84 </#if>
85 <script>
86 function clearFilters(button) {
87 var parent = button.parentNode;
88 var buttons = parent.querySelectorAll("button");
89 for(var i = 0; i < buttons.length; i++) {
90 buttons[i].classList.remove("facet-term-selected");
91 buttons[i].classList.add("facet-term-unselected");
92 }
93 }
94 </script>
95 </div>
96 </@>