Skip to content

Fluent schema API #2

Closed
Closed

Description

@n4ff4h

Form::make()->schema([Section::make('Details')->schema([TextInput::make('name')->required(), Select::make('status')->options(Status::class)])]). Layout components (Section, Grid, Fieldset, Tabs, Wizard) and a field for every javaabu/forms component. Framework-agnostic: the schema knows nothing about Blade or React.

Activity

  1. added
    next-genNext-gen Javaabu packages
    featurePackage feature from the spec
    on Nov 4, 2026
  2. n4ff4h commented on Nov 4, 2026

    @n4ff4h
    CollaboratorAuthor

    Done in 2e6b66a; docs in 0b2b163 (docs/basic-usage/forms.md, fields.md, layout.md). The schema API covers forms built inline (Form::make()->schema()) or as classes (definition()). Layouts are Section, Grid, Group, Fieldset, Tabs/Tab and Wizard/Step. Display components are Alert and TextEntry. Fields: TextInput (text, email, password, tel, url, number), Textarea, Wysiwyg, Hidden, Select (plus searchable/select2, multiple, relationship, ajax, tags), Checkbox, CheckboxList, Radio, Date/DateTime/TimePicker, FileUpload and ImageUpload. Each field renders as the matching javaabu/forms component. The schema is framework-agnostic: drivers read the resolved Node tree. MapInput isn't a stencil field yet; a map field can be added as a custom field type (#8).

  3. n4ff4h commented on Nov 4, 2026

    @n4ff4h
    CollaboratorAuthor

    Done in 2e6b66a; docs in 0b2b163 (docs/basic-usage/forms.md, fields.md, layout.md). The schema API covers forms built inline (Form::make()->schema()) or as classes (definition()). Layouts are Section, Grid, Group, Fieldset, Tabs/Tab and Wizard/Step. Display components are Alert and TextEntry. Fields: TextInput (text, email, password, tel, url, number), Textarea, Wysiwyg, Hidden, Select (plus searchable/select2, multiple, relationship, ajax, tags), Checkbox, CheckboxList, Radio, Date/DateTime/TimePicker, FileUpload and ImageUpload. Each field renders as the matching javaabu/forms component. The schema is framework-agnostic: drivers read the resolved Node tree. MapInput isn't a stencil field yet; a map field can be added as a custom field type (#8).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurePackage feature from the specnext-genNext-gen Javaabu packages

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions