@plutonhq/core-frontend 0.1.28 → 0.1.30

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.
Files changed (32) hide show
  1. package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
  2. package/dist-lib/components/Plan/PlanForm/PlanForm.js +20 -11
  3. package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
  4. package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.d.ts +2 -1
  5. package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.d.ts.map +1 -1
  6. package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.js +28 -21
  7. package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.js.map +1 -1
  8. package/dist-lib/components/Plan/PlanSettings/PlanGeneralSettings.d.ts +2 -1
  9. package/dist-lib/components/Plan/PlanSettings/PlanGeneralSettings.d.ts.map +1 -1
  10. package/dist-lib/components/Plan/PlanSettings/PlanGeneralSettings.js +21 -20
  11. package/dist-lib/components/Plan/PlanSettings/PlanGeneralSettings.js.map +1 -1
  12. package/dist-lib/components/common/form/Toggle/Toggle.d.ts +2 -1
  13. package/dist-lib/components/common/form/Toggle/Toggle.d.ts.map +1 -1
  14. package/dist-lib/components/common/form/Toggle/Toggle.js +21 -11
  15. package/dist-lib/components/common/form/Toggle/Toggle.js.map +1 -1
  16. package/dist-lib/components/common/form/Toggle/Toggle.module.scss.js +6 -4
  17. package/dist-lib/components/common/form/Toggle/Toggle.module.scss.js.map +1 -1
  18. package/dist-lib/hooks/usePlanSingleActions.d.ts.map +1 -1
  19. package/dist-lib/hooks/usePlanSingleActions.js +34 -33
  20. package/dist-lib/hooks/usePlanSingleActions.js.map +1 -1
  21. package/dist-lib/services/settings.d.ts +3 -0
  22. package/dist-lib/services/settings.d.ts.map +1 -1
  23. package/dist-lib/services/settings.js.map +1 -1
  24. package/dist-lib/styles/core-frontend.css +1 -1
  25. package/package.json +1 -1
  26. package/src/components/Plan/PlanForm/PlanForm.tsx +7 -1
  27. package/src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx +7 -2
  28. package/src/components/Plan/PlanSettings/PlanGeneralSettings.tsx +3 -1
  29. package/src/components/common/form/Toggle/Toggle.module.scss +7 -0
  30. package/src/components/common/form/Toggle/Toggle.tsx +14 -3
  31. package/src/hooks/usePlanSingleActions.tsx +4 -2
  32. package/src/services/settings.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PlanForm.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanForm/PlanForm.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAYxD,KAAK,aAAa,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAI,qHAWf,aAAa,4CA+Of,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"PlanForm.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanForm/PlanForm.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAYxD,KAAK,aAAa,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAI,qHAWf,aAAa,4CAqPf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { jsxs as o, jsx as r } from "react/jsx-runtime";
2
- import { useState as R } from "react";
2
+ import { useState as y } from "react";
3
3
  import n from "../../common/Icon/Icon.js";
4
4
  import z from "../../common/SidePanel/SidePanel.js";
5
- import w from "../../common/form/StoragePicker/StoragePicker.js";
6
- import D from "../PlanSettings/PlanStrategySettings.js";
7
- import E from "../PlanSettings/PlanSourceSettings.js";
5
+ import E from "../../common/form/StoragePicker/StoragePicker.js";
6
+ import w from "../PlanSettings/PlanStrategySettings.js";
7
+ import D from "../PlanSettings/PlanSourceSettings.js";
8
8
  import t from "../AddPlan/AddPlan.module.scss.js";
9
9
  import c from "./PlanForm.module.scss.js";
10
10
  import { useGetSettings as V } from "../../../services/settings.js";
@@ -28,7 +28,7 @@ const te = ({
28
28
  planId: C
29
29
  }) => {
30
30
  var N, b, k;
31
- const [i, m] = R(1), { data: u } = V(), U = ((N = u == null ? void 0 : u.result) == null ? void 0 : N.settings) || {}, { data: p } = j("main", !0), y = (b = p == null ? void 0 : p.result) == null ? void 0 : b.device, v = {
31
+ const [i, m] = y(1), { data: u } = V(), U = ((N = u == null ? void 0 : u.result) == null ? void 0 : N.settings) || {}, { data: p } = j("main", !0), F = (b = p == null ? void 0 : p.result) == null ? void 0 : b.device, v = {
32
32
  1: {
33
33
  title: "Next: Configure Source & Destination",
34
34
  onClick: () => s(e, i) && m(i + 1)
@@ -42,7 +42,7 @@ const te = ({
42
42
  title: "Create Plan",
43
43
  onClick: () => s(e, !1) && f()
44
44
  }
45
- }, F = (a) => {
45
+ }, R = (a) => {
46
46
  if (l !== "edit")
47
47
  return;
48
48
  s(e, i) && m(a);
@@ -72,7 +72,7 @@ const te = ({
72
72
  ] }) })
73
73
  ] }) }),
