1import{_ as ye}from"./pgKSnNOt.js";import{d as ve,n as we,u as he,l as ge,I as W,r as q,o as n,e as _,f as p,i as l,x as i,h as u,P as ke,F as P,g as w,E as $,X as Ve,Y as E,Z as $e,t as c,v as b,s as O,z as y,y as ee,J as te,dP as be,ah as Ce,j as N,G as h}from"./BWV5z60M.js";import{_ as Se}from"./DxVv4o4g.js";import{u as xe}from"./CqURr0bF.js";import{u as Ae}from"./46tvhFQC.js";import{u as Ue}from"./C_Nv-hb_.js";import{V as Fe}from"./HzEfOo0D.js";import{I as ae}from"./CNikWczb.js";import{I as je}from"./yDzKMliy.js";import{I as Ie}from"./BRltocCK.js";import"./C7gyIZOo.js";import"./e0H-u6TX.js";import"./D5F6io-M.js";const Pe={key:0,class:"d-flex justify-center align-center py-6"},Ne={class:"d-flex align-center justify-space-between mb-4"},Be={class:"list_prepend_item mr-1"},ze={key:0,class:"mt-1"},Te={key:0,class:"d-flex flex-column gap-1"},De=["onClick"],Ee={class:"d-flex gap-2 mt-2"},Oe={key:1,class:"d-flex align-start gap-2"},Le={style:{"min-width":"0"}},Me=["onClick"],Ge={key:0},Je={key:1,style:{opacity:"0.6","font-size":"0.85em"},class:"mt-1"},Xe={key:1,class:"mt-1"},Ye={key:1,class:"d-flex align-start gap-2"},Ze={style:{"min-width":"0"}},He={key:0,class:"text-truncate"},Ke={key:1,class:"text-truncate"},Qe={key:2,style:{opacity:"0.6","font-size":"0.85em"},class:"mt-1"},Re={key:0,class:"mt-2",style:{opacity:"0.6"}},We=ve({__name:"AnswersList",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(le){const{locale:ne,t:se}=we(),{showNotification:oe}=xe(),L=he(),M=N(()=>L.params.projectUuid),G=N(()=>L.params.participantUUID),{participantPortalData:C}=Ae(),ie=N(()=>C.value.participant?.participant_uuid),J=N(()=>`${C.value.participant?.first_name||""} ${C.value.participant?.last_name||""}`.trim()),A=h([]),S=h(!1),U=h(!1),F=h(null),o=h(""),m=h([]),v=h(!1),{initializeTracking:re,trackUpload:ce,trackDeletion:de,handleCancel:X,handleSave:pe}=Ue(),B=h(!1),z=async()=>{U.value=!0;try{const e=await $fetch(`/api/projects/${M.value}/participants/${G.value}/clickthrough-answers`,{query:{show_empty:S.value}});A.value=e||[]}catch(e){console.error("Failed to fetch clickthrough answers:",e),A.value=[]}finally{U.value=!1}},T=()=>{F.value=null,o.value="",m.value=[]},Y=e=>F.value?.questionId===String(e),Z=(e,a)=>{const d=e.question_id||String(a),g=e.question_type==="selection"&&(e.options?.length??0)>0,V=g&&e.multiple_answers,f=e.question_type==="file_upload";if(F.value={questionId:d,hasOptions:g,isMultiple:V,isFileUpload:f},f){m.value=Array.isArray(e.answer)?e.answer.map(t=>({...t})):[];const D=m.value.map(t=>t.file_url);re(D);return}g?Array.isArray(e.answer)?o.value=e.answer:typeof e.answer=="string"&&e.answer?o.value=V?e.answer.split(";"):e.answer:o.value=V?[]:"":o.value=Array.isArray(e.answer)?e.answer.join(";"):e.answer||""},x=async()=>{await X(),T()},ue=e=>{const a=m.value[e];a?.file_url&&de(a.file_url),m.value.splice(e,1)},me=e=>{ce(e)},k=async(e,a)=>{v.value=!0;try{let d;a==="file_upload"?d=m.value:d=Array.isArray(o.value)?o.value.join(";"):o.value,await $fetch(`/api/projects/${M.value}/participant-portal/${G.value}/edit-answer`,{method:"POST",body:{question_id:e,participant_id:ie.value,answer:d,question_type:a}}),B.value=!0,await pe(),await z(),T()}catch(d){console.error("Failed to save answer:",d),oe({title:se("participant_portal.answers.save_failed"),message:"",hasIcon:!0,iconName:"IconAlertCircle",iconColor:"error"})}finally{v.value=!1}},H=e=>{const a=e.file_number_limit;return a!=null&&!isNaN(a)&&a>0?a:1},_e=e=>{const a=H(e);return m.value.length<a},fe=e=>Array.isArray(e)?e:[],K=async e=>{const a=(e?.split("?")[0].split("/").pop()?.split(".")[0]??"")+".pdf",d=e?.split("?")[0].split("/")[3],g=await $fetch("/api/document-download",{method:"POST",body:["offer","contract","invoice","additional_files"].includes(d)?{doc_path:a,download_type:d}:{extension:(e?.split("?")[0].split("/").pop()?.split(".").filter((V,f)=>f!==0).join(".")??"")||"pdf",fileName:e?.split("?")[0].split("/").pop()?.split(".")[0]??""}});window.open(g.signedURL,"_blank")},Q=e=>{if(!e)return"";const a=new Date(e);return new Intl.DateTimeFormat(ne.value,{year:"numeric",month:"2-digit",day:"2-digit"}).format(a)},j=ge(le,"modelValue");return W(j,async e=>{e?(B.value=!1,z()):(!B.value&&F.value?.isFileUpload&&await X(),T())}),W(S,()=>{j.value&&z()}),(e,a)=>{const d=q("v-icon-btn"),g=q("v-secondary-small-btn"),V=ye,f=Ce,D=Se;return n(),_(D,{modelValue:j.value,"onUpdate:modelValue":a[6]||(a[6]=t=>j.value=t),title:e.$t("participant_portal.answers.title")},{content:p(()=>[l(U)?(n(),i("div",Pe,[u(ke,{indeterminate:"",color:"primary",size:40})])):(n(),i(P,{key:1},[w("div",Ne,[u(Fe,{modelValue:l(S),"onUpdate:modelValue":a[0]||(a[0]=t=>$(S)?S.value=t:null),label:e.$t("participant_portal.answers.show_empty_answers"),color:"primary","hide-details":"",density:"compact"},null,8,["modelValue","label"])]),u(Ve,{variant:"flat"},{default:p(()=>[(n(!0),i(P,null,E(l(A),(t,r)=>(n(),_($e,{key:r,class:"pl-0"},{prepend:p(()=>[w("h3",Be,c(r+1)+".",1)]),default:p(()=>[w("h3",null,c(t.question),1),t.question_type==="file_upload"?(n(),i("div",ze,[Y(t.question_id||r)?(n(),i("div",Te,[(n(!0),i(P,null,E(l(m),(s,I)=>(n(),i("div",{key:I,class:"d-flex align-center"}
1,[u(b,{icon:l(ae),size:"small"},null,8,["icon"]),w("p",{class:"ml-1 text-decoration-underline cursor-pointer text-truncate",style:{"line-height":"1.8"},onClick:R=>K(s.file_url)},c(s.file_name),9,De),u(d,{class:"ml-1",icon:"",density:"compact",onClick:R=>ue(I)},{default:p(()=>[u(b,{icon:l(je),size:16,color:"error"},null,8,["icon"])]),_:1},8,["onClick"])]))),128)),_e(t)?(n(),_(V,{key:0,modelValue:l(m),"onUpdate:modelValue":a[1]||(a[1]=s=>$(m)?m.value=s:null),multiple:"","max-files":H(t),accept:".pdf,.doc,.docx,.jpg,.jpeg,.png",onUploaded:me},{default:p(()=>[u(g,{class:"mt-1"},{prepend:p(()=>[u(b,{icon:l(Ie)},null,8,["icon"])]),default:p(()=>[O(" "+c(e.$t("participant_portal.answers.upload_file")),1)]),_:1})]),_:1},8,["modelValue","max-files"])):y("",!0),w("div",Ee,[u(ee,{variant:"flat",disabled:l(v),loading:l(v),onClick:s=>k(t.question_id||String(r),t.question_type)},{default:p(()=>[O(c(e.$t("participant_portal.buttons.save")),1)]),_:1},8,["disabled","loading","onClick"]),u(ee,{variant:"outlined",onClick:x},{default:p(()=>[O(c(e.$t("participant_portal.buttons.cancel")),1)]),_:1})])])):(n(),i("div",Oe,[w("div",Le,[(n(!0),i(P,null,E(fe(t.answer),(s,I)=>(n(),i("div",{key:I,class:"d-flex align-center"},[u(b,{icon:l(ae),size:"small"},null,8,["icon"]),w("p",{class:"ml-1 text-decoration-underline cursor-pointer text-truncate",style:{"line-height":"1.8"},onClick:R=>K(s.file_url)},c(s.file_name),9,Me)]))),128)),!Array.isArray(t.answer)||t.answer.length===0?(n(),i("p",Ge,c(e.$t("participant_portal.answers.empty_answer")),1)):y("",!0),t.edited_at?(n(),i("p",Je,c(e.$t("participant_portal.answers.edited",{name:t.edited_by||l(J)}))+" "+c(Q(t.edited_at)),1)):y("",!0)]),l(C).status!=="left_project"?(n(),_(d,{key:0,class:"ml-2",icon:"",density:"compact",style:{"flex-shrink":"0"},onClick:s=>Z(t,r)},{default:p(()=>[u(b,{icon:l(te),size:16},null,8,["icon"])]),_:1},8,["onClick"])):y("",!0)]))])):(n(),i("div",Xe,[Y(t.question_id||r)?(n(),_(l(be),{key:0,"initial-values":{[`answer_${t.question_id||r}`]:l(o)},onSubmit:()=>k(t.question_id||String(r),t.question_type)},{default:p(()=>[t.question_type==="selection"&&t.options?.length?(n(),_(f,{key:0,modelValue:l(o),"onUpdate:modelValue":a[2]||(a[2]=s=>$(o)?o.value=s:null),"is-editing":!0,"component-name":t.multiple_answers?"VCombobox":"VSelect",name:`answer_${t.question_id||r}`,disabled:l(v),items:t.options,multiple:t.multiple_answers,"has-controlled-edit":"","column-width":6,"show-controlled-edit-icon":!1,onSave:s=>k(t.question_id||String(r),t.question_type),onCancel:x},null,8,["modelValue","component-name","name","disabled","items","multiple","onSave"])):t.question_type==="text"&&t.long_answer?(n(),_(f,{key:1,modelValue:l(o),"onUpdate:modelValue":a[3]||(a[3]=s=>$(o)?o.value=s:null),"is-editing":!0,"component-name":"VTextarea",name:`answer_${t.question_id||r}`,disabled:l(v),"has-controlled-edit":"","column-width":6,"show-controlled-edit-icon":!1,onSave:s=>k(t.question_id||String(r),t.question_type),onCancel:x},null,8,["modelValue","name","disabled","onSave"])):t.question_type==="text"&&t.number_field?(n(),_(f,{key:2,modelValue:l(o),"onUpdate:modelValue":a[4]||(a[4]=s=>$(o)?o.value=s:null),"is-editing":!0,"component-name":"VTextField",type:"number",name:`answer_${t.question_id||r}`,disabled:l(v),"has-controlled-edit":"","column-width":6,"show-controlled-edit-icon":!1,onSave:s=>k(t.question_id||String(r),t.question_type),onCancel:x},null,8,["modelValue","name","disabled","onSave"])):(n(),_(f,{key:3,modelValue:l(o),"onUpdate:modelValue":a[5]||(a[5]=s=>$(o)?o.value=s:null),"is-editing":!0,"component-name":"VTextField",name:`answer_${t.question_id||r}`,disabled:l(v),"has-controlled-edit":"","column-width":6,"show-controlled-edit-icon":!1,onSave:s=>k(t.question_id||String(r),t.question_type),onCancel:x},null,8,["modelValue","name","disabled","onSave"]))]),_:2},1032,["initial-values","onSubmit"])):(n(),i("div",Ye,[w("div",Ze,[t.question_type==="text"?(n(),i("p",He,c(t.answer||e.$t("participant_portal.answers.empty_answer")),1)):y("",!0),t.question_type==="selection"?(n(),i("p",Ke,c(Array.isArray(t.answer)&&t.answer.length>0?t.answer.join(", "):e.$t("participant_portal.answers.empty_answer")),1)):y("",!0),t.edited_at?(n(),i("p",Qe,c(e.$t("participant_portal.answers.edited",{name:t.edited_by||l(J)}))+" "+c(Q(t.edited_at)),1)):y("",!0)]),l(C).status!=="left_project"?(n(),_(d,{key:0,class:"ml-2",icon:"",density:"compact",style:{"flex-shrink":"0"},onClick:s=>Z(t,r)},{default:p(()=>[u(b,{icon:l(te),size:16},null,8,["icon"])]),_:1},8,["onClick"])):y("",!0)]))]))]),_:2},1024))),128))]),_:1}),!l(U)&&l(A).length===0?(n(),i("p",Re,c(e.$t("participant_portal.answers.no_answers")),1)):y("",!0)],64))]),_:1},8,["modelValue","title"])}}}),ut=Object.assign(We,{__name:"ProjectParticipantPortalAnswersList"});export{ut 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.