D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
cp
/
public
/
javascript
/
components
/
pages
/
DatabasesPage
/
Filename :
CopyDatabase.js
back
Copy
"use strict";(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["components/pages/DatabasesPage/CopyDatabase"],{1406:(e,a,s)=>{s.r(a),s.d(a,{default:()=>i});var t=s(285),n=s(580),r=s(286);const i=({onClose:e,isOpen:a=!0,closeOnFormSuccess:s=!0,closeUrl:i="..",form:l,...o})=>{const c=(0,n.useNavigate)(),[d,u]=(0,t.useState)(a),m=(0,t.useRef)(null),b=(0,t.useCallback)(((...a)=>{const s=e??(()=>c(i,{preventScrollReset:!0}));u(!1),m.current=setTimeout((()=>{s(...a),m.current=null}),300)}),[i,c,e]);(0,t.useEffect)((()=>()=>{m.current&&clearTimeout(m.current)}),[]),(0,t.useEffect)((()=>{a?m.current&&clearTimeout(m.current):u(a)}),[a]);const x=(0,t.useMemo)((()=>{if(l&&s){if((0,t.isValidElement)(l))return(0,t.cloneElement)(l,{onSuccess:(...e)=>{l.props.onSuccess?.(...e),b()}});if("object"==typeof l)return{...l,onSuccess:(...e)=>{l.onSuccess?.(...e),b()}}}return l}),[s,b,l]);return(0,t.jsx)(r.Drawer,{...o,form:x,onClose:b,isOpen:d})}},2620:(e,a,s)=>{s.r(a),s.d(a,{default:()=>n});s(2621);var t=s(285);const n=({prefix:e,children:a})=>(0,t.jsxs)("div",{className:"prefixed-form-element",children:[e&&(0,t.jsx)("span",{className:"prefixed-form-element-prefix",children:e}),a]})},2619:(e,a,s)=>{s.r(a),s.d(a,{default:()=>t.default});var t=s(2620)},2623:(e,a,s)=>{s.r(a),s.d(a,{default:()=>b});var t=s(1406),n=s(89),r=s(1289),i=s(580),l=s(285),o=s(286),c=s(536),d=(s(2624),s(2619));const u=n.Locale.getTranslate("components.pages.Databases.Clone"),m=n.Locale.getSection("components.pages.Databases.Clone"),b=({data:e,dbType:a})=>{const s=(0,i.useParams)(),{reloadDatabaseList:b}=(0,i.useOutletContext)(),[x,p]=(0,l.useState)((()=>({dbServer:e.defaultDbServerId,externalDbHost:"",externalDbLogin:"",externalDbPassword:"",copyData:"1",actionType:"new",newName:"",subscriptionsList:e.defaultSubscription,forceSkipRedirect:!0}))),g=e.dbList[x.subscriptionsList],j=g.find((e=>e.id===Number(s.databaseId))),f="0"===String(x.dbServer),h=(0,l.useMemo)((()=>Object.entries(e.dbServers[a]).map((([e,a])=>({id:Number(e),name:a})))),[e.dbServers,a]),D=(0,l.useMemo)((()=>g.filter((e=>e.serverId===x.dbServer&&e.name!==j?.name)).map((e=>({id:Number(e.id),name:e.name})))),[g,j,x.dbServer]);return(0,l.jsx)(t.default,{className:"copy-database",size:"sm",title:(0,l.jsx)(u,{content:"title"}),subtitle:(0,l.jsx)(u,{content:"copyHint",params:{databaseName:(0,l.jsx)("b",{children:(0,n.escapeHtml)(j?.name??"")})}}),form:(0,l.jsxs)(r.default,{action:`/smb/database/clone/id/${s.databaseId}`,values:x,applyButton:!1,submitButton:{children:(0,l.jsx)(u,{content:"clone"}),"data-action-name":"submit"},onSuccess:({message:e,status:a})=>{"warning"===a&&e?(0,c.addToast)({intent:"warning",message:e}):("success"===a&&(0,c.addToast)({intent:"success",message:m.lmsg("databaseCloned",{source:(0,n.escapeHtml)(j?.name??"")})}),b?.())},onFieldChange:(e,a)=>{p((s=>(0,o.setIn)(s,e,a)))},children:[(0,l.jsx)(o.StatusMessage,{intent:"warning",children:(0,l.jsx)(u,{content:"warning"})}),(0,l.jsxs)("div",{className:"copy-database__form-wrapper",children:[(0,l.jsx)(o.Paragraph,{children:(0,l.jsx)(u,{content:"formDescription"})}),(0,l.jsxs)(o.FormFieldSelect,{required:!0,size:"lg",onChange:e=>{"0"===e&&p((e=>({...e,existingDatabase:void 0})))},name:"dbServer",label:(0,l.jsx)(u,{content:"server"}),children:[h.map((({id:e,name:a})=>(0,l.jsx)("option",{value:e,children:a},e))),(0,l.jsx)("option",{value:"0",children:m.lmsg("externalServer")})]}),e.subscriptionsList.length>1&&(0,l.jsx)(o.FormFieldSelect,{required:!0,size:"lg",name:"subscriptionsList",label:(0,l.jsx)(u,{content:"subscription"}),children:e.subscriptionsList.map((({id:e,name:a})=>(0,l.jsx)("option",{value:e,children:a},e)))}),f&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o.FormFieldText,{required:!0,label:(0,l.jsx)(u,{content:"externalDbHost"}),name:"externalDbHost",size:"lg"}),(0,l.jsx)(o.FormFieldText,{required:!0,label:(0,l.jsx)(u,{content:"externalDbLogin"}),name:"externalDbLogin",size:"lg"}),(0,l.jsx)(o.FormFieldPassword,{required:!0,label:(0,l.jsx)(u,{content:"externalDbPassword"}),name:"externalDbPassword",size:"md",hideGenerateButton:!0})]}),(0,l.jsx)(o.FormFieldRadioButtons,{required:!0,name:"actionType",label:(0,l.jsx)(u,{content:"database"}),options:[{value:"new",label:m.lmsg("newDatabase")},{value:"existing",disabled:!D.length,label:m.lmsg("existingDatabase")}]}),"new"===x.actionType?(0,l.jsx)(o.FormField,{required:!0,name:"newName",label:(0,l.jsx)(u,{content:"newDatabaseName"}),children:({getValue:a,setValue:s,getName:t,getId:n,isDisabled:r})=>(0,l.jsx)(d.default,{prefix:e.dbPrefix,children:(0,l.jsx)(o.Input,{className:"copy-database__newName",id:n(),name:t(),value:a(),disabled:r(),onChange:e=>s(e.target.value)})})}):f?(0,l.jsx)(o.FormFieldText,{size:"lg",name:"existingDatabase"}):Boolean(D.length)&&(0,l.jsx)(o.FormFieldSelect,{required:!0,size:"lg",name:"existingDatabase",label:(0,l.jsx)(u,{content:"existingDatabaseName"}),children:D.map((({id:e,name:a})=>(0,l.jsx)("option",{value:e,children:a},e)))}),(0,l.jsx)(o.FormFieldCheckbox,{checkedValue:"1",uncheckedValue:"0",name:"copyData","data-action-name":"copyData",label:(0,l.jsx)(u,{content:"copyData"}),description:(0,l.jsx)(u,{content:"copyDataHint"})})]})]})})}},2621:(e,a,s)=>{s.r(a)},2624:(e,a,s)=>{s.r(a)}}]); //# sourceMappingURL=CopyDatabase.js.map?56d1a5f947bde147e4a1