{{ $model := . }} {{/* .result: type SearchResultBeitraege struct { Queries []dbmodels.FTS5QueryRequest // these are the sorted IDs for hits Hits []string Entries map[string]*dbmodels.Entry // <- Key: Entry ID Agents map[string]*dbmodels.Agent // <- Key: Agent IDs Contents map[string][]*dbmodels.Content // <- Key: Entry ID, or year ContentsAgents map[string][]*dbmodels.RContentsAgents // <- Key: Content ID } .parameters: type SearchParameters struct { Parameters Sort string Annotations bool Persons bool Title bool Series bool Places bool Refs bool Year bool Entry bool Incipit bool AnnotationsString string PersonsString string TitleString string AlmString string SeriesString string PlacesString string RefsString string YearString string EntryString string IncipitString string } */}} {{ $isAlm := false }} {{ $isTitle := false }} {{ $isYear := false }} {{ $isPerson := false }} {{ $isAnnotation := false }} {{ $isIncipit := false }} {{ $isEntry := false }} {{- $isAlm = $model.parameters.AlmString -}} {{- $isTitle = or $model.parameters.Title $model.parameters.TitleString -}} {{- $isYear = or $model.parameters.Year $model.parameters.YearString -}} {{- $isPerson = or $model.parameters.Persons $model.parameters.PersonsString -}} {{- $isAnnotation = or $model.parameters.Annotations $model.parameters.AnnotationsString -}} {{- $isIncipit = or $model.parameters.Incipit $model.parameters.IncipitString -}} {{- $isEntry = or $model.parameters.Entry $model.parameters.EntryString -}} {{- $isBase := not (or $isTitle $isYear $isPerson $isAnnotation $isIncipit $isEntry) -}}
{{- template "_heading" $model.parameters -}}
{{- template "_musenalmidbox" Arr $model.parameters.AlmString "beitraege" -}}
{{- $q := "" }} {{- if $model.parameters.Query -}} {{- $q = $model.parameters.Query -}} {{- end -}} {{ template "_searchboxsimple" Arr $model.parameters true $q }}
{{ template "_infotextsimple" true }}
{{- template "_fieldscript" -}} {{- if $model.parameters.IsBeitraegeSearch -}}
{{ if $model.parameters.Query -}} Suche nach »{{ $model.parameters.Query }}« · {{- end -}} {{- if $isAlm -}} Inhaltsnummer »{{ $model.parameters.AlmString }}« · {{- end -}} {{ if eq $model.result.Count 1 -}} Ein Beitrag {{ else -}} {{ $model.result.Count }} Beiträge {{- end }} in {{ if eq ($model.result.Entries | len) 1 -}} einem Band {{ else -}} {{ $model.result.Entries | len }} Bänden {{- end -}}
{{- if gt (len $model.result.Pages) 1 }}
{{ if gt $model.parameters.Page 1 -}} {{- end -}} S. {{ $model.parameters.Page }} / {{ $model.result.PagesCount }} {{ if lt $model.parameters.Page ($model.result.PagesCount) -}} {{- end -}}
{{- end -}} {{- if not $isAlm -}}
{{/* INFO: We always redrect to letter = A bc some letters dont exist for other professions */}}
{{- end -}}
{{- if $model.result.Hits -}}
{{- range $_, $hit := $model.result.Hits -}} {{- $e := index $model.result.Entries $hit -}} {{- $contents := index $model.result.Contents $e.Id -}}
{{ $e.PreferredTitle }}
{{- len $contents -}}
{{- range $i, $c := $contents -}} {{- $rels := index $model.result.ContentsAgents $c.Id -}} {{- template "_content" Arr $c $e $rels $model.result.Agents false true $model.parameters -}} {{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}