PageSourceSearch

https://www.roskilde.dk/_nuxt/DCaAQXrX2.js

js roskilde.dk collected 2026-09-24 09:25:16 UTC 2,570 bytes, 1 lines download raw bytes

1import{C as e,D as t,Gt as a,J as o,Lt as n,R as s,ct as r,gt as u,it as l,pn as i,tt as c}from"./B8XHxhss.js";import{xt as p}from"#entry";var m=["onsubmit","action","enctype","method"],d=Object.assign({inheritAttrs:!1},{__name:"FetchForm",props:{action:String,enctype:{type:String,default:"application/x-www-form-urlencoded"},method:String,options:{type:Object,default:()=>({})},dataAppendage:{type:Object,default:()=>({})},dataTransformation:{type:Function,default:e=>e},useNativeFormDataOnPost:Boolean,mockupResponse:null,disabled:Boolean},emits:["fetch","request","response","error","complete"],setup(d,{expose:f,emit:v}){const h=u(),y=d,b=v,R=n(null),g=n(!1),D=e(()=>(y.method||"GET").toUpperCase()),w=e(()=>({method:D.value,...y.options,onRequest:(...e)=>{y.options?.onRequest?.(...e),b("request",...e)}})),O=n(0),S=e(()=>O.value>0),T=n(null),k=n(null),F=e(()=>{const e={...h};return delete e.onSubmit,e});async function P(e){y.disabled?e.preventDefault():(h.onSubmit?.(e),e.defaultPrevented||"DIALOG"===y.method?.toUpperCase?.()||(e.preventDefault(),await q()))}async function q(e){e??={},e={...y,...e};const t=n({key:String(Math.random()),...w.value,...e.options,onRequest:(...t)=>{e.options?.onRequest?.(...t),b("request",...t)}});if(e.action){const a=new URL(e.action,"https://example.com");let o=R.value?.formData?R.value.formData():new FormData(R.value),n="https://example.com"===a.origin?"":a.origin,s=o;if(e.dataAppendage)for(const[t,l]of Object.entries(e.dataAppendage))s.set(t,l);e.dataTransformation&&(s=e.dataTransformation(s)),e.useNativeFormDataOnPost||(s=Object.fromEntries(s)),["GET","DELETE"].includes(D.value)&&(a.search=new URLSearchParams(s));let r=!0;if(O.value++,e.mockupResponse){const t="function"==typeof e.mockupResponse?e.mockupResponse?.(s):e.mockupResponse;return b("fetch",new Promise(a=>{b("response",t),b("complete",!0),a({meta:{code:200},data:t,error:null}),T.value=e.mockupResponse,k.value=null,O.value--})),t}const u=p(n+a.pathname+a.search,{body:["POST","PUT","PATCH"].includes(D.value)?s:void 0,...t.value}).then(e=>{b("response",e),T.value=e,k.value=null}).catch(e=>{b("error",e),r=!1,T.value=null,k.value=e}).finally(()=>{O.value--,b("complete",r)});return b("fetch",u),await u,T.value}}return c(()=>{g.value=!0}),f({isFetching:S.value,submit:q}),(e,n)=>(l(),t("form",o({ref_key:"$el",ref:R,onsubmit:a(g)?null:"return false;",action:d.action,enctype:d.enctype,method:a(D),class:"c-fetch-form"},a(F),{onSubmit:P}),[r(e.$slots,"default",i(s({isFetching:a(S),currentResponse:a(T),currentError:a(k)})))],16,m))}});export{d as t};

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.