1import{d as S,r as $,A as B,y as E,b as f,c as v,f as a,t as w,n as l,u as o,F as U,p as O,j as P,ad as F,e as m,o as R,i as T}from"./app.abc96695.js";import{u as C,_ as V}from"./grid--projects.vue_vue_type_script_setup_true_lang.f5e14e99.js";import{b as A,d as D}from"./url.71e9287b.js";import{_ as q}from"./search--filter.vue_vue_type_script_setup_true_lang.acdcd127.js";import{u as k}from"./icons.9374be07.js";import{B as I}from"./button--loadmore.bed84847.js";import"./preload-helper.8973cb1c.js";import"./_commonjsHelpers.712cc82f.js";import"./typesense.9b4d6e0c.js";import"./Typesense.22fac954.js";import"./card--project.vue_vue_type_script_setup_true_lang.51013eb3.js";import"./chip--guidance.b7461a70.js";import"./_plugin-vue_export-helper.cdc0426e.js";import"./rating--impact.701badfc.js";import"./rating--cost.c49a31cd.js";import"./methods.2e0f1740.js";import"./rating--evidence.5d85a427.js";import"./locator--map.vue_vue_type_script_setup_true_lang.f5e93ca7.js";import"./school-search.2a2170a7.js";import"./index.0a21aad0.js";import"./index.9b3a2e89.js";import"./metaseed.79bacd76.js";import"./card--project-no-results.e6848a64.js";const N=["aria-expanded","aria-label"],Q={class:"mr-auto"},z={key:0,class:"absolute top-dropdown left-0 z-10 bg-gray-blue-50 w-full rounded-xl py-2 shadow-md max-h-110 overflow-y-auto"},G=["onClick"],y=S({__name:"filter--multiselect-project",props:{id:{},facet:{},label:{},placeholder:{},utilities:{default:""},showLabel:{type:Boolean,default:!0}},emits:["update:filter"],setup(i,{emit:d}){const h=d,s=C(),n=$(!1),j=()=>{n.value=!1},c=e=>{h("update:filter",e),j()},g=e=>{const t=["and","in","or","the","a","an","of","to","for","with"];return e.split(" ").map((p,r)=>r===0?p.charAt(0).toUpperCase()+p.slice(1).toLowerCase():t.includes(p.toLowerCase())?p.toLowerCase():p.charAt(0).toUpperCase()+p.slice(1).toLowerCase()).join(" ")};return(e,t)=>{var r,b;const p=B("click-away");return E((f(),v("fieldset",{class:l(["relative",i.utilities])},[a("legend",{class:l(["block mb-2 text-gray-blue-900 font-primary text-base pl-3 font-bold",i.showLabel?"":"hidden"])},w(i.label),3),a("button",{class:l(["rounded-3xl py-3 px-6 font-medium inline-flex items-center cursor-pointer w-full text-base",((r=o(s).getFacetValues(i.facet))==null?void 0:r.length)>0?"bg-deep-orange-500 text-white":"bg-gray-blue-50 text-gray-blue-900"]),role:"button","aria-expanded":n.value?"true":"false","aria-label":`${n.value?"Collapse":"Expand"} ${i.label.toLowerCase()} filter`,onClick:t[0]||(t[0]=u=>n.value=!n.value)},[a("span",Q,w(i.placeholder),1),a("span",{class:l(["inline-flex items-center justify-end shrink-0 transition-transform duration-200 ease-in-out transform-gpu",n.value?"rotate-180":"rotate-0"])},[a("i",{class:l(o(k)("chevron-down"))},null,2)],2)],10,N),n.value?(f(),v("div",z,[(f(!0),v(U,null,O((b=o(s).getFacets(i.facet))==null?void 0:b.counts,(u,L)=>(f(),v(U,null,[u.value!==""?(f(),v("button",{key:L,class:l(["inline-flex items-center w-full text-gray-blue-900 py-4 md:py-2 px-6 text-sm text-left hover:bg-gray-blue-300",o(s).getIfSelectedFacetValues(i.facet,u.value)?"bg-gray-blue-200":""]),onClick:x=>c(u.value)},[a("span",{class:l([o(s).getIfSelectedFacetValues(i.facet,u.value)?"inline-flex":"hidden","text-base mr-2"])},[a("i",{class:l(o(k)("check-square"))},null,2)],2),a("span",{class:l([o(s).getIfSelectedFacetValues(i.facet,u.value)?"hidden":"inline-flex","text-base mr-2"])},[a("i",{class:l(o(k)("square"))},null,2)],2),a("span",null,w(u.value!==""?g(u.value.replace(/-/g," ")):"No theme selected")+" ("+w(u.count)+") ",1)],10,G)):P("",!0)],64))),256))])):P("",!0)],2)),[[p,j]])}}}),K={class:"bg-white shadow-md p-6 -mx-2 lg:mx-0"},M={class:"grid grid-cols-1 grid-rows-2 md:grid-cols-3 md:gap-4 lg:gap-x-16 lg:gap-y-6"},_=S({__name:"filter--projects",props:{projectType:{}},setup(i){const d=C(),{filters:h}=F(d),s=$(!1),n=g=>{d.setSearch(g)},j=()=>{s.value=!s.value},c=(g,e)=>{d.setFilters(g,e)};return(g,e)=>(f(),v("div",K,[a("div",{class:l(["grid grid-cols-1 lg:grid-cols-3 lg:grid-rows-1 lg:gap-16 lg:pb-8",s.value?"grid-rows-3":"grid-rows-1"])},[m(y,{id:"projectPhase",facet:"projectPhase",label:"Project phases",placeholder:"Phases",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[0]||(e[0]=t=>c("projectPhase",t))}),m(y,{id:"schoolPhases",facet:"schoolPhases",label:"Education phase",placeholder:"Phases",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[1]||(e[1]=t=>c("schoolPhases",t))}),m(y,{id:"keyStages",facet:"keyStages",label:"Key Stage",placeholder:"Key Stages",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[2]||(e[2]=t=>c("keyStages",t))})],2),a("div",{class:l(["transition-all ease-in-out duration-300",s.value?"max-h-screen opacity-100":"max-h-0 opacity-0 overflow-hidden"])},[a("div",M,[m(y,{id:"projectEvaluators",facet:"projectEvaluators",label:"Project evaluators",placeholder:"Evaluators",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[3]||(e[3]=t=>c("projectEvaluators",t))}),m(y,{id:"trials",facet:"projectType",label:"Types of evaluation",placeholder:"Evaluation types",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[4]||(e[4]=t=>c("projectType",t))}),m(y,{id:"subjects",facet:"subjects",label:"Subjects",placeholder:"Subjects",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[5]||(e[5]=t=>c("subjects",t))}),m(y,{id:"fundingRoundThemes",facet:"fundingRoundThemes",label:"Funding round themes",placeholder:"Themes",utilities:"mb-4 lg:mb-0","onUpdate:filter":e[6]||(e[6]=t=>c("fundingRoundThemes",t))}),a("div",{class:l(["pb-2 border-b border-gray-blue-100",i.projectType==="project"?"md:col-span-2":"md:col-span-3"])},[m(q,{query:o(h).searchQuery,label:"Search keywords",name:"search-input","onUpdate:query":e[7]||(e[7]=t=>n(t))},null,8,["query"])],2)])],2),a("div",{class:l(["border-t border-gray-blue-100 pt-6",s.value?"mt-6":"mt-0"])},[a("button",{class:"w-full flex items-center text-sm justify-center text-gray-500 hover:text-deep-orange-500 transition-colors ease-in-out duration-300",onClick:j},[e[8]||(e[8]=a("span",{class:"tracking-wide"}," Advanced Filters ",-1)),a("span",{class:l(["inline-flex items-center justify-center text-base ml-4","transform transition-transform ease-in-out duration-300",s.value?"rotate-180":"rotate-0"])},[a("i",{class:l(o(k)("chevron-down"))},null,2)],2)])],2)]))}}),W={class:"container relative z-20 max-w-screen-xl p-8 xl:px-0 mx-auto print:py-0"},ve=S({__name:"view--projects",props:{projectsRecruitingLandingUrl:{default:null}},setup(i){const d=C(),{projects:h,currentPage:s,totalPages:n,totalResults:j,limit:c,events:g}=F(d),e=()=>{let r=null;const b=D(window.location.href);return b!=="projects"&&b.indexOf("projects?")===-1?r="category":r="project",r},t=()=>{let r="Load more Projects";return s.value&&n.value&&c.value&&(r=`Load more Projects (${j.value-s.value*c.value})`),{gaLabel:s.value?s.value+1:"1",gaCategory:"Projects",gaAction:"Load more",value:r}},p=()=>{d.fetchProjectData(!1)};return R(async()=>{const r=A(),b=Object.keys(d.filters),u=["searchQuery","status","filterQuery"],L=(r||[]).filter(x=>!x||typeof x!="object"||typeof x.type!="string"?!1:b.indexOf(x.type)>-1||u.indexOf(x.type)>-1);await d.fetchProjectData(!0,L)}),(r,b)=>(f(),v("div",W,[m(_,{"project-type":e()},null,8,["project-type"]),o(h)?(f(),T(V,{key:0,projects:o(h),"projects-recruiting-landing-url":i.projectsRecruitingLandingUrl},null,8,["projects","projects-recruiting-landing-url"])):P("",!0),o(s)<o(n)?(f(),T(I,{key:1,button:t(),loading:o(g).LOADING,onTouch:p},null,8,["button","loading"])):P("",!0)]))}});
1export{ve 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.