PageSourceSearch

https://mixonline.nl/_nuxt/rl1j926y.js

js mixonline.nl collected 2026-10-02 05:38:19 UTC 8,715 bytes, 1 lines download raw bytes

1import{_ as de}from"./D3vuoWnx.js";import Q from"./DahKxLZg.js";import{d as K,p as pe,R as j,x as A,i as a,w as N,k as n,h as s,t as H,I as T,y as w,N as me,v as c,j as i,F as $,z as R,S as ee,b as ve,a as fe,Y as _e,s as _,l as W,c as ye,W as ge,q as he,r as be,D as xe,L as we,H as G,a2 as Y,K as $e,u as Ie,_ as ke}from"./CfwR7KjC.js";import{_ as Ve}from"./CNv4Olc0.js";import{_ as Ce}from"./CK3j4WxR.js";import{u as B}from"./DShjNU4z.js";import Se from"./DFapiiWR.js";import{_ as je}from"./D1911sjS.js";import"./CCWZUn3U.js";import"./Dsl0BBls.js";import"./bWaf13RF.js";import"./D02-2pnu.js";import"./BlYXyQln.js";import"./1V2jm14t.js";import"./DpQcQH3V.js";import"./DRrMar8Z.js";import"./Cd8xZgT4.js";import"./B_ZaJEvG.js";import"./BI5RZpNB.js";import"./CHOj1P8S.js";const Ue={class:"grid grid-cols-6 gap-4"},De={key:0,class:"col-span-6 lg:col-span-1 p-2 flex"},Re={key:1,class:"col-span-6 lg:col-span-1 border border-black w-full flex items-center justify-center"},Te={class:"col-span-6 lg:col-span-4 flex flex-col"},Fe={key:0,class:"bg-master text-white text-sm font-semibold rounded-sm px-[5px] py-[2px] font-roboto"},Me={key:0,class:"flex flex-wrap gap-x-2 mb-4"},Ne={key:0},Pe=K({__name:"Item",props:{vacancy:{type:Object,required:!0}},setup(v){pe("isPro").value;const o=v,I=j(()=>{var r;return(r=o.vacancy.introduction)==null?void 0:r.replace(/(\r\n|\n|\r)/gm," ")}),k=r=>{const f={year:"numeric",month:"long",day:"numeric"};return new Date(r).toLocaleString("nl",f)},V=r=>r.redirectURI?r.redirectURI:`/vacatures/vacature/${r.id}/${r.slug}`,h=j(()=>B().getMetadata(o.vacancy,!0));return(r,f)=>{const d=Ve,y=Q,b=Ce;return a(),A(b,{to:V(v.vacancy),target:v.vacancy.redirectURI?"_blank":"_self",class:"!text-black"},{default:N(()=>{var p,F;return[n("div",Ue,[o.vacancy.cover||o.vacancy.legacyCoverURI?(a(),s("div",De,[o.vacancy.cover?(a(),A(d,{key:0,src:`${(p=o.vacancy.cover)==null?void 0:p.url}?w=360`,class:"m-auto",alt:(F=o.vacancy.cover)==null?void 0:F.alternativeText},null,8,["src","alt"])):(a(),A(d,{key:1,src:`${o.vacancy.legacyCoverURI}?w=360`,class:"m-auto",alt:o.vacancy.company},null,8,["src","alt"]))])):(a(),s("div",Re,f[0]||(f[0]=[n("strong",null,"Geen afbeelding",-1)]))),n("div",Te,[n("h2",null,[T(w(o.vacancy.title)+" ",1),v.vacancy.fulfilled?(a(),s("span",Fe,"Succesvol vervuld")):H("",!0)]),n("ul",{class:me(["flex flex-wrap gap-x-4",{"mb-4":!c(h).length}])},[n("li",null,[i(y,{name:"fa6-solid:building"}),f[1]||(f[1]=T()),n("strong",null,w(v.vacancy.company),1)]),n("li",null,[i(y,{name:"fa6-solid:location-dot"}),T(" "+w(v.vacancy.location),1)]),n("li",null,[i(y,{name:"fa6-regular:calendar-days"}),T(" "+w(k(v.vacancy.publishedAt)),1)])],2),c(h).length?(a(),s("ul",Me,[(a(!0),s($,null,R(c(h),(C,g)=>(a(),s($,{key:g},[n("li",null,w(C),1),g<c(h).length-1?(a(),s("li",Ne,"•")):H("",!0)],64))),128))])):H("",!0),n("p",null,w(c(I)),1)])])]}),_:1},8,["to","target"])}}}),Le=ee(Pe,[["__scopeId","data-v-b78b0610"]]),Oe={class:"bg-white p-4"},Xe={class:"bg-neutral-100 border-2 border-neutral-200 rounded-md px-4 pb-4"},ze={class:"flex w-full"},Ae={class:"flex gap-4 my-4 flex-wrap"},Be={class:"flex flex-wrap gap-2"},qe={class:"filter-tag"},Ee={type:"button"},He={class:"filter-tag"},Ke=["onClick"],Ze={class:"my-8 flex gap-8 flex-col"},Je={key:0,class:"flex justify-between my-8"},We={key:1},Ge=K({__name:"Overview",props:{categoryIds:{type:Array}},async setup(v){var Z,J;let o,I;const k=ve(),V=fe(),h=_e(je),r=_([]);r.value=([o,I]=W(()=>le()),o=await o,I(),o);const f=_([]);f.value=r.value.length?r.value[0].properties:[];const d=_({}),y=_([]),b=v;j(()=>{var e;return((e=b.categoryIds)==null?void 0:e.length)===1&&b.categoryIds[0]=="2"});const p=_(1),F=ye().query.page;F&&(p.value=parseInt(F));const C=_(10),g=_((p.value-1)*C.value),U=_({}),P=_([]),q=_({});ge(()=>p.value,async e=>{if(await O(),setTimeout(()=>{window.scrollTo({top:0,behavior:"smooth"})},100),typeof window>"u")return;const t=`${window.location.pathname}?page=${p.value}`;$e().replace(t)});const te=j(()=>{const e={$and:[]},t=U.value.searchTerm;if(t&&e.$and.push({$or:[{title:{$containsi:t}},{introduction:{$containsi:t}},{text:{$containsi:t}},{company:{$containsi:t}},{location:{$containsi:t}}]}),y.value.length&&e.$and.push({categories:{id:{$in:ce.value}}}),d.value){const l={$and:[]};for(const u in d.value){const M=u,D=d.value[u];D!=null&&D.length&&l.$and.push({properties:{property:{name:{$eq:M}},propertyValues:{name:{$in:D}}}})}e.$and.push(l)}return e}
1),L={populate:"cover, categories, subcategories, properties, properties.property, properties.propertyValues",sort:["publishedAt:desc"],pagination:{start:g.value,limit:C.value}};b.categoryIds&&(L.filters={categories:{id:{$in:b.categoryIds}}});const ae=j(()=>{let e=`vacancies:${g.value},${C.value}`;return U.value.searchTerm&&(e+=`:${U.value.searchTerm}`),b.categoryIds&&(e+=`:categories-${b.categoryIds.join(",")}`),e}),{data:E,error:S}=([o,I]=W(async()=>he(ae,async()=>await B().fetch({client:V,url:k},{params:L}),"$aoRyxfWfs8")),o=await o,I(),o);if(!E.value)throw be({statusCode:((Z=S==null?void 0:S.value)==null?void 0:Z.statusCode)||500,message:((J=S==null?void 0:S.value)==null?void 0:J.statusCode)===404?"Vacatures niet gevonden.":"Fout bij ophalen vacatures.",fatal:!0,cause:S.value});P.value=E.value.data,q.value=E.value.meta.pagination;async function O(){g.value=(p.value-1)*C.value;const e=JSON.parse(JSON.stringify(te.value)),t={...L,filters:{...L.filters,...e},pagination:{start:g.value,limit:C.value}},l=await B().fetch({client:V,url:k},{params:t});P.value=l.data,q.value=l.meta.pagination}const ne=e=>{var l;const t=(l=f.value.find(u=>u.id===e))==null?void 0:l.propertyValues;return t?t.map(u=>u.name):[]};j(()=>r.value.map(e=>e.name));const oe=async e=>{await Y(),g.value=0,await O()},se=async(e,t)=>{const u=d.value[e].filter(M=>M!==t);d.value[e]=u};async function le(){return(await B().fetchCategories({client:V,url:k})).data}const re=e=>{var l;const t=(l=r.value.find(u=>u.name===e))==null?void 0:l.id;return typeof t=="string"?parseInt(t):typeof t=="number"?t:null},ce=j(()=>y.value.map(e=>re(e)).filter(e=>e!==null)),ie=async e=>{y.value=y.value.filter(t=>t!==e),await Y(),g.value=0,await O()};return(e,t)=>{const l=xe("FormKit"),u=Q,M=we,D=Le,ue=Se;return a(),s("div",Oe,[t[3]||(t[3]=n("h1",{class:"mt-0"},"MIXjobs",-1)),t[4]||(t[4]=n("p",null," MIXjobs is dé database met vacatures op alle niveaus binnen de DHZ-retail en Bouwgroothandel. Vind uw nieuwe uitdaging op MIXjobs. ",-1)),n("div",Xe,[t[2]||(t[2]=n("h2",null,"Doorzoek vacatures",-1)),i(M,null,{default:N(()=>[i(l,{id:"vacanciesSearchForm",type:"form",modelValue:c(U),"onUpdate:modelValue":t[0]||(t[0]=x=>G(U)?U.value=x:null),actions:!1,onSubmit:O},{default:N(({disabled:x})=>[n("div",ze,[i(l,{placeholder:"Locatie, bedrijf, functie",name:"searchTerm",type:"text","outer-class":"w-full lg:w-1/2 !mb-0 grow","wrapper-class":"h-full","inner-class":"!mb-0 h-full","input-class":"h-[3rem]"}),i(l,{type:"submit",label:"Zoek vacatures",disabled:x,"input-class":"!py-1 h-full rounded-none rounded-r-[.25rem]","wrapper-class":"h-full"},null,8,["disabled"])]),n("div",Ae,[(a(!0),s($,null,R(c(f),(m,X)=>(a(),s("div",{key:X},[i(l,{modelValue:c(d)[m.name],"onUpdate:modelValue":z=>c(d)[m.name]=z,name:`property|${m.name}`,type:c(h),"dropdown-label":m.name,options:ne(m.id),onInput:oe},null,8,["modelValue","onUpdate:modelValue","name","type","dropdown-label","options"])]))),128))]),n("div",Be,[(a(!0),s($,null,R(c(y),m=>(a(),s("span",qe,[T(w(m)+" ",1),n("button",Ee,[i(u,{name:"mdi:close",onClick:X=>ie(m)},null,8,["onClick"])])]))),256)),(a(!0),s($,null,R(c(d),(m,X)=>(a(),s($,null,[(a(!0),s($,null,R(m,z=>(a(),s("span",He,[T(w(z)+" ",1),n("button",{type:"button",onClick:Qe=>se(X.toString(),z)},[i(u,{name:"mdi:close"})],8,Ke)]))),256))],64))),256))])]),_:1},8,["modelValue"])]),_:1})]),n("div",Ze,[(a(!0),s($,null,R(c(P),(x,m)=>(a(),A(D,{key:x.id,vacancy:x,class:"border-b border-neutral-100 pb-8 hover:bg-neutral-100 hover:no-underline pt-4"},null,8,["vacancy"]))),128))]),c(P).length?(a(),s("div",Je,[i(ue,{modelValue:c(p),"onUpdate:modelValue":t[1]||(t[1]=x=>G(p)?p.value=x:null),total:c(q).total,class:"mx-auto flex-wrap",size:"md",max:11},null,8,["modelValue","total"])])):(a(),s("p",We,"Er zijn op dit moment geen vacatures."))])}}}),Ye=ee(Ge,[["__scopeId","data-v-3e69415c"]]),bt=K({__name:"index",setup(v){return Ie({title:"MIXjobs - MIXonline",description:"De vacaturebank van MIXonline is dé perfecte database voor nieuwe uitdagingen en interim-opdrachten op alle niveaus binnen de DHZ-(r)etail."}),(o,I)=>{const k=de,V=Ye,h=ke;return a(),s("div",null,[i(h,{name:"default"},{sidebar:N(()=>[i(k)]),default:N(()=>[i(V,{"category-ids":[1]})]),_:1})])}}});
1export{bt as default};

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.