1"use strict";(globalThis.webpackChunkbrom_web=globalThis.webpackChunkbrom_web||[]).push([[8321],{5872:(e,a,t)=>{t.r(a),t.d(a,{default:()=>E});var l=t(8257),r=t(7786);class n{static async getData(e,a=null){const t=new URL(e,window.location.origin);if(a&&Object.keys(a).forEach((e=>t.searchParams.append(e.toLowerCase(),a[e]))),!URL.canParse(t.toString()))throw new Error("Invalid URL",t.toString());return fetch(t.toString(),{headers:{"Accept-Language":document.documentElement.lang,"Content-Type":"application/json"}})}static async postData(e,a){const t=new URL(e,window.location.origin);if(!URL.canParse(t.toString()))throw new Error("Invalid URL",t.toString());return fetch(t.toString(),{method:"POST",headers:{"Accept-Language":document.documentElement.lang,"Content-Type":"application/json"},body:JSON.stringify(a)})}}var s=t(9952);const o={class:"news-filters"},i=["aria-expanded"],c={class:"news-filters-container"},u={class:"news-filter"},d=["data-selected"],v=["data-selected","onClick"],w={key:0,class:"news-filter"},h=["data-selected"],g=["data-selected","onClick"],k={class:"news-filter"},m=["href"],p={key:0,class:"card-article-image"},L=["src","alt"],f={class:"card-content"},y={class:"card-article-date"},C={class:"card-article-title"},b=["innerHTML"],E={__name:"app",props:{rootId:{type:Number,required:!0},catRootId:{type:Number,required:!0}},setup(e){const a=e,t=(0,r.Ubj)("(max-width: 767px)"),E=(0,l.KR)(null),R=(0,l.KR)([]),K=(0,l.KR)([]),P=(0,l.KR)(null),S=(0,l.KR)([]),I=(0,l.KR)(!1),T=(0,l.KR)(null),_=(0,l.KR)(null),U=async()=>{T.value&&clearTimeout(T.value),T.value=setTimeout((async()=>{if(!_.value?.length)return F(),void await x();await X()}),1e3)},X=async()=>{F();const e={s:_.value};E.value&&(e.y=E.value),P.value&&(e.c=P.value.toLocaleLowerCase());try{const a=await n.getData("/api/brom/news/search",e);if(!a.ok)throw new Error("Network response was not ok");const t=await a.json();R.value=t}catch(e){return void console.error("Error performing search",e)}},x=async()=>{const e={r:a.rootId};E.value&&(e.y=E.value),P.value&&(e.c=P.value.toLocaleLowerCase());try{const a=await n.getData("/api/brom/news",e);if(!a.ok)throw new Error("Network response was not ok");const t=await a.json();R.value=t}catch(e){return void console.error("Error fetching news items",e)}},j=e=>{P.value=e?.toLocaleLowerCase()??null,F(),_.value?.length?X():x()},D=e=>{E.value=e??null,F(),_.value?.length?X():x()},F=()=>{const e=new URL(window.location.href);P.value?.length?e.searchParams.set("c",P.value.toLocaleLowerCase()):e.searchParams.delete("c"),E.value?e.searchParams.set("y",E.value):e.searchParams.delete("y"),_.value?.length?e.searchParams.set("q",_.value):e.searchParams.delete("q"),window.history.replaceState({},"",e.toString())};return(0,l.KC)((()=>{(()=>{const e=new URL(window.location.href),a=e.searchParams.get("c"),t=e.searchParams.get("y"),l=e.searchParams.get("q");a&&(P.value=a.toLocaleLowerCase()),t&&(E.value=parseInt(t)||null),l&&(_.value=l)})(),(async()=>{const e={r:a.catRootId};try{const a=await n.getData("/api/brom/news/categories",e);if(!a.ok)throw new Error("Network response was not ok");const t=await a.json();K.value=t}catch(e){return void console.error("Error fetching categories",e)}})(),_.value?.length?X():x();const e=(new Date).getFullYear();for(let a=0;a<3;a++){var t=e-a;S.value.push(t)}})),(e,a)=>((0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("div",o,[(0,l.R1)(t)?((0,l.uX)(),(0,l.CE)("button",{key:0,"aria-expanded":I.value,onClick:a[0]||(a[0]=e=>I.value=!I.value),class:"news-filters-toggle"},[a[4]||(a[4]=(0,l.Lk)("i",{class:"icon-filter-list","aria-hidden":"true"},null,-1)),a[5]||(a[5]=(0,l.Lk)("span",null,"Sök och filtrering",-1)),(0,l.Lk)("i",{class:(0,l.C4)(I.value?"icon-expand-less":"icon-expand-more"),"aria-hidden":"true"},null,2)],8,i)):(0,l.Q3)("v-if",!0),(0,l.bo)((0,l.Lk)("div",c,[(0,l.Lk)("div",u,[a[6]||(a[6]=(0,l.Lk)("b",null,"Tidsrymd",-1)),(0,l.Lk)("div",null,[(0,l.Lk)("button",{class:"news-filter-item","data-selected":null===E.value,onClick:a[1]||(a[1]=e=>D(null))}," Visa alla ",8,d),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(S.value,(e=>((0,l.uX)(),(0,l.CE)("button",{class:"news-filter-item","data-selected":E.value===e,key:e,onClick:a=>D(e)},(0,l.v_)(e),9,v)))),128))])]),K.value.length>0?((0,l.uX)(),(0,l.CE)("div",w,[a[7]||(a[7]=(0,l.Lk)("b",null,"Typ av material",-1)),(0,l.Lk)("div",null,[(0,l.Lk)("button",{class:"news-filter-item","data-selected":null===P.value,onClick:a[2]||(a[2]=e=>j(null))}," Visa alla ",8,h),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(K.value,(e=>((0,l.uX)(),(0,l.CE)("button",{class:"news-filter-item","data-selected":P.value===e.toLocaleLowerCase(),key:e,onClick:a=>j(e)},(0,l.v_)(e),9,g)))),128))])])):(0,l.Q3)("v-if",!0),(0,l.Lk)("div",k,[a[8]||(a[8]=(0,l.Lk)("label",{class:"news-filter-label",for:"nsi"}," Hittar du inte det du letar efter? ",-1)),(0,l.bo)((0,l.Lk)("input",{type:"search",id:"nsi",class:"news-filter-search",placeholder:"Sök i nyheter","onUpdate:modelValue":a[3]||(a[3]=e=>_.value=e),onInput:U},null,544),[[l.Jo,_.value]])])],512),[[l.aG,!(0,l.R1)(t)||I.value]])]),(0,l.Lk)("span",null," Visar "+(0,l.v_)(R.value.length)+" "+(0,l.v_)(1===R.value.length?"artikel":"artiklar"),1),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(R.value,(e=>{return(0,l.uX)(),(0,l.CE)("a",{key:e.id,class:"card card-article card-article-full card-article-border",href:e.url},[e.image?.url?((0,l.uX)(),(0,l.CE)("figure",p,[(0,l.Lk)("img",{src:(n=e.image?.url,o=e.image?.rxy,o?`${n}?rxy=${o}&width=546&height=308`:`${n}?width=546&height=308`),alt:e.image?.alt,loading:"lazy",width:"546",height:"308"},null,8,L)])):(0,l.Q3)("v-if",!0),(0,l.Lk)("div",f,[(0,l.Lk)("span",y,(0,l.v_)((r=e.date,new Intl.DateTimeFormat("sv-SE",{year:"numeric",month:"long",day:"numeric"}).format(new Date(r))))+" "+(0,l.v_)(e.newsCategories?.length?"- ":"")+" "+(0,l.v_)((t=e.newsCategories,t.map((e=>{return(a=e.replace(/-/g," ")).charAt(0).toUpperCase()+a.slice(1);var a}
1)).join(", "))),1),(0,l.Lk)("h3",C,(0,l.v_)(e.title),1),(0,l.Lk)("div",{class:"card-article-introduction",innerHTML:(0,l.R1)(s.x)(e.summary)},null,8,b),a[9]||(a[9]=(0,l.Lk)("div",{class:"card-article-icon"},[(0,l.Lk)("i",{class:"icon-arrow-forward","aria-hidden":"true"})],-1))])],8,m);var t,r,n,o})),128))],64))}}}}]);
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.