@plutonhq/core-frontend 0.1.18 → 0.1.19
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.
|
@@ -9,16 +9,16 @@ import x from "../../common/form/NumberInput/NumberInput.js";
|
|
|
9
9
|
import f from "../../common/form/Select/Select.js";
|
|
10
10
|
import { shouldDisplayStorageField as w } from "../../../utils/helpers.js";
|
|
11
11
|
import I from "../../common/form/PasswordField/PasswordField.js";
|
|
12
|
-
const L = ({ fields:
|
|
12
|
+
const L = ({ fields: i, onUpdate: o, settings: l, errors: v = {} }) => {
|
|
13
13
|
const [c, p] = T({});
|
|
14
14
|
return N(() => {
|
|
15
15
|
const e = {};
|
|
16
|
-
|
|
16
|
+
i.forEach((r) => {
|
|
17
17
|
r.allowCustom && r.fieldType === "select" && (e[r.value] = l[r.value] === "custom" || c[r.value] || !1);
|
|
18
18
|
}), p(e);
|
|
19
|
-
}, [
|
|
20
|
-
|
|
21
|
-
if (!w(e, l,
|
|
19
|
+
}, [i]), /* @__PURE__ */ s(b, { children: [
|
|
20
|
+
i.map((e) => {
|
|
21
|
+
if (!w(e, l, i))
|
|
22
22
|
return null;
|
|
23
23
|
const r = e.description + `
|
|
24
24
|
` + (e.default ? `Default: ${e.default}` : ""), n = e.label + (e.required ? "*" : "");
|
|
@@ -34,7 +34,7 @@ const L = ({ fields: m, onUpdate: o, settings: l, errors: v = {} }) => {
|
|
|
34
34
|
error: v[e.value] || ""
|
|
35
35
|
}
|
|
36
36
|
) }, e.value);
|
|
37
|
-
if (e.
|
|
37
|
+
if (e.fieldType === "password")
|
|
38
38
|
return /* @__PURE__ */ u("div", { className: t.field, children: /* @__PURE__ */ u(
|
|
39
39
|
I,
|
|
40
40
|
{
|
|
@@ -98,7 +98,7 @@ const L = ({ fields: m, onUpdate: o, settings: l, errors: v = {} }) => {
|
|
|
98
98
|
}
|
|
99
99
|
) }, e.value);
|
|
100
100
|
if (e.fieldType === "select" && e.options) {
|
|
101
|
-
const a = e.options.find((
|
|
101
|
+
const a = e.options.find((m) => m.value === "custom");
|
|
102
102
|
return /* @__PURE__ */ u(b, { children: /* @__PURE__ */ s("div", { className: t.field, children: [
|
|
103
103
|
/* @__PURE__ */ u(
|
|
104
104
|
f,
|
|
@@ -107,11 +107,11 @@ const L = ({ fields: m, onUpdate: o, settings: l, errors: v = {} }) => {
|
|
|
107
107
|
options: e.options,
|
|
108
108
|
fieldValue: c[e.value] && (a != null && a.value) ? a == null ? void 0 : a.value : l[e.value] || "",
|
|
109
109
|
hint: r,
|
|
110
|
-
onUpdate: (
|
|
110
|
+
onUpdate: (m) => {
|
|
111
111
|
e.allowCustom && p((y) => ({
|
|
112
112
|
...y,
|
|
113
|
-
[e.value]:
|
|
114
|
-
})), o({ ...l, [e.value]:
|
|
113
|
+
[e.value]: m === "custom"
|
|
114
|
+
})), o({ ...l, [e.value]: m });
|
|
115
115
|
},
|
|
116
116
|
error: v[e.value] || "",
|
|
117
117
|
inline: !0
|
|
@@ -123,7 +123,7 @@ const L = ({ fields: m, onUpdate: o, settings: l, errors: v = {} }) => {
|
|
|
123
123
|
label: (a == null ? void 0 : a.label) || "Insert Custom",
|
|
124
124
|
inline: !0,
|
|
125
125
|
fieldValue: l[e.value] || "",
|
|
126
|
-
onUpdate: (
|
|
126
|
+
onUpdate: (m) => o({ ...l, [e.value]: m }),
|
|
127
127
|
error: v[e.value] || ""
|
|
128
128
|
}
|
|
129
129
|
) }, e.value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageSettings.js","sources":["../../../../src/components/Storage/StorageSettings/StorageSettings.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Tristate from '../../common/form/Tristate/Tristate';\r\nimport SizePicker from '../../common/form/SizePicker/SizePicker';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport { storageOptionField } from '../../../@types/storages';\r\nimport classes from './StorageSettings.module.scss';\r\nimport NumberInput from '../../common/form/NumberInput/NumberInput';\r\nimport Select from '../../common/form/Select/Select';\r\nimport { shouldDisplayStorageField } from '../../../utils/helpers';\r\nimport PasswordField from '../../common/form/PasswordField/PasswordField';\r\n\r\ntype StorageSettingsProps = {\r\n fields: storageOptionField[];\r\n settings: Record<string, string | number | boolean>;\r\n errors?: Record<string, string>;\r\n onUpdate: (newSettings: StorageSettingsProps['settings']) => void;\r\n};\r\n\r\nconst StorageSettings = ({ fields, onUpdate, settings, errors = {} }: StorageSettingsProps) => {\r\n const [customFieldsActive, setCustomFieldsActive] = useState<Record<string, boolean>>({});\r\n\r\n // Initialize the custom fields state when settings change\r\n useEffect(() => {\r\n const initialCustomFields: Record<string, boolean> = {};\r\n\r\n fields.forEach((field) => {\r\n if (field.allowCustom && field.fieldType === 'select') {\r\n // Check if this field previously had custom selected\r\n initialCustomFields[field.value] = settings[field.value] === 'custom' || customFieldsActive[field.value] || false;\r\n }\r\n });\r\n\r\n setCustomFieldsActive(initialCustomFields);\r\n }, [fields]);\r\n return (\r\n <>\r\n {fields.map((field) => {\r\n // Skip rendering if conditions aren't met\r\n if (!shouldDisplayStorageField(field, settings, fields)) {\r\n return null;\r\n }\r\n const hint = field.description + '\\n' + (field.default ? `Default: ${field.default}` : '');\r\n const fieldLabel = field.label + (field.required ? '*' : '');\r\n if (field.fieldType === 'bool') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Toggle\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as boolean) || false}\r\n onUpdate={(newVal: boolean) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.authFieldType && ['input', 'string'].includes(field.fieldType)) {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <PasswordField\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (['input', 'string', 'time', 'duration', 'encoding', 'bits', 'spaceseplist', 'commaseplist'].includes(field.fieldType)) {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Input\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n if (field.fieldType === 'int') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <NumberInput\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as number) || ''}\r\n hint={hint}\r\n onUpdate={(newVal) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'tristate') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Tristate\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n options={[\r\n { label: 'On', value: 'true' },\r\n { label: 'Off', value: 'false' },\r\n { label: 'Unset', value: 'unset' },\r\n ]}\r\n hint={hint}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'sizesuffix') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <SizePicker\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n hint={hint}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'select' && field.options) {\r\n const customField = field.options.find((o) => o.value === 'custom');\r\n return (\r\n <>\r\n <div key={field.value} className={classes.field}>\r\n <Select\r\n label={fieldLabel}\r\n options={field.options}\r\n fieldValue={\r\n customFieldsActive[field.value] && customField?.value ? customField?.value : (settings[field.value] as string) || ''\r\n }\r\n hint={hint}\r\n onUpdate={(newVal: string) => {\r\n if (field.allowCustom) {\r\n setCustomFieldsActive((prev) => ({\r\n ...prev,\r\n [field.value]: newVal === 'custom',\r\n }));\r\n }\r\n onUpdate({ ...settings, [field.value]: newVal });\r\n }}\r\n error={errors[field.value] || ''}\r\n inline={true}\r\n />\r\n {field.allowCustom && customFieldsActive[field.value] && (\r\n <div key={field.value} className={classes.field} style={{ margin: '20px 0' }}>\r\n <Input\r\n label={customField?.label || 'Insert Custom'}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n }\r\n return null;\r\n })}{' '}\r\n </>\r\n );\r\n};\r\nexport default StorageSettings;\r\n"],"names":["StorageSettings","fields","onUpdate","settings","errors","customFieldsActive","setCustomFieldsActive","useState","useEffect","initialCustomFields","field","jsxs","Fragment","shouldDisplayStorageField","hint","fieldLabel","jsx","classes","Toggle","newVal","PasswordField","Input","NumberInput","Tristate","SizePicker","customField","o","Select","prev"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageSettings.js","sources":["../../../../src/components/Storage/StorageSettings/StorageSettings.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport Input from '../../common/form/Input/Input';\r\nimport Tristate from '../../common/form/Tristate/Tristate';\r\nimport SizePicker from '../../common/form/SizePicker/SizePicker';\r\nimport Toggle from '../../common/form/Toggle/Toggle';\r\nimport { storageOptionField } from '../../../@types/storages';\r\nimport classes from './StorageSettings.module.scss';\r\nimport NumberInput from '../../common/form/NumberInput/NumberInput';\r\nimport Select from '../../common/form/Select/Select';\r\nimport { shouldDisplayStorageField } from '../../../utils/helpers';\r\nimport PasswordField from '../../common/form/PasswordField/PasswordField';\r\n\r\ntype StorageSettingsProps = {\r\n fields: storageOptionField[];\r\n settings: Record<string, string | number | boolean>;\r\n errors?: Record<string, string>;\r\n onUpdate: (newSettings: StorageSettingsProps['settings']) => void;\r\n};\r\n\r\nconst StorageSettings = ({ fields, onUpdate, settings, errors = {} }: StorageSettingsProps) => {\r\n const [customFieldsActive, setCustomFieldsActive] = useState<Record<string, boolean>>({});\r\n\r\n // Initialize the custom fields state when settings change\r\n useEffect(() => {\r\n const initialCustomFields: Record<string, boolean> = {};\r\n\r\n fields.forEach((field) => {\r\n if (field.allowCustom && field.fieldType === 'select') {\r\n // Check if this field previously had custom selected\r\n initialCustomFields[field.value] = settings[field.value] === 'custom' || customFieldsActive[field.value] || false;\r\n }\r\n });\r\n\r\n setCustomFieldsActive(initialCustomFields);\r\n }, [fields]);\r\n return (\r\n <>\r\n {fields.map((field) => {\r\n // Skip rendering if conditions aren't met\r\n if (!shouldDisplayStorageField(field, settings, fields)) {\r\n return null;\r\n }\r\n const hint = field.description + '\\n' + (field.default ? `Default: ${field.default}` : '');\r\n const fieldLabel = field.label + (field.required ? '*' : '');\r\n if (field.fieldType === 'bool') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Toggle\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as boolean) || false}\r\n onUpdate={(newVal: boolean) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'password') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <PasswordField\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (['input', 'string', 'time', 'duration', 'encoding', 'bits', 'spaceseplist', 'commaseplist'].includes(field.fieldType)) {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Input\r\n label={fieldLabel}\r\n inline={true}\r\n hint={hint}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n if (field.fieldType === 'int') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <NumberInput\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as number) || ''}\r\n hint={hint}\r\n onUpdate={(newVal) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'tristate') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <Tristate\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n options={[\r\n { label: 'On', value: 'true' },\r\n { label: 'Off', value: 'false' },\r\n { label: 'Unset', value: 'unset' },\r\n ]}\r\n hint={hint}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'sizesuffix') {\r\n return (\r\n <div key={field.value} className={classes.field}>\r\n <SizePicker\r\n label={fieldLabel}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n hint={hint}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n />\r\n </div>\r\n );\r\n }\r\n if (field.fieldType === 'select' && field.options) {\r\n const customField = field.options.find((o) => o.value === 'custom');\r\n return (\r\n <>\r\n <div key={field.value} className={classes.field}>\r\n <Select\r\n label={fieldLabel}\r\n options={field.options}\r\n fieldValue={\r\n customFieldsActive[field.value] && customField?.value ? customField?.value : (settings[field.value] as string) || ''\r\n }\r\n hint={hint}\r\n onUpdate={(newVal: string) => {\r\n if (field.allowCustom) {\r\n setCustomFieldsActive((prev) => ({\r\n ...prev,\r\n [field.value]: newVal === 'custom',\r\n }));\r\n }\r\n onUpdate({ ...settings, [field.value]: newVal });\r\n }}\r\n error={errors[field.value] || ''}\r\n inline={true}\r\n />\r\n {field.allowCustom && customFieldsActive[field.value] && (\r\n <div key={field.value} className={classes.field} style={{ margin: '20px 0' }}>\r\n <Input\r\n label={customField?.label || 'Insert Custom'}\r\n inline={true}\r\n fieldValue={(settings[field.value] as string) || ''}\r\n onUpdate={(newVal: string) => onUpdate({ ...settings, [field.value]: newVal })}\r\n error={errors[field.value] || ''}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n );\r\n }\r\n return null;\r\n })}{' '}\r\n </>\r\n );\r\n};\r\nexport default StorageSettings;\r\n"],"names":["StorageSettings","fields","onUpdate","settings","errors","customFieldsActive","setCustomFieldsActive","useState","useEffect","initialCustomFields","field","jsxs","Fragment","shouldDisplayStorageField","hint","fieldLabel","jsx","classes","Toggle","newVal","PasswordField","Input","NumberInput","Tristate","SizePicker","customField","o","Select","prev"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -56,7 +56,7 @@ const StorageSettings = ({ fields, onUpdate, settings, errors = {} }: StorageSet
|
|
|
56
56
|
</div>
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
|
-
if (field.
|
|
59
|
+
if (field.fieldType === 'password') {
|
|
60
60
|
return (
|
|
61
61
|
<div key={field.value} className={classes.field}>
|
|
62
62
|
<PasswordField
|