{{ $model := . }}
{ if (d !== current) d.open = false; }); }, changeSort(field) { if (this.sortField === field) { this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc'; } else { this.sortField = field; this.sortOrder = 'asc'; } this.offset = 0; this.hasMore = true; const params = new URLSearchParams(); params.set('sort', this.sortField); params.set('order', this.sortOrder); params.set('offset', 0); this.appendActiveFilter(params); if (!this.activeFilterType) { if (this.search) { params.set('search', this.search); } if (this.selectedLetter) { params.set('letter', this.selectedLetter); } } const queryString = params.toString(); htmx.ajax('GET', `/baende/results/?${queryString}`, { target: '#baenderesults', swap: 'outerHTML', indicator: 'body' }); }, updateUrl() { const params = new URLSearchParams(); params.set('offset', this.offset); params.set('sort', this.sortField); params.set('order', this.sortOrder); this.appendActiveFilter(params); if (!this.activeFilterType) { if (this.search) { params.set('search', this.search); } if (this.selectedLetter) { params.set('letter', this.selectedLetter); } } const query = params.toString(); const newUrl = query ? `/baende/?${query}` : '/baende/'; window.history.replaceState(null, '', newUrl); }, loadMoreUrl() { const params = new URLSearchParams(); params.set('offset', this.offset); params.set('sort', this.sortField); params.set('order', this.sortOrder); this.appendActiveFilter(params); if (!this.activeFilterType) { if (this.search) { params.set('search', this.search); } if (this.selectedLetter) { params.set('letter', this.selectedLetter); } } return `/baende/more/?${params.toString()}`; } }" @htmx:after-swap.window=" if ($event.detail.target && $event.detail.target.id === 'baenderesults') { const responseUrl = $event.detail.xhr?.responseURL || window.location.href; const params = new URL(responseUrl).searchParams; sortField = params.get('sort') || sortField; sortOrder = params.get('order') || sortOrder; const filterKeys = ['status', 'person', 'user', 'year', 'place']; activeFilterType = ''; activeFilterValue = ''; filterKeys.some((key) => { const val = params.get(key); if (val) { activeFilterType = key; activeFilterValue = val; return true; } return false; }); if (activeFilterType) { search = ''; selectedLetter = ''; } else { search = params.get('search') || ''; selectedLetter = params.get('letter') || ''; } updateUrl(); } " class="container-normal font-sans mt-10">

Bände A–Z

Alle
{{- range $_, $ch := $model.letters -}} {{ $ch }} {{- end -}}
Alle {{- range $_, $s := $model.filter_statuses -}} {{ $s.label }} {{- end -}}
Alle
{{- range $_, $u := $model.filter_users -}} {{ $u.Name }} {{- end -}}
Alle
{{- range $_, $y := $model.filter_years -}} {{- $label := $y -}} {{- if eq $y 0 -}}{{- $label = "ohne Jahr" -}}{{- end -}} {{ $label }} {{- end -}}
Alle
{{- range $_, $p := $model.filter_places -}} {{ $p.Name }} {{- end -}}
Spalten
{{ if $model.current_count }}{{ $model.current_count }} / {{ end }}{{ if $model.total_count }}{{ $model.total_count }}{{ else }}{{ len $model.result.Entries }}{{ end }} Bände
{{ template "_baende_table" $model }}