@elementspanel/epanel-plugin-backup 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementspanel/epanel-plugin-backup",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Instance backup management.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Csituka_D <694428809@qq.com> (https://github.com/JessDaodao)",
|
|
@@ -40,7 +40,24 @@
|
|
|
40
40
|
"frontend/assets/style-0-_panel-plugin-build-entry_backup-c93271f6.css"
|
|
41
41
|
],
|
|
42
42
|
"directory": "panel",
|
|
43
|
-
"folder": "backup"
|
|
43
|
+
"folder": "backup",
|
|
44
|
+
"frontendAssets": [
|
|
45
|
+
"assets/AppDialog.vue_vue_type_style_index_0_lang-f1610327.js",
|
|
46
|
+
"assets/_elements-sdk_cordis-e3bebc89.js",
|
|
47
|
+
"assets/_elements-sdk_cosmokit-e4842f5c.js",
|
|
48
|
+
"assets/_plugin-vue_export-helper-c27b6911.js",
|
|
49
|
+
"assets/context-f49cfcce.js",
|
|
50
|
+
"assets/desktopNotice-d83e9e67.js",
|
|
51
|
+
"assets/htmlparser2-bcb8f9db.js",
|
|
52
|
+
"assets/i18n-66e8c48a.js",
|
|
53
|
+
"assets/instance-5ec65e42.js",
|
|
54
|
+
"assets/instance_contract-0115efe5.js",
|
|
55
|
+
"assets/lodash-001e4f93.js",
|
|
56
|
+
"assets/useDefineApi-5b6599dc.js",
|
|
57
|
+
"assets/useInstanceActionAvailability-514826f4.js",
|
|
58
|
+
"assets/vue-828bfe55.js",
|
|
59
|
+
"assets/vuetifyModal-47e2f27c.js"
|
|
60
|
+
]
|
|
44
61
|
},
|
|
45
62
|
"daemon": {
|
|
46
63
|
"priority": 100,
|
|
@@ -51,8 +68,8 @@
|
|
|
51
68
|
}
|
|
52
69
|
},
|
|
53
70
|
"peerDependencies": {
|
|
54
|
-
"@elementspanel/panel": "^1.0.
|
|
55
|
-
"@elementspanel/daemon": "^1.0.
|
|
71
|
+
"@elementspanel/panel": "^1.0.0",
|
|
72
|
+
"@elementspanel/daemon": "^1.0.0"
|
|
56
73
|
},
|
|
57
74
|
"peerDependenciesMeta": {
|
|
58
75
|
"@elementspanel/panel": {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{i as n_,h as o_}from"../../../assets/useInstanceActionAvailability-
|
|
1
|
+
import{i as n_,h as o_}from"../../../assets/useInstanceActionAvailability-514826f4.js";import{t as C}from"../../../assets/i18n-66e8c48a.js";import{u as V}from"../../../assets/context-f49cfcce.js";import{q,c as __}from"../../../assets/instance-5ec65e42.js";import{n as R}from"../../../assets/desktopNotice-d83e9e67.js";import{u as J,m as U}from"../../../assets/useDefineApi-5b6599dc.js";import{a1 as T_,ay as I_,aC as E_,aE as I,Q as X,R as o,_ as d,bP as c,bJ as A,$ as N,bM as D_,gE as v,F as W,aK as C_,ba as S,gC as L,O as f,aO as g,P as y,N as e_,bz as O,gM as S_,gN as c_,gO as O_,gP as i_,gQ as l_}from"../../../assets/vue-828bfe55.js";import{_ as A_}from"../../../assets/_plugin-vue_export-helper-c27b6911.js";import{M as H}from"../../../assets/vuetifyModal-47e2f27c.js";import{_ as r_}from"../../../assets/AppDialog.vue_vue_type_style_index_0_lang-f1610327.js";import"../../../assets/instance_contract-0115efe5.js";import"../../../assets/_elements-sdk_cordis-e3bebc89.js";import"../../../assets/_elements-sdk_cosmokit-e4842f5c.js";import"../../../assets/htmlparser2-bcb8f9db.js";import"../../../assets/lodash-001e4f93.js";const t_=J({url:"/api/protected_instance/backup",method:"GET"}),a_=J({url:"/api/protected_instance/backup",method:"DELETE"}),N_=J({url:"/api/protected_instance/backup/restore",method:"POST"}),B_={class:"ds-backup"},P_={class:"ds-backup-body"},K_={class:"ds-backup-list-container"},u_={class:"list-header"},R_={key:0,class:"backup-list"},U_={class:"backup-item__info"},d_=["title"],X_={class:"backup-item__meta"},L_={class:"backup-item__actions"},m_={key:1,class:"ds-backup-intro"},p_={key:2,class:"list-loading"},F_={class:"ds-backup-footer"},k_=T_({__name:"DesktopInstanceBackup",props:{instanceUuid:{},daemonId:{}},emits:["close","open-file-editor"],setup(B,{emit:b}){const u=e_(()=>{var t;return(t=V("desktop"))==null?void 0:t.confirmation}),a=()=>{const t=V("file");if(!t)throw new Error("file plugin is not installed");return t.api},s=B,$=b,r=O(!1),m=O(null),D=O(0),k=O([]),p=O(!1),P=O({show:!1,name:"",resolve:null}),K=O({show:!1,name:"",resolve:null}),F=O({show:!1,resolve:null}),n=O({show:!1,resolve:null});let l=null;const M=async()=>{p.value=!0;try{const{execute:t}=q(),E=await t({params:{daemonId:s.daemonId,uuid:s.instanceUuid,task_name:"instance_backup"},data:{taskId:""}});E.value&&E.value.status===1&&(D.value=1,m.value=E.value.taskId,x());const{execute:_}=t_(),T=await _({params:{daemonId:s.daemonId,uuid:s.instanceUuid}});T.value&&(k.value=T.value)}catch(t){R(t.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH"),"error")}finally{p.value=!1}},w=async()=>{D.value===1||r.value||(F.value={show:!0,resolve:async t=>{if(F.value.show=!1,t){if(D.value===1||r.value)return;r.value=!0;try{const{execute:E}=__(),_=await E({params:{daemonId:s.daemonId,uuid:s.instanceUuid,task_name:"instance_backup"},data:{time:new Date().getTime(),newInstanceName:""}});_.value&&(m.value=_.value.taskId,R(C("TXT_CODE_INSTANCE_BACKUP_STARTED"),"success"),x())}catch(E){R(E.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_START"),"error")}finally{r.value=!1}}}})},x=()=>{l&&clearInterval(l),l=setInterval(async()=>{if(m.value)try{const{execute:t}=q(),E=await t({params:{daemonId:s.daemonId,uuid:s.instanceUuid,task_name:"instance_backup"},data:{taskId:m.value}});E.value&&(D.value=E.value.status,D.value!==1&&(clearInterval(l),l=null,M(),D.value===0&&R(C("TXT_CODE_INSTANCE_BACKUP_COMPLETED"),"success")))}catch{clearInterval(l),l=null}},2e3)},Y=t=>{P.value={show:!0,name:t,resolve:async E=>{if(P.value.show=!1,E)try{const{execute:_}=a_();await _({params:{daemonId:s.daemonId,uuid:s.instanceUuid,backupName:t}}),R(C("TXT_CODE_28190dbc"),"success"),M()}catch(_){R(_.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE"),"error")}}}},j=async()=>{const t=".epbaklst",E=".epbaklst";try{const{execute:_}=a().fileContent();(await _({params:{daemonId:s.daemonId,uuid:s.instanceUuid},data:{target:t}})).value!==void 0&&$("open-file-editor",t,E)}catch{n.value={show:!0,resolve:async _=>{if(n.value.show=!1,_)try{const{execute:T}=a().touchFile();await T({params:{daemonId:s.daemonId,uuid:s.instanceUuid},data:{target:t}});const{execute:e}=a().fileContent();await e({params:{daemonId:s.daemonId,uuid:s.instanceUuid},data:{target:t,text:`$black
|
|
2
2
|
`}}),R(C("TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED"),"success"),$("open-file-editor",t,E)}catch(T){R(T.message,"error")}}}}},G=t=>{K.value={show:!0,name:t,resolve:async E=>{if(K.value.show=!1,E)try{const{execute:_}=N_();await _({params:{daemonId:s.daemonId,uuid:s.instanceUuid,backupName:t}}),R(C("TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED"),"success")}catch(_){R(_.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE"),"error")}}}},Q=t=>{if(t===0)return"0 B";const E=1024,_=["B","KB","MB","GB","TB"],T=Math.floor(Math.log(t)/Math.log(E));return parseFloat((t/Math.pow(E,T)).toFixed(2))+" "+_[T]};return I_(()=>{M()}),E_(()=>{l&&clearInterval(l)}),(t,E)=>(I(),X("div",B_,[o("div",P_,[o("div",K_,[o("div",u_,[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_LIST"))+" ",1),N(A(v),{icon:"mdi-sync",class:D_([{"desktop-icon-spin":p.value},"refresh-btn"]),onClick:M},null,8,["class"])]),k.value.length>0?(I(),X("div",R_,[(I(!0),X(W,null,C_(k.value,_=>(I(),X("div",{key:_.name,class:"backup-item"},[o("div",U_,[o("div",{class:"backup-item__name",title:_.name},c(_.name),9,d_),o("div",X_,[o("span",null,c(Q(_.size)),1),E[12]||(E[12]=o("span",{class:"separator"},"|",-1)),o("span",null,c(_.time),1)])]),o("div",L_,[N(A(L),{icon:"",variant:"text",class:"action-btn action-btn--restore",title:A(C)("TXT_CODE_INSTANCE_BACKUP_RESTORE"),onClick:T=>G(_.name)},{default:S(()=>[N(A(v),{icon:"mdi-restore"})]),_:1},8,["title","onClick"]),N(A(L),{icon:"",variant:"text",class:"action-btn action-btn--delete",title:A(C)("TXT_CODE_INSTANCE_BACKUP_DELETE"),onClick:T=>Y(_.name)},{default:S(()=>[N(A(v),{icon:"mdi-delete-outline"})]),_:1},8,["title","onClick"])])]))),128))])):p.value?(I(),X("div",p_,[N(A(v),{icon:"mdi-loading"})])):(I(),X("div",m_,[N(A(v),{icon:"mdi-cloud-download-outline",class:"intro-icon"}),o("p",null,c(A(C)("TXT_CODE_INSTANCE_BACKUP_INTRO")),1)]))])]),o("div",F_,[N(A(L),{class:"ds-dialog-btn ds-dialog-btn--default",variant:"text",disabled:r.value,onClick:j},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST")),1)]),_:1},8,["disabled"]),N(A(L),{class:"ds-dialog-btn ds-dialog-btn--primary",variant:"text",disabled:r.value,onClick:w},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_CREATE")),1)]),_:1},8,["disabled"])]),u.value?(I(),f(g(u.value),{key:0,modelValue:P.value.show,"onUpdate:modelValue":E[0]||(E[0]=_=>P.value.show=_),id:"backup-delete-dialog",title:A(C)("TXT_CODE_71155575"),message:A(C)("TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM",{name:P.value.name}),danger:"",onCancel:E[1]||(E[1]=_=>{var T,e;return(e=(T=P.value).resolve)==null?void 0:e.call(T,!1)}),onConfirm:E[2]||(E[2]=_=>{var T,e;return(e=(T=P.value).resolve)==null?void 0:e.call(T,!0)})},null,40,["modelValue","title","message"])):y("",!0),u.value?(I(),f(g(u.value),{key:1,modelValue:K.value.show,"onUpdate:modelValue":E[3]||(E[3]=_=>K.value.show=_),id:"backup-restore-dialog",height:250,title:A(C)("TXT_CODE_INSTANCE_BACKUP_RESTORE"),message:A(C)("TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM",{name:K.value.name}),onCancel:E[4]||(E[4]=_=>{var T,e;return(e=(T=K.value).resolve)==null?void 0:e.call(T,!1)}),onConfirm:E[5]||(E[5]=_=>{var T,e;return(e=(T=K.value).resolve)==null?void 0:e.call(T,!0)})},null,40,["modelValue","title","message"])):y("",!0),u.value?(I(),f(g(u.value),{key:2,modelValue:n.value.show,"onUpdate:modelValue":E[6]||(E[6]=_=>n.value.show=_),id:"backup-epbaklst-confirm-dialog",title:A(C)("TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST"),message:A(C)("TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM"),onCancel:E[7]||(E[7]=_=>{var T,e;return(e=(T=n.value).resolve)==null?void 0:e.call(T,!1)}),onConfirm:E[8]||(E[8]=_=>{var T,e;return(e=(T=n.value).resolve)==null?void 0:e.call(T,!0)})},null,40,["modelValue","title","message"])):y("",!0),u.value?(I(),f(g(u.value),{key:3,modelValue:F.value.show,"onUpdate:modelValue":E[9]||(E[9]=_=>F.value.show=_),id:"backup-confirm-dialog",title:A(C)("TXT_CODE_INSTANCE_BACKUP_CREATE"),message:A(C)("TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM"),onCancel:E[10]||(E[10]=_=>{var T,e;return(e=(T=F.value).resolve)==null?void 0:e.call(T,!1)}),onConfirm:E[11]||(E[11]=_=>{var T,e;return(e=(T=F.value).resolve)==null?void 0:e.call(T,!0)})},null,40,["modelValue","title","message"])):y("",!0)]))}});const $_=A_(k_,[["__scopeId","data-v-efa79ee2"]]),v_="Instanz sichern",f_="Sicherung abgeschlossen",b_="Neue Sicherung",M_="Möchten Sie wirklich eine neue Sicherung erstellen? Dadurch wird die Instanz angehalten!",h_="Entfernen",g_="Möchten Sie die Sicherung {name} wirklich löschen?",y_=".epbaklst bearbeiten",w_=".epbaklst erstellt",x_="Die Datei .epbaklst existiert nicht. Möchten Sie sie erstellen?",z_="Sicherung konnte nicht gelöscht werden.",H_="Sicherungsliste konnte nicht geladen werden.",V_="Sicherung konnte nicht wiederhergestellt werden.",q_="Sicherungsaufgabe konnte nicht gestartet werden",Y_="Klicken Sie unten, um die aktuelle Instanz zu sichern.",j_="Sicherungsliste",G_="Wiederherstellen",Q_="Möchten Sie die Sicherung {name} wirklich in der aktuellen Instanz wiederherstellen? Dabei werden vorhandene Dateien überschrieben.",W_="Wiederherstellungsaufgabe gestartet.",J_="Sicherungsaufgabe gestartet",Z_={TXT_CODE_INSTANCE_BACKUP:v_,TXT_CODE_INSTANCE_BACKUP_COMPLETED:f_,TXT_CODE_INSTANCE_BACKUP_CREATE:b_,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:M_,TXT_CODE_INSTANCE_BACKUP_DELETE:h_,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:g_,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:y_,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:w_,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:x_,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:z_,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:H_,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:V_,TXT_CODE_INSTANCE_BACKUP_FAILED_START:q_,TXT_CODE_INSTANCE_BACKUP_INTRO:Y_,TXT_CODE_INSTANCE_BACKUP_LIST:j_,TXT_CODE_INSTANCE_BACKUP_RESTORE:G_,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:Q_,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:W_,TXT_CODE_INSTANCE_BACKUP_STARTED:J_},_T="Backup Instance",TT="Backup completed",ET="New Backup",CT="Are you sure you want to create a new backup? This action will stop the instance!",eT="Delete",AT="Are you sure you want to delete backup {name}?",tT="Edit .epbaklst",aT="Created .epbaklst",NT="The .epbaklst file does not exist. Would you like to create it?",sT="Failed to delete the backup.",nT="Failed to load the backup list.",oT="Failed to restore the backup.",IT="Failed to start backup task",DT="Click the button below to start backing up the current instance.",ST="Backup List",cT="Restore",OT="Are you sure you want to restore backup {name} to the current instance? This will overwrite existing files.",iT="Backup restoration task started.",lT="Backup task started",rT={TXT_CODE_INSTANCE_BACKUP:_T,TXT_CODE_INSTANCE_BACKUP_COMPLETED:TT,TXT_CODE_INSTANCE_BACKUP_CREATE:ET,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:CT,TXT_CODE_INSTANCE_BACKUP_DELETE:eT,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:AT,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:tT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:aT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:NT,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:sT,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:nT,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:oT,TXT_CODE_INSTANCE_BACKUP_FAILED_START:IT,TXT_CODE_INSTANCE_BACKUP_INTRO:DT,TXT_CODE_INSTANCE_BACKUP_LIST:ST,TXT_CODE_INSTANCE_BACKUP_RESTORE:cT,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:OT,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:iT,TXT_CODE_INSTANCE_BACKUP_STARTED:lT},BT="Copia de seguridad de instancia",PT="Copia completada",KT="Nueva copia",uT="¿Seguro que quieres crear una copia nueva? ¡La instancia se detendrá!",RT="Eliminar",UT="¿Seguro que quieres eliminar la copia {name}?",dT="Editar .epbaklst",XT=".epbaklst creado",LT="El archivo .epbaklst no existe. ¿Quieres crearlo?",mT="No se pudo eliminar la copia de seguridad.",pT="No se pudo cargar la lista de copias de seguridad.",FT="No se pudo restaurar la copia de seguridad.",kT="No se pudo iniciar la tarea de copia",$T="Pulsa el botón inferior para crear una copia de la instancia actual.",vT="Lista de copias",fT="Restaurar",bT="¿Seguro que quieres restaurar la copia {name} en la instancia actual? Los archivos existentes se sobrescribirán.",MT="Tarea de restauración iniciada.",hT="Tarea de copia iniciada",gT={TXT_CODE_INSTANCE_BACKUP:BT,TXT_CODE_INSTANCE_BACKUP_COMPLETED:PT,TXT_CODE_INSTANCE_BACKUP_CREATE:KT,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:uT,TXT_CODE_INSTANCE_BACKUP_DELETE:RT,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:UT,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:dT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:XT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:LT,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:mT,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:pT,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:FT,TXT_CODE_INSTANCE_BACKUP_FAILED_START:kT,TXT_CODE_INSTANCE_BACKUP_INTRO:$T,TXT_CODE_INSTANCE_BACKUP_LIST:vT,TXT_CODE_INSTANCE_BACKUP_RESTORE:fT,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:bT,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:MT,TXT_CODE_INSTANCE_BACKUP_STARTED:hT},yT="Sauvegarde de l’instance",wT="Sauvegarde terminée",xT="Nouvelle sauvegarde",zT="Voulez-vous vraiment créer une nouvelle sauvegarde ? L’instance sera arrêtée !",HT="Supprimer",VT="Voulez-vous vraiment supprimer la sauvegarde {name} ?",qT="Modifier .epbaklst",YT=".epbaklst créé",jT="Le fichier .epbaklst n’existe pas. Voulez-vous le créer ?",GT="Échec de la suppression de la sauvegarde.",QT="Échec du chargement de la liste des sauvegardes.",WT="Échec de la restauration de la sauvegarde.",JT="Impossible de démarrer la tâche de sauvegarde",ZT="Cliquez sur le bouton ci-dessous pour sauvegarder l’instance actuelle.",_E="Liste des sauvegardes",TE="Restaurer",EE="Voulez-vous vraiment restaurer la sauvegarde {name} dans l’instance actuelle ? Les fichiers existants seront écrasés.",CE="Tâche de restauration démarrée.",eE="Tâche de sauvegarde démarrée",AE={TXT_CODE_INSTANCE_BACKUP:yT,TXT_CODE_INSTANCE_BACKUP_COMPLETED:wT,TXT_CODE_INSTANCE_BACKUP_CREATE:xT,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:zT,TXT_CODE_INSTANCE_BACKUP_DELETE:HT,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:VT,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:qT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:YT,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:jT,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:GT,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:QT,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:WT,TXT_CODE_INSTANCE_BACKUP_FAILED_START:JT,TXT_CODE_INSTANCE_BACKUP_INTRO:ZT,TXT_CODE_INSTANCE_BACKUP_LIST:_E,TXT_CODE_INSTANCE_BACKUP_RESTORE:TE,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:EE,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:CE,TXT_CODE_INSTANCE_BACKUP_STARTED:eE},tE="インスタンスをバックアップ",aE="バックアップ完了",NE="新しいバックアップ",sE="新しいバックアップを作成しますか?インスタンスは停止します!",nE="削除",oE="バックアップ {name} を削除しますか?",IE=".epbaklstを編集",DE=".epbaklstを作成しました",SE=".epbaklstファイルがありません。作成しますか?",cE="バックアップの削除に失敗しました。",OE="バックアップ一覧の取得に失敗しました。",iE="バックアップの復元に失敗しました。",lE="バックアップタスクを開始できませんでした",rE="下のボタンをクリックして現在のインスタンスをバックアップします。",BE="バックアップ一覧",PE="復元",KE="バックアップ {name} を現在のインスタンスに復元しますか?既存のファイルは上書きされます。",uE="復元タスクを開始しました。",RE="バックアップタスクを開始しました",UE={TXT_CODE_INSTANCE_BACKUP:tE,TXT_CODE_INSTANCE_BACKUP_COMPLETED:aE,TXT_CODE_INSTANCE_BACKUP_CREATE:NE,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:sE,TXT_CODE_INSTANCE_BACKUP_DELETE:nE,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:oE,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:IE,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:DE,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:SE,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:cE,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:OE,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:iE,TXT_CODE_INSTANCE_BACKUP_FAILED_START:lE,TXT_CODE_INSTANCE_BACKUP_INTRO:rE,TXT_CODE_INSTANCE_BACKUP_LIST:BE,TXT_CODE_INSTANCE_BACKUP_RESTORE:PE,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:KE,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:uE,TXT_CODE_INSTANCE_BACKUP_STARTED:RE},dE="인스턴스 백업",XE="백업 완료",LE="새 백업",mE="새 백업을 만드시겠습니까? 인스턴스가 중지됩니다!",pE="제거",FE="백업 {name}을(를) 삭제하시겠습니까?",kE=".epbaklst 편집",$E=".epbaklst 생성됨",vE=".epbaklst 파일이 없습니다. 생성하시겠습니까?",fE="백업을 삭제하지 못했습니다.",bE="백업 목록을 불러오지 못했습니다.",ME="백업을 복원하지 못했습니다.",hE="백업 작업을 시작하지 못했습니다",gE="아래 버튼을 눌러 현재 인스턴스를 백업하세요.",yE="백업 목록",wE="복원",xE="백업 {name}을(를) 현재 인스턴스로 복원하시겠습니까? 기존 파일을 덮어씁니다.",zE="복원 작업이 시작되었습니다.",HE="백업 작업이 시작되었습니다",VE={TXT_CODE_INSTANCE_BACKUP:dE,TXT_CODE_INSTANCE_BACKUP_COMPLETED:XE,TXT_CODE_INSTANCE_BACKUP_CREATE:LE,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:mE,TXT_CODE_INSTANCE_BACKUP_DELETE:pE,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:FE,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:kE,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:$E,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:vE,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:fE,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:bE,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:ME,TXT_CODE_INSTANCE_BACKUP_FAILED_START:hE,TXT_CODE_INSTANCE_BACKUP_INTRO:gE,TXT_CODE_INSTANCE_BACKUP_LIST:yE,TXT_CODE_INSTANCE_BACKUP_RESTORE:wE,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:xE,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:zE,TXT_CODE_INSTANCE_BACKUP_STARTED:HE},qE="Backup da instância",YE="Backup concluído",jE="Novo backup",GE="Tem certeza de que deseja criar um novo backup? A instância será parada!",QE="Excluir",WE="Tem certeza de que deseja excluir o backup {name}?",JE="Editar .epbaklst",ZE=".epbaklst criado",_C="O arquivo .epbaklst não existe. Deseja criá-lo?",TC="Falha ao excluir o backup.",EC="Falha ao carregar a lista de backups.",CC="Falha ao restaurar o backup.",eC="Falha ao iniciar a tarefa de backup",AC="Clique no botão abaixo para fazer backup da instância atual.",tC="Lista de backups",aC="Restaurar",NC="Tem certeza de que deseja restaurar o backup {name} na instância atual? Os arquivos existentes serão sobrescritos.",sC="Tarefa de restauração iniciada.",nC="Tarefa de backup iniciada",oC={TXT_CODE_INSTANCE_BACKUP:qE,TXT_CODE_INSTANCE_BACKUP_COMPLETED:YE,TXT_CODE_INSTANCE_BACKUP_CREATE:jE,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:GE,TXT_CODE_INSTANCE_BACKUP_DELETE:QE,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:WE,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:JE,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:ZE,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:_C,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:TC,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:EC,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:CC,TXT_CODE_INSTANCE_BACKUP_FAILED_START:eC,TXT_CODE_INSTANCE_BACKUP_INTRO:AC,TXT_CODE_INSTANCE_BACKUP_LIST:tC,TXT_CODE_INSTANCE_BACKUP_RESTORE:aC,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:NC,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:sC,TXT_CODE_INSTANCE_BACKUP_STARTED:nC},IC="Создать резервную копию",DC="Резервное копирование завершено",SC="Новая резервная копия",cC="Создать новую резервную копию? Экземпляр будет остановлен!",OC="Удалить",iC="Удалить резервную копию {name}?",lC="Изменить .epbaklst",rC=".epbaklst создан",BC="Файл .epbaklst не существует. Создать его?",PC="Не удалось удалить резервную копию.",KC="Не удалось загрузить список резервных копий.",uC="Не удалось восстановить резервную копию.",RC="Не удалось запустить задачу резервного копирования",UC="Нажмите кнопку ниже, чтобы создать резервную копию текущего экземпляра.",dC="Список резервных копий",XC="Восстановить",LC="Восстановить резервную копию {name} в текущий экземпляр? Существующие файлы будут перезаписаны.",mC="Задача восстановления запущена.",pC="Задача резервного копирования запущена",FC={TXT_CODE_INSTANCE_BACKUP:IC,TXT_CODE_INSTANCE_BACKUP_COMPLETED:DC,TXT_CODE_INSTANCE_BACKUP_CREATE:SC,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:cC,TXT_CODE_INSTANCE_BACKUP_DELETE:OC,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:iC,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:lC,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:rC,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:BC,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:PC,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:KC,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:uC,TXT_CODE_INSTANCE_BACKUP_FAILED_START:RC,TXT_CODE_INSTANCE_BACKUP_INTRO:UC,TXT_CODE_INSTANCE_BACKUP_LIST:dC,TXT_CODE_INSTANCE_BACKUP_RESTORE:XC,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:LC,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:mC,TXT_CODE_INSTANCE_BACKUP_STARTED:pC},kC="สำรองข้อมูลอินสแตนซ์",$C="สำรองข้อมูลเสร็จแล้ว",vC="ข้อมูลสำรองใหม่",fC="ต้องการสร้างข้อมูลสำรองใหม่หรือไม่ อินสแตนซ์จะถูกหยุด",bC="ลบ",MC="ต้องการลบข้อมูลสำรอง {name} หรือไม่",hC="แก้ไข .epbaklst",gC="สร้าง .epbaklst แล้ว",yC="ไม่มีไฟล์ .epbaklst ต้องการสร้างหรือไม่",wC="ไม่สามารถลบข้อมูลสำรองได้",xC="ไม่สามารถโหลดรายการข้อมูลสำรองได้",zC="ไม่สามารถกู้คืนข้อมูลสำรองได้",HC="เริ่มงานสำรองข้อมูลไม่สำเร็จ",VC="คลิกปุ่มด้านล่างเพื่อสำรองข้อมูลอินสแตนซ์ปัจจุบัน",qC="รายการข้อมูลสำรอง",YC="กู้คืน",jC="ต้องการกู้คืนข้อมูลสำรอง {name} ไปยังอินสแตนซ์ปัจจุบันหรือไม่ ไฟล์เดิมจะถูกเขียนทับ",GC="เริ่มงานกู้คืนแล้ว",QC="เริ่มงานสำรองข้อมูลแล้ว",WC={TXT_CODE_INSTANCE_BACKUP:kC,TXT_CODE_INSTANCE_BACKUP_COMPLETED:$C,TXT_CODE_INSTANCE_BACKUP_CREATE:vC,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:fC,TXT_CODE_INSTANCE_BACKUP_DELETE:bC,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:MC,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:hC,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:gC,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:yC,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:wC,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:xC,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:zC,TXT_CODE_INSTANCE_BACKUP_FAILED_START:HC,TXT_CODE_INSTANCE_BACKUP_INTRO:VC,TXT_CODE_INSTANCE_BACKUP_LIST:qC,TXT_CODE_INSTANCE_BACKUP_RESTORE:YC,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:jC,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:GC,TXT_CODE_INSTANCE_BACKUP_STARTED:QC},JC="Örneği yedekle",ZC="Yedekleme tamamlandı",_e="Yeni yedek",Te="Yeni bir yedek oluşturmak istediğinizden emin misiniz? Örnek durdurulacak!",Ee="Sil",Ce="{name} yedeğini silmek istiyor musunuz?",ee=".epbaklst dosyasını düzenle",Ae=".epbaklst oluşturuldu",te=".epbaklst dosyası yok. Oluşturulsun mu?",ae="Yedek silinemedi.",Ne="Yedek listesi yüklenemedi.",se="Yedek geri yüklenemedi.",ne="Yedekleme görevi başlatılamadı",oe="Geçerli örneği yedeklemek için aşağıdaki düğmeye tıklayın.",Ie="Yedek listesi",De="Geri yükle",Se="{name} yedeği geçerli örneğe geri yüklensin mi? Mevcut dosyaların üzerine yazılacak.",ce="Geri yükleme görevi başlatıldı.",Oe="Yedekleme görevi başlatıldı",ie={TXT_CODE_INSTANCE_BACKUP:JC,TXT_CODE_INSTANCE_BACKUP_COMPLETED:ZC,TXT_CODE_INSTANCE_BACKUP_CREATE:_e,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:Te,TXT_CODE_INSTANCE_BACKUP_DELETE:Ee,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:Ce,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:ee,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:Ae,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:te,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:ae,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:Ne,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:se,TXT_CODE_INSTANCE_BACKUP_FAILED_START:ne,TXT_CODE_INSTANCE_BACKUP_INTRO:oe,TXT_CODE_INSTANCE_BACKUP_LIST:Ie,TXT_CODE_INSTANCE_BACKUP_RESTORE:De,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:Se,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:ce,TXT_CODE_INSTANCE_BACKUP_STARTED:Oe},le="备份实例",re="备份已完成",Be="新建备份",Pe="确定要创建新备份吗?此操作将会停止实例!",Ke="删除",ue="确定要删除备份 {name} 吗?",Re="编辑 .epbaklst",Ue="已创建 .epbaklst",de="文件 .epbaklst 不存在。是否要创建它?",Xe="删除备份失败",Le="获取备份列表失败",me="恢复备份失败",pe="启动备份任务失败",Fe="点击下方按钮开始备份当前实例。",ke="备份列表",$e="恢复",ve="确定要将备份 {name} 恢复到当前实例吗?此操作将停止实例并覆盖现有文件!",fe="备份恢复任务已启动",be="备份任务已启动",Me={TXT_CODE_INSTANCE_BACKUP:le,TXT_CODE_INSTANCE_BACKUP_COMPLETED:re,TXT_CODE_INSTANCE_BACKUP_CREATE:Be,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:Pe,TXT_CODE_INSTANCE_BACKUP_DELETE:Ke,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:ue,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:Re,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:Ue,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:de,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:Xe,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:Le,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:me,TXT_CODE_INSTANCE_BACKUP_FAILED_START:pe,TXT_CODE_INSTANCE_BACKUP_INTRO:Fe,TXT_CODE_INSTANCE_BACKUP_LIST:ke,TXT_CODE_INSTANCE_BACKUP_RESTORE:$e,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:ve,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:fe,TXT_CODE_INSTANCE_BACKUP_STARTED:be},he="備份實例",ge="備份已完成",ye="新建備份",we="確定要創建新備份嗎?此操作將會停止實例!",xe="移除",ze="確定要刪除備份 {name} 嗎?",He="編輯 .epbaklst",Ve="已創建 .epbaklst",qe="文件 .epbaklst 不存在。是否要創建它?",Ye="刪除備份失敗",je="取得備份清單失敗",Ge="還原備份失敗",Qe="啟動備份任務失败",We="點击下方按钮開始備份當前實例。",Je="備份列表",Ze="恢復",_A="確定要將備份 {name} 恢復到當前實例嗎?此操作將停止實例並覆盖现有文件!",TA="備份恢復任務已啟動",EA="備份任務已啟動",CA={TXT_CODE_INSTANCE_BACKUP:he,TXT_CODE_INSTANCE_BACKUP_COMPLETED:ge,TXT_CODE_INSTANCE_BACKUP_CREATE:ye,TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM:we,TXT_CODE_INSTANCE_BACKUP_DELETE:xe,TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM:ze,TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST:He,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED:Ve,TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM:qe,TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE:Ye,TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH:je,TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE:Ge,TXT_CODE_INSTANCE_BACKUP_FAILED_START:Qe,TXT_CODE_INSTANCE_BACKUP_INTRO:We,TXT_CODE_INSTANCE_BACKUP_LIST:Je,TXT_CODE_INSTANCE_BACKUP_RESTORE:Ze,TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM:_A,TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED:TA,TXT_CODE_INSTANCE_BACKUP_STARTED:EA},eA={de_de:Z_,en_us:rT,es_es:gT,fr_fr:AE,ja_jp:UE,ko_kr:VE,pt_br:oC,ru_ru:FC,th_th:WC,tr_tr:ie,zh_cn:Me,zh_tw:CA},AA={class:"instance-backup-container"},tA={class:"backup-list-area"},aA={class:"list-header"},NA={key:0,class:"backup-loading"},sA={class:"backup-item-actions"},nA={key:2,class:"empty-backup"},oA={class:"backup-footer"},IA=T_({__name:"InstanceBackupModal",props:{instanceUuid:{},daemonId:{}},emits:["close"],setup(B,{expose:b,emit:u}){const a=B,s=u,$=O(!1),r=O(!1),m=O(null),D=O(0),k=O([]),p=O(!1),P=O(),K=()=>{const _=V("file");if(!_)throw new Error("file plugin is not installed");return _.api},F=e_(()=>{var _;return(_=V("file"))==null?void 0:_.FileEditor});let n=null;const l=async()=>{var _;p.value=!0;try{const{execute:T}=q(),e=await T({params:{daemonId:a.daemonId,uuid:a.instanceUuid,task_name:"instance_backup"},data:{taskId:""}});let i=null;Array.isArray(e.value)?i=e.value.find(s_=>{var Z;return((Z=s_.detail)==null?void 0:Z.instanceUuid)===a.instanceUuid}):e.value&&((_=e.value.detail)==null?void 0:_.instanceUuid)===a.instanceUuid&&(i=e.value),i?(D.value=i.status,D.value===1&&(m.value=i.taskId,w())):D.value=0;const{execute:h}=t_(),z=await h({params:{daemonId:a.daemonId,uuid:a.instanceUuid}});z.value&&(k.value=z.value)}catch(T){U.error(T.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_FETCH"))}finally{p.value=!1}},M=async()=>{D.value===1||r.value||H.confirm({title:C("TXT_CODE_INSTANCE_BACKUP_CREATE"),content:C("TXT_CODE_INSTANCE_BACKUP_CREATE_CONFIRM"),onOk:async()=>{if(!(D.value===1||r.value)){r.value=!0;try{const{execute:_}=__(),T=await _({params:{daemonId:a.daemonId,uuid:a.instanceUuid,task_name:"instance_backup"},data:{time:new Date().getTime(),newInstanceName:""}});T.value&&(m.value=T.value.taskId,U.success(C("TXT_CODE_INSTANCE_BACKUP_STARTED")),w())}catch(_){U.error(_.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_START"))}finally{r.value=!1}}}})},w=()=>{n&&clearInterval(n),n=setInterval(async()=>{if(m.value)try{const{execute:_}=q(),T=await _({params:{daemonId:a.daemonId,uuid:a.instanceUuid,task_name:"instance_backup"},data:{taskId:m.value}});T.value&&(D.value=T.value.status,D.value!==1&&(clearInterval(n),n=null,l(),D.value===0&&U.success(C("TXT_CODE_INSTANCE_BACKUP_COMPLETED"))))}catch{clearInterval(n),n=null}},2e3)},x=_=>{H.confirm({title:C("TXT_CODE_71155575"),content:C("TXT_CODE_INSTANCE_BACKUP_DELETE_CONFIRM",{name:_}),okButtonProps:{danger:!0},onOk:async()=>{try{const{execute:T}=a_();await T({params:{daemonId:a.daemonId,uuid:a.instanceUuid,backupName:_}}),U.success(C("TXT_CODE_28190dbc")),l()}catch(T){U.error(T.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_DELETE"))}}})},Y=_=>{H.confirm({title:C("TXT_CODE_INSTANCE_BACKUP_RESTORE"),content:C("TXT_CODE_INSTANCE_BACKUP_RESTORE_CONFIRM",{name:_}),onOk:async()=>{try{const{execute:T}=N_();await T({params:{daemonId:a.daemonId,uuid:a.instanceUuid,backupName:_}}),U.success(C("TXT_CODE_INSTANCE_BACKUP_RESTORE_STARTED"))}catch(T){U.error(T.message||C("TXT_CODE_INSTANCE_BACKUP_FAILED_RESTORE"))}}})},j=async()=>{var e;const _=".epbaklst",T=".epbaklst";try{const{execute:i}=K().fileContent(),h=await i({params:{daemonId:a.daemonId,uuid:a.instanceUuid},data:{target:_}});(e=P.value)==null||e.openDialog(_,T)}catch{H.confirm({title:C("TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST"),content:C("TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATE_CONFIRM"),onOk:async()=>{var i;try{const{execute:h}=K().touchFile();await h({params:{daemonId:a.daemonId,uuid:a.instanceUuid},data:{target:_}});const{execute:z}=K().fileContent();await z({params:{daemonId:a.daemonId,uuid:a.instanceUuid},data:{target:_,text:`$black
|
|
3
3
|
`}}),U.success(C("TXT_CODE_INSTANCE_BACKUP_EPBAKLST_CREATED")),(i=P.value)==null||i.openDialog(_,T)}catch(h){U.error(h.message)}}})}},G=_=>{if(_===0)return"0 B";const T=1024,e=["B","KB","MB","GB","TB"],i=Math.floor(Math.log(_)/Math.log(T));return parseFloat((_/Math.pow(T,i)).toFixed(2))+" "+e[i]},Q=()=>{$.value=!0,l()},t=()=>{$.value=!1},E=()=>{n&&clearInterval(n),n=null,s("close")};return E_(()=>{n&&clearInterval(n)}),b({open:Q}),(_,T)=>(I(),X(W,null,[N(r_,{open:$.value,"onUpdate:open":T[0]||(T[0]=e=>$.value=e),title:A(C)("TXT_CODE_INSTANCE_BACKUP"),"max-width":800,footer:null,onAfterClose:E},{default:S(()=>[o("div",AA,[o("div",tA,[o("div",aA,[N(A(L),{class:"refresh-btn",icon:"mdi-refresh",variant:"text",loading:p.value,onClick:l},null,8,["loading"])]),p.value&&k.value.length===0?(I(),X("div",NA,[N(A(S_),{indeterminate:"",color:"primary",size:"32",width:"3"})])):k.value.length>0?(I(),f(A(l_),{key:1,class:"backup-list"},{default:S(()=>[(I(!0),X(W,null,C_(k.value,e=>(I(),f(A(c_),{key:e.name,class:"backup-item",rounded:"xl"},{prepend:S(()=>[N(A(v),{icon:"mdi-cloud-check-outline",class:"backup-item-icon"})]),append:S(()=>[o("div",sA,[N(A(L),{variant:"text","prepend-icon":"mdi-backup-restore",onClick:i=>Y(e.name)},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_RESTORE")),1)]),_:1},8,["onClick"]),N(A(L),{color:"error",variant:"text","prepend-icon":"mdi-delete-outline",onClick:i=>x(e.name)},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_DELETE")),1)]),_:1},8,["onClick"])])]),default:S(()=>[N(A(O_),{class:"backup-name"},{default:S(()=>[d(c(e.name),1)]),_:2},1024),N(A(i_),null,{default:S(()=>[d(c(G(e.size))+" · "+c(e.time),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(I(),X("div",nA,[N(A(v),{icon:"mdi-cloud-outline",class:"empty-icon"}),o("p",null,c(A(C)("TXT_CODE_INSTANCE_BACKUP_INTRO")),1)]))]),o("div",oA,[N(A(L),{variant:"text",onClick:t},{default:S(()=>[d(c(A(C)("TXT_CODE_b1dedda3")),1)]),_:1}),N(A(L),{variant:"text",onClick:j},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_EDIT_EPBAKLST")),1)]),_:1}),N(A(L),{color:"primary",loading:r.value,disabled:D.value===1,onClick:M},{default:S(()=>[d(c(A(C)("TXT_CODE_INSTANCE_BACKUP_CREATE")),1)]),_:1},8,["loading","disabled"])])])]),_:1},8,["open","title"]),F.value&&B.daemonId&&B.instanceUuid?(I(),f(g(F.value),{key:0,ref_key:"fileEditorDialog",ref:P,"daemon-id":B.daemonId,"instance-id":B.instanceUuid},null,8,["daemon-id","instance-id"])):y("",!0)],64))}});const DA=A_(IA,[["__scopeId","data-v-d5dfc3ba"]]),mA=["console","i18n","actions","instance"];function pA(B){B.i18n.define(eA),B.actions.schedule({type:"backup",title:()=>C("TXT_CODE_INSTANCE_BACKUP")}),B.actions.instance({id:"backup",title:()=>C("TXT_CODE_INSTANCE_BACKUP"),icon:"mdi-cloud-outline",mdiIcon:"mdi-cloud-outline",normalComponent:DA,desktopComponent:$_,condition:b=>n_(b)&&o_(b,"instanceBackup"),desktopInitialWidth:700,desktopInitialHeight:500})}export{pA as apply,mA as inject};
|
package/panel/plugin.json
CHANGED