Page MenuHomeSealhub

structured-array.ts
No OneTemporary

structured-array.ts

import {
FieldHandler,
FieldHandlerResult,
} from "../shared-crud-form-fields.js";
export const structured_array_handler: FieldHandler<
FieldHandlerResult,
Partial<FieldHandlerResult>
> = async (_, { name, subfields }, __, { fields_var }) => ({
field: `${name}: new Fields.Table({
${subfields
.map(
(subfield) =>
`${subfield.name}: new Fields.SimpleFormField(true)`
)
.join(",\n")}
})`,
controls: `new Controls.Table(${fields_var}.${name}, {
label: "${name}",
render_fields: {
${subfields
.map(
({
name,
}) => `"${name}": (fctx, name, value) => /* HTML */ \`<input
name="\${name}"
value="\${value}"
form="\${fctx.form_id}"
autocomplete="off"
/>\``
)
.join(",\n")}
},
allow_adding: true,
allow_removing: true,
make_new_row: async () => ({
${subfields.map(({ name }) => `"${name}": ""`).join(",\n")}
}),
})`,
fallback_value_sealious: `[]`,
});

File Metadata

Mime Type
text/plain
Expires
Wed, May 7, 19:39 (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
625497
Default Alt Text
structured-array.ts (993 B)

Event Timeline