74
74
  children: [
75
- /* @__PURE__ */ r(T, { step: i, type: l, gotoStep: F }),
75
+ /* @__PURE__ */ r(T, { step: i, type: l, gotoStep: R }),
76
76
  /* @__PURE__ */ o("div", { className: `${c.formContent} styled__scrollbar`, children: [
77
77
  h && /* @__PURE__ */ r("div", { className: t.loader, children: /* @__PURE__ */ r(n, { size: 36, type: "loading" }) }),
78
78
  i === 1 && /* @__PURE__ */ o("div", { className: c.planStep, children: [
@@ -104,7 +104,7 @@ const te = ({
104
104
  )
105
105
  ] }),
106
106
  e.sourceType === "device" && /* @__PURE__ */ r(
107
- D,
107
+ w,
108
108
  {
109
109
  plan: e,
110
110
  onUpdate: (a) => d({ ...e, method: a }),
@@ -136,7 +136,7 @@ const te = ({
136
136
  ] }),
137
137
  i === 2 && /* @__PURE__ */ o("div", { className: c.planStep, children: [
138
138
  /* @__PURE__ */ r(
139
- E,
139
+ D,
140
140
  {
141
141
  plan: e,
142
142
  onUpdate: (a) => d({ ...a }),
@@ -148,7 +148,7 @@ const te = ({
148
148
  /* @__PURE__ */ r("label", { className: t.label, children: "Backup Destination*" }),
149
149
  !e.storage.name && /* @__PURE__ */ r("span", { className: t.fieldErrorLabel, children: "Required" }),
150
150
  /* @__PURE__ */ r(
151
- w,
151
+ E,
152
152
  {
153
153
  storagePath: x || e.storagePath,
154
154
  storageId: B || ((k = e.storage) == null ? void 0 : k.id) || "",
@@ -198,7 +198,16 @@ const te = ({
198
198
  }
199
199
  )
200
200
  ] }),
201
- i === 4 && /* @__PURE__ */ r("div", { className: c.planStep, children: /* @__PURE__ */ r(q, { plan: e, appSettings: U, onUpdate: d, device: y }) })
201
+ i === 4 && /* @__PURE__ */ r("div", { className: c.planStep, children: /* @__PURE__ */ r(
202
+ q,
203
+ {
204
+ plan: e,
205
+ appSettings: U,
206
+ onUpdate: d,
207
+ device: F,
208
+ isEditing: l === "edit"
209
+ }
210
+ ) })
202
211
  ] })
203
212
  ]
204
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlanForm.js","sources":["../../../../src/components/Plan/PlanForm/PlanForm.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport SidePanel from '../../common/SidePanel/SidePanel';\r\nimport StoragePicker from '../../common/form/StoragePicker/StoragePicker';\r\nimport PlanStrategySettings from '../PlanSettings/PlanStrategySettings';\r\nimport PlanSourceSettings from '../PlanSettings/PlanSourceSettings';\r\nimport { NewPlanSettings } from '../../../@types/plans';\r\nimport classes from '../AddPlan/AddPlan.module.scss';\r\nimport PFClasses from './PlanForm.module.scss';\r\nimport { useGetSettings } from '../../../services/settings';\r\nimport PlanAdvancedSettings from '../PlanSettings/PlanAdvancedSettings';\r\nimport { isPlanSettingsValid } from '../../../utils/plans';\r\nimport IntervalField from '../../common/form/IntervalField/IntervalField';\r\nimport PlanFormNav from './PlanFormNav';\r\nimport { useGetDevice } from '../../../services/devices';\r\nimport PlanPruneSettings from '../PlanSettings/PlanPruneSettings';\r\nimport PlanReplicationSettings from '../PlanSettings/PlanReplicationSettings';\r\n\r\ntype PlanFormProps = {\r\n title: string;\r\n planSettings: NewPlanSettings;\r\n type: 'add' | 'edit';\r\n onPlanSettingsChange: (settings: NewPlanSettings) => void;\r\n onSubmit: () => void;\r\n isSubmitting: boolean;\r\n close: () => void;\r\n storagePath?: string;\r\n storageId?: string;\r\n planId?: string;\r\n};\r\n\r\nconst PlanForm = ({\r\n title,\r\n planSettings,\r\n type,\r\n onPlanSettingsChange,\r\n onSubmit,\r\n isSubmitting,\r\n close,\r\n storagePath,\r\n storageId,\r\n planId,\r\n}: PlanFormProps) => {\r\n const [step, setStep] = useState<number>(1);\r\n\r\n const { data: settingsData } = useGetSettings();\r\n const appSettings = settingsData?.result?.settings || {};\r\n // const smtpConnected = appSettings?.integration?.smtp?.connected ? true : false;\r\n\r\n const { data: deviceData } = useGetDevice('main', true);\r\n const deviceInstance = deviceData?.result?.device;\r\n\r\n const buttonTexts: Record<number, { title: string; onClick: () => void }> = {\r\n 1: {\r\n title: 'Next: Configure Source & Destination',\r\n onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1),\r\n },\r\n 2: {\r\n title: 'Next: Setup Schedule & Retention',\r\n onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1),\r\n },\r\n 3: { title: 'Next: Advanced Settings', onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1) },\r\n 4: {\r\n title: 'Create Plan',\r\n onClick: () => isPlanSettingsValid(planSettings, false) && onSubmit(),\r\n },\r\n };\r\n\r\n const gotoStep = (nStep: number) => {\r\n if (type !== 'edit') {\r\n return;\r\n }\r\n\r\n const isSettingsValid = isPlanSettingsValid(planSettings, step);\r\n if (isSettingsValid) {\r\n setStep(nStep);\r\n }\r\n };\r\n\r\n return (\r\n <SidePanel\r\n title={title}\r\n icon={<Icon type={'backup'} size={20} />}\r\n width={type === 'add' ? '100%' : undefined}\r\n headerWidth={type === 'add' ? '740px' : undefined}\r\n close={close}\r\n withTabs={true}\r\n footer={\r\n <div className={PFClasses.planFormFooter}>\r\n <div className={PFClasses.footerContainer}>\r\n <div className={classes.footerLeft}>\r\n <div className={classes.summary}>\r\n {type === 'add' && step > 1 && (\r\n <button className={PFClasses.backButton} onClick={() => step > 0 && setStep(step - 1)} disabled={isSubmitting}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n <div className={classes.footerRight}>\r\n {type === 'add' ? (\r\n <button className={classes.createButton} onClick={buttonTexts[step].onClick}>\r\n <Icon type=\"check\" size={12} /> {buttonTexts[step].title}\r\n </button>\r\n ) : (\r\n <button className={classes.createButton} onClick={() => isPlanSettingsValid(planSettings, false) && onSubmit()}>\r\n <Icon type=\"check\" size={12} /> {'Update Plan'}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n >\r\n <PlanFormNav step={step} type={type} gotoStep={gotoStep} />\r\n\r\n <div className={`${PFClasses.formContent} styled__scrollbar`}>\r\n {isSubmitting && (\r\n <div className={classes.loader}>\r\n <Icon size={36} type=\"loading\" />\r\n </div>\r\n )}\r\n {step === 1 && (\r\n <div className={PFClasses.planStep}>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Plan Name*</label>\r\n {!planSettings.title && <span className={classes.fieldErrorLabel}>{'Required'}</span>}\r\n <input\r\n className={classes.titleInput}\r\n type=\"text\"\r\n placeholder=\"Plan Name\"\r\n value={planSettings.title || ''}\r\n onChange={(e) => onPlanSettingsChange({ ...planSettings, title: e.target.value })}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Plan Description</label>\r\n <input\r\n className={classes.titleInput}\r\n type=\"text\"\r\n placeholder=\"Plan Description\"\r\n value={planSettings.description || ''}\r\n onChange={(e) => onPlanSettingsChange({ ...planSettings, description: e.target.value })}\r\n />\r\n </div>\r\n {/* <PlanTypeSettings\r\n plan={planSettings}\r\n onUpdate={(plan: NewPlanSettings) => onPlanSettingsChange({ ...plan })}\r\n disabled={type === 'edit' ? true : false}\r\n options={[\r\n {\r\n value: 'device',\r\n icon: 'computer',\r\n label: 'Device',\r\n description: 'Backup content of a Computer/Server',\r\n },\r\n {\r\n value: 'database',\r\n icon: 'database',\r\n label: 'Database',\r\n description: 'Backup a Database',\r\n disabled: true,\r\n },\r\n {\r\n value: 'googleworkspace',\r\n icon: 'google-workspace',\r\n label: 'Google Workspace',\r\n description: 'Backup Google Workspace',\r\n disabled: true,\r\n },\r\n {\r\n value: 'microsoft365',\r\n icon: 'microsoft-365',\r\n label: 'Microsoft 365',\r\n description: 'Backup Microsoft 365',\r\n disabled: true,\r\n },\r\n ]}\r\n /> */}\r\n {planSettings.sourceType === 'device' && (\r\n <PlanStrategySettings\r\n plan={planSettings}\r\n onUpdate={(method) => onPlanSettingsChange({ ...planSettings, method })}\r\n disabled={type === 'edit' ? true : false}\r\n options={[\r\n {\r\n value: 'backup',\r\n icon: 'backup',\r\n label: 'Incremental Backup',\r\n description: 'Periodically create Incremental backup snapshots of source',\r\n },\r\n // {\r\n // value: 'sync',\r\n // icon: 'reload',\r\n // label: 'Real-time Sync',\r\n // description: 'Maintain identical source (with revisions)',\r\n // disabled: true,\r\n // },\r\n // {\r\n // value: 'rescue',\r\n // icon: 'rescue',\r\n // label: 'Linux Server Backup',\r\n // description: 'Full Linux system backups with bootable ISO image',\r\n // disabled: true,\r\n // },\r\n ]}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {step === 2 && (\r\n <div className={PFClasses.planStep}>\r\n <PlanSourceSettings\r\n plan={planSettings}\r\n onUpdate={(plan) => onPlanSettingsChange({ ...plan })}\r\n isEditing={type === 'edit' ? true : false}\r\n error={planSettings.sourceConfig.includes.length === 0 ? 'Required' : ''}\r\n />\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Destination*</label>\r\n {!planSettings.storage.name && <span className={classes.fieldErrorLabel}>{'Required'}</span>}\r\n <StoragePicker\r\n storagePath={storagePath || planSettings.storagePath}\r\n storageId={storageId || planSettings.storage?.id || ''}\r\n deviceId={planSettings.sourceId || 'main'}\r\n disabled={type === 'edit' ? true : false}\r\n onUpdate={(s: { storage: { name: string; id: string; type: string }; path: string }) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n storagePath: s.path,\r\n storage: { id: s.storage.id, name: s.storage.name },\r\n })\r\n }\r\n />\r\n </div>\r\n <PlanReplicationSettings\r\n replication={planSettings.settings.replication}\r\n primaryStorageId={planSettings.storage.id}\r\n primaryStoragePath={planSettings.storagePath}\r\n deviceId={planSettings.sourceId || 'main'}\r\n isEditing={type === 'edit' ? true : false}\r\n planID={planId}\r\n onUpdate={(replication) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n settings: { ...planSettings.settings, replication: replication },\r\n })\r\n }\r\n />\r\n </div>\r\n )}\r\n {step === 3 && (\r\n <div className={PFClasses.planStep}>\r\n <div className={classes.field} style={{ width: '150px' }}>\r\n <IntervalField\r\n label=\"Backup Interval\"\r\n fieldValue={planSettings.settings.interval}\r\n onUpdate={(intervalSettings) =>\r\n onPlanSettingsChange({ ...planSettings, settings: { ...planSettings.settings, interval: intervalSettings } })\r\n }\r\n />\r\n </div>\r\n <PlanPruneSettings\r\n plan={planSettings}\r\n onUpdate={(pruneSettings) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n settings: { ...planSettings.settings, prune: pruneSettings },\r\n })\r\n }\r\n />\r\n </div>\r\n )}\r\n {step === 4 && (\r\n <div className={PFClasses.planStep}>\r\n <PlanAdvancedSettings plan={planSettings} appSettings={appSettings} onUpdate={onPlanSettingsChange} device={deviceInstance} />\r\n </div>\r\n )}\r\n </div>\r\n </SidePanel>\r\n );\r\n};\r\n\r\nexport default PlanForm;\r\n"],"names":["PlanForm","title","planSettings","type","onPlanSettingsChange","onSubmit","isSubmitting","close","storagePath","storageId","planId","step","setStep","useState","settingsData","useGetSettings","appSettings","_a","deviceData","useGetDevice","deviceInstance","_b","buttonTexts","isPlanSettingsValid","gotoStep","nStep","jsxs","SidePanel","jsx","Icon","PFClasses","classes","PlanFormNav","e","PlanStrategySettings","method","PlanSourceSettings","plan","StoragePicker","_c","s","PlanReplicationSettings","replication","IntervalField","intervalSettings","PlanPruneSettings","pruneSettings","PlanAdvancedSettings"],"mappings":"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"}
1
+ {"version":3,"file":"PlanForm.js","sources":["../../../../src/components/Plan/PlanForm/PlanForm.tsx"],"sourcesContent":["import { useState } from 'react';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport SidePanel from '../../common/SidePanel/SidePanel';\r\nimport StoragePicker from '../../common/form/StoragePicker/StoragePicker';\r\nimport PlanStrategySettings from '../PlanSettings/PlanStrategySettings';\r\nimport PlanSourceSettings from '../PlanSettings/PlanSourceSettings';\r\nimport { NewPlanSettings } from '../../../@types/plans';\r\nimport classes from '../AddPlan/AddPlan.module.scss';\r\nimport PFClasses from './PlanForm.module.scss';\r\nimport { useGetSettings } from '../../../services/settings';\r\nimport PlanAdvancedSettings from '../PlanSettings/PlanAdvancedSettings';\r\nimport { isPlanSettingsValid } from '../../../utils/plans';\r\nimport IntervalField from '../../common/form/IntervalField/IntervalField';\r\nimport PlanFormNav from './PlanFormNav';\r\nimport { useGetDevice } from '../../../services/devices';\r\nimport PlanPruneSettings from '../PlanSettings/PlanPruneSettings';\r\nimport PlanReplicationSettings from '../PlanSettings/PlanReplicationSettings';\r\n\r\ntype PlanFormProps = {\r\n title: string;\r\n planSettings: NewPlanSettings;\r\n type: 'add' | 'edit';\r\n onPlanSettingsChange: (settings: NewPlanSettings) => void;\r\n onSubmit: () => void;\r\n isSubmitting: boolean;\r\n close: () => void;\r\n storagePath?: string;\r\n storageId?: string;\r\n planId?: string;\r\n};\r\n\r\nconst PlanForm = ({\r\n title,\r\n planSettings,\r\n type,\r\n onPlanSettingsChange,\r\n onSubmit,\r\n isSubmitting,\r\n close,\r\n storagePath,\r\n storageId,\r\n planId,\r\n}: PlanFormProps) => {\r\n const [step, setStep] = useState<number>(1);\r\n\r\n const { data: settingsData } = useGetSettings();\r\n const appSettings = settingsData?.result?.settings || {};\r\n // const smtpConnected = appSettings?.integration?.smtp?.connected ? true : false;\r\n\r\n const { data: deviceData } = useGetDevice('main', true);\r\n const deviceInstance = deviceData?.result?.device;\r\n\r\n const buttonTexts: Record<number, { title: string; onClick: () => void }> = {\r\n 1: {\r\n title: 'Next: Configure Source & Destination',\r\n onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1),\r\n },\r\n 2: {\r\n title: 'Next: Setup Schedule & Retention',\r\n onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1),\r\n },\r\n 3: { title: 'Next: Advanced Settings', onClick: () => isPlanSettingsValid(planSettings, step) && setStep(step + 1) },\r\n 4: {\r\n title: 'Create Plan',\r\n onClick: () => isPlanSettingsValid(planSettings, false) && onSubmit(),\r\n },\r\n };\r\n\r\n const gotoStep = (nStep: number) => {\r\n if (type !== 'edit') {\r\n return;\r\n }\r\n\r\n const isSettingsValid = isPlanSettingsValid(planSettings, step);\r\n if (isSettingsValid) {\r\n setStep(nStep);\r\n }\r\n };\r\n\r\n return (\r\n <SidePanel\r\n title={title}\r\n icon={<Icon type={'backup'} size={20} />}\r\n width={type === 'add' ? '100%' : undefined}\r\n headerWidth={type === 'add' ? '740px' : undefined}\r\n close={close}\r\n withTabs={true}\r\n footer={\r\n <div className={PFClasses.planFormFooter}>\r\n <div className={PFClasses.footerContainer}>\r\n <div className={classes.footerLeft}>\r\n <div className={classes.summary}>\r\n {type === 'add' && step > 1 && (\r\n <button className={PFClasses.backButton} onClick={() => step > 0 && setStep(step - 1)} disabled={isSubmitting}>\r\n <Icon type=\"arrow-left\" size={14} /> Back\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n <div className={classes.footerRight}>\r\n {type === 'add' ? (\r\n <button className={classes.createButton} onClick={buttonTexts[step].onClick}>\r\n <Icon type=\"check\" size={12} /> {buttonTexts[step].title}\r\n </button>\r\n ) : (\r\n <button className={classes.createButton} onClick={() => isPlanSettingsValid(planSettings, false) && onSubmit()}>\r\n <Icon type=\"check\" size={12} /> {'Update Plan'}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n >\r\n <PlanFormNav step={step} type={type} gotoStep={gotoStep} />\r\n\r\n <div className={`${PFClasses.formContent} styled__scrollbar`}>\r\n {isSubmitting && (\r\n <div className={classes.loader}>\r\n <Icon size={36} type=\"loading\" />\r\n </div>\r\n )}\r\n {step === 1 && (\r\n <div className={PFClasses.planStep}>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Plan Name*</label>\r\n {!planSettings.title && <span className={classes.fieldErrorLabel}>{'Required'}</span>}\r\n <input\r\n className={classes.titleInput}\r\n type=\"text\"\r\n placeholder=\"Plan Name\"\r\n value={planSettings.title || ''}\r\n onChange={(e) => onPlanSettingsChange({ ...planSettings, title: e.target.value })}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Plan Description</label>\r\n <input\r\n className={classes.titleInput}\r\n type=\"text\"\r\n placeholder=\"Plan Description\"\r\n value={planSettings.description || ''}\r\n onChange={(e) => onPlanSettingsChange({ ...planSettings, description: e.target.value })}\r\n />\r\n </div>\r\n {/* <PlanTypeSettings\r\n plan={planSettings}\r\n onUpdate={(plan: NewPlanSettings) => onPlanSettingsChange({ ...plan })}\r\n disabled={type === 'edit' ? true : false}\r\n options={[\r\n {\r\n value: 'device',\r\n icon: 'computer',\r\n label: 'Device',\r\n description: 'Backup content of a Computer/Server',\r\n },\r\n {\r\n value: 'database',\r\n icon: 'database',\r\n label: 'Database',\r\n description: 'Backup a Database',\r\n disabled: true,\r\n },\r\n {\r\n value: 'googleworkspace',\r\n icon: 'google-workspace',\r\n label: 'Google Workspace',\r\n description: 'Backup Google Workspace',\r\n disabled: true,\r\n },\r\n {\r\n value: 'microsoft365',\r\n icon: 'microsoft-365',\r\n label: 'Microsoft 365',\r\n description: 'Backup Microsoft 365',\r\n disabled: true,\r\n },\r\n ]}\r\n /> */}\r\n {planSettings.sourceType === 'device' && (\r\n <PlanStrategySettings\r\n plan={planSettings}\r\n onUpdate={(method) => onPlanSettingsChange({ ...planSettings, method })}\r\n disabled={type === 'edit' ? true : false}\r\n options={[\r\n {\r\n value: 'backup',\r\n icon: 'backup',\r\n label: 'Incremental Backup',\r\n description: 'Periodically create Incremental backup snapshots of source',\r\n },\r\n // {\r\n // value: 'sync',\r\n // icon: 'reload',\r\n // label: 'Real-time Sync',\r\n // description: 'Maintain identical source (with revisions)',\r\n // disabled: true,\r\n // },\r\n // {\r\n // value: 'rescue',\r\n // icon: 'rescue',\r\n // label: 'Linux Server Backup',\r\n // description: 'Full Linux system backups with bootable ISO image',\r\n // disabled: true,\r\n // },\r\n ]}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {step === 2 && (\r\n <div className={PFClasses.planStep}>\r\n <PlanSourceSettings\r\n plan={planSettings}\r\n onUpdate={(plan) => onPlanSettingsChange({ ...plan })}\r\n isEditing={type === 'edit' ? true : false}\r\n error={planSettings.sourceConfig.includes.length === 0 ? 'Required' : ''}\r\n />\r\n <div className={classes.field}>\r\n <label className={classes.label}>Backup Destination*</label>\r\n {!planSettings.storage.name && <span className={classes.fieldErrorLabel}>{'Required'}</span>}\r\n <StoragePicker\r\n storagePath={storagePath || planSettings.storagePath}\r\n storageId={storageId || planSettings.storage?.id || ''}\r\n deviceId={planSettings.sourceId || 'main'}\r\n disabled={type === 'edit' ? true : false}\r\n onUpdate={(s: { storage: { name: string; id: string; type: string }; path: string }) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n storagePath: s.path,\r\n storage: { id: s.storage.id, name: s.storage.name },\r\n })\r\n }\r\n />\r\n </div>\r\n <PlanReplicationSettings\r\n replication={planSettings.settings.replication}\r\n primaryStorageId={planSettings.storage.id}\r\n primaryStoragePath={planSettings.storagePath}\r\n deviceId={planSettings.sourceId || 'main'}\r\n isEditing={type === 'edit' ? true : false}\r\n planID={planId}\r\n onUpdate={(replication) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n settings: { ...planSettings.settings, replication: replication },\r\n })\r\n }\r\n />\r\n </div>\r\n )}\r\n {step === 3 && (\r\n <div className={PFClasses.planStep}>\r\n <div className={classes.field} style={{ width: '150px' }}>\r\n <IntervalField\r\n label=\"Backup Interval\"\r\n fieldValue={planSettings.settings.interval}\r\n onUpdate={(intervalSettings) =>\r\n onPlanSettingsChange({ ...planSettings, settings: { ...planSettings.settings, interval: intervalSettings } })\r\n }\r\n />\r\n </div>\r\n <PlanPruneSettings\r\n plan={planSettings}\r\n onUpdate={(pruneSettings) =>\r\n onPlanSettingsChange({\r\n ...planSettings,\r\n settings: { ...planSettings.settings, prune: pruneSettings },\r\n })\r\n }\r\n />\r\n </div>\r\n )}\r\n {step === 4 && (\r\n <div className={PFClasses.planStep}>\r\n <PlanAdvancedSettings\r\n plan={planSettings}\r\n appSettings={appSettings}\r\n onUpdate={onPlanSettingsChange}\r\n device={deviceInstance}\r\n isEditing={type === 'edit'}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </SidePanel>\r\n );\r\n};\r\n\r\nexport default PlanForm;\r\n"],"names":["PlanForm","title","planSettings","type","onPlanSettingsChange","onSubmit","isSubmitting","close","storagePath","storageId","planId","step","setStep","useState","settingsData","useGetSettings","appSettings","_a","deviceData","useGetDevice","deviceInstance","_b","buttonTexts","isPlanSettingsValid","gotoStep","nStep","jsxs","SidePanel","jsx","Icon","PFClasses","classes","PlanFormNav","e","PlanStrategySettings","method","PlanSourceSettings","plan","StoragePicker","_c","s","PlanReplicationSettings","replication","IntervalField","intervalSettings","PlanPruneSettings","pruneSettings","PlanAdvancedSettings"],"mappings":"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"}
@@ -5,7 +5,8 @@ interface PlanAdvancedSettingsProps {
5
5
  appSettings?: Record<string, any>;
6
6
  device: Device;
7
7
  onUpdate: (notificationSettings: NewPlanSettings) => void;
8
+ isEditing: boolean;
8
9
  }
9
- declare const PlanAdvancedSettings: ({ plan, appSettings, device, onUpdate }: PlanAdvancedSettingsProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const PlanAdvancedSettings: ({ plan, appSettings, device, onUpdate, isEditing }: PlanAdvancedSettingsProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export default PlanAdvancedSettings;
11
12
  //# sourceMappingURL=PlanAdvancedSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanAdvancedSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,UAAU,yBAAyB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,oBAAoB,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5D;AAED,QAAA,MAAM,oBAAoB,GAAI,yCAAyC,yBAAyB,4CA2F/F,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PlanAdvancedSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,UAAU,yBAAyB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,oBAAoB,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,oBAAoB,GAAI,oDAAoD,yBAAyB,4CA+F1G,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,25 +1,25 @@
1
- import { jsxs as c, jsx as t, Fragment as N } from "react/jsx-runtime";
2
- import { useState as g, useMemo as h } from "react";
1
+ import { jsxs as c, jsx as t, Fragment as g } from "react/jsx-runtime";
2
+ import { useState as h, useMemo as y } from "react";
3
3
  import l from "../../common/Icon/Icon.js";
4
4
  import n from "./PlanSettings.module.scss.js";
5
- import y from "./PlanNotificationSettings.js";
6
- import P from "./PlanPerformanceSettings.js";
7
- import T from "../../common/form/TagsInput/TagsInput.js";
8
- import G from "./PlanGeneralSettings.js";
9
- import { isMobile as M } from "../../../utils/helpers.js";
10
- import A from "../../common/form/Select/Select.js";
11
- import C from "./PlanScriptsSettings.js";
12
- const E = ({ plan: i, appSettings: s, device: m, onUpdate: r }) => {
5
+ import P from "./PlanNotificationSettings.js";
6
+ import T from "./PlanPerformanceSettings.js";
7
+ import G from "../../common/form/TagsInput/TagsInput.js";
8
+ import M from "./PlanGeneralSettings.js";
9
+ import { isMobile as A } from "../../../utils/helpers.js";
10
+ import C from "../../common/form/Select/Select.js";
11
+ import z from "./PlanScriptsSettings.js";
12
+ const F = ({ plan: i, appSettings: s, device: m, onUpdate: r, isEditing: u }) => {
13
13
  var v, b;
14
- const [a, o] = g("General"), d = i.settings, u = h(() => {
14
+ const [a, o] = h("General"), d = i.settings, N = y(() => {
15
15
  const e = [];
16
16
  return s != null && s.integration && Object.keys(s.integration).forEach((f) => {
17
17
  s.integration[f] && s.integration[f].connected && e.push(f);
18
18
  }), e;
19
19
  }, [s]);
20
20
  return /* @__PURE__ */ c("div", { className: `${n.advancedOptions} styled__scrollbar`, children: [
21
- M() ? /* @__PURE__ */ t(
22
- A,
21
+ A() ? /* @__PURE__ */ t(
22
+ C,
23
23
  {
24
24
  customClasses: n.advancedSettingsSelect,
25
25
  options: [
@@ -33,7 +33,7 @@ const E = ({ plan: i, appSettings: s, device: m, onUpdate: r }) => {
33
33
  full: !0,
34
34
  onUpdate: (e) => o(e)
35
35
  }
36
- ) : /* @__PURE__ */ t(N, { children: /* @__PURE__ */ c("ul", { className: n.advancedTabs, children: [
36
+ ) : /* @__PURE__ */ t(g, { children: /* @__PURE__ */ c("ul", { className: n.advancedTabs, children: [
37
37
  /* @__PURE__ */ c("li", { onClick: () => o("General"), className: a === "General" ? n.advancedTabActive : "", children: [
38
38
  /* @__PURE__ */ t(l, { size: 13, type: "folders" }),
39
39
  " General"
@@ -56,11 +56,18 @@ const E = ({ plan: i, appSettings: s, device: m, onUpdate: r }) => {
56
56
  ] })
57
57
  ] }) }),
58
58
  /* @__PURE__ */ c("div", { className: n.advancedTabContent, children: [
59
- a === "General" && /* @__PURE__ */ t(G, { settings: d, onUpdate: (e) => r({ ...i, settings: e }) }),
59
+ a === "General" && /* @__PURE__ */ t(
60
+ M,
61
+ {
62
+ settings: d,
63
+ onUpdate: (e) => r({ ...i, settings: e }),
64
+ isEditing: u
65
+ }
66
+ ),
60
67
  a === "Notification" && /* @__PURE__ */ t(
61
- y,
68
+ P,
62
69
  {
63
- types: u,
70
+ types: N,
64
71
  planID: i.id,
65
72
  isSync: i.method === "sync",
66
73
  admin_email: s == null ? void 0 : s.admin_email,
@@ -68,13 +75,13 @@ const E = ({ plan: i, appSettings: s, device: m, onUpdate: r }) => {
68
75
  onUpdate: (e) => r({ ...i, settings: { ...d, notification: e } })
69
76
  }
70
77
  ),
71
- a === "Performance" && /* @__PURE__ */ t(P, { plan: i, onUpdate: (e) => r({ ...i, settings: { ...d, performance: e } }) }),
78
+ a === "Performance" && /* @__PURE__ */ t(T, { plan: i, onUpdate: (e) => r({ ...i, settings: { ...d, performance: e } }) }),
72
79
  a === "Misc" && /* @__PURE__ */ c("div", { className: n.field, children: [
73
80
  /* @__PURE__ */ t("label", { className: n.label, children: "Tags" }),
74
- /* @__PURE__ */ t(T, { fieldValue: i.tags || [], onUpdate: (e) => r({ ...i, tags: e }) })
81
+ /* @__PURE__ */ t(G, { fieldValue: i.tags || [], onUpdate: (e) => r({ ...i, tags: e }) })
75
82
  ] }),
76
83
  a === "Scripts" && /* @__PURE__ */ t(
77
- C,
84
+ z,
78
85
  {
79
86
  settings: ((b = i.settings) == null ? void 0 : b.scripts) || {},
80
87
  platform: (m == null ? void 0 : m.platform) || void 0,
@@ -85,6 +92,6 @@ const E = ({ plan: i, appSettings: s, device: m, onUpdate: r }) => {
85
92
  ] });
86
93
  };
87
94
  export {
88
- E as default
95
+ F as default
89
96
  };
90
97
  //# sourceMappingURL=PlanAdvancedSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanAdvancedSettings.js","sources":["../../../../src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './PlanSettings.module.scss';\r\nimport PlanNotificationSettings from './PlanNotificationSettings';\r\nimport PlanPerformanceSettings from './PlanPerformanceSettings';\r\nimport { NewPlanSettings } from '../../../@types/plans';\r\nimport TagsInput from '../../common/form/TagsInput/TagsInput';\r\nimport PlanGeneralSettings from './PlanGeneralSettings';\r\nimport { isMobile } from '../../../utils/helpers';\r\nimport Select from '../../common/form/Select/Select';\r\nimport PlanScriptsSettings from './PlanScriptsSettings';\r\nimport { Device } from '../../../@types/devices';\r\n\r\ninterface PlanAdvancedSettingsProps {\r\n plan: NewPlanSettings;\r\n appSettings?: Record<string, any>;\r\n device: Device;\r\n onUpdate: (notificationSettings: NewPlanSettings) => void;\r\n}\r\n\r\nconst PlanAdvancedSettings = ({ plan, appSettings, device, onUpdate }: PlanAdvancedSettingsProps) => {\r\n const [advancedTab, setAdvancedTab] = useState('General');\r\n const settings = plan.settings;\r\n const integrationTypes = useMemo(() => {\r\n const types: string[] = [];\r\n if (appSettings?.integration) {\r\n Object.keys(appSettings.integration).forEach((k) => {\r\n if (appSettings.integration[k] && appSettings.integration[k].connected) {\r\n types.push(k);\r\n }\r\n });\r\n }\r\n return types;\r\n }, [appSettings]);\r\n\r\n return (\r\n <div className={`${classes.advancedOptions} styled__scrollbar`}>\r\n {isMobile() ? (\r\n <Select\r\n customClasses={classes.advancedSettingsSelect}\r\n options={[\r\n { label: 'General', value: 'General', icon: 'folders' },\r\n // { label: 'Prune', value: 'Prune', icon: 'prune' },\r\n { label: 'Performance', value: 'Performance', icon: 'performance' },\r\n { label: 'Notification', value: 'Notification', icon: 'notification' },\r\n { label: 'Misc.', value: 'Misc', icon: 'settings-alt' },\r\n ]}\r\n fieldValue={advancedTab}\r\n full={true}\r\n onUpdate={(val) => setAdvancedTab(val)}\r\n />\r\n ) : (\r\n <>\r\n <ul className={classes.advancedTabs}>\r\n <li onClick={() => setAdvancedTab('General')} className={advancedTab === 'General' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"folders\" /> General\r\n </li>\r\n {/* <li onClick={() => setAdvancedTab('Prune')} className={advancedTab === 'Prune' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"prune\" /> Prune\r\n </li> */}\r\n <li onClick={() => setAdvancedTab('Performance')} className={advancedTab === 'Performance' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"performance\" /> Performance\r\n </li>\r\n <li onClick={() => setAdvancedTab('Notification')} className={advancedTab === 'Notification' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"notification\" /> Notification\r\n </li>\r\n <li onClick={() => setAdvancedTab('Scripts')} className={advancedTab === 'Scripts' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"cli\" /> Scripts\r\n </li>\r\n <li onClick={() => setAdvancedTab('Misc')} className={advancedTab === 'Misc' ? classes.advancedTabActive : ''}>\r\n <Icon size={14} type=\"settings-alt\" /> Misc.\r\n </li>\r\n </ul>\r\n </>\r\n )}\r\n <div className={classes.advancedTabContent}>\r\n {advancedTab === 'General' && (\r\n <PlanGeneralSettings settings={settings} onUpdate={(newSettings) => onUpdate({ ...plan, settings: newSettings })} />\r\n )}\r\n {advancedTab === 'Notification' && (\r\n <PlanNotificationSettings\r\n types={integrationTypes}\r\n planID={plan.id}\r\n isSync={plan.method === 'sync'}\r\n admin_email={appSettings?.admin_email}\r\n notificationSettings={plan.settings?.notification || {}}\r\n onUpdate={(notification) => onUpdate({ ...plan, settings: { ...settings, notification } })}\r\n />\r\n )}\r\n {/* {advancedTab === 'Prune' && (\r\n <PlanPruneSettings plan={plan} onUpdate={(prune) => onUpdate({ ...plan, settings: { ...settings, prune } })} />\r\n )} */}\r\n {advancedTab === 'Performance' && (\r\n <PlanPerformanceSettings plan={plan} onUpdate={(performance) => onUpdate({ ...plan, settings: { ...settings, performance } })} />\r\n )}\r\n {advancedTab === 'Misc' && (\r\n <div className={classes.field}>\r\n <label className={classes.label}>Tags</label>\r\n <TagsInput fieldValue={plan.tags || []} onUpdate={(val) => onUpdate({ ...plan, tags: val })} />\r\n </div>\r\n )}\r\n {advancedTab === 'Scripts' && (\r\n <PlanScriptsSettings\r\n settings={plan.settings?.scripts || {}}\r\n platform={device?.platform || undefined}\r\n onUpdate={(scripts: NewPlanSettings['settings']['scripts']) => onUpdate({ ...plan, settings: { ...plan.settings, scripts } })}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default PlanAdvancedSettings;\r\n"],"names":["PlanAdvancedSettings","plan","appSettings","device","onUpdate","advancedTab","setAdvancedTab","useState","settings","integrationTypes","useMemo","types","k","classes","isMobile","jsx","Select","val","Fragment","jsxs","Icon","PlanGeneralSettings","newSettings","PlanNotificationSettings","_a","notification","PlanPerformanceSettings","performance","TagsInput","PlanScriptsSettings","_b","scripts"],"mappings":";;;;;;;;;;;AAoBA,MAAMA,IAAuB,CAAC,EAAE,MAAAC,GAAM,aAAAC,GAAa,QAAAC,GAAQ,UAAAC,QAA0C;;AAClG,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,SAAS,GAClDC,IAAWP,EAAK,UAChBQ,IAAmBC,EAAQ,MAAM;AACpC,UAAMC,IAAkB,CAAA;AACxB,WAAIT,KAAA,QAAAA,EAAa,eACd,OAAO,KAAKA,EAAY,WAAW,EAAE,QAAQ,CAACU,MAAM;AACjD,MAAIV,EAAY,YAAYU,CAAC,KAAKV,EAAY,YAAYU,CAAC,EAAE,aAC1DD,EAAM,KAAKC,CAAC;AAAA,IAElB,CAAC,GAEGD;AAAA,EACV,GAAG,CAACT,CAAW,CAAC;AAEhB,2BACI,OAAA,EAAI,WAAW,GAAGW,EAAQ,eAAe,sBACtC,UAAA;AAAA,IAAAC,EAAA,IACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,eAAeH,EAAQ;AAAA,QACvB,SAAS;AAAA,UACN,EAAE,OAAO,WAAW,OAAO,WAAW,MAAM,UAAA;AAAA;AAAA,UAE5C,EAAE,OAAO,eAAe,OAAO,eAAe,MAAM,cAAA;AAAA,UACpD,EAAE,OAAO,gBAAgB,OAAO,gBAAgB,MAAM,eAAA;AAAA,UACtD,EAAE,OAAO,SAAS,OAAO,QAAQ,MAAM,eAAA;AAAA,QAAe;AAAA,QAEzD,YAAYR;AAAA,QACZ,MAAM;AAAA,QACN,UAAU,CAACY,MAAQX,EAAeW,CAAG;AAAA,MAAA;AAAA,IAAA,IAGxC,gBAAAF,EAAAG,GAAA,EACG,UAAA,gBAAAC,EAAC,MAAA,EAAG,WAAWN,EAAQ,cACpB,UAAA;AAAA,MAAA,gBAAAM,EAAC,MAAA,EAAG,SAAS,MAAMb,EAAe,SAAS,GAAG,WAAWD,MAAgB,YAAYQ,EAAQ,oBAAoB,IAC9G,UAAA;AAAA,QAAA,gBAAAE,EAACK,GAAA,EAAK,MAAM,IAAI,MAAK,WAAU;AAAA,QAAE;AAAA,MAAA,GACpC;AAAA,MAIA,gBAAAD,EAAC,MAAA,EAAG,SAAS,MAAMb,EAAe,aAAa,GAAG,WAAWD,MAAgB,gBAAgBQ,EAAQ,oBAAoB,IACtH,UAAA;AAAA,QAAA,gBAAAE,EAACK,GAAA,EAAK,MAAM,IAAI,MAAK,eAAc;AAAA,QAAE;AAAA,MAAA,GACxC;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,SAAS,MAAMb,EAAe,cAAc,GAAG,WAAWD,MAAgB,iBAAiBQ,EAAQ,oBAAoB,IACxH,UAAA;AAAA,QAAA,gBAAAE,EAACK,GAAA,EAAK,MAAM,IAAI,MAAK,gBAAe;AAAA,QAAE;AAAA,MAAA,GACzC;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,SAAS,MAAMb,EAAe,SAAS,GAAG,WAAWD,MAAgB,YAAYQ,EAAQ,oBAAoB,IAC9G,UAAA;AAAA,QAAA,gBAAAE,EAACK,GAAA,EAAK,MAAM,IAAI,MAAK,OAAM;AAAA,QAAE;AAAA,MAAA,GAChC;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,SAAS,MAAMb,EAAe,MAAM,GAAG,WAAWD,MAAgB,SAASQ,EAAQ,oBAAoB,IACxG,UAAA;AAAA,QAAA,gBAAAE,EAACK,GAAA,EAAK,MAAM,IAAI,MAAK,gBAAe;AAAA,QAAE;AAAA,MAAA,EAAA,CACzC;AAAA,IAAA,EAAA,CACH,EAAA,CACH;AAAA,IAEH,gBAAAD,EAAC,OAAA,EAAI,WAAWN,EAAQ,oBACpB,UAAA;AAAA,MAAAR,MAAgB,aACd,gBAAAU,EAACM,GAAA,EAAoB,UAAAb,GAAoB,UAAU,CAACc,MAAgBlB,EAAS,EAAE,GAAGH,GAAM,UAAUqB,EAAA,CAAa,EAAA,CAAG;AAAA,MAEpHjB,MAAgB,kBACd,gBAAAU;AAAA,QAACQ;AAAA,QAAA;AAAA,UACE,OAAOd;AAAA,UACP,QAAQR,EAAK;AAAA,UACb,QAAQA,EAAK,WAAW;AAAA,UACxB,aAAaC,KAAA,gBAAAA,EAAa;AAAA,UAC1B,wBAAsBsB,IAAAvB,EAAK,aAAL,gBAAAuB,EAAe,iBAAgB,CAAA;AAAA,UACrD,UAAU,CAACC,MAAiBrB,EAAS,EAAE,GAAGH,GAAM,UAAU,EAAE,GAAGO,GAAU,cAAAiB,KAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,MAM9FpB,MAAgB,iBACd,gBAAAU,EAACW,KAAwB,MAAAzB,GAAY,UAAU,CAAC0B,MAAgBvB,EAAS,EAAE,GAAGH,GAAM,UAAU,EAAE,GAAGO,GAAU,aAAAmB,EAAA,EAAY,CAAG,GAAG;AAAA,MAEjItB,MAAgB,UACd,gBAAAc,EAAC,OAAA,EAAI,WAAWN,EAAQ,OACrB,UAAA;AAAA,QAAA,gBAAAE,EAAC,SAAA,EAAM,WAAWF,EAAQ,OAAO,UAAA,QAAI;AAAA,0BACpCe,GAAA,EAAU,YAAY3B,EAAK,QAAQ,CAAA,GAAI,UAAU,CAACgB,MAAQb,EAAS,EAAE,GAAGH,GAAM,MAAMgB,EAAA,CAAK,EAAA,CAAG;AAAA,MAAA,GAChG;AAAA,MAEFZ,MAAgB,aACd,gBAAAU;AAAA,QAACc;AAAA,QAAA;AAAA,UACE,YAAUC,IAAA7B,EAAK,aAAL,gBAAA6B,EAAe,YAAW,CAAA;AAAA,UACpC,WAAU3B,KAAA,gBAAAA,EAAQ,aAAY;AAAA,UAC9B,UAAU,CAAC4B,MAAoD3B,EAAS,EAAE,GAAGH,GAAM,UAAU,EAAE,GAAGA,EAAK,UAAU,SAAA8B,EAAA,GAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IAC/H,EAAA,CAEN;AAAA,EAAA,GACH;AAEN;"}
1
+ {"version":3,"file":"PlanAdvancedSettings.js","sources":["../../../../src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\r\nimport Icon from '../../common/Icon/Icon';\r\nimport classes from './PlanSettings.module.scss';\r\nimport PlanNotificationSettings from './PlanNotificationSettings';\r\nimport PlanPerformanceSettings from './PlanPerformanceSettings';\r\nimport { NewPlanSettings } from '../../../@types/plans';\r\nimport TagsInput from '../../common/form/TagsInput/TagsInput';\r\nimport PlanGeneralSettings from './PlanGeneralSettings';\r\nimport { isMobile } from '../../../utils/helpers';\r\nimport Select from '../../common/form/Select/Select';\r\nimport PlanScriptsSettings from './PlanScriptsSettings';\r\nimport { Device } from '../../../@types/devices';\r\n\r\ninterface PlanAdvancedSettingsProps {\r\n plan: NewPlanSettings;\r\n appSettings?: Record<string, any>;\r\n device: Device;\r\n onUpdate: (notificationSettings: NewPlanSettings) => void;\r\n isEditing: boolean;\r\n}\r\n\r\nconst PlanAdvancedSettings = ({ plan, appSettings, device, onUpdate, isEditing }: PlanAdvancedSettingsProps) => {\r\n const [advancedTab, setAdvancedTab] = useState('General');\r\n const settings = plan.settings;\r\n const integrationTypes = useMemo(() => {\r\n const types: string[] = [];\r\n if (appSettings?.integration) {\r\n Object.keys(appSettings.integration).forEach((k) => {\r\n if (appSettings.integration[k] && appSettings.integration[k].connected) {\r\n types.push(k);\r\n }\r\n });\r\n }\r\n return types;\r\n }, [appSettings]);\r\n\r\n return (\r\n <div className={`${classes.advancedOptions} styled__scrollbar`}>\r\n {isMobile() ? (\r\n <Select\r\n customClasses={classes.advancedSettingsSelect}\r\n options={[\r\n { label: 'General', value: 'General', icon: 'folders' },\r\n // { label: 'Prune', value: 'Prune', icon: 'prune' },\r\n { label: 'Performance', value: 'Performance', icon: 'performance' },\r\n { label: 'Notification', value: 'Notification', icon: 'notification' },\r\n { label: 'Misc.', value: 'Misc', icon: 'settings-alt' },\r\n ]}\r\n fieldValue={advancedTab}\r\n full={true}\r\n onUpdate={(val) => setAdvancedTab(val)}\r\n />\r\n ) : (\r\n <>\r\n <ul className={classes.advancedTabs}>\r\n <li onClick={() => setAdvancedTab('General')} className={advancedTab === 'General' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"folders\" /> General\r\n </li>\r\n {/* <li onClick={() => setAdvancedTab('Prune')} className={advancedTab === 'Prune' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"prune\" /> Prune\r\n </li> */}\r\n <li onClick={() => setAdvancedTab('Performance')} className={advancedTab === 'Performance' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"performance\" /> Performance\r\n </li>\r\n <li onClick={() => setAdvancedTab('Notification')} className={advancedTab === 'Notification' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"notification\" /> Notification\r\n </li>\r\n <li onClick={() => setAdvancedTab('Scripts')} className={advancedTab === 'Scripts' ? classes.advancedTabActive : ''}>\r\n <Icon size={13} type=\"cli\" /> Scripts\r\n </li>\r\n <li onClick={() => setAdvancedTab('Misc')} className={advancedTab === 'Misc' ? classes.advancedTabActive : ''}>\r\n <Icon size={14} type=\"settings-alt\" /> Misc.\r\n </li>\r\n </ul>\r\n </>\r\n )}\r\n <div className={classes.advancedTabContent}>\r\n {advancedTab === 'General' && (\r\n <PlanGeneralSettings\r\n settings={settings}\r\n onUpdate={(newSettings) => onUpdate({ ...plan, settings: newSettings })}\r\n isEditing={isEditing}\r\n />\r\n )}\r\n {advancedTab === 'Notification' && (\r\n <PlanNotificationSettings\r\n types={integrationTypes}\r\n planID={plan.id}\r\n isSync={plan.method === 'sync'}\r\n admin_email={appSettings?.admin_email}\r\n notificationSettings={plan.settings?.notification || {}}\r\n onUpdate={(notification) => onUpdate({ ...plan, settings: { ...settings, notification } })}\r\n />\r\n )}\r\n {/* {advancedTab === 'Prune' && (\r\n <PlanPruneSettings plan={plan} onUpdate={(prune) => onUpdate({ ...plan, settings: { ...settings, prune } })} />\r\n )} */}\r\n {advancedTab === 'Performance' && (\r\n <PlanPerformanceSettings plan={plan} onUpdate={(performance) => onUpdate({ ...plan, settings: { ...settings, performance } })} />\r\n )}\r\n {advancedTab === 'Misc' && (\r\n <div className={classes.field}>\r\n <label className={classes.label}>Tags</label>\r\n <TagsInput fieldValue={plan.tags || []} onUpdate={(val) => onUpdate({ ...plan, tags: val })} />\r\n </div>\r\n )}\r\n {advancedTab === 'Scripts' && (\r\n <PlanScriptsSettings\r\n settings={plan.settings?.scripts || {}}\r\n platform={device?.platform || undefined}\r\n onUpdate={(scripts: NewPlanSettings['settings']['scripts']) => onUpdate({ ...plan, settings: { ...plan.settings, scripts } })}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default PlanAdvancedSettings;\r\n"],"names":["PlanAdvancedSettings","plan","appSettings","device","onUpdate","isEditing","advancedTab","setAdvancedTab","useState","settings","integrationTypes","useMemo","types","k","classes","isMobile","jsx","Select","val","Fragment","jsxs","Icon","PlanGeneralSettings","newSettings","PlanNotificationSettings","_a","notification","PlanPerformanceSettings","performance","TagsInput","PlanScriptsSettings","_b","scripts"],"mappings":"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"}
@@ -2,7 +2,8 @@ import { NewPlanSettings } from '../../../@types/plans';
2
2
  interface PlanGeneralSettingsProps {
3
3
  settings: NewPlanSettings['settings'];
4
4
  onUpdate: (settings: NewPlanSettings['settings']) => void;
5
+ isEditing: boolean;
5
6
  }
6
- declare const PlanGeneralSettings: ({ settings, onUpdate }: PlanGeneralSettingsProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const PlanGeneralSettings: ({ settings, onUpdate, isEditing }: PlanGeneralSettingsProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export default PlanGeneralSettings;
8
9
  //# sourceMappingURL=PlanGeneralSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanGeneralSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanSettings/PlanGeneralSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,UAAU,wBAAwB;IAC/B,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;CAC5D;AAED,QAAA,MAAM,mBAAmB,GAAI,wBAAwB,wBAAwB,4CAwC5E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"PlanGeneralSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/Plan/PlanSettings/PlanGeneralSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,UAAU,wBAAwB;IAC/B,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,mBAAmB,GAAI,mCAAmC,wBAAwB,4CAyCvF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,48 +1,49 @@
1
- import { jsxs as s, Fragment as m, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as s, Fragment as p, jsx as e } from "react/jsx-runtime";
2
2
  import o from "../../common/form/NumberInput/NumberInput.js";
3
3
  import n from "../../common/form/Toggle/Toggle.js";
4
- import r from "./PlanSettings.module.scss.js";
5
- const h = ({ settings: i, onUpdate: a }) => {
6
- const { encryption: c, compression: d, retries: t, retryDelay: f } = i;
7
- return /* @__PURE__ */ s(m, { children: [
8
- /* @__PURE__ */ s("div", { className: r.field, children: [
9
- /* @__PURE__ */ e("label", { className: r.label, children: "Encryption" }),
4
+ import i from "./PlanSettings.module.scss.js";
5
+ const N = ({ settings: r, onUpdate: a, isEditing: c }) => {
6
+ const { encryption: d, compression: t, retries: f, retryDelay: m } = r;
7
+ return /* @__PURE__ */ s(p, { children: [
8
+ /* @__PURE__ */ s("div", { className: i.field, children: [
9
+ /* @__PURE__ */ e("label", { className: i.label, children: "Encryption" }),
10
10
  /* @__PURE__ */ e(
11
11
  n,
12
12
  {
13
- fieldValue: c,
14
- onUpdate: (l) => a({ ...i, encryption: l }),
13
+ fieldValue: d,
14
+ disabled: c,
15
+ onUpdate: (l) => a({ ...r, encryption: l }),
15
16
  description: "Encrypt Source Files before backup"
16
17
  }
17
18
  )
18
19
  ] }),
19
- /* @__PURE__ */ s("div", { className: r.field, children: [
20
- /* @__PURE__ */ e("label", { className: r.label, children: "Compression" }),
20
+ /* @__PURE__ */ s("div", { className: i.field, children: [
21
+ /* @__PURE__ */ e("label", { className: i.label, children: "Compression" }),
21
22
  /* @__PURE__ */ e(
22
23
  n,
23
24
  {
24
- fieldValue: d,
25
- onUpdate: (l) => a({ ...i, compression: l }),
25
+ fieldValue: t,
26
+ onUpdate: (l) => a({ ...r, compression: l }),
26
27
  description: "Compress Source Files before backup"
27
28
  }
28
29
  )
29
30
  ] }),
30
- /* @__PURE__ */ e("div", { className: r.field, children: /* @__PURE__ */ e(
31
+ /* @__PURE__ */ e("div", { className: i.field, children: /* @__PURE__ */ e(
31
32
  o,
32
33
  {
33
34
  label: "Retries",
34
- fieldValue: t,
35
- onUpdate: (l) => a({ ...i, retries: l }),
35
+ fieldValue: f,
36
+ onUpdate: (l) => a({ ...r, retries: l }),
36
37
  hint: "How many times a failed backups is retried. Default: 5.",
37
38
  inline: !1
38
39
  }
39
40
  ) }),
40
- /* @__PURE__ */ e("div", { className: r.field, children: /* @__PURE__ */ e(
41
+ /* @__PURE__ */ e("div", { className: i.field, children: /* @__PURE__ */ e(
41
42
  o,
42
43
  {
43
44
  label: "Retries Delay",
44
- fieldValue: f,
45
- onUpdate: (l) => a({ ...i, retryDelay: l }),
45
+ fieldValue: m,
46
+ onUpdate: (l) => a({ ...r, retryDelay: l }),
46
47
  hint: "How long to wait before retrying a failed backup. Default: 300 seconds.",
47
48
  inline: !1
48
49
  }
@@ -50,6 +51,6 @@ const h = ({ settings: i, onUpdate: a }) => {
50
51
  ] });
51
52
  };
52
53
  export {
53
- h as default
54
+ N as default
54
55
  };
55
56
  //# sourceMappingURL=PlanGeneralSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanGeneralSettings.js","sources":["../../../../src/components/Plan/PlanSettings/PlanGeneralSettings.tsx"],"sourcesContent":["import { NewPlanSettings } from '../../../@types/plans';\r\nimport NumberInput from '../../common/form/NumberInput/NumberInput';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport classes from './PlanSettings.module.scss';\r\n\r\ninterface PlanGeneralSettingsProps {\r\n settings: NewPlanSettings['settings'];\r\n onUpdate: (settings: NewPlanSettings['settings']) => void;\r\n}\r\n\r\nconst PlanGeneralSettings = ({ settings, onUpdate }: PlanGeneralSettingsProps) => {\r\n const { encryption, compression, retries, retryDelay } = settings;\r\n return (\r\n <>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Encryption</label>\r\n <Toggle\r\n fieldValue={encryption}\r\n onUpdate={(val: boolean) => onUpdate({ ...settings, encryption: val })}\r\n description=\"Encrypt Source Files before backup\"\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Compression</label>\r\n <Toggle\r\n fieldValue={compression}\r\n onUpdate={(val: boolean) => onUpdate({ ...settings, compression: val })}\r\n description=\"Compress Source Files before backup\"\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <NumberInput\r\n label=\"Retries\"\r\n fieldValue={retries}\r\n onUpdate={(val: number) => onUpdate({ ...settings, retries: val })}\r\n hint=\"How many times a failed backups is retried. Default: 5.\"\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <NumberInput\r\n label=\"Retries Delay\"\r\n fieldValue={retryDelay}\r\n onUpdate={(val: number) => onUpdate({ ...settings, retryDelay: val })}\r\n hint=\"How long to wait before retrying a failed backup. Default: 300 seconds.\"\r\n inline={false}\r\n />\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default PlanGeneralSettings;\r\n"],"names":["PlanGeneralSettings","settings","onUpdate","encryption","compression","retries","retryDelay","jsxs","Fragment","classes","jsx","Toggle","val","NumberInput"],"mappings":";;;;AAUA,MAAMA,IAAsB,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAyC;AAC/E,QAAM,EAAE,YAAAC,GAAY,aAAAC,GAAa,SAAAC,GAAS,YAAAC,MAAeL;AACzD,SACG,gBAAAM,EAAAC,GAAA,EACG,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWE,EAAQ,OACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAA,EAAM,WAAWD,EAAQ,OAAO,UAAA,cAAU;AAAA,MAC3C,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,YAAYR;AAAA,UACZ,UAAU,CAACS,MAAiBV,EAAS,EAAE,GAAGD,GAAU,YAAYW,GAAK;AAAA,UACrE,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACf,GACH;AAAA,IACA,gBAAAL,EAAC,OAAA,EAAI,WAAWE,EAAQ,OACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAA,EAAM,WAAWD,EAAQ,OAAO,UAAA,eAAW;AAAA,MAC5C,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,YAAYP;AAAA,UACZ,UAAU,CAACQ,MAAiBV,EAAS,EAAE,GAAGD,GAAU,aAAaW,GAAK;AAAA,UACtE,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACf,GACH;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAWD,EAAQ,OACrB,UAAA,gBAAAC;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYR;AAAA,QACZ,UAAU,CAACO,MAAgBV,EAAS,EAAE,GAAGD,GAAU,SAASW,GAAK;AAAA,QACjE,MAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAWD,EAAQ,OACrB,UAAA,gBAAAC;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYP;AAAA,QACZ,UAAU,CAACM,MAAgBV,EAAS,EAAE,GAAGD,GAAU,YAAYW,GAAK;AAAA,QACpE,MAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,IAAA,EACX,CACH;AAAA,EAAA,GACH;AAEN;"}
1
+ {"version":3,"file":"PlanGeneralSettings.js","sources":["../../../../src/components/Plan/PlanSettings/PlanGeneralSettings.tsx"],"sourcesContent":["import { NewPlanSettings } from '../../../@types/plans';\r\nimport NumberInput from '../../common/form/NumberInput/NumberInput';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport classes from './PlanSettings.module.scss';\r\n\r\ninterface PlanGeneralSettingsProps {\r\n settings: NewPlanSettings['settings'];\r\n onUpdate: (settings: NewPlanSettings['settings']) => void;\r\n isEditing: boolean;\r\n}\r\n\r\nconst PlanGeneralSettings = ({ settings, onUpdate, isEditing }: PlanGeneralSettingsProps) => {\r\n const { encryption, compression, retries, retryDelay } = settings;\r\n return (\r\n <>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Encryption</label>\r\n <Toggle\r\n fieldValue={encryption}\r\n disabled={isEditing}\r\n onUpdate={(val: boolean) => onUpdate({ ...settings, encryption: val })}\r\n description=\"Encrypt Source Files before backup\"\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <label className={classes.label}>Compression</label>\r\n <Toggle\r\n fieldValue={compression}\r\n onUpdate={(val: boolean) => onUpdate({ ...settings, compression: val })}\r\n description=\"Compress Source Files before backup\"\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <NumberInput\r\n label=\"Retries\"\r\n fieldValue={retries}\r\n onUpdate={(val: number) => onUpdate({ ...settings, retries: val })}\r\n hint=\"How many times a failed backups is retried. Default: 5.\"\r\n inline={false}\r\n />\r\n </div>\r\n <div className={classes.field}>\r\n <NumberInput\r\n label=\"Retries Delay\"\r\n fieldValue={retryDelay}\r\n onUpdate={(val: number) => onUpdate({ ...settings, retryDelay: val })}\r\n hint=\"How long to wait before retrying a failed backup. Default: 300 seconds.\"\r\n inline={false}\r\n />\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default PlanGeneralSettings;\r\n"],"names":["PlanGeneralSettings","settings","onUpdate","isEditing","encryption","compression","retries","retryDelay","jsxs","Fragment","classes","jsx","Toggle","val","NumberInput"],"mappings":";;;;AAWA,MAAMA,IAAsB,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,WAAAC,QAA0C;AAC1F,QAAM,EAAE,YAAAC,GAAY,aAAAC,GAAa,SAAAC,GAAS,YAAAC,MAAeN;AACzD,SACG,gBAAAO,EAAAC,GAAA,EACG,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWE,EAAQ,OACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAA,EAAM,WAAWD,EAAQ,OAAO,UAAA,cAAU;AAAA,MAC3C,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,YAAYR;AAAA,UACZ,UAAUD;AAAA,UACV,UAAU,CAACU,MAAiBX,EAAS,EAAE,GAAGD,GAAU,YAAYY,GAAK;AAAA,UACrE,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACf,GACH;AAAA,IACA,gBAAAL,EAAC,OAAA,EAAI,WAAWE,EAAQ,OACrB,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAA,EAAM,WAAWD,EAAQ,OAAO,UAAA,eAAW;AAAA,MAC5C,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,YAAYP;AAAA,UACZ,UAAU,CAACQ,MAAiBX,EAAS,EAAE,GAAGD,GAAU,aAAaY,GAAK;AAAA,UACtE,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACf,GACH;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAWD,EAAQ,OACrB,UAAA,gBAAAC;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYR;AAAA,QACZ,UAAU,CAACO,MAAgBX,EAAS,EAAE,GAAGD,GAAU,SAASY,GAAK;AAAA,QACjE,MAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAWD,EAAQ,OACrB,UAAA,gBAAAC;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,OAAM;AAAA,QACN,YAAYP;AAAA,QACZ,UAAU,CAACM,MAAgBX,EAAS,EAAE,GAAGD,GAAU,YAAYY,GAAK;AAAA,QACpE,MAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,IAAA,EACX,CACH;AAAA,EAAA,GACH;AAEN;"}
@@ -5,9 +5,10 @@ type ToggleProps = {
5
5
  inline?: boolean;
6
6
  hint?: string;
7
7
  error?: string;
8
+ disabled?: boolean;
8
9
  fieldValue: boolean;
9
10
  onUpdate: (f: boolean) => void;
10
11
  };
11
- declare const Toggle: ({ label, description, customClasses, fieldValue, inline, hint, error, onUpdate }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const Toggle: ({ label, description, customClasses, fieldValue, inline, hint, error, disabled, onUpdate, }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
12
13
  export default Toggle;
13
14
  //# sourceMappingURL=Toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/Toggle/Toggle.tsx"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,QAAA,MAAM,MAAM,GAAI,kFAA4G,WAAW,4CAgBtI,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/Toggle/Toggle.tsx"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,QAAA,MAAM,MAAM,GAAI,6FAUb,WAAW,4CAgBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,16 +1,26 @@
1
- import { jsx as e, jsxs as h } from "react/jsx-runtime";
2
- import { nanoid as u } from "nanoid";
1
+ import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
+ import { nanoid as f } from "nanoid";
3
3
  import t from "./Toggle.module.scss.js";
4
- import f from "../FormField/FormField.js";
5
- const b = ({ label: o, description: r, customClasses: c = "", fieldValue: l = !1, inline: n = !1, hint: a = "", error: i, onUpdate: g }) => {
6
- const s = u(), d = (m) => {
7
- const p = m.currentTarget.value === "true";
8
- g(!p);
4
+ import x from "../FormField/FormField.js";
5
+ const b = ({
6
+ label: o,
7
+ description: l,
8
+ customClasses: c = "",
9
+ fieldValue: r = !1,
10
+ inline: n = !1,
11
+ hint: i = "",
12
+ error: g,
13
+ disabled: s = !1,
14
+ onUpdate: m
15
+ }) => {
16
+ const a = f(), d = (p) => {
17
+ const h = p.currentTarget.value === "true";
18
+ m(!h);
9
19
  };
10
- return /* @__PURE__ */ e(f, { type: "toggle", label: o, hint: a, error: i, inline: n, classes: `${t.toggleField} ${c}`, children: /* @__PURE__ */ h("div", { className: t.toggleCheckbox, children: [
11
- /* @__PURE__ */ e("input", { type: "checkbox", id: s, value: l.toString(), onChange: d, checked: l }),
12
- /* @__PURE__ */ e("label", { htmlFor: s, children: o }),
13
- r && /* @__PURE__ */ e("span", { className: t.description, children: r })
20
+ return /* @__PURE__ */ e(x, { type: "toggle", label: o, hint: i, error: g, inline: n, classes: `${t.toggleField} ${c}`, children: /* @__PURE__ */ u("div", { className: `${t.toggleCheckbox} ${s ? t.toggleDisabled : ""}`, children: [
21
+ /* @__PURE__ */ e("input", { type: "checkbox", id: a, value: r.toString(), onChange: d, checked: r, disabled: s }),
22
+ /* @__PURE__ */ e("label", { htmlFor: a, children: o }),
23
+ l && /* @__PURE__ */ e("span", { className: t.description, children: l })
14
24
  ] }) });
15
25
  };
16
26
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sources":["../../../../../src/components/common/form/Toggle/Toggle.tsx"],"sourcesContent":["import { nanoid } from 'nanoid';\r\nimport classes from './Toggle.module.scss';\r\nimport FormField from '../FormField/FormField';\r\n\r\ntype ToggleProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n inline?: boolean;\r\n hint?: string;\r\n error?: string;\r\n fieldValue: boolean;\r\n onUpdate: (f: boolean) => void;\r\n};\r\n\r\nconst Toggle = ({ label, description, customClasses = '', fieldValue = false, inline = false, hint = '', error, onUpdate }: ToggleProps) => {\r\n const toggleID = nanoid();\r\n const updateField = (event: React.FormEvent<HTMLInputElement>) => {\r\n const inputVal = event.currentTarget.value === 'true';\r\n onUpdate(!inputVal);\r\n };\r\n\r\n return (\r\n <FormField type=\"toggle\" label={label} hint={hint} error={error} inline={inline} classes={`${classes.toggleField} ${customClasses}`}>\r\n <div className={classes.toggleCheckbox}>\r\n <input type=\"checkbox\" id={toggleID} value={fieldValue.toString()} onChange={updateField} checked={fieldValue} />\r\n <label htmlFor={toggleID}>{label}</label>\r\n {description && <span className={classes.description}>{description}</span>}\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default Toggle;\r\n"],"names":["Toggle","label","description","customClasses","fieldValue","inline","hint","error","onUpdate","toggleID","nanoid","updateField","event","inputVal","FormField","classes","jsx"],"mappings":";;;;AAeA,MAAMA,IAAS,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,eAAAC,IAAgB,IAAI,YAAAC,IAAa,IAAO,QAAAC,IAAS,IAAO,MAAAC,IAAO,IAAI,OAAAC,GAAO,UAAAC,QAA4B;AACzI,QAAMC,IAAWC,EAAA,GACXC,IAAc,CAACC,MAA6C;AAC/D,UAAMC,IAAWD,EAAM,cAAc,UAAU;AAC/C,IAAAJ,EAAS,CAACK,CAAQ;AAAA,EACrB;AAEA,2BACIC,GAAA,EAAU,MAAK,UAAS,OAAAb,GAAc,MAAAK,GAAY,OAAAC,GAAc,QAAAF,GAAgB,SAAS,GAAGU,EAAQ,WAAW,IAAIZ,CAAa,IAC9H,4BAAC,OAAA,EAAI,WAAWY,EAAQ,gBACrB,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAA,EAAM,MAAK,YAAW,IAAIP,GAAU,OAAOL,EAAW,SAAA,GAAY,UAAUO,GAAa,SAASP,EAAA,CAAY;AAAA,IAC/G,gBAAAY,EAAC,SAAA,EAAM,SAASP,GAAW,UAAAR,GAAM;AAAA,IAChCC,KAAe,gBAAAc,EAAC,QAAA,EAAK,WAAWD,EAAQ,aAAc,UAAAb,EAAA,CAAY;AAAA,EAAA,EAAA,CACtE,EAAA,CACH;AAEN;"}
1
+ {"version":3,"file":"Toggle.js","sources":["../../../../../src/components/common/form/Toggle/Toggle.tsx"],"sourcesContent":["import { nanoid } from 'nanoid';\r\nimport classes from './Toggle.module.scss';\r\nimport FormField from '../FormField/FormField';\r\n\r\ntype ToggleProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n inline?: boolean;\r\n hint?: string;\r\n error?: string;\r\n disabled?: boolean;\r\n fieldValue: boolean;\r\n onUpdate: (f: boolean) => void;\r\n};\r\n\r\nconst Toggle = ({\r\n label,\r\n description,\r\n customClasses = '',\r\n fieldValue = false,\r\n inline = false,\r\n hint = '',\r\n error,\r\n disabled = false,\r\n onUpdate,\r\n}: ToggleProps) => {\r\n const toggleID = nanoid();\r\n const updateField = (event: React.FormEvent<HTMLInputElement>) => {\r\n const inputVal = event.currentTarget.value === 'true';\r\n onUpdate(!inputVal);\r\n };\r\n\r\n return (\r\n <FormField type=\"toggle\" label={label} hint={hint} error={error} inline={inline} classes={`${classes.toggleField} ${customClasses}`}>\r\n <div className={`${classes.toggleCheckbox} ${disabled ? classes.toggleDisabled : ''}`}>\r\n <input type=\"checkbox\" id={toggleID} value={fieldValue.toString()} onChange={updateField} checked={fieldValue} disabled={disabled} />\r\n <label htmlFor={toggleID}>{label}</label>\r\n {description && <span className={classes.description}>{description}</span>}\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default Toggle;\r\n"],"names":["Toggle","label","description","customClasses","fieldValue","inline","hint","error","disabled","onUpdate","toggleID","nanoid","updateField","event","inputVal","jsx","FormField","classes","jsxs"],"mappings":";;;;AAgBA,MAAMA,IAAS,CAAC;AAAA,EACb,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,YAAAC,IAAa;AAAA,EACb,QAAAC,IAAS;AAAA,EACT,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC;AACH,MAAmB;AAChB,QAAMC,IAAWC,EAAA,GACXC,IAAc,CAACC,MAA6C;AAC/D,UAAMC,IAAWD,EAAM,cAAc,UAAU;AAC/C,IAAAJ,EAAS,CAACK,CAAQ;AAAA,EACrB;AAEA,SACG,gBAAAC,EAACC,GAAA,EAAU,MAAK,UAAS,OAAAf,GAAc,MAAAK,GAAY,OAAAC,GAAc,QAAAF,GAAgB,SAAS,GAAGY,EAAQ,WAAW,IAAId,CAAa,IAC9H,UAAA,gBAAAe,EAAC,OAAA,EAAI,WAAW,GAAGD,EAAQ,cAAc,IAAIT,IAAWS,EAAQ,iBAAiB,EAAE,IAChF,UAAA;AAAA,IAAA,gBAAAF,EAAC,SAAA,EAAM,MAAK,YAAW,IAAIL,GAAU,OAAON,EAAW,SAAA,GAAY,UAAUQ,GAAa,SAASR,GAAY,UAAAI,GAAoB;AAAA,IACnI,gBAAAO,EAAC,SAAA,EAAM,SAASL,GAAW,UAAAT,GAAM;AAAA,IAChCC,KAAe,gBAAAa,EAAC,QAAA,EAAK,WAAWE,EAAQ,aAAc,UAAAf,EAAA,CAAY;AAAA,EAAA,EAAA,CACtE,EAAA,CACH;AAEN;"}
@@ -1,12 +1,14 @@
1
- const e = "_toggleField_0xyXb", o = "_toggleCheckbox_c1r5P", t = "_description_b26iC", c = {
1
+ const e = "_toggleField_cKqNA", o = "_toggleCheckbox_zbKTV", t = "_toggleDisabled_PdwS7", g = "_description_XxZbF", l = {
2
2
  toggleField: e,
3
3
  toggleCheckbox: o,
4
- description: t
4
+ toggleDisabled: t,
5
+ description: g
5
6
  };
6
7
  export {
7
- c as default,
8
- t as description,
8
+ l as default,
9
+ g as description,
9
10
  o as toggleCheckbox,
11
+ t as toggleDisabled,
10
12
  e as toggleField
11
13
  };
12
14
  //# sourceMappingURL=Toggle.module.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"Toggle.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePlanSingleActions.d.ts","sourceRoot":"","sources":["../../src/hooks/usePlanSingleActions.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,QAAO;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;CA0HxB,CAAC"}
1
+ {"version":3,"file":"usePlanSingleActions.d.ts","sourceRoot":"","sources":["../../src/hooks/usePlanSingleActions.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,QAAO;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;CA4HxB,CAAC"}