mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2025-10-29 17:25:32 +00:00
Abschluss einfache Inhaltsuche
This commit is contained in:
@@ -140,14 +140,15 @@
|
||||
|
||||
{{- template "_fieldscript" -}}
|
||||
{{- if $model.parameters.IsBeitraegeSearch -}}
|
||||
<div class="cotents" id="searchresult">
|
||||
<div class="cotents" id="searchresults">
|
||||
{{- if $model.result.Hits -}}
|
||||
{{ template "_filterlist" $model }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
<div class="container-normal">
|
||||
<div class="container-normal" id="subresults">
|
||||
{{ template "tablehead" $model }}
|
||||
{{ template "pills" $model }}
|
||||
{{- if $model.result.Hits -}}
|
||||
<div class="mt-8" id="almanachcontents">
|
||||
{{- range $_, $hit := $model.result.Hits -}}
|
||||
|
||||
38
views/routes/suche/beitraege/pills.gohtml
Normal file
38
views/routes/suche/beitraege/pills.gohtml
Normal file
@@ -0,0 +1,38 @@
|
||||
{{ $model := . }}
|
||||
|
||||
{{- $isFiltered := or $model.filters.Agent $model.filters.Year $model.filters.Type
|
||||
$model.filters.OnlyScans
|
||||
-}}
|
||||
|
||||
{{- if $isFiltered -}}
|
||||
<div class="flex flex-row gap-x-3" id="searchpills">
|
||||
{{- if $model.filters.Agent -}}
|
||||
<filter-pill
|
||||
data-queryparam="agentfilter"
|
||||
data-value="{{ $model.filters.Agent }}"
|
||||
data-text="Person">
|
||||
</filter-pill>
|
||||
{{- end -}}
|
||||
{{- if $model.filters.Year -}}
|
||||
<filter-pill
|
||||
data-queryparam="yearfilter"
|
||||
data-value="{{ $model.filters.Year }}"
|
||||
data-text="Jahr">
|
||||
</filter-pill>
|
||||
{{- end -}}
|
||||
{{- if $model.filters.Type -}}
|
||||
<filter-pill
|
||||
data-queryparam="typefilter"
|
||||
data-value="{{ $model.filters.Type }}"
|
||||
data-text="Typ">
|
||||
</filter-pill>
|
||||
{{- end -}}
|
||||
{{- if $model.filters.OnlyScans -}}
|
||||
<filter-pill
|
||||
data-queryparam="onlyscans"
|
||||
data-value="{{ $model.filters.OnlyScans }}"
|
||||
data-text="Nur Digitalisate">
|
||||
</filter-pill>
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
@@ -63,11 +63,12 @@
|
||||
id="onlyscans"
|
||||
name="onlyscans"
|
||||
autocomplete="off"
|
||||
hx-get="{{- $model.parameters.ToQueryParamsBeitraege -}}"
|
||||
hx-get="{{- $model.parameters.ToQueryParamsBeitraege -}} {{- $model.filters.ToQueryParamsWOScans -}}"
|
||||
trigger="change"
|
||||
hx-push-url="true"
|
||||
hx-select="main"
|
||||
hx-target="main"
|
||||
hx-select="#searchresults"
|
||||
hx-target="#searchresults"
|
||||
hx-swap="outerHTML"
|
||||
{{ if $model.filters.OnlyScans -}}checked{{- end -}} />
|
||||
|
||||
<label
|
||||
@@ -82,11 +83,12 @@
|
||||
name="sort"
|
||||
id="sort"
|
||||
autocomplete="off"
|
||||
hx-get="{{- $model.parameters.ToQueryParamsBeitraege -}}"
|
||||
hx-get="{{- $model.parameters.ToQueryParamsBeitraege -}}{{- $model.filters.ToQueryParams -}}"
|
||||
trigger="change"
|
||||
hx-push-url="true"
|
||||
hx-select="main"
|
||||
hx-target="main">
|
||||
hx-select="#subresults"
|
||||
hx-target="#subresults"
|
||||
hx-swap="outerHTML show:window:top">
|
||||
<option
|
||||
value="year"
|
||||
{{ if eq $model.parameters.Sort "year" -}}
|
||||
|
||||
@@ -3,21 +3,24 @@
|
||||
{{- $isFiltered := or $model.filters.Agent $model.filters.Year $model.filters.Type -}}
|
||||
|
||||
|
||||
<div class="container-oversize " x-data="{ filters: '{{- $isFiltered -}}' }">
|
||||
<div class="container-oversize ">
|
||||
<button
|
||||
class="w-full flex flex-row bg-slate-100 py-3 border-2 border-slate-100 hover:border-slate-900
|
||||
cursor-pointer box-content hover:[&>_h2]:font-slate-900 select-none"
|
||||
@click="filters = !filters">
|
||||
id="filterlistbtn">
|
||||
<h2 class="text-2xl text-stone-700 px-32">
|
||||
Filter
|
||||
<i class="ri-arrow-right-s-line" x-show="!filters"></i>
|
||||
<i class="ri-arrow-down-s-line" x-show="filters"></i>
|
||||
<i class="ri-arrow-right-s-line show-closed"></i>
|
||||
<i class="ri-arrow-down-s-line show-opened"></i>
|
||||
</h2>
|
||||
</button>
|
||||
<div
|
||||
class="flex flex-row px-24 justify-between bg-slate-100 py-12 border-t-4 border-stone-50"
|
||||
id="searchfilter"
|
||||
x-show="filters">
|
||||
class="flex flex-row px-24 justify-between bg-slate-100 py-12 border-t-4 border-stone-50 {{ if
|
||||
$isFiltered
|
||||
}}
|
||||
hidden
|
||||
{{ end }}"
|
||||
id="searchfilter">
|
||||
<div class="w-[30%] grow-0 shrink-0">
|
||||
<filter-list
|
||||
class=""
|
||||
@@ -48,6 +51,30 @@
|
||||
</div>
|
||||
|
||||
<script type="module">
|
||||
let button = document.getElementById("filterlistbtn");
|
||||
let filter = document.getElementById("searchfilter");
|
||||
if (button && filter) {
|
||||
toggleFilter();
|
||||
if (button && filter) {
|
||||
button.addEventListener("click", () => {
|
||||
toggleFilter();
|
||||
});
|
||||
}
|
||||
|
||||
function toggleFilter() {
|
||||
if (filter.classList.contains("hidden")) {
|
||||
filter.classList.remove("hidden");
|
||||
button.querySelector(".show-closed").classList.add("hidden");
|
||||
button.querySelector(".show-opened").classList.remove("hidden");
|
||||
} else {
|
||||
filter.classList.add("hidden");
|
||||
button.querySelector(".show-closed").classList.remove("hidden");
|
||||
button.querySelector(".show-opened").classList.add("hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let agentList = document.getElementById("agent-list");
|
||||
if (agentList) {
|
||||
agentList.items = {{ $model.result.AgentsList }};
|
||||
|
||||
Reference in New Issue
Block a user