|
31 | 31 | <div id="selected-filters">
|
32 | 32 | <@printSelectedFilterValueLabels filters />
|
33 | 33 | </div>
|
34 |
| - <div id="filter-groups" class="tabs"> |
35 |
| - <#assign active = true> |
36 |
| - <#list filterGroups as group> |
37 |
| - <#if group.displayed > |
38 |
| - <@searchFormGroupTab group active/> |
39 |
| - <#assign active = false> |
40 |
| - </#if> |
41 |
| - </#list> |
42 |
| - </div> |
43 |
| - <div class="tabs filter-area"> |
44 |
| - <#assign active = true> |
45 |
| - <#list filterGroups as group> |
46 |
| - <#if group.displayed > |
47 |
| - <@groupFilters group active/> |
48 |
| - <#assign active = false> |
49 |
| - </#if> |
50 |
| - </#list> |
51 |
| - </div> |
52 |
| - |
| 34 | + <#assign filterGroupTabsContent> |
| 35 | + <@filterGroupTabs/> |
| 36 | + </#assign> |
| 37 | + <#if filterGroupTabsContent?has_content> |
| 38 | + <div id="filter-groups" class="tabs"> |
| 39 | + ${filterGroupTabsContent} |
| 40 | + </div> |
| 41 | + <div class="tabs filter-area"> |
| 42 | + <#assign active = true> |
| 43 | + <#list filterGroups as group> |
| 44 | + <#if group.displayed && !isEmptyGroup(group)> |
| 45 | + <@groupFilters group active/> |
| 46 | + <#assign active = false> |
| 47 | + </#if> |
| 48 | + </#list> |
| 49 | + </div> |
| 50 | + </#if> |
53 | 51 | <div id="search-form-footer">
|
54 | 52 | <div>
|
55 | 53 | <@printResultNumbers />
|
|
63 | 61 | </div>
|
64 | 62 | </#macro>
|
65 | 63 |
|
| 64 | +<#macro filterGroupTabs > |
| 65 | + <#assign active = true> |
| 66 | + <#list filterGroups as group> |
| 67 | + <#if group.displayed && !isEmptyGroup(group)> |
| 68 | + <@searchFormGroupTab group active/> |
| 69 | + <#assign active = false> |
| 70 | + </#if> |
| 71 | + </#list> |
| 72 | +</#macro> |
| 73 | + |
66 | 74 | <#macro groupFilters group active>
|
67 |
| - |
68 | 75 | <div id="${group.id}" class="tab <#if active >active<#else>fade</#if>">
|
69 | 76 | <div id="search-filter-group-container-${group.id}" class="search-filter-group-container">
|
70 | 77 | <div class="tabs">
|
71 | 78 | <#assign assignedActive = false>
|
72 | 79 | <#list group.filters as filterId>
|
73 | 80 | <#if filters[filterId]??>
|
74 | 81 | <#assign f = filters[filterId]>
|
75 |
| - <#if f.displayed > |
| 82 | + <#if f.displayed && !isEmptyFilter(f) > |
76 | 83 | <@searchFormFilterTab f assignedActive/>
|
77 | 84 | <#if !assignedActive && (f.selected || emptySearch )>
|
78 | 85 | <#assign assignedActive = true>
|
|
87 | 94 | <#list group.filters as filterId>
|
88 | 95 | <#if filters[filterId]??>
|
89 | 96 | <#assign f = filters[filterId]>
|
90 |
| - <#if f.displayed > |
| 97 | + <#if f.displayed && !isEmptyFilter(f) > |
91 | 98 | <@printFilterValues f assignedActive emptySearch/>
|
92 | 99 | <#if !assignedActive && ( f.selected || emptySearch )>
|
93 | 100 | <#assign assignedActive = true>
|
|
157 | 164 | </#macro>
|
158 | 165 |
|
159 | 166 | <#macro searchFormFilterTab filter assignedActive>
|
160 |
| - <#if filter.id == "querytext"> |
161 |
| - <#return> |
162 |
| - </#if> |
163 |
| - <div class="tab filter-tab" > |
164 |
| - <a href="#" onclick="openTab(event, '${filter.id?html}');return false;">${filter.name?html}</a> |
165 |
| - </div> |
| 167 | + <div class="tab filter-tab" > |
| 168 | + <a href="#" onclick="openTab(event, '${filter.id?html}');return false;">${filter.name?html}</a> |
| 169 | + </div> |
166 | 170 | </#macro>
|
167 | 171 |
|
168 | 172 | <#macro printFilterValues filter assignedActive isEmptySearch>
|
|
297 | 301 | </#if>
|
298 | 302 | <#return result />
|
299 | 303 | </#function>
|
| 304 | + |
| 305 | +<#function isEmptyFilter filter > |
| 306 | + <#return filter.id == "querytext" || (filter.type != "RangeFilter" && !filter.input && filter.values?values?filter(v -> !v.selected)?size == 0 ) /> |
| 307 | +</#function> |
| 308 | + |
| 309 | +<#function isEmptyGroup group > |
| 310 | + <#list group.filters as filterId> |
| 311 | + <#if filters[filterId]??> |
| 312 | + <#assign f = filters[filterId]> |
| 313 | + <#if f.displayed && !isEmptyFilter(f) > |
| 314 | + <#return false /> |
| 315 | + </#if> |
| 316 | + </#if> |
| 317 | + </#list> |
| 318 | + <#return true /> |
| 319 | +</#function> |
0 commit comments