normalized field settings argument name and multiple required tooltip

This commit is contained in:
Gani Georgiev
2026-06-08 09:50:49 +03:00
parent bff6b4c3ab
commit 77639f94ce
23 changed files with 232 additions and 233 deletions
+16 -16
View File
@@ -5,10 +5,10 @@
// get fieldIndex: int/-1,
// get originalField: undefined
// }
export function settings(data) {
export function settings(props) {
const uniqueId = "f_" + app.utils.randomString();
return app.components.fieldSettings(data, {
return app.components.fieldSettings(props, {
content: () =>
t.div(
{ className: "grid sm" },
@@ -29,12 +29,12 @@ export function settings(data) {
t.input({
type: "text",
id: uniqueId + ".exceptDomains",
disabled: () => !app.utils.isEmpty(data.field.onlyDomains),
name: () => `fields.${data.fieldIndex}.exceptDomains`,
value: () => app.utils.joinNonEmpty(data.field.exceptDomains),
disabled: () => !app.utils.isEmpty(props.field.onlyDomains),
name: () => `fields.${props.fieldIndex}.exceptDomains`,
value: () => app.utils.joinNonEmpty(props.field.exceptDomains),
onchange: (
e,
) => (data.field.exceptDomains = app.utils.splitNonEmpty(e.target.value, ",")),
) => (props.field.exceptDomains = app.utils.splitNonEmpty(e.target.value, ",")),
}),
),
t.div({ className: "field-help" }, "Use comma as separator."),
@@ -56,10 +56,10 @@ export function settings(data) {
t.input({
type: "text",
id: uniqueId + ".onlyDomains",
disabled: () => !app.utils.isEmpty(data.field.exceptDomains),
name: () => `fields.${data.fieldIndex}.onlyDomains`,
value: () => app.utils.joinNonEmpty(data.field.onlyDomains),
onchange: (e) => (data.field.onlyDomains = app.utils.splitNonEmpty(e.target.value, ",")),
disabled: () => !app.utils.isEmpty(props.field.exceptDomains),
name: () => `fields.${props.fieldIndex}.onlyDomains`,
value: () => app.utils.joinNonEmpty(props.field.onlyDomains),
onchange: (e) => (props.field.onlyDomains = app.utils.splitNonEmpty(e.target.value, ",")),
}),
),
t.div({ className: "field-help" }, "Use comma as separator."),
@@ -72,9 +72,9 @@ export function settings(data) {
t.input({
type: "text",
id: uniqueId + ".help",
name: () => `fields.${data.fieldIndex}.help`,
value: () => data.field.help || "",
oninput: (e) => (data.field.help = e.target.value),
name: () => `fields.${props.fieldIndex}.help`,
value: () => props.field.help || "",
oninput: (e) => (props.field.help = e.target.value),
}),
),
),
@@ -86,9 +86,9 @@ export function settings(data) {
className: "sm",
type: "checkbox",
id: uniqueId + ".required",
name: () => `fields.${data.fieldIndex}.required`,
checked: () => !!data.field.required,
onchange: (e) => (data.field.required = e.target.checked),
name: () => `fields.${props.fieldIndex}.required`,
checked: () => !!props.field.required,
onchange: (e) => (props.field.required = e.target.checked),
}),
t.label(
{ htmlFor: uniqueId + ".required" },