1import{_ as qe}from"./FileInputWithIcon-haFNHtgX.js";import{u as Pe,dy as Ve,cV as r,Q as G,dU as ze,cK as s,a1 as d,a7 as i,dW as p,a6 as k,Y as n,de as Ae,a$ as $e,dZ as b,cw as Te,d7 as g,F as K,cY as ne,p as B,$ as V,Z as E,s as Ue,dY as Me,cs as Ie,y as Y}from"./installEscapeToCloseDialogs-DBsNtp48.js";import{D as Be}from"./main-B4IqvZaF.js";import Ee from"./Delete-CwVycm1m.js";import{y as x}from"./helper-C241wR65.js";import{c as Re,V as Z}from"./VBtn-BH453jO3.js";import{V as Le}from"./VAlert-DIMx8kXy.js";import{V as Se}from"./VList-DzyPif6q.js";import{a as je,V as Ne}from"./VRow-De_i8PBD.js";import{V as Oe,d as We}from"./VCard-BPgp4h0S.js";import"./VField-BntHrOs0.js";import"./index-CI4T2Y9R.js";import"./VInput-k5YhpNxV.js";import"./group-CRpFFKOp.js";import"./VChip-DppHgZDc.js";import"./VAvatar-BL1n9pde.js";import"./VCheckbox-I3wxGn4S.js";import"./VCheckboxBtn-BBtvsNqq.js";import"./VTextField-0pwWtKlp.js";import"./autofocus-ByJlHAKG.js";import"./VDialog-K1s8-SAE.js";import"./dialog-transition-j_BmqkBS.js";import"./VRadioGroup-BE5YKeTr.js";/* empty css *//* empty css */import"./connectionLog-DtvYX_b3.js";import"./Confirm-QoYIUW_z.js";import"./VForm-C592xbBv.js";const Ge={key:0,class:"text-center mb-4"},Ke={key:1,class:"text-center mb-4"},Ye={key:2},Ze=["disabled"],Je={key:0,class:"mb-3"},Qe={class:"text-caption text-medium-emphasis mb-2"},Xe={class:"pending-previews mb-2"},He=["src"],et={key:1,class:"pending-preview__fallback d-flex align-center justify-center"},tt={class:"pending-preview__name text-caption"},at={key:0},ot=["onClick","onKeydown"],nt=["src","onError"],st={key:1,class:"file-preview__fallback d-flex align-center justify-center"},rt=["onClick"],lt={key:1,class:"text-center text-grey my-4"},it="image/gif,image/png,image/jpeg,image/jpg,application/pdf",J=20,ut={__name:"FileUpload",props:Ie({uuid:{type:String,required:!0},parentType:{type:String,required:!0},showCentral:{type:[Boolean,Number],default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(Q){const se=["image/gif","image/png","image/jpg","image/jpeg","application/pdf"],v=Q,C=Ve(Q,"modelValue"),z=r([]),X=r(!1),R=r(!1),u=r([]),L=r(!1),y=r(!1),A=r(null),$=r(!1),D=r(null),m=r(!1),f=r(null),_=r(""),S=r(!1),j=r("");let T=0;const re=G(()=>L.value||v.showCentral?"Anexar arquivos para visualização e download na central do assinante":"Arquivos anexados ao cadastro"),U=G(()=>L.value||v.showCentral?1:0),le=G(()=>u.value.length>0&&!m.value),F=r(new Set),w=r(new Map),ie=e=>((e==null?void 0:e.type)??"").startsWith("image/"),H=e=>e==="application/pdf",ee=()=>{for(const e of w.value.values())URL.revokeObjectURL(e);w.value=new Map},ue=e=>{ee();const t=new Map;for(const o of e)ie(o)&&t.set(o,URL.createObjectURL(o));w.value=t},N=()=>{u.value=[],ee(),A.value&&(A.value.value="")},M=(e,t,o="error")=>{const l=(e==null?void 0:e.text)??t;if(!l)return;const a=(e==null?void 0:e.type)??o;x.notify(l,(e==null?void 0:e.title)??(a==="success"?"Sucesso":"Atenção"),a)},de=()=>{C.value=!1,z.value=[],N(),y.value=!1,_.value=""},ce=e=>e?e instanceof FileList?Array.from(e):Array.isArray(e)?e.filter(t=>t instanceof File):e instanceof File?[e]:[]:[],ve=e=>{const t=[...u.value];for(const o of e)t.some(a=>a.name===o.name&&a.size===o.size&&a.lastModified===o.lastModified)||t.push(o);u.value=t,ue(u.value)},pe=()=>{for(const e of u.value){if(!se.includes(e.type))return x.notifyWarning("Tipo de arquivo inválido. São aceitos apenas imagens e arquivos PDF."),!1;if(e.size>J*1024*1024)return x.notifyWarning(`Arquivo muito grande. O máximo permitido é ${J} MB.`),!1}return!0},O=e=>{e&&(z.value=e.files??[],F.value=new Set,X.value=e.storage_configured??e.google_drive_configured??!1,L.value=!!e.show_central)},me=()=>{if(!v.uuid)return;const e=++T;R.value=!0,Y.get(route("disks.attachments.data",{parent_type:v.parentType,uuid:v.uuid}),{params:{show_central:U.value}}).then(t=>{var o;e===T&&O((o=t.data)==null?void 0:o.attachmentDrawer)}).catch(()=>{e===T&&x.notify("Não foi possÃvel carregar os anexos. Feche e abra novamente.","Atenção","error")}).finally(()=>{e===T&&(R.value=!1)})},fe=()=>{const e=new FormData;for(const t of u.value)e.append("files[]",t);return e.append("show_central",String(U.value)),e},ge=()=>{if(!le.value){x.notifyWarning("Selecione arquivos para enviar.");return}pe()&&(m.value=!0,_.value="",f.value=null,Y.post(route("disks.attachments.upload",{parent_type:v.parentType,uuid:v.uuid}),fe(),{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:e=>{e.total&&(f.value=Math.round(e.loaded*100/e.total))}}).then(e=>{const t=e.data??{};O(t.attachmentDrawer),N(),M(t.notification,"Arquivos enviados com sucesso.","success")}
1).catch(e=>{var l,a,c,h,q,P;const t=(l=e==null?void 0:e.response)==null?void 0:l.status,o=((a=e==null?void 0:e.response)==null?void 0:a.data)??{};if(t===422){_.value=((h=(c=o.errors)==null?void 0:c.files)==null?void 0:h[0])??((P=(q=o.errors)==null?void 0:q["files.0"])==null?void 0:P[0])??o.message??"Arquivo inválido.";return}M(o.notification,"Não foi possÃvel enviar os arquivos. Tente novamente.","error")}).finally(()=>{m.value=!1,f.value=null}))},ye=e=>{D.value=e,$.value=!0},_e=({password:e})=>{var t;(t=D.value)!=null&&t.uuid&&(S.value=!0,j.value="",Y.delete(route("disks.attachments.delete",D.value.uuid),{data:{password:e,form_delete_password:e,parent_type:v.parentType,uuid:v.uuid,show_central:U.value}}).then(o=>{const l=o.data??{};O(l.attachmentDrawer),$.value=!1,D.value=null,M(l.notification)}).catch(o=>{var c,h,q,P;const l=(c=o==null?void 0:o.response)==null?void 0:c.status,a=((h=o==null?void 0:o.response)==null?void 0:h.data)??{};if(l===422){j.value=((P=(q=a.errors)==null?void 0:q.password)==null?void 0:P[0])??"A senha digitada está incorreta.";return}M(a.notification,"Não foi possÃvel deletar o arquivo. Tente novamente.","error")}).finally(()=>{S.value=!1}))},te=e=>{ve(ce(e)),u.value.length>0&&!m.value&&ge()},we=e=>{te(e.target.files),e.target.value=""},he=e=>{var t;y.value=!1,te((t=e.dataTransfer)==null?void 0:t.files)},ke=e=>{const t=u.value[e],o=w.value.get(t);o&&(URL.revokeObjectURL(o),w.value.delete(t)),u.value=u.value.filter((l,a)=>a!==e)},be=()=>{var e;m.value||(e=A.value)==null||e.click()};ze(()=>[C.value,v.uuid,U.value],([e,t])=>{e&&t&&(N(),_.value="",me())},{immediate:!0});const xe=e=>{if(!e)return"";try{return x.formatDate(e,!0)??e}catch{return e}},I=e=>((e==null?void 0:e.name)??"").toLowerCase().endsWith(".pdf")||H(e==null?void 0:e.mime_type)||H(e==null?void 0:e.type),ae=e=>e!=null&&e.thumbnail_link?e.thumbnail_link:e!=null&&e.file_id?`https://drive.google.com/thumbnail?id=${encodeURIComponent(e.file_id)}&sz=w400`:null,Ce=e=>ae(e)&&!F.value.has(e.uuid),De=e=>{!e||F.value.has(e)||(F.value=new Set([...F.value,e]))},oe=e=>w.value.get(e)??null,Fe=e=>e!=null&&e.web_view_link?e.web_view_link:e!=null&&e.uuid?route("disks.download.file",{uuid:e.uuid}):null,W=e=>{const t=Fe(e);t&&window.open(t,"_blank","noopener,noreferrer")};return(e,t)=>{var l;const o=qe;return C.value?(s(),d(K,{key:0},[i(Be,{modelValue:C.value,"onUpdate:modelValue":[t[3]||(t[3]=a=>C.value=a),t[4]||(t[4]=a=>!a&&de())],title:re.value,width:"800",height:"auto",persistent:""},{actions:p(({close:a})=>[i(Z,{variant:"outlined",size:"small",text:"Fechar",color:"secondary",onClick:a},null,8,["onClick"])]),default:p(()=>[R.value?(s(),d("div",Ge,[i(Re,{indeterminate:"",color:"primary",size:30})])):X.value?(s(),d("div",Ye,[n("div",null,[n("div",{class:Te(["upload-dropzone mb-3",{"upload-dropzone--active":y.value,"upload-dropzone--disabled":m.value}]),onDragenter:t[0]||(t[0]=b(a=>y.value=!0,["prevent"])),onDragover:t[1]||(t[1]=b(a=>y.value=!0,["prevent"])),onDragleave:t[2]||(t[2]=b(a=>y.value=!1,["prevent"])),onDrop:b(he,["prevent"]),onClick:be},[n("input",{ref_key:"fileInputRef",ref:A,type:"file",class:"d-none",multiple:"",accept:it,disabled:m.value,onChange:we},null,40,Ze),i(o,{"icon-name":"document-upload",class:"upload-dropzone__icon"}),t[11]||(t[11]=n("p",{class:"text-body-2 font-weight-medium mb-1"}," Arraste arquivos aqui ou clique para selecionar ",-1)),n("p",{class:"text-caption text-medium-emphasis mb-0"}," Imagens (GIF, PNG, JPG) e PDF â máximo "+g(J)+" MB por arquivo ")],34),u.value.length?(s(),d("div",Je,[n("p",Qe,g(u.value.length)+" arquivo(s) selecionado(s) ",1),n("div",Xe,[(s(!0),d(K,null,ne(u.value,(a,c)=>(s(),d("div",{key:`${a.name}-${a.size}-${c}`,class:"pending-preview"},[oe(a)?(s(),d("img",{key:0,src:oe(a),alt:"",class:"pending-preview__image"},null,8,He)):(s(),d("div",et,[i(B,{size:"40",color:I(a)?"primary":"secondary",icon:I(a)?"$filePdfBox":"$fileDocumentOutline"},null,8,["color","icon"])])),i(Z,{icon:"",size:"x-small",variant:"flat",color:"error",class:"pending-preview__remove",disabled:m.value,onClick:h=>ke(c)},{default:p(()=>[i(B,{icon:"$close",size:"16"})]),_:2},1032,["disabled","onClick"]),n("p",tt,g(a.name),1)]))),128))])])):V("",!0),_.value?(s(),E(Le,{key:1,type:"error",variant:"tonal",density:"compact",class:"mb-2",text:_.value},null,8,["text"])):V("",!0),m.value?(s(),E(Ue,{key:2,"model-value":f.value??0,indeterminate:f.value===null,color:"primary",height:"20",class:"my-2"},{default:p(()=>[f.value!==null?(s(),d("strong",at,g(f.value)+"%",1)):V("",!0)]),_:1},8,["model-value","indeterminate"])):V("",!0)]),i(Se,{class:"my-4"}),t[15]||(t[15]=n("div",{class:"text-center mb-2"},[n("p",{class:"text-h6"}," Arquivos já enviados "),n("p",{class:"text-caption"}," Atenção, lembre-se de nunca alterar nem deletar nenhum arquivo diretamente pelo Google Drive. Realize todas as operações através do Atlaz. Caso contrário, você poderá perder os arquivos. ")],-1)),z.value.length>0?(s(),E(je,{key:0,dense:""},{default:p(()=>[(s(!0),d(K,null,ne(z.value,a=>(s(),E(Ne,{key:a.uuid,cols:"12",sm:"6",md:"4",lg:"3"},{default:p(()=>[i(Oe,{variant:"outlined"},{default:p(()=>[n("div",{class:"file-preview file-preview--clickable",role:"button",tabindex:"0",title:"Abrir arquivo",onClick:c=>W(a),onKeydown:Me(b(c=>W(a),["prevent"]),["enter"])},[i(Z,{icon:"",size:"x-small",variant:"elevated",color:"error",class:"file-preview__delete",title:"Deletar arquivo",onClick:b(c=>ye(a),["stop"])},{default:p(()=>[i(B,{icon:"$trashCanOutline",size:"16"})]),_:2},1032,["onClick"]),Ce(a)?(s(),d("img",{key:0,src:ae(a),alt:"",class:"file-preview__image",referrerpolicy:"no-referrer",onError:c=>De(a.uuid)},null,40,nt)):(s(),d("div",st,[i(B,{size:"64",color:I(a)?"primary":"secondary",icon:I(a)?"$filePdfBox":"$imageOffOutline"},null,8,["color","icon"])]))],40,ot),i(We,{class:"text-caption"},{default:p(()=>[n("div",null,[t[12]||(t[12]=n("strong",null,"Nome:",-1)),n("button",{type:"button",class:"file-name-link",onClick:c=>W(a)},g(a.name),9,rt)]),n("div",null,[t[13]||(t[13]=n("strong",null,"Data:",-1)),k(" "+g(xe(a.created_at)),1)]),n("div",null,[t[14]||(t[14]=n("strong",null,"Por:",-1)),k(" "+g(a.created_by_user_name),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(s(),d("div",lt," Nenhum arquivo encontrado. "))])):(s(),d("div",Ke,[t[7]||(t[7]=k(" Antes de enviar arquivos você precisa configurar o armazenamento de anexos.",-1)),t[8]||(t[8]=n("br",null,null,-1)),t[9]||(t[9]=k(" Realize a integração ",
1-1)),i(Ae($e),{href:e.route("settings.resources.view"),class:"text-primary"},{default:p(()=>[...t[6]||(t[6]=[k(" clicando aqui ",-1)])]),_:1},8,["href"]),t[10]||(t[10]=k(". ",-1))]))]),_:1},8,["modelValue","title"]),i(Ee,{modelValue:$.value,"onUpdate:modelValue":t[5]||(t[5]=a=>$.value=a),title:"Deletar arquivo",message:`Tem certeza que deseja deletar o arquivo <strong>${((l=D.value)==null?void 0:l.name)??""}</strong>?`,"text-button":"Deletar","color-button":"error",loading:S.value,"password-error":j.value,"to-route":_e,"is-password":"","is-close":!1},null,8,["modelValue","message","loading","password-error"])],64)):V("",!0)}}},Et=Pe(ut,[["__scopeId","data-v-f89b434c"]]);export{Et 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.