import { FieldTypes as SealiousFieldTypes } from "sealious"; import { PickFromListField } from "./pick-from-list.js"; import { ExtractedFieldInfo } from "../../utils/extract-fields-from-collection.js"; export class PickFromListSealious< Required extends boolean, > extends PickFromListField { constructor(public sealious_field: SealiousFieldTypes.Enum) { super(sealious_field.required as Required, async (ctx) => sealious_field .getAllowedValues(ctx.$app) .map((value) => ({ value, label: value })) ); } generateFieldDeclaration( field_info: ExtractedFieldInfo, vars: { form_field_types: string; sealious_field: string } ): string { return `new ${vars.form_field_types}.${this.constructor.name}(${vars.sealious_field})`; } }