diff --git a/pages/suche_beitraege.go b/pages/suche_beitraege.go index bc31ae9..fab2688 100644 --- a/pages/suche_beitraege.go +++ b/pages/suche_beitraege.go @@ -67,6 +67,39 @@ func (p *BeitraegeFilterParameters) FieldSetBeitraege() []dbmodels.FTS5QueryRequ return ret } +func (p BeitraegeFilterParameters) ToQueryParams() string { + r := "" + if p.Agent != "" { + r += "&" + FILTER_PARAM_BEIAEGE_AGENT + "=" + p.Agent + } + if p.Type != "" { + r += "&" + FILTER_PARAM_BEIAEGE_TYPE + "=" + p.Type + } + if p.Year != "" { + r += "&" + FILTER_PARAM_BEIAEGE_YEAR + "=" + p.Year + } + if p.OnlyScans { + r += "&" + FILTER_PARAM_BEIAEGE_ONLYSCANS + "=on" + } + + return r +} + +func (p BeitraegeFilterParameters) ToQueryParamsWOScans() string { + r := "" + if p.Agent != "" { + r += "&" + FILTER_PARAM_BEIAEGE_AGENT + "=" + p.Agent + } + if p.Type != "" { + r += "&" + FILTER_PARAM_BEIAEGE_TYPE + "=" + p.Type + } + if p.Year != "" { + r += "&" + FILTER_PARAM_BEIAEGE_YEAR + "=" + p.Year + } + + return r +} + type SearchResultBeitraege struct { Queries []dbmodels.FTS5QueryRequest diff --git a/views/layouts/default/root.gohtml b/views/layouts/default/root.gohtml index 3463505..4df021e 100644 --- a/views/layouts/default/root.gohtml +++ b/views/layouts/default/root.gohtml @@ -21,14 +21,12 @@ {{ end }} - - - + diff --git a/views/routes/suche/beitraege/body.gohtml b/views/routes/suche/beitraege/body.gohtml index cc38be8..7acd368 100644 --- a/views/routes/suche/beitraege/body.gohtml +++ b/views/routes/suche/beitraege/body.gohtml @@ -140,14 +140,15 @@ {{- template "_fieldscript" -}} {{- if $model.parameters.IsBeitraegeSearch -}} -
+
{{- if $model.result.Hits -}} {{ template "_filterlist" $model }} {{- end -}} -
+
{{ template "tablehead" $model }} + {{ template "pills" $model }} {{- if $model.result.Hits -}}
{{- range $_, $hit := $model.result.Hits -}} diff --git a/views/routes/suche/beitraege/pills.gohtml b/views/routes/suche/beitraege/pills.gohtml new file mode 100644 index 0000000..2c2c804 --- /dev/null +++ b/views/routes/suche/beitraege/pills.gohtml @@ -0,0 +1,38 @@ +{{ $model := . }} + +{{- $isFiltered := or $model.filters.Agent $model.filters.Year $model.filters.Type + $model.filters.OnlyScans +-}} + +{{- if $isFiltered -}} +
+ {{- if $model.filters.Agent -}} + + + {{- end -}} + {{- if $model.filters.Year -}} + + + {{- end -}} + {{- if $model.filters.Type -}} + + + {{- end -}} + {{- if $model.filters.OnlyScans -}} + + + {{- end -}} +
+{{- end -}} diff --git a/views/routes/suche/beitraege/tablehead.gohtml b/views/routes/suche/beitraege/tablehead.gohtml index fd3b718..b1534d1 100644 --- a/views/routes/suche/beitraege/tablehead.gohtml +++ b/views/routes/suche/beitraege/tablehead.gohtml @@ -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 -}} />