D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
admin
/
cp
/
public
/
javascript
/
components
/
pages
/
Filename :
ScheduledBackupListPage.js
back
Copy
(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["components/pages/ScheduledBackupListPage"],{1411:(e,t,s)=>{"use strict";s.r(t),s.d(t,{SORT_ASC:()=>u,SORT_DESC:()=>d,default:()=>x});var n=s(285),o=s(596),a=s.n(o),l=s(286),r=s(89);const i=r.Locale.getTranslate("components.list"),c=r.Locale.getSection("components.list"),u="ASC",d="DESC",p="all",m={set(e,t){localStorage.setItem(e,JSON.stringify(t))},get(e){const t=localStorage.getItem(e);return JSON.parse(t)}},h=e=>`list-sort_${e}`,g=e=>`list-page_${e}`,b=({id:e,data:t,columns:s,itemsPerPage:o=25,itemsPerPageOptions:a=[10,25,100,p],sortColumn:r,sortDirection:d=u,searchField:b,locale:x={},emptyView:f,emptyFilteredView:k,toolbar:j,selection:y=[],onSelectionChange:R,searchBarInputProps:P,rowKey:O="key",useStorage:E=!0,...S})=>{const{sortColumn:I,sortDirection:D,setSortState:_}=((e,{sortColumn:t,sortDirection:s})=>{const[{sortColumn:o,sortDirection:a},l]=(0,n.useState)({sortColumn:m.get(h(e))?.sortColumn??t,sortDirection:m.get(h(e))?.sortDirection??s});return{sortColumn:o,sortDirection:a,setSortState:t=>{l((e=>({...e,...t}))),m.set(h(e),{...m.get(h(e)),...t})}}})(e,{sortColumn:r??s.find((({sortable:e})=>e))?.key,sortDirection:d}),{page:L,itemsPerPage:T,searchPattern:v,setPageState:C}=((e,{itemsPerPage:t},s=!0)=>{const o=s?{page:m.get(g(e))?.page,itemsPerPage:m.get(g(e))?.itemsPerPage,searchPattern:m.get(g(e))?.searchPattern}:{},[{page:a,itemsPerPage:l,searchPattern:r},i]=(0,n.useState)({page:o.page??1,itemsPerPage:o.itemsPerPage??t,searchPattern:o.searchPattern??""});return{page:a,itemsPerPage:l,searchPattern:r,setPageState:t=>{i((e=>({...e,...t}))),s&&m.set(g(e),{...m.get(g(e)),...t})}}})(e,{itemsPerPage:a.includes(o)?o:a[0]},E),F=(0,n.useMemo)((()=>v?k??(0,n.jsx)(l.ListEmptyView,{reason:"filtered",title:(0,n.jsx)(i,{content:"emptyViewFilteredTitle"}),description:(0,n.jsx)(i,{content:"emptyViewFilteredDescription"}),"data-testid":"list-empty-view-filtered"}):f??(0,n.jsx)(l.ListEmptyView,{title:(0,n.jsx)(i,{content:"emptyViewTitle"})})),[v,f,k]),Y=(0,n.useMemo)((()=>s.map((({sortDataField:e,...t})=>t))),[s]),w=(0,n.useMemo)((()=>b&&v?t.filter((e=>(Array.isArray(b)?b:[b]).some((t=>e[t]&&String(e[t]).toLowerCase().includes(v.toLowerCase()))))):t),[t,v,b]),M=(0,n.useMemo)((()=>{if(!I)return w;const e=s.find((({key:e})=>e===I))?.sortDataField??I,t=s.find((({key:e})=>e===I))?.sort??((t,s)=>t[e]<s[e]?-1:t[e]>s[e]?1:0);return[...w].sort(((e,s)=>u===D?t(e,s):t(s,e)))}),[w,I,D,s]),A=(0,n.useMemo)((()=>{if(T===p)return M;const e=T*(L-1),t=e+T;return M.slice(e,t)}),[L,M,T]),q=(0,n.useCallback)((e=>{C({searchPattern:e}),e!==v&&C({page:1})}),[v]),B=(0,n.useCallback)((e=>{C({itemsPerPage:e});(e===p?1:Math.ceil(w.length/e))<L&&C({page:1})}),[w.length,L]);return(0,n.useEffect)((()=>{if("function"==typeof R&&y.length){const e=w.map((e=>{return t=e,"function"==typeof(s=O)?s(t):t[s];var t,s})).filter((e=>y.includes(e)));R(e)}}),[w]),(0,n.jsx)(l.List,{pagination:(0,n.jsx)(l.Pagination,{current:L,total:T===p?1:Math.ceil(w.length/T),onSelect:e=>C({page:e}),itemsPerPage:T,itemsPerPageOptions:a,onItemsPerPageChange:B}),toolbar:(j||b)&&(0,n.jsxs)(l.Toolbar,{children:[j,b&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.ToolbarExpander,{}),(0,n.jsx)(l.ToolbarGroup,{title:"",children:(0,n.jsx)(l.SearchBar,{inputProps:{placeholder:c.lmsg("searchPlaceholder"),"data-testid":"list-searchbar",value:v,...P??{}},onTyping:q})})]})]}),totalRows:w.length,sortColumn:I,sortDirection:D,onSortChange:_,columns:Y,data:A,filtered:!!v,locale:{totalRows:({totalRows:e})=>c.formatMessage("recordsTotal",{total:e}),...x},emptyView:F,onSelectionChange:R,selection:y,rowKey:O,...S})};b.propTypes={id:a().string.isRequired,data:a().array.isRequired,columns:a().array.isRequired,itemsPerPage:a().number,itemsPerPageOptions:a().array,sortColumn:a().string,sortDirection:a().string,searchField:a().oneOfType([a().string,a().arrayOf(a().string.isRequired)]),locale:a().object,emptyView:a().node,emptyFilteredView:a().node,toolbar:a().node,onSelectionChange:a().func,selection:a().array,rowKey:a().oneOfType([a().string,a().func]),searchBarInputProps:a().object,useStorage:a().bool};const x=b},1592:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(1593),i=s.n(r),c=(s(1594),s(285));const u=o.Locale.getTranslate("controllers.backup.schedule"),d=o.Locale.getSection("controllers.backup.schedule"),p=({showBuyLink:e,url:t,newWindow:s,isOpen:o,handleClose:a,promoReadMoreUrl:l})=>(0,c.jsx)(n.Dialog,{isOpen:o,size:"sm",banner:i(),title:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(u,{content:"cloudBackupRestrictionTitle"}),(0,c.jsxs)("ul",{className:"cloud-promo-features",children:[(0,c.jsxs)("li",{children:[" ",(0,c.jsx)(u,{content:"cloudBackupRestrictionLi1"})]}),(0,c.jsxs)("li",{children:[" ",(0,c.jsx)(u,{content:"cloudBackupRestrictionLi2"})]})]})]}),cancelTitle:(0,c.jsx)(u,{content:"cloudBackupRestrictionCloseButton"}),buttons:e?(0,c.jsx)(n.Button,{intent:"primary",icon:"shopping-cart",component:"a",href:t,target:s?"_blank":void 0,onClose:a,children:(0,c.jsx)(u,{content:"cloudBackupRestrictionBuyButton"})}):null,onClose:a,children:(0,c.jsx)("span",{dangerouslySetInnerHTML:{__html:d.lmsg(e?"cloudBackupRestrictionDescriptionWithBuy":"cloudBackupRestrictionDescription",{readMoreLink:l})}})});p.propTypes={showBuyLink:l().bool.isRequired,url:l().string.isRequired,newWindow:l().bool.isRequired,isOpen:l().bool.isRequired,handleClose:l().func.isRequired,promoReadMoreUrl:l().string.isRequired};const m=p},1583:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(285);const i=o.Locale.getTranslate("components.forms.backup.schedule"),c=({serverSettings:{isRotationUnlimited:e,rotation:t}})=>(0,r.jsx)(n.FormFieldText,{name:"schedule[rotation]",label:(0,r.jsx)(i,{content:"maxDumpFiles"}),inputProps:{maxLength:"4"},size:"sm",required:!e,description:(0,r.jsx)(i,{content:e?"maxDumpFilesUnlimitedDescription":"maxDumpFilesLimitedDescription",params:{max:t}})});c.propTypes={serverSettings:l().shape({isRotationUnlimited:l().bool.isRequired,rotation:l().number.isRequired}).isRequired};const u=c},1584:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(1582),i=s(285);const c=o.Locale.getTranslate("components.forms.backup.schedule"),u=o.Locale.getSection("components.forms.backup.schedule"),d=({period:e,values:t,handleFieldChange:s,serverSettings:{isRotationUnlimited:o,rotation:a}})=>{const l=(0,n.getIn)(t,"rotation"),d=(0,n.getIn)(t,"hourPerDay",r.PERIOD_HOURLY)/r.PERIOD_HOURLY,p=(0,i.useMemo)((()=>({retainUnit:"",retainValue:Math.max(e,r.PERIOD_DAILY)})),[e]),m=(0,i.useCallback)((t=>{if(t<=0)return p;let s;switch(e){case r.PERIOD_HOURLY:s=60*t*60*d;break;case r.PERIOD_DAILY:s=60*t*60*24;break;case r.PERIOD_WEEKLY:s=60*t*60*24*7;break;case r.PERIOD_MONTHLY:s=60*t*60*24*30;break;case r.PERIOD_YEARLY:s=60*t*60*24*365}for(const e of[r.PERIOD_YEARLY,r.PERIOD_MONTHLY,r.PERIOD_WEEKLY,r.PERIOD_DAILY,r.PERIOD_HOURLY])if(s%e==0)return{retainUnit:s/e,retainValue:e};return p}),[e,d,p]),h=(0,i.useCallback)(((t,s)=>{if(!(t=parseInt(t)))return"";switch(e){case r.PERIOD_HOURLY:return Math.floor(s/60/60/d*t);case r.PERIOD_DAILY:return Math.floor(s/60/60/24*t);case r.PERIOD_WEEKLY:return Math.floor(s/60/60/24/7*t);case r.PERIOD_MONTHLY:return Math.floor(s/60/60/24/30*t);case r.PERIOD_YEARLY:return Math.floor(s/60/60/24/365*t)}}),[e,d]),[g,b]=(0,i.useState)(m(l).retainValue),[x,f]=(0,i.useState)(m(l).retainUnit);return(0,i.useEffect)((()=>{(g<e||g===r.PERIOD_YEARLY&&e!==r.PERIOD_YEARLY)&&b(p.retainValue)}),[e,g,p]),(0,i.useEffect)((()=>{s("rotation",h(x,g))}),[g,x,s,h]),(0,i.jsx)(n.FormField,{name:"schedule[rotation]",description:u.formatMessage(o?"maxDumpFilesUnlimitedDescription":"retainLimitedDescription",{max:a}),label:(0,i.jsx)(c,{content:"retainDumpFilesFor"}),required:!o,children:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.Input,{id:"schedule-rotation",onChange:e=>f(e.target.value),size:"sm",maxLength:"4",value:x})," ",(0,i.jsxs)(n.Select,{size:"sm",id:"retain-time-interval",name:"retain-time-interval",onChange:b,value:g,children:[e<=r.PERIOD_HOURLY&&(0,i.jsx)(n.SelectOption,{value:r.PERIOD_HOURLY,label:"hours",children:(0,i.jsx)(c,{content:"retainHours"})}),e<=r.PERIOD_DAILY&&(0,i.jsx)(n.SelectOption,{value:r.PERIOD_DAILY,label:"days",children:(0,i.jsx)(c,{content:"days"})}),e<=r.PERIOD_WEEKLY&&(0,i.jsx)(n.SelectOption,{value:r.PERIOD_WEEKLY,label:"weeks",children:(0,i.jsx)(c,{content:"weeks"})}),e<=r.PERIOD_MONTHLY&&(0,i.jsx)(n.SelectOption,{value:r.PERIOD_MONTHLY,label:"months",children:(0,i.jsx)(c,{content:"months"})}),e===r.PERIOD_YEARLY&&(0,i.jsx)(n.SelectOption,{value:r.PERIOD_YEARLY,label:"years",children:(0,i.jsx)(c,{content:"years"})})]})]})})};d.propTypes={period:l().number.isRequired,values:l().object.isRequired,handleFieldChange:l().func.isRequired,serverSettings:l().shape({isRotationUnlimited:l().bool.isRequired,rotation:l().number.isRequired}).isRequired};const p=d},1582:(e,t,s)=>{"use strict";s.r(t),s.d(t,{PERIOD_DAILY:()=>p,PERIOD_HOURLY:()=>d,PERIOD_MONTHLY:()=>h,PERIOD_WEEKLY:()=>m,PERIOD_YEARLY:()=>g,default:()=>x});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(285);const i=o.Locale.getTranslate("components.forms.backup.schedule"),c=o.Locale.getSection("components.forms.backup.schedule"),u=o.Locale.getTranslate("smb.components.days-of-week"),d=3600,p=86400,m=604800,h=2592e3,g=31536e3,b=({showHourlyOption:e=!1,period:t,timezone:s=null,hidePeriod:o=!1,values:a,handleFieldChange:l})=>(0,r.jsx)(n.FormField,{label:(0,r.jsx)(i,{content:"backupPeriod"}),name:"schedule[period]",description:(0,r.jsx)(i,{content:"backupTimeDescription",params:{timezone:s??(0,r.jsx)(i,{content:"systemTimeZone"})}}),children:({isDisabled:s})=>(0,r.jsxs)(r.Fragment,{children:[!o&&(0,r.jsxs)(n.Select,{size:"sm",name:"schedule[backupPeriod]",id:"schedule-backupPeriod",value:t,onChange:e=>l("backupPeriod",e),disabled:s(),children:[(e||(0,n.getIn)(a,"backupPeriod")===d)&&(0,r.jsx)(n.SelectOption,{value:d,label:"hourly",children:(0,r.jsx)(i,{content:"hourly"})}),(0,r.jsx)(n.SelectOption,{value:p,label:"daily",children:(0,r.jsx)(i,{content:"daily"})}),(0,r.jsx)(n.SelectOption,{value:m,label:"weekly",children:(0,r.jsx)(i,{content:"weekly"})}),(0,r.jsx)(n.SelectOption,{value:h,label:"monthly",children:(0,r.jsx)(i,{content:"monthly"})})]}),t===m&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)(i,{content:"on"})," ",(0,r.jsx)(n.Select,{size:"sm",name:"schedule[dayOfWeek]",id:"schedule-dayOfWeek",value:(0,n.getIn)(a,"dayOfWeek"),onChange:e=>l("dayOfWeek",e),disabled:s(),children:[7,1,2,3,4,5,6].map((e=>(0,r.jsx)(n.SelectOption,{value:e,label:`${e}`,children:(0,r.jsx)(u,{content:Math.max((e+1)%8,1)})},e)))})]}),t===h&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)(i,{content:"on"})," ",(0,r.jsx)(n.Select,{size:"xs",name:"schedule[dayOfMonth]",id:"schedule-dayOfMonth",value:(0,n.getIn)(a,"dayOfMonth"),onChange:e=>l("dayOfMonth",e),disabled:s(),children:Object.keys(new Array(31).fill(0)).map((e=>{const t=+e+1;return(0,r.jsx)(n.SelectOption,{value:t,label:`${t}`,children:1===t||31===t?(0,r.jsx)(i,{content:1===t?"first":"last"}):t},t)}))})," ",(0,r.jsx)(i,{content:"dayOfMonth"})]}),t===d?(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)(i,{content:"every"})," ",(0,r.jsx)(n.Select,{size:"xs",name:"schedule[hourPerDay]",id:"schedule-hourPerDay",value:(0,n.getIn)(a,"hourPerDay"),onChange:e=>l("hourPerDay",e),disabled:s(),children:[1,2,3,4,6,8,12].map((e=>(0,r.jsx)(n.SelectOption,{value:e*d,label:`${e}`,children:e},e)))})," ",c.formatMessage("hours",{period:(0,n.getIn)(a,"hourPerDay")/d})]}):(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)(i,{content:"at"})," ",(0,r.jsx)(n.Select,{size:"xs",name:"schedule[hour]",id:"schedule-hour",value:(0,n.getIn)(a,"hour"),onChange:e=>l("hour",e),disabled:s(),children:Object.keys(new Array(24).fill(0)).map((e=>{const t=+e;return(0,r.jsx)(n.SelectOption,{value:t,label:`${t}`,children:`${t<10?"0":""}${t}`},t)}))})," : ",(0,r.jsx)(n.Select,{size:"xs",name:"schedule[minute]",id:"schedule-minute",value:(0,n.getIn)(a,"minute"),onChange:e=>l("minute",e),disabled:s(),children:[0,15,30,45].map((e=>(0,r.jsx)(n.SelectOption,{value:e,label:`${e}`,children:`${e<10?"0":""}${e}`},e)))})]})]})});b.propTypes={showHourlyOption:l().bool,period:l().number.isRequired,timezone:l().string,hidePeriod:l().bool,values:l().object.isRequired,handleFieldChange:l().func.isRequired};const x=b},1581:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>h});var n=s(285),o=s(286),a=s(89),l=s(1582),r=s(1583),i=s(1584),c=s(596),u=s.n(c),d=s(1585);s(1586);const p=a.Locale.getTranslate("components.forms.backup.schedule"),m=({showHourlyOption:e=!1,rotateByPeriod:t=!1,timezone:s=null,serverSettings:c,isIncrementalAllowed:u,hidePeriod:m=!1,hideStatus:h=!1,values:g,handleFieldChange:b,promo:x=null,showCloudPromo:f=null})=>{const k=(0,o.getIn)(g,"backupPeriod"),j=(0,o.getIn)(g,"fullBackupPeriod"),y="true"===(0,o.getIn)(g,"useIncremental");return(0,n.useEffect)((()=>{if(k>=j||k===l.PERIOD_HOURLY&&j>l.PERIOD_WEEKLY)switch(k){case l.PERIOD_HOURLY:b("fullBackupPeriod",l.PERIOD_DAILY);break;case l.PERIOD_DAILY:b("fullBackupPeriod",l.PERIOD_WEEKLY);break;case l.PERIOD_WEEKLY:b("fullBackupPeriod",l.PERIOD_MONTHLY);break;case l.PERIOD_MONTHLY:b("fullBackupPeriod",l.PERIOD_YEARLY)}}),[k,j,b]),(0,n.useEffect)((()=>{u||b("useIncremental","false")}),[u,b]),(0,n.useEffect)((()=>{x&&a.UAT.dispatchAction("SHOWHEADERPROMO",{promo:"backup_scheduler_header"})}),[x]),(0,n.jsxs)(o.Section,{title:(0,n.jsx)(p,{content:"scheduleSection"}),children:[x&&(0,n.jsx)("div",{className:"schedule-section-promo",children:(0,n.jsx)(d.default,{...x,onDetailsClick:f})}),k===l.PERIOD_HOURLY&&(0,n.jsx)(o.StatusMessage,{intent:"warning",id:"schedule-backupPeriod-hourly-warning",children:(0,n.jsx)(p,{content:"backupHourlyWarning"})}),!h&&(0,n.jsx)(o.FormFieldCheckbox,{label:(0,n.jsx)(p,{content:"backupEnable"}),name:"schedule[backup_enable]",checkedValue:"true",uncheckedValue:"false"}),(0,n.jsx)(l.default,{showHourlyOption:e,period:k,timezone:s,hidePeriod:m,values:g,handleFieldChange:b}),(0,n.jsx)(o.FormFieldCheckbox,{label:(0,n.jsx)(p,{content:"useIncremental"}),name:"schedule[useIncremental]",checkedValue:"true",uncheckedValue:"false",disabled:!u,description:!u&&(0,n.jsx)(p,{content:"useIncrementalDisableHint"})}),y&&(0,n.jsxs)(o.FormFieldSelect,{label:(0,n.jsx)(p,{content:"fullBackupPeriod"}),name:"schedule[fullBackupPeriod]",size:"sm",children:[k<l.PERIOD_DAILY&&(0,n.jsx)(o.SelectOption,{value:l.PERIOD_DAILY,label:"daily",children:(0,n.jsx)(p,{content:"daily"})}),k<l.PERIOD_WEEKLY&&(0,n.jsx)(o.SelectOption,{value:l.PERIOD_WEEKLY,label:"weekly",children:(0,n.jsx)(p,{content:"weekly"})}),k<l.PERIOD_MONTHLY&&k!==l.PERIOD_HOURLY&&(0,n.jsx)(o.SelectOption,{value:l.PERIOD_MONTHLY,label:"monthly",children:(0,n.jsx)(p,{content:"monthly"})}),k!==l.PERIOD_HOURLY&&(0,n.jsx)(o.SelectOption,{value:l.PERIOD_YEARLY,label:"yearly",children:(0,n.jsx)(p,{content:"yearly"})})]}),t?(0,n.jsx)(i.default,{serverSettings:c,period:y?j:k,values:g,handleFieldChange:b}):(0,n.jsx)(r.default,{serverSettings:c})]})};m.propTypes={showHourlyOption:u().bool,timezone:u().string,serverSettings:u().shape({isRotationUnlimited:u().bool.isRequired,rotation:u().number.isRequired}).isRequired,isIncrementalAllowed:u().bool.isRequired,hidePeriod:u().bool,hideStatus:u().bool,rotateByPeriod:u().bool,values:u().object.isRequired,handleFieldChange:u().func.isRequired,promo:u().object,showCloudPromo:u().func};const h=m},1580:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n.default});var n=s(1581)},1597:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>g});var n=s(285),o=s(286),a=s(1579),l=s(89),r=s(596),i=s.n(r),c=s(1582),u=s(603);const d=l.Locale.getTranslate("components.forms.backup.schedule"),p=l.Locale.getTranslate("components.buttons"),m=e=>{switch(e){case c.PERIOD_HOURLY:return(0,n.jsx)(d,{content:"titleHourly"});case c.PERIOD_DAILY:return(0,n.jsx)(d,{content:"titleDaily"});case c.PERIOD_WEEKLY:return(0,n.jsx)(d,{content:"titleWeekly"});case c.PERIOD_MONTHLY:return(0,n.jsx)(d,{content:"titleMonthly"});default:return(0,n.jsx)(d,{content:"titleCustom"})}},h=({period:e,enable:t=!1,editUrl:s,handleClose:r,...i})=>{const[c,d]=(0,n.useState)(null);(0,n.useEffect)((()=>{d(null),e&&(async()=>{try{const{status:n,...o}=await l.api.get(s,{period:e});"error"===n?window.location.reload():(t&&(o.values.schedule.backup_enable="true"),d(o))}catch{window.location.reload()}})()}),[e,t,s]);const h=Object.keys(c||{}).reduce(((e,t)=>u.default.propTypes[t]||"graphqlQueries"===t?e:{...e,[t]:c[t]}),{});return(0,n.jsx)(o.Drawer,{"data-type":"edit-backup-schedule",title:m(e),onClose:r,form:c&&(0,n.jsx)(a.default,{...h,applyButton:!1,cancelButton:{id:"btn-cancel",name:"cancel",children:(0,n.jsx)(p,{content:"cancel"}),onClick:r},action:(0,l.addUrlParams)(s,{period:e}),hidePeriod:!0,hideStatus:!0,rotateByPeriod:!0,onSuccess:r}),size:"md",...i,children:c?null:(0,n.jsx)(o.SkeletonText,{})})};h.propTypes={period:i().number,enable:i().bool,editUrl:i().string.isRequired,handleClose:i().func.isRequired};const g=h},1579:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>x});var n=s(285),o=s(1289),a=s(1580),l=s(1587),r=s(1592),i=s(286),c=s(1589),u=s(1590),d=s(89),p=s(613),m=s(596),h=s.n(m);const g=d.Locale.getTranslate("components.buttons"),b=({cancelLink:e,values:t,retrieveKeysTaskId:s,isBackupToCloudAllowed:m=!0,promo:h,showUpsellPromo:b=!1,serverSettings:x,...f})=>{const[k,j]=(0,n.useState)(t),[y,R]=(0,n.useState)(h),[P,O]=(0,n.useState)(!1),[E,S]=(0,n.useState)(!1),I=(e,t)=>{j((s=>(0,i.setIn)(s,e,t)))},D=(0,i.getIn)(k,"backup[content][content_type]"),_=D.includes(c.TYPE_MAIL)||D.includes(c.TYPE_FILES),L=(0,i.getIn)(k,"backup[content][repository]");(0,p.default)("plesk:taskComplete",(({id:e})=>{s===+e&&R(null)}),d.Observer);const T=Object.keys(f).reduce(((e,t)=>a.default.propTypes[t]||l.default.propTypes[t]?e:{...e,[t]:f[t]}),{}),v=(0,n.useCallback)(((e,t)=>I(`schedule[${e}]`,t)),[]),C=(0,n.useCallback)(((e,t,s)=>I(`backup[${t}][${e}]`,s)),[]);return(0,n.jsxs)(o.default,{values:k,onFieldChange:I,onSubmit:e=>P?(S(!0),null):{...e,backup:{...e.backup,content:{...e.backup.content,content_type:e.backup.content.content_type.filter((e=>e!==c.TYPE_CONFIGURATION))}}},submitButton:{id:"btn-send",name:"send"},applyButton:{id:"btn-apply",name:"apply"},cancelButton:{id:"btn-cancel",name:"cancel",children:(0,n.jsx)(g,{content:"cancel"}),onClick:()=>(0,d.redirect)(e)},onError:({schedule:e,...t},s)=>{const n={};if(e){const{backupPeriod:t,dayOfWeek:s,dayOfMonth:o,hourPerDay:a,hour:l,minute:r,...i}=e;n.schedule={...i,period:{...t||{},...s||{},...o||{},...a||{},...l||{},...r||{}}}}s({...t,...n})},...T,children:[(0,n.jsx)(a.default,{isIncrementalAllowed:_,values:(0,i.getIn)(k,"schedule"),handleFieldChange:v,serverSettings:L===u.TYPE_LOCAL||L===u.TYPE_BOTH?x:{...x,isRotationUnlimited:!0},promo:b?y:null,showCloudPromo:()=>S(!0),...f}),(0,n.jsx)(l.default,{promo:y,values:(0,i.getIn)(k,"backup"),handleFieldChange:C,setShowPromo:m?void 0:O,showPromo:P,...f}),y&&(0,n.jsx)(r.default,{isOpen:E,handleClose:()=>S(!1),...y})]})};b.propTypes={cancelLink:h().string.isRequired,values:h().object.isRequired,retrieveKeysTaskId:h().string,isBackupToCloudAllowed:h().bool,showUpsellPromo:h().bool,promo:h().object,serverSettings:h().shape({isRotationUnlimited:h().bool.isRequired,rotation:h().number.isRequired}).isRequired};const x=b},1589:(e,t,s)=>{"use strict";s.r(t),s.d(t,{TYPE_CONFIGURATION:()=>c,TYPE_DATABASE:()=>p,TYPE_FILES:()=>d,TYPE_MAIL:()=>u,default:()=>h});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(285);const i=o.Locale.getTranslate("components.forms.backup.subform"),c="configuration",u="backup_content_mail",d="backup_content_file",p="backup_content_database",m=({isMailServiceSupported:e,values:t,handleFieldChange:s})=>{const o=(0,n.getIn)(t,"content[content_type]"),a=(e,t)=>s("content_type","content",t?[...o,e]:o.filter((t=>t!==e)));return(0,r.jsxs)(n.FormField,{label:(0,r.jsx)(i,{content:"content"}),name:"backup[content][content_type]",children:[(0,r.jsx)(n.FormFieldCheckbox,{label:(0,r.jsx)(i,{content:"domainConfiguration"}),id:`backup-content-content_type-${c}`,disabled:!0,value:o.includes(c)}),e&&(0,r.jsx)(n.FormFieldCheckbox,{label:(0,r.jsx)(i,{content:"domainConfigurationMail"}),id:`backup-content-content_type-${u}`,value:o.includes(u),onChange:e=>a(u,e)}),(0,r.jsx)(n.FormFieldCheckbox,{label:(0,r.jsx)(i,{content:"domainConfigurationFile"}),id:`backup-content-content_type-${d}`,value:o.includes(d),onChange:e=>a(d,e)}),(0,r.jsx)(n.FormFieldCheckbox,{label:(0,r.jsx)(i,{content:"domainConfigurationDatabase"}),id:`backup-content-content_type-${p}`,value:o.includes(p),onChange:e=>a(p,e)})]})};m.propTypes={isMailServiceSupported:l().bool.isRequired,values:l().object.isRequired,handleFieldChange:l().func.isRequired};const h=m},1585:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u});var n=s(286),o=s(89),a=s(596),l=s.n(a),r=s(285);const i=o.Locale.getTranslate("controllers.backup.schedule"),c=({showBuyLink:e,url:t,newWindow:s,onDetailsClick:o=null})=>e?(0,r.jsx)(n.Status,{icon:"dollar-filled",intent:"danger",children:(0,r.jsxs)(n.Text,{intent:"muted",fontSize:"sm",children:[(0,r.jsx)(i,{content:"cloudBackupRestrictionHintWithBuy"}),(0,r.jsx)("br",{}),o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("a",{"data-testid":"readMore",id:"promo-banner-read-more",onClick:()=>o(),rel:"noopener noreferrer",children:(0,r.jsx)(i,{content:"showMoreButton"})})," "]}),(0,r.jsx)("a",{href:t,target:s?"_blank":null,rel:"noopener noreferrer",children:(0,r.jsx)(i,{content:"cloudBackupRestrictionBuyButton"})})]})}):(0,r.jsx)(n.Status,{intent:"warning",children:(0,r.jsxs)(n.Text,{intent:"muted",fontSize:"sm",children:[(0,r.jsx)(i,{content:"cloudBackupRestrictionHint"}),o&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)("a",{"data-testid":"readMore",onClick:o,id:"promo-banner-read-more",rel:"noopener noreferrer",children:(0,r.jsx)(i,{content:"showMoreButton"})})]})]})});c.propTypes={showBuyLink:l().bool.isRequired,url:l().string.isRequired,newWindow:l().bool.isRequired,onDetailsClick:l().func};const u=c},1591:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var n=s(286),o=s(89),a=s(1589),l=s(596),r=s.n(l),i=s(285);const c=o.Locale.getTranslate("components.forms.backup.subform"),u=o.Locale.getTranslate("components.forms.backup.schedule"),d=({showMssqlNativeBackupOption:e,isAdmin:t,values:s,handleFieldChange:o})=>{const l=(0,n.getIn)(s,"content[content_type]"),r="true"===(0,n.getIn)(s,"settings[excludeFilesMasterCheckbox]"),d=(0,n.getIn)(s,"settings[emailMasterCheckbox]");return(0,i.jsxs)(i.Fragment,{children:[l.includes(a.TYPE_FILES)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.FormFieldCheckbox,{name:"backup[settings][exclude_logs]",label:(0,i.jsx)(c,{content:"excludeLogs"}),checkedValue:"true",uncheckedValue:"false"}),(0,i.jsx)(n.FormFieldCheckbox,{name:"backup[settings][excludeFilesMasterCheckbox]",label:(0,i.jsx)(c,{content:"excludeFiles"}),checkedValue:"true",uncheckedValue:"false"}),r&&(0,i.jsx)(n.FormFieldText,{name:"backup[settings][exclude_files]",description:(0,i.jsx)(c,{content:"excludeFilesDescription"}),multiline:!0,rows:5,size:"lg"})]}),(0,i.jsx)(n.FormField,{label:null,name:"backup[settings][email]",children:({isDisabled:e})=>(0,i.jsxs)("span",{style:{display:"flex",flexGrow:"1",gap:"4px",alignItems:"center"},children:[(0,i.jsx)(n.Checkbox,{id:"emailMasterCheckbox",checked:d,onChange:e=>o("emailMasterCheckbox","settings",e),disabled:e(),children:(0,i.jsx)(u,{content:"email"})}),(0,i.jsx)(n.Input,{id:"backup-settings-email",value:(0,n.getIn)(s,"settings[email]"),onChange:e=>o("email","settings",e.target.value),disabled:!d||e(),size:"md",maxLength:"254"})]})}),e&&(0,i.jsx)(n.FormFieldCheckbox,{name:"backup[settings][mssql_native_backup]",label:(0,i.jsx)(c,{content:t?"mssqlNativeBackupAdmin":"mssqlNativeBackup"}),checkedValue:"true",uncheckedValue:"false"})]})};d.propTypes={showMssqlNativeBackupOption:r().bool.isRequired,isAdmin:r().bool.isRequired,values:r().object.isRequired,handleFieldChange:r().func.isRequired};const p=d},1588:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var n=s(286),o=s(89),a=s(1589),l=s(1590),r=s(1591),i=s(285);const c=o.Locale.getTranslate("components.forms.backup.subform"),u=e=>(0,i.jsxs)(n.Section,{title:(0,i.jsx)(c,{content:"settingsSection"}),children:[(0,i.jsx)(a.default,{...e}),(0,i.jsx)(l.default,{...e}),(0,i.jsx)(r.default,{...e})]});u.propTypes={...a.default.propTypes,...l.default.propTypes,...r.default.propTypes};const d=u},1590:(e,t,s)=>{"use strict";s.r(t),s.d(t,{TYPE_BOTH:()=>m,TYPE_LOCAL:()=>d,default:()=>g});var n=s(285),o=s(286),a=s(1585),l=s(89),r=s(596),i=s.n(r);const c=l.Locale.getTranslate("components.forms.backup.subform"),u=l.Locale.getSection("components.forms.backup.subform"),d="local",p="ext",m="local-and-ext",h=({settings:{localEnabled:e,ftpEnabled:t,ftpConfigured:s,ftpActive:r,ftpServer:i,ftpBaseDir:h},showCloudStorages:g,cloudStorages:b,isAdmin:x,dumpsRepoDir:f,urls:{ftpSettings:k,remoteStorages:j},promo:y,showPromo:R,setShowPromo:P,values:O,handleFieldChange:E})=>{const S=e,I=t&&s&&r,D=t&&g,_=(0,o.getIn)(O,"content[repository]"),L=(0,o.getIn)(O,"content[remote_storage]"),T=(0,o.getIn)(O,"content[split_backup]"),v=(0,n.useMemo)((()=>{const e=h||"";return`${i||""}/${e.startsWith("/")?e.substring(1):e}`}),[i,h]),C=(0,n.useMemo)((()=>[S?{repo:d,value:d,label:u.lmsg(x?"localRepositoryPath":"localRepository",{path:f})}:null,I?{repo:p,value:"ftp",label:(0,n.jsx)("span",{dangerouslySetInnerHTML:{__html:u.lmsg("ftpRepository",{uri:v,link:k})}}),name:u.lmsg("ftpRepositoryText",{uri:v})}:null,...D?b.map((({id:e,description:t})=>({repo:p,value:e,label:t,name:t}))):[]].filter(Boolean)),[S,I,D,x,v,k,f,b]),F=(0,n.useMemo)((()=>C.filter((({value:e})=>e!==d))),[C]);return(0,n.useEffect)((()=>{P&&P(y&&"ftp"!==L&&_!==d)}),[_,L,y,P]),(0,n.useEffect)((()=>{R&&l.UAT.dispatchAction("SHOWPROMO",{promo:"backup_scheduler",destination:L})}),[R,L]),0===C.length?null:1===C.length?(0,n.jsx)(o.FormField,{label:(0,n.jsx)(c,{content:"repository"}),name:"backup[content][repository]",description:S&&t?(0,n.jsx)(c,{content:g?"configureRemoteDesc":"configureFtpDesc",params:{link:(0,n.jsx)("a",{href:g?j:k,children:(0,n.jsx)(c,{content:g?"configureRemoteLink":"configureFtpLink"})})}}):null,children:C[0].label}):(0,n.jsxs)(n.Fragment,{children:[S&&(0,n.jsx)(o.FormFieldRadioButtons,{label:(0,n.jsx)(c,{content:"repository"}),name:"backup[content][repository]",options:2===C.length?[...C.map((({repo:e,label:t})=>({value:e,label:t,description:_===e&&R&&(0,n.jsx)(a.default,{...y})}))),{value:m,label:u.lmsg("localAndSpecialRepositoryBackup",{name:C[1].name}),description:_===m&&R&&(0,n.jsx)(a.default,{...y})}]:[C[0],{value:p,label:u.lmsg("remoteRepositoryOption")},{value:m,label:u.lmsg("localAndSpecialRepositoryBackup",{name:u.lmsg("remoteRepository")})}]}),F.length>1&&(_!==d||!S)&&(0,n.jsx)(o.FormFieldSelect,{label:(0,n.jsx)(c,{content:"remoteRepositoryText"}),name:"backup[content][remote_storage]",description:R&&(0,n.jsx)(a.default,{...y}),children:F.map((({value:e,name:t})=>(0,n.jsx)(o.SelectOption,{value:e,label:`${e}`,children:t},e)))}),(_!==d||!S)&&(0,n.jsx)(o.FormField,{label:null,name:"backup[content][split_backup_size]",children:({isDisabled:e})=>(0,n.jsxs)("span",{style:{display:"flex",flexGrow:"1",gap:"4px",alignItems:"center"},children:[(0,n.jsx)(o.Checkbox,{id:"split_backup",checked:T,onChange:e=>E("split_backup","content",e),disabled:e(),children:(0,n.jsx)(c,{content:"splitSize"})}),(0,n.jsx)(o.Input,{id:"backup-content-split_backup_size",value:(0,o.getIn)(O,"content[split_backup_size]"),onChange:e=>E("split_backup_size","content",e.target.value),disabled:!T||e(),size:"sm"})]})})]})};h.propTypes={settings:i().shape({localEnabled:i().bool.isRequired,ftpEnabled:i().bool.isRequired,ftpConfigured:i().bool.isRequired,ftpActive:i().bool.isRequired,ftpServer:i().string,ftpBaseDir:i().string}).isRequired,showCloudStorages:i().bool.isRequired,cloudStorages:i().array.isRequired,isAdmin:i().bool.isRequired,dumpsRepoDir:i().string.isRequired,urls:i().shape({ftpSettings:i().string.isRequired,remoteStorages:i().string.isRequired}).isRequired,promo:i().object,showPromo:i().bool.isRequired,setShowPromo:i().func,values:i().object.isRequired,handleFieldChange:i().func.isRequired};const g=h},1587:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n.default});var n=s(1588)},1596:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>O,renderSchedule:()=>j});var n=s(596),o=s(286),a=s(89),l=s(1411),r=s(285),i=s(1582),c=s(1589),u=s(1590),d=s(536);const p=a.Locale.getTranslate("components.lists.backup.schedule"),m=a.Locale.getSection("components.lists.backup.schedule"),h=a.Locale.getSection("smb.components.days-of-week"),g=a.Locale.getSection("components.forms.backup.subform"),b=e=>`${e<10?"0":""}${e}`,x=e=>h.lmsg(Math.max((e+1)%8,1)),f=e=>{switch(e){case 1:return m.lmsg("dayFirst");case 31:return m.lmsg("dayLast");default:return m.formatMessage("day",{day:e})}},k=({type:e})=>{switch(e){case i.PERIOD_HOURLY:return m.lmsg("periodHourly");case i.PERIOD_DAILY:return m.lmsg("periodDaily");case i.PERIOD_WEEKLY:return m.lmsg("periodWeekly");case i.PERIOD_MONTHLY:return m.lmsg("periodMonthly");default:return m.lmsg("periodCustom")}},j=({type:e,period:t,time:{hours:s,minutes:n}={},day:o})=>{switch(e){case i.PERIOD_HOURLY:return m.formatMessage("periodHourlySchedule",{period:Math.max(Math.round(t/3600),1)});case i.PERIOD_DAILY:return m.lmsg("periodDailySchedule",{hours:b(s),minutes:b(n)});case i.PERIOD_WEEKLY:return m.lmsg("periodWeeklySchedule",{hours:b(s),minutes:b(n),day:x(o)});case i.PERIOD_MONTHLY:return m.lmsg("periodMonthlySchedule",{hours:b(s),minutes:b(n),day:f(o)});default:return""}},y=({content:e})=>e[c.TYPE_MAIL]&&e[c.TYPE_FILES]&&e[c.TYPE_DATABASE]?g.lmsg("backupAll"):e[c.TYPE_MAIL]&&e[c.TYPE_FILES]?g.lmsg("backupMailFile"):e[c.TYPE_MAIL]&&e[c.TYPE_DATABASE]?g.lmsg("backupMailDatabase"):e[c.TYPE_FILES]&&e[c.TYPE_DATABASE]?g.lmsg("backupVhost"):e[c.TYPE_MAIL]?g.lmsg("backupMail"):e[c.TYPE_FILES]?g.lmsg("backupFile"):e[c.TYPE_DATABASE]?g.lmsg("backupDatabase"):g.lmsg("backupConfiguration"),R=({repository:e,remoteStorage:t})=>{switch(e){case u.TYPE_LOCAL:return m.lmsg("storageLocal");case u.TYPE_BOTH:return m.lmsg("storageBoth",{remoteStorage:t});default:return t}},P=({data:e,onEdit:t,deactivateUrl:s})=>{const[n,i]=(0,r.useState)([]),[c,u]=(0,r.useState)(e);(0,r.useEffect)((()=>u(e)),[e]);const m=(0,r.useMemo)((()=>(c||[]).sort(((e,t)=>e.period<t.period))),[c]),h=async e=>{try{i((t=>[...t,e]));const{status:t,message:n}=await a.api.post(s,{period:e});"error"===t?(0,d.addToast)({intent:"danger",message:n}):(u((t=>t.map((t=>({...t,status:t.type!==e&&t.status}))))),(0,d.addToast)({intent:"success",message:(0,r.jsx)(p,{content:"deactivateSuccess"})}))}finally{i((t=>t.filter((t=>t!==e))))}};return(0,r.jsx)(l.default,{id:"backup-schedule-list",rowKey:"type",columns:[{key:"status",width:"1%",render:e=>(0,r.jsx)(o.Switch,{id:`toggle-${e.type}`,"data-status":e.status,checked:e.status,onChange:s=>(({type:e},s)=>{s?t(e,!0):h(e)})(e,s),loading:n.includes(e.type)})},{key:"schedule",title:(0,r.jsx)(p,{content:"columnSchedule"}),type:"title",render:e=>(0,r.jsxs)("a",{id:`edit-${e.type}`,onClick:()=>t(e.type),children:[k(e),e.status&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)(o.Text,{intent:"muted",children:`(${j(e)})`})]})]})},{key:"content",title:(0,r.jsx)(p,{content:"columnContent"}),render:y},{key:"storage",title:(0,r.jsx)(p,{content:"columnStorage"}),render:R}],data:m})};P.propTypes={data:n.PropTypes.array.isRequired,onEdit:n.PropTypes.func.isRequired,deactivateUrl:n.PropTypes.string.isRequired};const O=P},1595:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var n=s(285),o=s(596),a=s(1596),l=s(603),r=s(1597);const i=({editUrl:e,deactivateUrl:t,...s})=>{const[o,l]=(0,n.useState)(null),[i,c]=(0,n.useState)(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.default,{...s,onEdit:(e,t=!1)=>{l(e),c(t)},deactivateUrl:t}),(0,n.jsx)(r.default,{isOpen:!!o,handleClose:()=>l(null),period:o,enable:i,editUrl:e})]})};i.propTypes={editUrl:o.PropTypes.string.isRequired,deactivateUrl:o.PropTypes.string.isRequired};const c=(0,l.withPageLayout)(i)},1593:e=>{e.exports=Jsw.skinUrl+"/images/plesk-backup.png?be7ccd9a753eba131152e1a8ee37351f"},1594:(e,t,s)=>{"use strict";s.r(t)},1586:(e,t,s)=>{"use strict";s.r(t)}}]); //# sourceMappingURL=ScheduledBackupListPage.js.map?0eb37a86b329de3d7548