1"use strict";(globalThis.webpackChunkPlesk=globalThis.webpackChunkPlesk||[]).push([["components/pages/DatabasesPage/ImportDatabase"],{2810(e,t,a){a.r(t),a.d(t,{default:()=>i});var s=a(396),o=a(397),n=a(95);const r=n.Locale.getTranslate("components.common.DatabasePasswordPrompt"),l=n.Locale.getTranslate("components.buttons"),i=({isMultistep:e=!1,onPasswordSubmit:t,userLogin:a,isOpen:n,onClose:i,size:u="sm",...c})=>{const[d,m]=(0,s.useState)(!1),[p,b]=(0,s.useState)("");let g={title:(0,s.jsx)(r,{content:"title"}),subtitle:(0,s.jsx)(r,{content:"description",params:{login:(0,s.jsx)("b",{children:a})}}),form:(0,s.jsx)(o.Form,{onSubmit:({password:e})=>{e&&(t?.(e),m(!0))},submitButton:{children:(0,s.jsx)(l,{content:"ok"}),disabled:!p.length},cancelButton:{children:(0,s.jsx)(l,{content:"cancel"})},applyButton:!1,onFieldChange:(e,t)=>{"password"===e&&b(t)},children:(0,s.jsx)(o.FormFieldPassword,{name:"password",label:(0,s.jsx)(r,{content:"password"}),autoFocus:!0,size:"fill",hideGenerateButton:!0,hidePasswordMeter:!0})},"passwordForm")};return e&&d&&(g=c),(0,s.jsx)(o.Drawer,{isOpen:n,onClose:i,size:u,...g})}},2809(e,t,a){a.r(t),a.d(t,{default:()=>s.default});var s=a(2810)},1526(e,t,a){a.r(t),a.d(t,{default:()=>r});var s=a(396),o=a(715),n=a(397);const r=({onClose:e,isOpen:t=!0,closeOnFormSuccess:a=!0,closeUrl:r="..",form:l,...i})=>{const u=(0,o.useNavigate)(),[c,d]=(0,s.useState)(t),m=(0,s.useRef)(null),p=(0,s.useCallback)((...t)=>{const a=e??(()=>u(r,{preventScrollReset:!0}));d(!1),m.current=setTimeout(()=>{a(...t),m.current=null},300)},[r,u,e]);(0,s.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]),(0,s.useEffect)(()=>{t?m.current&&clearTimeout(m.current):d(t)},[t]);const b=(0,s.useMemo)(()=>{if(l&&a){if((0,s.isValidElement)(l))return(0,s.cloneElement)(l,{onSuccess:(...e)=>{l.props.onSuccess?.(...e),p()}});if("object"==typeof l)return{...l,onSuccess:(...e)=>{l.onSuccess?.(...e),p()}}}return l},[a,p,l]);return(0,s.jsx)(n.Drawer,{...i,form:b,onClose:p,isOpen:c})}},2832(e,t,a){a.r(t),a.d(t,{default:()=>f});var s=a(1526),o=a(95),n=a(1371),r=a(715),l=a(396),i=a(397),u=a(663),c=a(827),d=(a(2833),a(2809)),m=a(2821);const p=o.Locale.getTranslate("components.pages.Databases.Import"),b=o.Locale.getSection("components.pages.Databases.Import"),g=({domainId:e})=>`/file-manager/tree-data/domainId/${e}`,f=({data:e})=>{const{domainId:t="",databaseId:a}=(0,r.useParams)(),{reloadDatabaseList:f}=(0,r.useOutletContext)(),w=e.dbList[e.defaultSubscription],h=w?.find(e=>e.id===Number(a)),{allowRecreateDatabase:x,askPasswordForImport:j,isWebspace:P=!1,name:S="",webadminUserLogin:D=""}=h||{},{drawerProps:F}=(0,m.usePasswordPrompt)(j),T=(0,r.useNavigate)(),[C,k]=(0,l.useState)(""),[I,y]=(0,l.useState)(()=>({actionType:"upload",recreateDatabase:x?"1":"0"})),v=()=>{F.onClose(),setTimeout(()=>{T("..")},300)},L=()=>{y(e=>({...e,actionType:"import"}))},B=(0,l.useMemo)(()=>{const e=new o.FileManager.Tree({cls:"tree",data:null,dataUrl:g({domainId:t}),showFiles:!0,rootNodeTitle:b.lmsg("rootDirectory"),waitMessage:b.lmsg("waitMessage"),onNodeClick:L,onReload(){e.setDirectory("/")}});return e},[t]),M=(0,l.useMemo)(()=>{let e=Boolean(I.file);return P&&(e=Boolean(I.file)&&"upload"===I.actionType||"import"===I.actionType&&!B.getSelectedItemData()?.isDirectory),e},[I,B,P]),N=(0,l.jsx)(i.FormField,{name:"file",label:null,children:({getId:e,getName:t,setValue:a,isDisabled:s})=>(0,l.jsx)(i.InputFile,{id:e(),name:t(),disabled:s(),onChange:e=>a(e)})}),O=(0,l.jsxs)(n.default,{action:`/smb/database/upload-dump/id/${a}`,values:I,applyButton:!1,submitButton:{children:(0,l.jsx)(p,{content:"confirm"}),disabled:!M,"data-action-name":"submit"},onSubmit:e=>{if(!(!P||"upload"===e.actionType))return{recreateDatabase:e.recreateDatabase,dumpPath:P&&B.getSelectedItemData()?B.getSelectedItemData().path:"",dbPassword:C};const t=new FormData;return e.file&&t.append("file[]",e.file),"1"===e.recreateDatabase&&t.append("recreateDatabase","1"),t},onSuccess:({message:e})=>{e?(0,u.addToast)({intent:"danger",message:e}):(j&&v(),f?.())},onFieldChange:(e,t)=>
1{y(a=>(0,i.setIn)(a,e,t))},children:[P?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.FormFieldRadioButtons,{label:null,name:"actionType",options:[{value:"upload",label:b.lmsg("uploadFromFile")},{value:"import",label:b.lmsg("uploadFromWebspace")}]}),"import"===I.actionType?(0,l.jsx)(c.default,{className:"import-database__tree fm-scrollable",children:B}):N]}):N,x&&(0,l.jsx)(i.FormFieldCheckbox,{checkedValue:"1",uncheckedValue:"0",name:"recreateDatabase",label:(0,l.jsx)(p,{content:"recreateDatabase"})})]});return j?(0,l.jsx)(d.default,{isMultistep:!0,isOpen:F.isOpen,onClose:v,onPasswordSubmit:k,title:(0,l.jsx)(p,{content:"uploadPopupTitle"}),form:O,userLogin:D}):(0,l.jsx)(s.default,{className:"import-database",size:"sm",title:(0,l.jsx)(p,{content:"uploadPopupTitle"}),subtitle:(0,l.jsx)(p,{content:"uploadHint",params:{databaseName:(0,l.jsx)("b",{children:(0,o.escapeHtml)(S)})}}),form:O})}},2821(e,t,a){a.r(t),a.d(t,{usePasswordPrompt:()=>o});var s=a(396);const o=(e=!1)=>{const[t,a]=(0,s.useState)(e),[o,n]=(0,s.useState)(null);return{getButtonClickHandler:({isPasswordRequired:e,userLogin:t,onPasswordlessClick:s,onPasswordSubmit:o})=>e?()=>{n({userLogin:t,onPasswordSubmit:e=>{o(e),a(!1)}}),a(!0)}:()=>s(),drawerProps:{isOpen:t,onClose:()=>a(!1),...o}}}},2833(e,t,a){a.r(t)}}]); 2//# sourceMappingURL=ImportDatabase.js.map?e416208f230a54f0fdb6
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.