芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/invoicer.pulsehost.co.uk/public/build/assets/BackupSetting-CureL_2h.js
import{a4 as W,s as q,a1 as j,u as x,f as y,H as U,F as E,v as O,k as w,g as P,h as F,j as Y,r,o as G,m as L,w as n,b as D,p as $,t as S,l as c,a as s,q as Z,J as R,K as ee,a7 as te,c as ae,N as se}from"./main-WS8l16KQ.js";import{u as A}from"./disk-BhA4vxS_.js";const H=(I=!1)=>{const m=I?window.pinia.defineStore:W,{global:_}=window.i18n;return m({id:"backup",state:()=>({backups:[],currentBackupData:{option:"full",selected_disk:null}}),actions:{fetchBackups(f){return new Promise((o,a)=>{q.get("/api/v1/backups",{params:f}).then(e=>{this.backups=e.data.data,o(e)}).catch(e=>{j(e),a(e)})})},createBackup(f){return new Promise((o,a)=>{q.post("/api/v1/backups",f).then(e=>{x().showNotification({type:"success",message:_.t("settings.backup.created_message")}),o(e)}).catch(e=>{j(e),a(e)})})},removeBackup(f){return new Promise((o,a)=>{q.delete(`/api/v1/backups/${f.disk}`,{params:f}).then(e=>{x().showNotification({type:"success",message:_.t("settings.backup.deleted_message")}),o(e)}).catch(e=>{j(e),a(e)})})}}})()},oe={class:"flex justify-between w-full"},ne={class:"p-6"},le={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},ce={__name:"BackupModal",setup(I){y(null),y(!1);let m=y(!1),_=y(!1);const f=U(["full","only-db","only-files"]),o=H(),a=E(),e=A(),{t:p}=O.useI18n(),k=w(()=>a.active&&a.componentName==="BackupModal"),M=w(()=>e.disks.map(l=>({...l,name:l.name+" — ["+l.driver+"]"}))),V=w(()=>({currentBackupData:{option:{required:P.withMessage(p("validation.required"),F)},selected_disk:{required:P.withMessage(p("validation.required"),F)}}})),b=Y(V,w(()=>o));async function N(){if(b.value.currentBackupData.$touch(),b.value.currentBackupData.$invalid)return!0;let l={option:o.currentBackupData.option,file_disk_id:o.currentBackupData.selected_disk.id};try{m.value=!0,(await o.createBackup(l)).data&&(m.value=!1,a.refreshData&&a.refreshData(),a.closeModal())}catch{m.value=!1}}async function z(){_.value=!0;let l=await e.fetchDisks({limit:"all"});o.currentBackupData.selected_disk=l.data.data[0],_.value=!1}function C(){a.closeModal(),setTimeout(()=>{b.value.$reset(),o.$reset()})}return(l,g)=>{const t=r("BaseIcon"),i=r("BaseMultiselect"),d=r("BaseInputGroup"),u=r("BaseInputGrid"),h=r("BaseButton"),T=r("BaseModal");return G(),L(T,{show:k.value,onClose:C,onOpen:z},{header:n(()=>[D("div",oe,[$(S(c(a).title)+" ",1),s(t,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:C})])]),default:n(()=>[D("form",{onSubmit:Z(N,["prevent"])},[D("div",ne,[s(u,{layout:"one-column"},{default:n(()=>[s(d,{label:l.$t("settings.backup.select_backup_type"),error:c(b).currentBackupData.option.$error&&c(b).currentBackupData.option.$errors[0].$message,horizontal:"",required:"",class:"py-2"},{default:n(()=>[s(i,{modelValue:c(o).currentBackupData.option,"onUpdate:modelValue":g[0]||(g[0]=B=>c(o).currentBackupData.option=B),options:f,"can-deselect":!1,placeholder:l.$t("settings.backup.select_backup_type"),searchable:""},null,8,["modelValue","options","placeholder"])]),_:1},8,["label","error"]),s(d,{label:l.$t("settings.disk.select_disk"),error:c(b).currentBackupData.selected_disk.$error&&c(b).currentBackupData.selected_disk.$errors[0].$message,horizontal:"",required:"",class:"py-2"},{default:n(()=>[s(i,{modelValue:c(o).currentBackupData.selected_disk,"onUpdate:modelValue":g[1]||(g[1]=B=>c(o).currentBackupData.selected_disk=B),"content-loading":c(_),options:M.value,searchable:!0,"allow-empty":!1,label:"name","value-prop":"id",placeholder:l.$t("settings.disk.select_disk"),"track-by":"name",object:""},null,8,["modelValue","content-loading","options","placeholder"])]),_:1},8,["label","error"])]),_:1})]),D("div",le,[s(h,{class:"mr-3",variant:"primary-outline",type:"button",onClick:C},{default:n(()=>[$(S(l.$t("general.cancel")),1)]),_:1}),s(h,{loading:c(m),disabled:c(m),variant:"primary",type:"submit"},{left:n(B=>[c(m)?ee("",!0):(G(),L(t,{key:0,name:"SaveIcon",class:R(B.class)},null,8,["class"]))]),default:n(()=>[$(" "+S(l.$t("general.create")),1)]),_:1},8,["loading","disabled"])])],32)]),_:1},8,["show"])}}},re={class:"grid my-14 md:grid-cols-3"},ie={class:"inline-block"},pe={__name:"BackupSetting",setup(I){const m=te(),_=H(),f=E(),o=A(),{t:a}=O.useI18n(),e=U({selected_disk:{driver:"local"}}),p=y("");let k=y(!0);const M=w(()=>[{key:"path",label:a("settings.backup.path"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"created_at",label:a("settings.backup.created_at"),tdClass:"font-medium text-gray-900"},{key:"size",label:a("settings.backup.size"),tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]),V=w(()=>o.disks.map(t=>({...t,name:t.name+" — ["+t.driver+"]"})));z();function b(t){m.openDialog({title:a("general.are_you_sure"),message:a("settings.backup.backup_confirm_delete"),yesLabel:a("general.ok"),noLabel:a("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async i=>{if(i){let d={disk:e.selected_disk.driver,file_disk_id:e.selected_disk.id,path:t.path},u=await _.removeBackup(d);if(u.data.success||u.data.backup)return p.value&&p.value.refresh(),!0}})}function N(){setTimeout(()=>{p.value.refresh()},100)}async function z(){k.value=!0;let t=await o.fetchDisks({limit:"all"});t.data.error,e.selected_disk=t.data.data.find(i=>i.set_as_default==0),k.value=!1}async function C({page:t,filter:i,sort:d}){let u={disk:e.selected_disk.driver,filed_disk_id:e.selected_disk.id};k.value=!0;let h=await _.fetchBackups(u);return k.value=!1,{data:h.data.backups,pagination:{totalPages:1,currentPage:1}}}async function l(){f.openModal({title:a("settings.backup.create_backup"),componentName:"BackupModal",refreshData:p.value&&p.value.refresh,size:"sm"})}async function g(t){k.value=!0,window.axios({method:"GET",url:"/api/v1/download-backup",responseType:"blob",params:{disk:e.selected_disk.driver,file_disk_id:e.selected_disk.id,path:t.path}}).then(i=>{const d=window.URL.createObjectURL(new Blob([i.data])),u=document.createElement("a");u.href=d,u.setAttribute("download",t.path.split("/")[1]),document.body.appendChild(u),u.click(),k.value=!1}).catch(i=>{k.value=!1})}return(t,i)=>{const d=r("BaseIcon"),u=r("BaseButton"),h=r("BaseMultiselect"),T=r("BaseInputGroup"),B=r("BaseDropdownItem"),J=r("BaseDropdown"),K=r("BaseTable"),X=r("BaseSettingCard");return G(),ae(se,null,[s(ce),s(X,{title:t.$t("settings.backup.title",1),description:t.$t("settings.backup.description")},{action:n(()=>[s(u,{variant:"primary-outline",onClick:l},{left:n(v=>[s(d,{class:R(v.class),name:"PlusIcon"},null,8,["class"])]),default:n(()=>[$(" "+S(t.$t("settings.backup.new_backup")),1)]),_:1})]),default:n(()=>[D("div",re,[s(T,{label:t.$t("settings.disk.select_disk"),"content-loading":c(k)},{default:n(()=>[s(h,{modelValue:e.selected_disk,"onUpdate:modelValue":i[0]||(i[0]=v=>e.selected_disk=v),"content-loading":c(k),options:V.value,"track-by":"name",placeholder:t.$t("settings.disk.select_disk"),label:"name",searchable:!0,object:"",class:"w-full","value-prop":"id",onSelect:N},null,8,["modelValue","content-loading","options","placeholder"])]),_:1},8,["label","content-loading"])]),s(K,{ref_key:"table",ref:p,class:"mt-10","show-filter":!1,data:C,columns:M.value},{"cell-actions":n(({row:v})=>[s(J,null,{activator:n(()=>[D("div",ie,[s(d,{name:"DotsHorizontalIcon",class:"text-gray-500"})])]),default:n(()=>[s(B,{onClick:Q=>g(v.data)},{default:n(()=>[s(d,{name:"CloudDownloadIcon",class:"mr-3 text-gray-600"}),$(" "+S(t.$t("general.download")),1)]),_:2},1032,["onClick"]),s(B,{onClick:Q=>b(v.data)},{default:n(()=>[s(d,{name:"TrashIcon",class:"mr-3 text-gray-600"}),$(" "+S(t.$t("general.delete")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{pe as default};