@plutonhq/core-frontend 0.1.13 → 0.1.14
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/dist-lib/@types/backups.d.ts +26 -0
- package/dist-lib/@types/backups.d.ts.map +1 -1
- package/dist-lib/@types/devices.d.ts +7 -0
- package/dist-lib/@types/devices.d.ts.map +1 -1
- package/dist-lib/@types/plans.d.ts +21 -1
- package/dist-lib/@types/plans.d.ts.map +1 -1
- package/dist-lib/@types/restores.d.ts +2 -0
- package/dist-lib/@types/restores.d.ts.map +1 -1
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts +3 -2
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.d.ts.map +1 -1
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js +73 -85
- package/dist-lib/components/Device/DeviceBackups/DeviceBackups.js.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.d.ts.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.js +88 -50
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.js.map +1 -1
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js +70 -38
- package/dist-lib/components/Plan/BackupEvents/BackupEvents.module.scss.js.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.d.ts.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.js +166 -123
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.js.map +1 -1
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js +64 -30
- package/dist-lib/components/Plan/BackupProgress/BackupProgress.module.scss.js.map +1 -1
- package/dist-lib/components/Plan/Backups/Backups.d.ts +8 -1
- package/dist-lib/components/Plan/Backups/Backups.d.ts.map +1 -1
- package/dist-lib/components/Plan/Backups/Backups.js +154 -125
- package/dist-lib/components/Plan/Backups/Backups.js.map +1 -1
- package/dist-lib/components/Plan/EditPlan/EditPlan.d.ts.map +1 -1
- package/dist-lib/components/Plan/EditPlan/EditPlan.js +11 -10
- package/dist-lib/components/Plan/EditPlan/EditPlan.js.map +1 -1
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts +12 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.js +68 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js +26 -0
- package/dist-lib/components/Plan/Mirrors/MirrorDetails.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts +11 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js +38 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js +16 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStatusBadge.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts +14 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js +54 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js +26 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelector.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts +15 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.d.ts.map +1 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js +34 -0
- package/dist-lib/components/Plan/Mirrors/MirrorStorageSelectorModal.js.map +1 -0
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js +20 -17
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts +2 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.js +85 -58
- package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
- package/dist-lib/components/Plan/PlanItems/PlanItem.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanItems/PlanItem.js +58 -59
- package/dist-lib/components/Plan/PlanItems/PlanItem.js.map +1 -1
- package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js +8 -8
- package/dist-lib/components/Plan/PlanRemoveModal/PlanRemoveModal.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts +14 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js +290 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.js.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js +26 -0
- package/dist-lib/components/Plan/PlanSettings/PlanReplicationSettings.module.scss.js.map +1 -0
- package/dist-lib/components/Plan/PlanStats/PlanStats.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.js +41 -42
- package/dist-lib/components/Plan/PlanStats/PlanStats.js.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.module.scss.js +5 -5
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts +15 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js +69 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.js.map +1 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js +16 -0
- package/dist-lib/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss.js.map +1 -0
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js +36 -34
- package/dist-lib/components/Restore/RestoreWizard/RestoreConfirmStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js +7 -5
- package/dist-lib/components/Restore/RestoreWizard/RestorePreviewStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts +12 -4
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js +44 -32
- package/dist-lib/components/Restore/RestoreWizard/RestoreSettingsStep.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts +5 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.d.ts.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js +48 -44
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.js.map +1 -1
- package/dist-lib/components/Restore/RestoreWizard/RestoreWizard.module.scss.js +32 -32
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js +14 -14
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js +28 -19
- package/dist-lib/components/Settings/IntegrationSettings/IntegrationSettings.js.map +1 -1
- package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
- package/dist-lib/components/common/Icon/Icon.js +11 -0
- package/dist-lib/components/common/Icon/Icon.js.map +1 -1
- package/dist-lib/components/common/PageHeader/PageHeader.module.scss.js +6 -6
- package/dist-lib/components/index.d.ts +4 -0
- package/dist-lib/components/index.d.ts.map +1 -1
- package/dist-lib/components.js +86 -78
- package/dist-lib/components.js.map +1 -1
- package/dist-lib/hooks/usePwaAutoUpdate.d.ts +11 -2
- package/dist-lib/hooks/usePwaAutoUpdate.d.ts.map +1 -1
- package/dist-lib/hooks/usePwaAutoUpdate.js +32 -10
- package/dist-lib/hooks/usePwaAutoUpdate.js.map +1 -1
- package/dist-lib/router.d.ts.map +1 -1
- package/dist-lib/router.js +46 -35
- package/dist-lib/router.js.map +1 -1
- package/dist-lib/routes/DeviceSingle/DeviceSingle.d.ts.map +1 -1
- package/dist-lib/routes/DeviceSingle/DeviceSingle.js +40 -40
- package/dist-lib/routes/DeviceSingle/DeviceSingle.js.map +1 -1
- package/dist-lib/services/backups.d.ts +15 -2
- package/dist-lib/services/backups.d.ts.map +1 -1
- package/dist-lib/services/backups.js +119 -100
- package/dist-lib/services/backups.js.map +1 -1
- package/dist-lib/services/plans.d.ts +14 -0
- package/dist-lib/services/plans.d.ts.map +1 -1
- package/dist-lib/services/plans.js +160 -129
- package/dist-lib/services/plans.js.map +1 -1
- package/dist-lib/services/restores.d.ts +10 -2
- package/dist-lib/services/restores.d.ts.map +1 -1
- package/dist-lib/services/restores.js +61 -57
- package/dist-lib/services/restores.js.map +1 -1
- package/dist-lib/services/users.d.ts.map +1 -1
- package/dist-lib/services/users.js +32 -32
- package/dist-lib/services/users.js.map +1 -1
- package/dist-lib/services.js +107 -103
- package/dist-lib/styles/core-frontend.css +1 -1
- package/dist-lib/utils/progressHelpers.d.ts +12 -1
- package/dist-lib/utils/progressHelpers.d.ts.map +1 -1
- package/dist-lib/utils/progressHelpers.js +121 -63
- package/dist-lib/utils/progressHelpers.js.map +1 -1
- package/dist-lib/utils.js +29 -28
- package/package.json +1 -1
- package/src/@types/backups.ts +28 -0
- package/src/@types/devices.ts +8 -0
- package/src/@types/plans.ts +23 -1
- package/src/@types/restores.ts +2 -0
- package/src/components/Device/DeviceBackups/DeviceBackups.tsx +11 -36
- package/src/components/Plan/BackupEvents/BackupEvents.module.scss +65 -0
- package/src/components/Plan/BackupEvents/BackupEvents.tsx +65 -4
- package/src/components/Plan/BackupProgress/BackupProgress.module.scss +121 -3
- package/src/components/Plan/BackupProgress/BackupProgress.tsx +149 -71
- package/src/components/Plan/Backups/Backups.tsx +52 -4
- package/src/components/Plan/EditPlan/EditPlan.tsx +1 -0
- package/src/components/Plan/Mirrors/MirrorDetails.module.scss +76 -0
- package/src/components/Plan/Mirrors/MirrorDetails.tsx +100 -0
- package/src/components/Plan/Mirrors/MirrorStatusBadge.module.scss +25 -0
- package/src/components/Plan/Mirrors/MirrorStatusBadge.tsx +65 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelector.module.scss +97 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelector.tsx +70 -0
- package/src/components/Plan/Mirrors/MirrorStorageSelectorModal.tsx +40 -0
- package/src/components/Plan/PlanBackups/PlanBackups.tsx +4 -1
- package/src/components/Plan/PlanForm/PlanForm.tsx +30 -3
- package/src/components/Plan/PlanItems/PlanItem.tsx +3 -3
- package/src/components/Plan/PlanRemoveModal/PlanRemoveModal.tsx +1 -1
- package/src/components/Plan/PlanSettings/PlanReplicationSettings.module.scss +105 -0
- package/src/components/Plan/PlanSettings/PlanReplicationSettings.tsx +334 -0
- package/src/components/Plan/PlanStats/PlanStats.module.scss +1 -1
- package/src/components/Plan/PlanStats/PlanStats.tsx +8 -8
- package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.module.scss +43 -0
- package/src/components/Plan/PlanStorageInfo/PlanStorageInfo.tsx +83 -0
- package/src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx +2 -0
- package/src/components/Restore/RestoreWizard/RestorePreviewStep.tsx +2 -0
- package/src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx +36 -13
- package/src/components/Restore/RestoreWizard/RestoreWizard.module.scss +4 -0
- package/src/components/Restore/RestoreWizard/RestoreWizard.tsx +9 -1
- package/src/components/Settings/GeneralSettings/GeneralSettings.tsx +1 -1
- package/src/components/Settings/IntegrationSettings/IntegrationSettings.tsx +9 -2
- package/src/components/common/Icon/Icon.tsx +10 -1
- package/src/components/common/PageHeader/PageHeader.module.scss +3 -0
- package/src/components/index.ts +6 -0
- package/src/hooks/usePwaAutoUpdate.ts +51 -11
- package/src/router.tsx +26 -17
- package/src/routes/DeviceSingle/DeviceSingle.tsx +3 -3
- package/src/services/backups.ts +32 -9
- package/src/services/plans.ts +45 -0
- package/src/services/restores.ts +10 -2
- package/src/services/users.ts +14 -5
- package/src/utils/progressHelpers.ts +85 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as e, Fragment as o, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import d from "./PlanStorageInfo.module.scss.js";
|
|
3
|
+
const s = ({ replicationSettings: p, storage: i, storagePath: n, disableTooltip: a = !0, inline: m = !0 }) => (console.log("replicationSettings :", p), /* @__PURE__ */ e(o, { children: p && p.enabled && p.storages.length > 0 ? /* @__PURE__ */ e(
|
|
4
|
+
"div",
|
|
5
|
+
{
|
|
6
|
+
className: `${d.planStorages} ${m ? d.inline : ""}`,
|
|
7
|
+
"data-tooltip-hidden": a,
|
|
8
|
+
"data-tooltip-id": "htmlToolTip",
|
|
9
|
+
"data-tooltip-place": "top",
|
|
10
|
+
"data-tooltip-html": `
|
|
11
|
+
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
12
|
+
<div>
|
|
13
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-top: 4px;">
|
|
14
|
+
<img style="width: 24px; height: 24px;" src="/providers/${i == null ? void 0 : i.type}.png" />
|
|
15
|
+
<div>
|
|
16
|
+
<strong style="display: block;">${i == null ? void 0 : i.name}</strong>
|
|
17
|
+
${n || "/"}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
${p.storages.slice(0, 3).map(
|
|
22
|
+
(l) => `
|
|
23
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-top: 4px;">
|
|
24
|
+
<img style="width: 24px; height: 24px;" src="/providers/${l == null ? void 0 : l.storageType}.png" />
|
|
25
|
+
<div>
|
|
26
|
+
<strong style="display: block;">${l == null ? void 0 : l.storageName} (Mirror)</strong>
|
|
27
|
+
${(l == null ? void 0 : l.storagePath) || "/"}
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
`
|
|
31
|
+
).join("")}
|
|
32
|
+
</div>`,
|
|
33
|
+
children: /* @__PURE__ */ t("div", { className: d.storageWithReplications, children: [
|
|
34
|
+
/* @__PURE__ */ t("div", { className: d.storageIcons, children: [
|
|
35
|
+
/* @__PURE__ */ e("img", { src: `/providers/${i == null ? void 0 : i.type}.png` }),
|
|
36
|
+
p.storages.map((l, c) => /* @__PURE__ */ e("img", { src: `/providers/${l.storageType}.png`, style: { zIndex: 98 - c } }, l.replicationId))
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ t("div", { className: d.storageName, children: [
|
|
39
|
+
p.storages.length + 1,
|
|
40
|
+
" Storages"
|
|
41
|
+
] })
|
|
42
|
+
] })
|
|
43
|
+
}
|
|
44
|
+
) : /* @__PURE__ */ t(
|
|
45
|
+
"div",
|
|
46
|
+
{
|
|
47
|
+
className: `${d.planStorages} ${m ? d.inline : ""}`,
|
|
48
|
+
"data-tooltip-hidden": a,
|
|
49
|
+
"data-tooltip-id": "htmlToolTip",
|
|
50
|
+
"data-tooltip-place": "top",
|
|
51
|
+
"data-tooltip-html": `
|
|
52
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-top: 4px;">
|
|
53
|
+
<img style="width: 24px; height: 24px;" src="/providers/${i == null ? void 0 : i.type}.png" />
|
|
54
|
+
<div>
|
|
55
|
+
<strong style="display: block;">${i == null ? void 0 : i.name}</strong>
|
|
56
|
+
${n || "/"}
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
`,
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ e("img", { src: `/providers/${i == null ? void 0 : i.type}.png` }),
|
|
62
|
+
/* @__PURE__ */ e("div", { className: d.storageName, children: i == null ? void 0 : i.name })
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
) }));
|
|
66
|
+
export {
|
|
67
|
+
s as default
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=PlanStorageInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanStorageInfo.js","sources":["../../../../src/components/Plan/PlanStorageInfo/PlanStorageInfo.tsx"],"sourcesContent":["import { PlanReplicationSettings } from '../../../@types';\r\nimport classes from './PlanStorageInfo.module.scss';\r\n\r\ninterface PlanStorageInfoProps {\r\n storage: { name: string; type: string; id: string };\r\n storagePath: string;\r\n replicationSettings?: PlanReplicationSettings;\r\n disableTooltip?: boolean;\r\n inline?: boolean;\r\n}\r\n\r\nconst PlanStorageInfo = ({ replicationSettings, storage, storagePath, disableTooltip = true, inline = true }: PlanStorageInfoProps) => {\r\n console.log('replicationSettings :', replicationSettings);\r\n return (\r\n <>\r\n {replicationSettings && replicationSettings.enabled && replicationSettings.storages.length > 0 ? (\r\n <div\r\n className={`${classes.planStorages} ${inline ? classes.inline : ''}`}\r\n data-tooltip-hidden={disableTooltip}\r\n data-tooltip-id=\"htmlToolTip\"\r\n data-tooltip-place=\"top\"\r\n data-tooltip-html={`\r\n <div style=\"display: flex; flex-direction: column; gap: 8px;\">\r\n <div>\r\n <div style=\"display: flex; align-items: center; gap: 8px; margin-top: 4px;\">\r\n <img style=\"width: 24px; height: 24px;\" src=\"/providers/${storage?.type}.png\" />\r\n <div>\r\n <strong style=\"display: block;\">${storage?.name}</strong>\r\n ${storagePath || '/'}\r\n </div>\r\n </div>\r\n </div>\r\n ${replicationSettings.storages\r\n .slice(0, 3)\r\n .map(\r\n (s) => `\r\n <div style=\"display: flex; align-items: center; gap: 8px; margin-top: 4px;\">\r\n <img style=\"width: 24px; height: 24px;\" src=\"/providers/${s?.storageType}.png\" />\r\n <div>\r\n <strong style=\"display: block;\">${s?.storageName} (Mirror)</strong>\r\n ${s?.storagePath || '/'}\r\n </div>\r\n </div>\r\n `,\r\n )\r\n .join('')}\r\n </div>`}\r\n >\r\n <div className={classes.storageWithReplications}>\r\n <div className={classes.storageIcons}>\r\n <img src={`/providers/${storage?.type}.png`} />\r\n {replicationSettings.storages.map((s, index) => (\r\n <img key={s.replicationId} src={`/providers/${s.storageType}.png`} style={{ zIndex: 98 - index }} />\r\n ))}\r\n </div>\r\n <div className={classes.storageName}>{replicationSettings.storages.length + 1} Storages</div>\r\n </div>\r\n </div>\r\n ) : (\r\n <div\r\n className={`${classes.planStorages} ${inline ? classes.inline : ''}`}\r\n data-tooltip-hidden={disableTooltip}\r\n data-tooltip-id=\"htmlToolTip\"\r\n data-tooltip-place=\"top\"\r\n data-tooltip-html={`\r\n <div style=\"display: flex; align-items: center; gap: 8px; margin-top: 4px;\">\r\n <img style=\"width: 24px; height: 24px;\" src=\"/providers/${storage?.type}.png\" />\r\n <div>\r\n <strong style=\"display: block;\">${storage?.name}</strong>\r\n ${storagePath || '/'}\r\n </div>\r\n </div>\r\n `}\r\n >\r\n <img src={`/providers/${storage?.type}.png`} />\r\n <div className={classes.storageName}>{storage?.name}</div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nexport default PlanStorageInfo;\r\n"],"names":["PlanStorageInfo","replicationSettings","storage","storagePath","disableTooltip","inline","jsx","classes","s","jsxs","index"],"mappings":";;AAWA,MAAMA,IAAkB,CAAC,EAAE,qBAAAC,GAAqB,SAAAC,GAAS,aAAAC,GAAa,gBAAAC,IAAiB,IAAM,QAAAC,IAAS,UACnG,QAAQ,IAAI,yBAAyBJ,CAAmB,0BAGjD,UAAAA,KAAuBA,EAAoB,WAAWA,EAAoB,SAAS,SAAS,IAC1F,gBAAAK;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,WAAW,GAAGC,EAAQ,YAAY,IAAIF,IAASE,EAAQ,SAAS,EAAE;AAAA,IAClE,uBAAqBH;AAAA,IACrB,mBAAgB;AAAA,IAChB,sBAAmB;AAAA,IACnB,qBAAmB;AAAA;AAAA;AAAA;AAAA,2FAIyDF,KAAA,gBAAAA,EAAS,IAAI;AAAA;AAAA,sEAElCA,KAAA,gBAAAA,EAAS,IAAI;AAAA,sCAC7CC,KAAe,GAAG;AAAA;AAAA;AAAA;AAAA,6BAI3BF,EAAoB,SAClB,MAAM,GAAG,CAAC,EACV;AAAA,MACE,CAACO,MAAM;AAAA;AAAA,2FAEmDA,KAAA,gBAAAA,EAAG,WAAW;AAAA;AAAA,sEAEnCA,KAAA,gBAAAA,EAAG,WAAW;AAAA,uCAC9CA,KAAA,gBAAAA,EAAG,gBAAe,GAAG;AAAA;AAAA;AAAA;AAAA,IAAA,EAK5B,KAAK,EAAE,CAAC;AAAA;AAAA,IAGxB,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAQ,yBACrB,UAAA;AAAA,MAAA,gBAAAE,EAAC,OAAA,EAAI,WAAWF,EAAQ,cACrB,UAAA;AAAA,QAAA,gBAAAD,EAAC,OAAA,EAAI,KAAK,cAAcJ,KAAA,gBAAAA,EAAS,IAAI,QAAQ;AAAA,QAC5CD,EAAoB,SAAS,IAAI,CAACO,GAAGE,MACnC,gBAAAJ,EAAC,SAA0B,KAAK,cAAcE,EAAE,WAAW,QAAQ,OAAO,EAAE,QAAQ,KAAKE,EAAA,EAAM,GAArFF,EAAE,aAAsF,CACpG;AAAA,MAAA,GACJ;AAAA,MACA,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAQ,aAAc,UAAA;AAAA,QAAAN,EAAoB,SAAS,SAAS;AAAA,QAAE;AAAA,MAAA,EAAA,CAAS;AAAA,IAAA,EAAA,CAC1F;AAAA,EAAA;AAAA,IAGH,gBAAAQ;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,WAAW,GAAGF,EAAQ,YAAY,IAAIF,IAASE,EAAQ,SAAS,EAAE;AAAA,IAClE,uBAAqBH;AAAA,IACrB,mBAAgB;AAAA,IAChB,sBAAmB;AAAA,IACnB,qBAAmB;AAAA;AAAA,wFAEsDF,KAAA,gBAAAA,EAAS,IAAI;AAAA;AAAA,mEAElCA,KAAA,gBAAAA,EAAS,IAAI;AAAA,mCAC7CC,KAAe,GAAG;AAAA;AAAA;AAAA;AAAA,IAKtC,UAAA;AAAA,MAAA,gBAAAG,EAAC,OAAA,EAAI,KAAK,cAAcJ,KAAA,gBAAAA,EAAS,IAAI,QAAQ;AAAA,wBAC5C,OAAA,EAAI,WAAWK,EAAQ,aAAc,iCAAS,KAAA,CAAK;AAAA,IAAA;AAAA,EAAA;AAAA,GAG7D;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const s = "_planStorages_DdpLV", t = "_storageWithReplications_aJsXf", a = "_storageIcons_rXEQe", e = "_inline_QDGT4", o = "_storageName_VtLFx", n = {
|
|
2
|
+
planStorages: s,
|
|
3
|
+
storageWithReplications: t,
|
|
4
|
+
storageIcons: a,
|
|
5
|
+
inline: e,
|
|
6
|
+
storageName: o
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
n as default,
|
|
10
|
+
e as inline,
|
|
11
|
+
s as planStorages,
|
|
12
|
+
a as storageIcons,
|
|
13
|
+
o as storageName,
|
|
14
|
+
t as storageWithReplications
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=PlanStorageInfo.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanStorageInfo.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreConfirmStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE/E,UAAU,uBAAuB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,8EAA8E,uBAAuB,
|
|
1
|
+
{"version":3,"file":"RestoreConfirmStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE/E,UAAU,uBAAuB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,8EAA8E,uBAAuB,4CA6FhI,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,77 +1,79 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as o, jsx as s, Fragment as m } from "react/jsx-runtime";
|
|
2
2
|
import { toast as P } from "react-toastify";
|
|
3
3
|
import { useNavigate as R } from "react-router";
|
|
4
4
|
import n from "../../common/Icon/Icon.js";
|
|
5
5
|
import { useRestoreBackup as S } from "../../../services/restores.js";
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
var
|
|
9
|
-
const
|
|
10
|
-
console.log("restore :", c),
|
|
6
|
+
import t from "./RestoreWizard.module.scss.js";
|
|
7
|
+
const b = ({ backupId: c, planId: h, settings: e, stats: f, snapshotsStats: g, method: y, goBack: N, close: a }) => {
|
|
8
|
+
var p;
|
|
9
|
+
const r = S(), v = R(), i = f, d = y === "sync", C = () => {
|
|
10
|
+
console.log("restore :", c), r.mutate(
|
|
11
11
|
{
|
|
12
12
|
backupId: c,
|
|
13
13
|
planId: h,
|
|
14
|
-
overwrite:
|
|
15
|
-
target:
|
|
16
|
-
includes:
|
|
17
|
-
excludes:
|
|
18
|
-
deleteOption:
|
|
14
|
+
overwrite: e.overwrite,
|
|
15
|
+
target: e.type === "custom" ? e.path : "",
|
|
16
|
+
includes: e.includes,
|
|
17
|
+
excludes: e.excludes,
|
|
18
|
+
deleteOption: e.delete,
|
|
19
|
+
storageId: e.storageId,
|
|
20
|
+
replicationId: e.replicationId
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
onSuccess: (w, l) => {
|
|
22
24
|
console.log("Success :", w), P.success("Restore Started", { autoClose: 5e3 });
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
+
const u = l == null ? void 0 : l.planId;
|
|
26
|
+
u && v(`/plan/${u}?pendingrestore=1`), a();
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
);
|
|
28
30
|
};
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */
|
|
31
|
-
!
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
i ? /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ o("div", { className: t.stepContent, children: [
|
|
32
|
+
/* @__PURE__ */ o("div", { className: t.step, children: [
|
|
33
|
+
!r.isSuccess && /* @__PURE__ */ o("div", { className: t.restoreConfirm, children: [
|
|
34
|
+
/* @__PURE__ */ o("p", { children: [
|
|
35
|
+
i ? /* @__PURE__ */ o("strong", { children: [
|
|
34
36
|
i == null ? void 0 : i.files_restored,
|
|
35
37
|
d ? "" : `/${g.total_files} files`
|
|
36
38
|
] }) : `The content of the Backup (${c}) `,
|
|
37
39
|
" ",
|
|
38
40
|
"will be restored to",
|
|
39
41
|
" ",
|
|
40
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ s("strong", { children: e.type === "original" ? d ? "the original source path" : "their original source paths" : `"${e.path}"` }),
|
|
41
43
|
". Are you sure you want to proceed with the Restore?"
|
|
42
44
|
] }),
|
|
43
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ s(
|
|
44
46
|
"button",
|
|
45
47
|
{
|
|
46
|
-
className: `${
|
|
48
|
+
className: `${t.restoreButton} ${r.isPending ? t.restoreDisabled : ""}`,
|
|
47
49
|
onClick: () => C(),
|
|
48
|
-
disabled:
|
|
49
|
-
children:
|
|
50
|
-
/* @__PURE__ */
|
|
50
|
+
disabled: r.isPending,
|
|
51
|
+
children: r.isPending ? /* @__PURE__ */ o(m, { children: [
|
|
52
|
+
/* @__PURE__ */ s(n, { type: "loading", size: 12 }),
|
|
51
53
|
" Starting Restore..."
|
|
52
|
-
] }) : /* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
+
] }) : /* @__PURE__ */ o(m, { children: [
|
|
55
|
+
/* @__PURE__ */ s(n, { type: "restore", size: 14 }),
|
|
54
56
|
" Yes, Restore"
|
|
55
57
|
] })
|
|
56
58
|
}
|
|
57
59
|
)
|
|
58
60
|
] }),
|
|
59
|
-
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
+
r.isError && /* @__PURE__ */ o("div", { className: t.restoreError, children: [
|
|
62
|
+
/* @__PURE__ */ s(n, { type: "error", size: 14, color: "red" }),
|
|
61
63
|
" ",
|
|
62
|
-
((
|
|
64
|
+
((p = r.error) == null ? void 0 : p.message) || "Failed to Generate Preview"
|
|
63
65
|
] })
|
|
64
66
|
] }),
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
-
/* @__PURE__ */
|
|
67
|
+
/* @__PURE__ */ o("div", { className: t.footer, children: [
|
|
68
|
+
/* @__PURE__ */ s("div", { className: t.footerLeft, children: !r.isSuccess && /* @__PURE__ */ o("button", { className: t.backButton, onClick: () => N(), disabled: r.isPending, children: [
|
|
69
|
+
/* @__PURE__ */ s(n, { type: "arrow-left", size: 14 }),
|
|
68
70
|
" Back"
|
|
69
71
|
] }) }),
|
|
70
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ s("div", { className: t.footerRight, children: /* @__PURE__ */ s("button", { onClick: () => a(), disabled: r.isPending, children: "Cancel" }) })
|
|
71
73
|
] })
|
|
72
74
|
] });
|
|
73
75
|
};
|
|
74
76
|
export {
|
|
75
|
-
|
|
77
|
+
b as default
|
|
76
78
|
};
|
|
77
79
|
//# sourceMappingURL=RestoreConfirmStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreConfirmStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx"],"sourcesContent":["import { toast } from 'react-toastify';\r\nimport { useNavigate } from 'react-router';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport { useRestoreBackup } from '../../../services/restores';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport { RestoredItemsStats, RestoreSettings } from '../../../@types/restores';\r\n\r\ninterface RestoreConfirmStepProps {\r\n backupId: string;\r\n planId: string;\r\n settings: RestoreSettings;\r\n stats: RestoredItemsStats | null;\r\n method: string;\r\n snapshotsStats: { total_files: number; total_bytes: number };\r\n goBack: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst RestoreConfirmStep = ({ backupId, planId, settings, stats, snapshotsStats, method, goBack, close }: RestoreConfirmStepProps) => {\r\n const restoreMutation = useRestoreBackup();\r\n const navigate = useNavigate();\r\n const restoreStats = stats;\r\n const isSync = method === 'sync';\r\n\r\n const restoreBackup = () => {\r\n console.log('restore :', backupId);\r\n restoreMutation.mutate(\r\n {\r\n backupId,\r\n planId,\r\n overwrite: settings.overwrite,\r\n target: settings.type === 'custom' ? settings.path : '',\r\n includes: settings.includes,\r\n excludes: settings.excludes,\r\n deleteOption: settings.delete,\r\n },\r\n {\r\n onSuccess: (data: any, variables) => {\r\n console.log('Success :', data);\r\n toast.success(`Restore Started`, { autoClose: 5000 });\r\n const targetPlanId = variables?.planId;\r\n if (targetPlanId) {\r\n navigate(`/plan/${targetPlanId}?pendingrestore=1`);\r\n }\r\n close();\r\n },\r\n },\r\n );\r\n };\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n {!restoreMutation.isSuccess && (\r\n <div className={classes.restoreConfirm}>\r\n <p>\r\n {restoreStats ? (\r\n <strong>\r\n {restoreStats?.files_restored}\r\n {!isSync ? `/${snapshotsStats.total_files} files` : ''}\r\n </strong>\r\n ) : (\r\n `The content of the Backup (${backupId}) `\r\n )}{' '}\r\n will be restored to{' '}\r\n <strong>\r\n {settings.type === 'original' ? (isSync ? 'the original source path' : 'their original source paths') : `\"${settings.path}\"`}\r\n </strong>\r\n . Are you sure you want to proceed with the Restore?\r\n </p>\r\n <button\r\n className={`${classes.restoreButton} ${restoreMutation.isPending ? classes.restoreDisabled : ''}`}\r\n onClick={() => restoreBackup()}\r\n disabled={restoreMutation.isPending}\r\n >\r\n {restoreMutation.isPending ? (\r\n <>\r\n <Icon type=\"loading\" size={12} /> Starting Restore...\r\n </>\r\n ) : (\r\n <>\r\n <Icon type=\"restore\" size={14} /> Yes, Restore\r\n </>\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n {restoreMutation.isError && (\r\n <div className={classes.restoreError}>\r\n <Icon type=\"error\" size={14} color=\"red\" /> {restoreMutation.error?.message || 'Failed to Generate Preview'}\r\n </div>\r\n )}\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}>\r\n {!restoreMutation.isSuccess && (\r\n <button className={classes.backButton} onClick={() => goBack()} disabled={restoreMutation.isPending}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n )}\r\n </div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()} disabled={restoreMutation.isPending}>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestoreConfirmStep;\r\n"],"names":["RestoreConfirmStep","backupId","planId","settings","stats","snapshotsStats","method","goBack","close","restoreMutation","useRestoreBackup","navigate","useNavigate","restoreStats","isSync","restoreBackup","data","variables","toast","targetPlanId","jsxs","classes","jsx","Fragment","Icon","_a"],"mappings":";;;;;;AAkBA,MAAMA,IAAqB,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,UAAAC,GAAU,OAAAC,GAAO,gBAAAC,GAAgB,QAAAC,GAAQ,QAAAC,GAAQ,OAAAC,QAAqC;;AACnI,QAAMC,IAAkBC,EAAA,GAClBC,IAAWC,EAAA,GACXC,IAAeT,GACfU,IAASR,MAAW,QAEpBS,IAAgB,MAAM;AACzB,YAAQ,IAAI,aAAad,CAAQ,GACjCQ,EAAgB;AAAA,MACb;AAAA,QACG,UAAAR;AAAA,QACA,QAAAC;AAAA,QACA,WAAWC,EAAS;AAAA,QACpB,QAAQA,EAAS,SAAS,WAAWA,EAAS,OAAO;AAAA,QACrD,UAAUA,EAAS;AAAA,QACnB,UAAUA,EAAS;AAAA,QACnB,cAAcA,EAAS;AAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RestoreConfirmStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestoreConfirmStep.tsx"],"sourcesContent":["import { toast } from 'react-toastify';\r\nimport { useNavigate } from 'react-router';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport { useRestoreBackup } from '../../../services/restores';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport { RestoredItemsStats, RestoreSettings } from '../../../@types/restores';\r\n\r\ninterface RestoreConfirmStepProps {\r\n backupId: string;\r\n planId: string;\r\n settings: RestoreSettings;\r\n stats: RestoredItemsStats | null;\r\n method: string;\r\n snapshotsStats: { total_files: number; total_bytes: number };\r\n goBack: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst RestoreConfirmStep = ({ backupId, planId, settings, stats, snapshotsStats, method, goBack, close }: RestoreConfirmStepProps) => {\r\n const restoreMutation = useRestoreBackup();\r\n const navigate = useNavigate();\r\n const restoreStats = stats;\r\n const isSync = method === 'sync';\r\n\r\n const restoreBackup = () => {\r\n console.log('restore :', backupId);\r\n restoreMutation.mutate(\r\n {\r\n backupId,\r\n planId,\r\n overwrite: settings.overwrite,\r\n target: settings.type === 'custom' ? settings.path : '',\r\n includes: settings.includes,\r\n excludes: settings.excludes,\r\n deleteOption: settings.delete,\r\n storageId: settings.storageId,\r\n replicationId: settings.replicationId,\r\n },\r\n {\r\n onSuccess: (data: any, variables) => {\r\n console.log('Success :', data);\r\n toast.success(`Restore Started`, { autoClose: 5000 });\r\n const targetPlanId = variables?.planId;\r\n if (targetPlanId) {\r\n navigate(`/plan/${targetPlanId}?pendingrestore=1`);\r\n }\r\n close();\r\n },\r\n },\r\n );\r\n };\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n {!restoreMutation.isSuccess && (\r\n <div className={classes.restoreConfirm}>\r\n <p>\r\n {restoreStats ? (\r\n <strong>\r\n {restoreStats?.files_restored}\r\n {!isSync ? `/${snapshotsStats.total_files} files` : ''}\r\n </strong>\r\n ) : (\r\n `The content of the Backup (${backupId}) `\r\n )}{' '}\r\n will be restored to{' '}\r\n <strong>\r\n {settings.type === 'original' ? (isSync ? 'the original source path' : 'their original source paths') : `\"${settings.path}\"`}\r\n </strong>\r\n . Are you sure you want to proceed with the Restore?\r\n </p>\r\n <button\r\n className={`${classes.restoreButton} ${restoreMutation.isPending ? classes.restoreDisabled : ''}`}\r\n onClick={() => restoreBackup()}\r\n disabled={restoreMutation.isPending}\r\n >\r\n {restoreMutation.isPending ? (\r\n <>\r\n <Icon type=\"loading\" size={12} /> Starting Restore...\r\n </>\r\n ) : (\r\n <>\r\n <Icon type=\"restore\" size={14} /> Yes, Restore\r\n </>\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n {restoreMutation.isError && (\r\n <div className={classes.restoreError}>\r\n <Icon type=\"error\" size={14} color=\"red\" /> {restoreMutation.error?.message || 'Failed to Generate Preview'}\r\n </div>\r\n )}\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}>\r\n {!restoreMutation.isSuccess && (\r\n <button className={classes.backButton} onClick={() => goBack()} disabled={restoreMutation.isPending}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n )}\r\n </div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()} disabled={restoreMutation.isPending}>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestoreConfirmStep;\r\n"],"names":["RestoreConfirmStep","backupId","planId","settings","stats","snapshotsStats","method","goBack","close","restoreMutation","useRestoreBackup","navigate","useNavigate","restoreStats","isSync","restoreBackup","data","variables","toast","targetPlanId","jsxs","classes","jsx","Fragment","Icon","_a"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestorePreviewStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestorePreviewStep.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIjG,UAAU,uBAAuB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE;QAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACrE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,0FAA0F,uBAAuB,
|
|
1
|
+
{"version":3,"file":"RestorePreviewStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestorePreviewStep.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIjG,UAAU,uBAAuB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE;QAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACrE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,0FAA0F,uBAAuB,4CAwG5I,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -4,9 +4,9 @@ import o from "./RestoreWizard.module.scss.js";
|
|
|
4
4
|
import { useGetDryRestoreStats as R } from "../../../services/restores.js";
|
|
5
5
|
import B from "../RestoredFileBrowser/RestoredFileBrowser.js";
|
|
6
6
|
import d from "../../common/Icon/Icon.js";
|
|
7
|
-
const E = ({ backupId: n, planId: w, settings: e, preview:
|
|
8
|
-
var
|
|
9
|
-
const c =
|
|
7
|
+
const E = ({ backupId: n, planId: w, settings: e, preview: p, nextLabel: y, goBack: v, updatePreview: a, goNext: N, close: P }) => {
|
|
8
|
+
var m;
|
|
9
|
+
const c = p.stats, b = p.files || [], r = window[`pluton-restore-prev-${n}-settings`], t = R();
|
|
10
10
|
C(() => {
|
|
11
11
|
if ((e.includes !== (r == null ? void 0 : r.includes) || e.excludes !== (r == null ? void 0 : r.excludes)) && (a({ files: [], stats: null }), t.reset()), e.delete !== (r == null ? void 0 : r.delete) && (a({ files: [], stats: null }), t.reset()), e.type === "custom" && e.path || e.type === "original") {
|
|
12
12
|
const l = r && (r.type !== e.type || r.path !== e.path || r.overwrite !== e.overwrite);
|
|
@@ -22,7 +22,9 @@ const E = ({ backupId: n, planId: w, settings: e, preview: m, nextLabel: y, goBa
|
|
|
22
22
|
overwrite: e.overwrite,
|
|
23
23
|
includes: e.includes,
|
|
24
24
|
excludes: e.excludes,
|
|
25
|
-
deleteOption: e.delete
|
|
25
|
+
deleteOption: e.delete,
|
|
26
|
+
storageId: e.storageId,
|
|
27
|
+
replicationId: e.replicationId
|
|
26
28
|
},
|
|
27
29
|
{
|
|
28
30
|
onSuccess: (l) => {
|
|
@@ -35,7 +37,7 @@ const E = ({ backupId: n, planId: w, settings: e, preview: m, nextLabel: y, goBa
|
|
|
35
37
|
return console.log("[RestorePreviewStep] :", e, c), /* @__PURE__ */ i("div", { className: o.stepContent, children: [
|
|
36
38
|
/* @__PURE__ */ i("div", { className: o.step, children: [
|
|
37
39
|
!c && /* @__PURE__ */ i("div", { className: `${o.preview} ${c ? "" : o.previewEmpty}`, children: [
|
|
38
|
-
t.isError && /* @__PURE__ */ s("div", { className: o.previewError, children: ((
|
|
40
|
+
t.isError && /* @__PURE__ */ s("div", { className: o.previewError, children: ((m = t.error) == null ? void 0 : m.message) || "Failed to Generate Preview" }),
|
|
39
41
|
/* @__PURE__ */ s("p", { children: "Before proceeding with the restoration, perform a dry run to preview what files will be restored" }),
|
|
40
42
|
/* @__PURE__ */ s(
|
|
41
43
|
"button",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestorePreviewStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestorePreviewStep.tsx"],"sourcesContent":["import { useEffect } from 'react';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport { useGetDryRestoreStats } from '../../../services/restores';\r\nimport { RestoredFileItem, RestoredItemsStats, RestoreSettings } from '../../../@types/restores';\r\nimport RestoredFileBrowser from '../RestoredFileBrowser/RestoredFileBrowser';\r\nimport Icon from '../../common/Icon/Icon';\r\n\r\ninterface RestorePreviewStepProps {\r\n backupId: string;\r\n planId: string;\r\n settings: RestoreSettings;\r\n preview: { stats: RestoredItemsStats | null; files: RestoredFileItem[] };\r\n nextLabel?: string;\r\n updatePreview: (preview: RestorePreviewStepProps['preview']) => void;\r\n goBack: () => void;\r\n goNext: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst RestorePreviewStep = ({ backupId, planId, settings, preview, nextLabel, goBack, updatePreview, goNext, close }: RestorePreviewStepProps) => {\r\n const restoreStats = preview.stats;\r\n const restoredFiles = preview.files || [];\r\n // const [previousSettings, setPreviousSettings] = useState({ type: 'original', path: '', overwrite: 'always' });\r\n const previousSettings: undefined | RestorePreviewStepProps['settings'] = (window as any)[`pluton-restore-prev-${backupId}-settings`];\r\n const restoreStatsMutation = useGetDryRestoreStats();\r\n\r\n useEffect(() => {\r\n if (settings.includes !== previousSettings?.includes || settings.excludes !== previousSettings?.excludes) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n if (settings.delete !== previousSettings?.delete) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n if ((settings.type === 'custom' && settings.path) || settings.type === 'original') {\r\n const settingsChanged =\r\n previousSettings &&\r\n (previousSettings.type !== settings.type || previousSettings.path !== settings.path || previousSettings.overwrite !== settings.overwrite);\r\n console.log('settingsChanged :', settingsChanged, settings, previousSettings);\r\n if (settingsChanged) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n }\r\n }, [settings, previousSettings]);\r\n\r\n const getDryRestoreStats = () => {\r\n console.log('restore :', backupId);\r\n\r\n restoreStatsMutation.mutate(\r\n {\r\n backupId: backupId,\r\n planId,\r\n target: settings.type === 'custom' ? settings.path : '',\r\n overwrite: settings.overwrite,\r\n includes: settings.includes,\r\n excludes: settings.excludes,\r\n deleteOption: settings.delete,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n console.log('getDryRestoreStats Data :', data);\r\n updatePreview({ files: data?.result?.files || [], stats: data?.result?.stats || null });\r\n (window as any)[`pluton-restore-prev-${backupId}-settings`] = settings;\r\n },\r\n },\r\n );\r\n };\r\n\r\n console.log('[RestorePreviewStep] :', settings, restoreStats);\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n {!restoreStats && (\r\n <div className={`${classes.preview} ${!restoreStats ? classes.previewEmpty : ''}`}>\r\n {restoreStatsMutation.isError && (\r\n <div className={classes.previewError}>{restoreStatsMutation.error?.message || 'Failed to Generate Preview'}</div>\r\n )}\r\n <p>Before proceeding with the restoration, perform a dry run to preview what files will be restored</p>\r\n <button\r\n className={`${classes.previewButton} ${restoreStatsMutation.isPending ? classes.restoreDisabled : ''}`}\r\n onClick={() => getDryRestoreStats()}\r\n disabled={restoreStatsMutation.isPending}\r\n >\r\n {restoreStatsMutation.isPending ? (\r\n <>\r\n <Icon type=\"loading\" size={12} /> Generating Preview...\r\n </>\r\n ) : (\r\n <>\r\n <Icon type=\"eye\" size={13} /> Generate Preview\r\n </>\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n {restoreStats && <RestoredFileBrowser files={restoredFiles} stats={restoreStats} isPreview={true} />}\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}>\r\n <button className={classes.backButton} onClick={() => goBack()} disabled={restoreStatsMutation.isPending}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n </div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()} disabled={restoreStatsMutation.isPending}>\r\n Cancel\r\n </button>\r\n <button\r\n title={!restoreStats ? 'Generate the Preview First' : ''}\r\n className={!restoreStats ? classes.restoreDisabled : ''}\r\n onClick={() => ((settings.type === 'custom' && settings.path) || settings.type === 'original') && restoreStats && goNext()}\r\n >\r\n {nextLabel || 'Next: Restore Backup'} <Icon type=\"arrow-right\" size={14} />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestorePreviewStep;\r\n"],"names":["RestorePreviewStep","backupId","planId","settings","preview","nextLabel","goBack","updatePreview","goNext","close","restoreStats","restoredFiles","previousSettings","restoreStatsMutation","useGetDryRestoreStats","useEffect","settingsChanged","getDryRestoreStats","data","_a","_b","jsxs","classes","jsx","Fragment","Icon","RestoredFileBrowser"],"mappings":";;;;;;AAmBA,MAAMA,IAAqB,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,UAAAC,GAAU,SAAAC,GAAS,WAAAC,GAAW,QAAAC,GAAQ,eAAAC,GAAe,QAAAC,GAAQ,OAAAC,EAAA,MAAqC;;AAC/I,QAAMC,IAAeN,EAAQ,OACvBO,IAAgBP,EAAQ,SAAS,CAAA,GAEjCQ,IAAqE,OAAe,uBAAuBX,CAAQ,WAAW,GAC9HY,IAAuBC,EAAA;AAE7B,EAAAC,EAAU,MAAM;AASb,SARIZ,EAAS,cAAaS,KAAA,gBAAAA,EAAkB,aAAYT,EAAS,cAAaS,KAAA,gBAAAA,EAAkB,eAC7FL,EAAc,EAAE,OAAO,CAAA,GAAI,OAAO,MAAM,GACxCM,EAAqB,MAAA,IAEpBV,EAAS,YAAWS,KAAA,gBAAAA,EAAkB,YACvCL,EAAc,EAAE,OAAO,CAAA,GAAI,OAAO,MAAM,GACxCM,EAAqB,MAAA,IAEnBV,EAAS,SAAS,YAAYA,EAAS,QAASA,EAAS,SAAS,YAAY;AAChF,YAAMa,IACHJ,MACCA,EAAiB,SAAST,EAAS,QAAQS,EAAiB,SAAST,EAAS,QAAQS,EAAiB,cAAcT,EAAS;AAClI,cAAQ,IAAI,qBAAqBa,GAAiBb,GAAUS,CAAgB,GACxEI,MACDT,EAAc,EAAE,OAAO,CAAA,GAAI,OAAO,MAAM,GACxCM,EAAqB,MAAA;AAAA,IAE3B;AAAA,EACH,GAAG,CAACV,GAAUS,CAAgB,CAAC;AAE/B,QAAMK,IAAqB,MAAM;AAC9B,YAAQ,IAAI,aAAahB,CAAQ,GAEjCY,EAAqB;AAAA,MAClB;AAAA,QACG,UAAAZ;AAAA,QACA,QAAAC;AAAA,QACA,QAAQC,EAAS,SAAS,WAAWA,EAAS,OAAO;AAAA,QACrD,WAAWA,EAAS;AAAA,QACpB,UAAUA,EAAS;AAAA,QACnB,UAAUA,EAAS;AAAA,QACnB,cAAcA,EAAS;AAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RestorePreviewStep.js","sources":["../../../../src/components/Restore/RestoreWizard/RestorePreviewStep.tsx"],"sourcesContent":["import { useEffect } from 'react';\r\nimport classes from './RestoreWizard.module.scss';\r\nimport { useGetDryRestoreStats } from '../../../services/restores';\r\nimport { RestoredFileItem, RestoredItemsStats, RestoreSettings } from '../../../@types/restores';\r\nimport RestoredFileBrowser from '../RestoredFileBrowser/RestoredFileBrowser';\r\nimport Icon from '../../common/Icon/Icon';\r\n\r\ninterface RestorePreviewStepProps {\r\n backupId: string;\r\n planId: string;\r\n settings: RestoreSettings;\r\n preview: { stats: RestoredItemsStats | null; files: RestoredFileItem[] };\r\n nextLabel?: string;\r\n updatePreview: (preview: RestorePreviewStepProps['preview']) => void;\r\n goBack: () => void;\r\n goNext: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst RestorePreviewStep = ({ backupId, planId, settings, preview, nextLabel, goBack, updatePreview, goNext, close }: RestorePreviewStepProps) => {\r\n const restoreStats = preview.stats;\r\n const restoredFiles = preview.files || [];\r\n // const [previousSettings, setPreviousSettings] = useState({ type: 'original', path: '', overwrite: 'always' });\r\n const previousSettings: undefined | RestorePreviewStepProps['settings'] = (window as any)[`pluton-restore-prev-${backupId}-settings`];\r\n const restoreStatsMutation = useGetDryRestoreStats();\r\n\r\n useEffect(() => {\r\n if (settings.includes !== previousSettings?.includes || settings.excludes !== previousSettings?.excludes) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n if (settings.delete !== previousSettings?.delete) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n if ((settings.type === 'custom' && settings.path) || settings.type === 'original') {\r\n const settingsChanged =\r\n previousSettings &&\r\n (previousSettings.type !== settings.type || previousSettings.path !== settings.path || previousSettings.overwrite !== settings.overwrite);\r\n console.log('settingsChanged :', settingsChanged, settings, previousSettings);\r\n if (settingsChanged) {\r\n updatePreview({ files: [], stats: null });\r\n restoreStatsMutation.reset();\r\n }\r\n }\r\n }, [settings, previousSettings]);\r\n\r\n const getDryRestoreStats = () => {\r\n console.log('restore :', backupId);\r\n\r\n restoreStatsMutation.mutate(\r\n {\r\n backupId: backupId,\r\n planId,\r\n target: settings.type === 'custom' ? settings.path : '',\r\n overwrite: settings.overwrite,\r\n includes: settings.includes,\r\n excludes: settings.excludes,\r\n deleteOption: settings.delete,\r\n storageId: settings.storageId,\r\n replicationId: settings.replicationId,\r\n },\r\n {\r\n onSuccess: (data) => {\r\n console.log('getDryRestoreStats Data :', data);\r\n updatePreview({ files: data?.result?.files || [], stats: data?.result?.stats || null });\r\n (window as any)[`pluton-restore-prev-${backupId}-settings`] = settings;\r\n },\r\n },\r\n );\r\n };\r\n\r\n console.log('[RestorePreviewStep] :', settings, restoreStats);\r\n\r\n return (\r\n <div className={classes.stepContent}>\r\n <div className={classes.step}>\r\n {!restoreStats && (\r\n <div className={`${classes.preview} ${!restoreStats ? classes.previewEmpty : ''}`}>\r\n {restoreStatsMutation.isError && (\r\n <div className={classes.previewError}>{restoreStatsMutation.error?.message || 'Failed to Generate Preview'}</div>\r\n )}\r\n <p>Before proceeding with the restoration, perform a dry run to preview what files will be restored</p>\r\n <button\r\n className={`${classes.previewButton} ${restoreStatsMutation.isPending ? classes.restoreDisabled : ''}`}\r\n onClick={() => getDryRestoreStats()}\r\n disabled={restoreStatsMutation.isPending}\r\n >\r\n {restoreStatsMutation.isPending ? (\r\n <>\r\n <Icon type=\"loading\" size={12} /> Generating Preview...\r\n </>\r\n ) : (\r\n <>\r\n <Icon type=\"eye\" size={13} /> Generate Preview\r\n </>\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n {restoreStats && <RestoredFileBrowser files={restoredFiles} stats={restoreStats} isPreview={true} />}\r\n </div>\r\n <div className={classes.footer}>\r\n <div className={classes.footerLeft}>\r\n <button className={classes.backButton} onClick={() => goBack()} disabled={restoreStatsMutation.isPending}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n </div>\r\n <div className={classes.footerRight}>\r\n <button onClick={() => close()} disabled={restoreStatsMutation.isPending}>\r\n Cancel\r\n </button>\r\n <button\r\n title={!restoreStats ? 'Generate the Preview First' : ''}\r\n className={!restoreStats ? classes.restoreDisabled : ''}\r\n onClick={() => ((settings.type === 'custom' && settings.path) || settings.type === 'original') && restoreStats && goNext()}\r\n >\r\n {nextLabel || 'Next: Restore Backup'} <Icon type=\"arrow-right\" size={14} />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RestorePreviewStep;\r\n"],"names":["RestorePreviewStep","backupId","planId","settings","preview","nextLabel","goBack","updatePreview","goNext","close","restoreStats","restoredFiles","previousSettings","restoreStatsMutation","useGetDryRestoreStats","useEffect","settingsChanged","getDryRestoreStats","data","_a","_b","jsxs","classes","jsx","Fragment","Icon","RestoredFileBrowser"],"mappings":"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"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { RestoreSettings } from '../../../@types/restores';
|
|
2
|
-
|
|
2
|
+
import { Backup } from '../../..';
|
|
3
|
+
interface RestoreSettingsStepProps {
|
|
3
4
|
backupId: string;
|
|
5
|
+
deviceId: string;
|
|
4
6
|
settings: RestoreSettings;
|
|
5
|
-
|
|
7
|
+
mirrors?: Backup['mirrors'];
|
|
8
|
+
primaryStorage: {
|
|
9
|
+
id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
name: string;
|
|
12
|
+
};
|
|
13
|
+
updateSettings: (settings: RestoreSettingsStepProps['settings']) => void;
|
|
6
14
|
goNext: () => void;
|
|
7
15
|
close: () => void;
|
|
8
16
|
}
|
|
9
|
-
declare const
|
|
10
|
-
export default
|
|
17
|
+
declare const RestoreSettingsStep: ({ settings, mirrors, primaryStorage, updateSettings, goNext, close, deviceId }: RestoreSettingsStepProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export default RestoreSettingsStep;
|
|
11
19
|
//# sourceMappingURL=RestoreSettingsStep.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreSettingsStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"RestoreSettingsStep.d.ts","sourceRoot":"","sources":["../../../../src/components/Restore/RestoreWizard/RestoreSettingsStep.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,UAAU,wBAAwB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,cAAc,EAAE,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,QAAA,MAAM,mBAAmB,GAAI,gFAAqF,wBAAwB,4CA0KzI,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,47 +1,61 @@
|
|
|
1
1
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { useState as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { useState as p } from "react";
|
|
3
|
+
import v from "../../common/form/Select/Select.js";
|
|
4
|
+
import b from "../../common/form/Input/Input.js";
|
|
5
5
|
import t from "../../common/Icon/Icon.js";
|
|
6
6
|
import l from "./RestoreWizard.module.scss.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
10
|
-
const [
|
|
11
|
-
i.type === "custom" && i.path || i.type === "original" ?
|
|
7
|
+
import y from "../../common/FolderPicker/FolderPicker.js";
|
|
8
|
+
import N from "../../common/form/Toggle/Toggle.js";
|
|
9
|
+
const z = ({ settings: i, mirrors: a = [], primaryStorage: d, updateSettings: c, goNext: m, close: f, deviceId: w }) => {
|
|
10
|
+
const [k, n] = p(!1), [h, s] = p(!1), u = () => {
|
|
11
|
+
i.type === "custom" && i.path || i.type === "original" ? m() : s(!0);
|
|
12
12
|
};
|
|
13
13
|
return /* @__PURE__ */ r("div", { className: l.stepContent, children: [
|
|
14
14
|
/* @__PURE__ */ r("div", { className: l.step, children: [
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
a && a.length > 0 && /* @__PURE__ */ e("div", { className: l.settingBlock, children: /* @__PURE__ */ e(
|
|
16
|
+
v,
|
|
17
|
+
{
|
|
18
|
+
customClasses: l.storageSelect,
|
|
19
|
+
label: "Select Storage to Restore From",
|
|
20
|
+
options: [
|
|
21
|
+
{
|
|
22
|
+
label: d.name + " (Primary)",
|
|
23
|
+
value: "primary",
|
|
24
|
+
image: /* @__PURE__ */ e("img", { src: `/providers/${d.type}.png` })
|
|
25
|
+
},
|
|
26
|
+
...a.map((o) => ({
|
|
27
|
+
label: o.storageName + " (Mirror)",
|
|
28
|
+
value: o.replicationId,
|
|
29
|
+
image: /* @__PURE__ */ e("img", { src: `/providers/${o.storageType}.png` })
|
|
30
|
+
}))
|
|
31
|
+
],
|
|
32
|
+
fieldValue: i.replicationId || d.id,
|
|
33
|
+
full: !0,
|
|
34
|
+
onUpdate: (o) => c({ ...i, replicationId: o === "primary" ? void 0 : o })
|
|
35
|
+
}
|
|
36
|
+
) }),
|
|
23
37
|
/* @__PURE__ */ e("div", { className: l.settingBlock, children: /* @__PURE__ */ e(
|
|
24
|
-
|
|
38
|
+
v,
|
|
25
39
|
{
|
|
26
|
-
label: "",
|
|
40
|
+
label: "Select where you want to restore the backup",
|
|
27
41
|
options: [
|
|
28
42
|
{ label: "Restore to Original Path(s)", value: "original" },
|
|
29
43
|
{ label: "Restore to a Custom Path", value: "custom" }
|
|
30
44
|
],
|
|
31
|
-
fieldValue: i.type || "
|
|
45
|
+
fieldValue: i.type || "original",
|
|
32
46
|
onUpdate: (o) => c({ ...i, type: o }),
|
|
33
47
|
full: !0
|
|
34
48
|
}
|
|
35
49
|
) }),
|
|
36
50
|
i.type === "custom" && /* @__PURE__ */ r("div", { className: `${l.settingBlock} ${h ? l.settingBlockError : ""}`, children: [
|
|
37
51
|
/* @__PURE__ */ e(
|
|
38
|
-
|
|
52
|
+
b,
|
|
39
53
|
{
|
|
40
54
|
label: "Restore Backup To",
|
|
41
55
|
placeholder: "Restore Path",
|
|
42
56
|
fieldValue: i.path,
|
|
43
57
|
onUpdate: (o) => {
|
|
44
|
-
c({ ...i, path: o }), h &&
|
|
58
|
+
c({ ...i, path: o }), h && s(!1);
|
|
45
59
|
},
|
|
46
60
|
full: !0
|
|
47
61
|
}
|
|
@@ -53,7 +67,7 @@ const R = ({ backupId: s, settings: i, updateSettings: c, goNext: v, close: f })
|
|
|
53
67
|
"data-tooltip-content": "Open FileManager to Select Path",
|
|
54
68
|
"data-tooltip-place": "top",
|
|
55
69
|
className: l.fileManagerBtn,
|
|
56
|
-
onClick: () =>
|
|
70
|
+
onClick: () => n(!0),
|
|
57
71
|
children: /* @__PURE__ */ e(t, { type: "folders", size: 16 })
|
|
58
72
|
}
|
|
59
73
|
)
|
|
@@ -120,14 +134,12 @@ const R = ({ backupId: s, settings: i, updateSettings: c, goNext: v, close: f })
|
|
|
120
134
|
] })
|
|
121
135
|
] }) }),
|
|
122
136
|
/* @__PURE__ */ e("div", { className: l.settingBlock, children: /* @__PURE__ */ e(
|
|
123
|
-
|
|
137
|
+
N,
|
|
124
138
|
{
|
|
125
139
|
label: "Delete Files that are not in the Snapshot from the Target Restore Path",
|
|
126
140
|
fieldValue: i.delete,
|
|
127
141
|
inline: !1,
|
|
128
|
-
onUpdate: (o) => {
|
|
129
|
-
c({ ...i, delete: o });
|
|
130
|
-
}
|
|
142
|
+
onUpdate: (o) => c({ ...i, delete: o })
|
|
131
143
|
}
|
|
132
144
|
) })
|
|
133
145
|
] }),
|
|
@@ -135,26 +147,26 @@ const R = ({ backupId: s, settings: i, updateSettings: c, goNext: v, close: f })
|
|
|
135
147
|
/* @__PURE__ */ e("div", { className: l.footerLeft }),
|
|
136
148
|
/* @__PURE__ */ r("div", { className: l.footerRight, children: [
|
|
137
149
|
/* @__PURE__ */ e("button", { onClick: () => f(), children: "Cancel" }),
|
|
138
|
-
/* @__PURE__ */ r("button", { onClick: () =>
|
|
150
|
+
/* @__PURE__ */ r("button", { onClick: () => u(), children: [
|
|
139
151
|
"Next: Select Files to Restore ",
|
|
140
152
|
/* @__PURE__ */ e(t, { type: "arrow-right", size: 14 })
|
|
141
153
|
] })
|
|
142
154
|
] })
|
|
143
155
|
] }),
|
|
144
|
-
|
|
145
|
-
|
|
156
|
+
k && /* @__PURE__ */ e(
|
|
157
|
+
y,
|
|
146
158
|
{
|
|
147
|
-
deviceId: "main",
|
|
159
|
+
deviceId: w || "main",
|
|
148
160
|
title: "Choose a Path to Restore",
|
|
149
161
|
footerText: "Select a Path where you want to restore your backup",
|
|
150
162
|
selected: i.path,
|
|
151
|
-
close: () =>
|
|
163
|
+
close: () => n(!1),
|
|
152
164
|
onSelect: (o) => c({ ...i, path: o })
|
|
153
165
|
}
|
|
154
166
|
)
|
|
155
167
|
] });
|
|
156
168
|
};
|
|
157
169
|
export {
|
|
158
|
-
|
|
170
|
+
z as default
|
|
159
171
|
};
|
|
160
172
|
//# sourceMappingURL=RestoreSettingsStep.js.map
|