1import{_ as R,P as h,o as n,c as i,D as C,g as e,n as f,t as o,F as _,V as T,H as M,T as N,r as g,h as m,b as c,k as y,J as A,K as L,a as k,w as q,j as B}from"./index-5xAk84pv.js";import{B as V}from"./index-DeyJjIIO.js";const x={data(){return{pageNumber:this.page}},props:{page:{type:Number,required:!0},pages:{type:Number,required:!0}},computed:{pageInfo(){return h("search.result.pageinfo",{page:this.page,pages:this.pages})}},methods:{emitPageChange(){this.$emit("pageChange",this.pageNumber)}},watch:{pageNumber:"emitPageChange"}},H={class:"pagination"},E={class:"pagination__info"};function z(u,t,a,b,r,s){return n(),i(_,null,[C(u.$slots,"default"),e("div",H,[e("button",{class:f(["pagination__button",{disabled:a.page==1}]),onClick:t[0]||(t[0]=d=>r.pageNumber--)},"â",2),e("span",E,o(s.pageInfo),1),e("button",{class:f(["pagination__button",{disabled:a.page==a.pages}]),onClick:t[1]||(t[1]=d=>r.pageNumber++)},"â",2)])],64)}const D=R(x,[["render",z]]),F={name:"SearchApp",components:{Button:V,SearchForm:T,Headline:M,TeaserArticle:N,Pagination:D},data(){return{loading:!1,query:"",lastQuery:"",dateRange:"all",noResults:!1,showErrorMessage:!1,urlParams:new URLSearchParams(window.location.search),searchResults:[],pages:1,page:1,size:20}},computed:{headline(){if(this.lastQuery)return h("search.result.headline",{query:this.lastQuery})},queryParameters(){return this.dateRange!="all"?`query[]=${this.query}&query[]=${this.dateRange}`:`query=${this.query}`},noResultsMessage(){return h("search.noresult.headline",{query:this.lastQuery})},errorMessageHeadline(){return h("search.error.headline")},errorMessageSubline(){return h("search.error.subline")},dateRangeLabel(){return h("search.form.daterange.label")},dateRangeAll(){return h("search.form.daterange.all")},dateRangeWeek(){return h("search.form.daterange.week")},dateRangeMonth(){return h("search.form.daterange.month")},dateRangeYear(){return h("search.form.daterange.year")}},methods:{async performSearch(u){u&&(this.setPage(u),this.$nextTick(()=>this.scrollToTop())),this.updateUrlParams(),this.resetResultsArea(),this.lastQuery=this.query;try{this.loading=!0;const a=await(await fetch(`/elastic-helper/query?${this.queryParameters}&page=${this.page}&perPage=${this.size}`)).json();if(this.loading=!1,a.total===0){this.noResults=!0;return}this.pages=a.pages,this.page=a.page,this.size=a.size,this.searchResults=a.hits}catch{this.loading=!1,this.showErrorMessage=!0}},changeDateRange(u){this.dateRange=u.target.value,this.query&&this.performSearch(1)},setPage(u){this.page=u},updateUrlParams(){this.urlParams.set("q",this.query),this.urlParams.set("page",this.page),window.history.replaceState({},"",`${location.pathname}?${this.urlParams.toString()}`)},resetResultsArea(){this.noResults=!1,this.showErrorMessage=!1,this.searchResults=[]},scrollToTop(){document.getElementById("searchform").scrollIntoView()}},created(){this.query=this.urlParams.has("q")?this.urlParams.get("q"):"",this.page=this.urlParams.has("page")?this.urlParams.get("page"):1},mounted(){this.query&&this.performSearch()},props:{quickLinksTitle:{type:String,required:!1},quickLinks:{type:Array,required:!0,default:[]}}},Q={"data-label":"teaserlist",class:"search-results teaserlist block text--align-left container container--wide"},I={class:"teaserlist__content"},U={class:"search-results__controls"},j={for:"search-date-range",class:"search-results__date-range--label"},W={value:"all"},Y={value:"7"},J={value:"30"},K={value:"365"},G={key:0,class:"search-results__quick-links-wrapper"},O={key:0,class:"search-results__quick-links-wrapper--title"},X={key:0,class:"loading-spinner"},Z={class:"search-results__area"},$={class:"teaserlist-list"},ee={key:1,class:"error-message"},se={key:2,class:"noresults-message"};function ae(u,t,a,b,r,s){const d=g("SearchForm"),P=g("Button"),v=g("Headline"),S=g("TeaserArticle"),w=g("Pagination");return n(),i("section",Q,[e("section",I,[m(d,{onSearchSubmission:s.performSearch,onResetpage:t[0]||(t[0]=l=>s.setPage(1)),ref:"searchform",value:r.query,prevent:!0,resetPage:!0,modelValue:r.query,"onUpdate:modelValue":t[1]||(t[1]=l=>r.query=l)},null,8,["onSearchSubmission","value","modelValue"]),e("div",U,[e("div",null,[e("label",j,[e("span",null,o(s.dateRangeLabel),
11),e("select",{name:"search-date-range",id:"search-date-range",onChange:t[2]||(t[2]=l=>s.changeDateRange(l)),class:"search-results__date-range"},[e("option",W,o(s.dateRangeAll),1),e("option",Y,o(s.dateRangeWeek),1),e("option",J,o(s.dateRangeMonth),1),e("option",K,o(s.dateRangeYear),1)],32)])]),a.quickLinks.length?(n(),i("div",G,[a.quickLinksTitle?(n(),i("div",O,o(a.quickLinksTitle),1)):c("",!0),e("ul",null,[(n(!0),i(_,null,y(a.quickLinks,(l,p)=>(n(),i("li",{key:l.url+p},[m(P,{href:l.url,"class-name":"button--pill"},{default:q(()=>[B(o(l.label),1)]),_:2},1032,["href"])]))),128))])])):c("",!0)]),r.loading?(n(),i("div",X)):c("",!0),A(e("div",Z,[s.headline?(n(),k(v,{key:0,headline:s.headline,level:"h2",cssClass:"teaserlist__headline search-results__headline"},null,8,["headline"])):c("",!0),m(w,{pages:r.pages,page:r.page,onPageChange:s.performSearch},{default:q(()=>[e("ul",$,[(n(!0),i(_,null,y(r.searchResults,(l,p)=>(n(),i("li",{key:p,class:"teaserlist-list__item"},[l.typeHandle==="article"?(n(),k(S,{key:0,teaser:l,truncateText:140,gridColumns:""},null,8,["teaser"])):c("",!0)]))),128))])]),_:1},8,["pages","page","onPageChange"])],512),[[L,r.searchResults.length]]),r.showErrorMessage?(n(),i("div",ee,[e("h4",null,o(s.errorMessageHeadline),1),e("p",null,o(s.errorMessageSubline),1)])):c("",!0),r.noResults?(n(),i("div",se,o(s.noResultsMessage),1)):c("",!0)])])}const ne=R(F,[["render",ae]]);export{ne as S};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.