Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FormLayout: new layout model #7172

Open
26 tasks
rolfsmeds opened this issue Jan 8, 2025 · 0 comments
Open
26 tasks

FormLayout: new layout model #7172

rolfsmeds opened this issue Jan 8, 2025 · 0 comments
Labels
acceptance criteria used for the acceptance criteria checklist DS Design System feature (e.g. component) v24.7

Comments

@rolfsmeds
Copy link
Collaborator

Description

The current FormLayout layout model is inflexible and has several issues. A new layout model based on css grid provides more flexibility, solves many of the issues, and can be backward compatible with the old model.

Features

  • Supports explicit grouping of fields into rows (defaulting to single column)
  • Automatic breakpoints based on desired column width and available space (based on css grid and container queries)
  • Side-labels doesn’t require FormItem wrapping (at least for field components)
  • Field size independent of column width
  • FormSections with titles for splitting long forms
  • Fully backward compatible with old model (through configuration and/or feature flag)

Acceptance criteria

  • Defaults to single-column mode
  • FormLayoutRow / vaadin-form-layout-row for creating explicit rows of fields
  • Number of columns automatically determined based on a configurable column width and the available space
  • Automatic wrapping of fields into FormItems for side-label mode
    • Other elements may still require manual FormItem wrapping
  • Field width independent from column width
  • Colspan support
  • FormLayoutSection / vaadin-form-layout-section with titles, for splitting long forms
  • APIs for
    • Setting column width
    • Setting whether columns stretch to fill layout width
    • Setting whether fields stretch to fill their columns
    • Setting min/max number of columns
    • Setting column gap
    • Switching to multi-column-default mode (like current FormLayout)
    • Switching to side-labels mode
    • Setting ResponsiveSteps (for backward compatibility)
      • Constant for setting the default steps from the current model

General criteria

  • APIs reviewed
  • Design
  • Performance
  • UX/DX tests in Alpha
  • Documentation:
  • How to test?
  • Limitations:

Security

  • Security implications have been taken into account (elaborate or link to product security requirement specification if there are implications)
@rolfsmeds rolfsmeds added acceptance criteria used for the acceptance criteria checklist DS Design System feature (e.g. component) labels Jan 8, 2025
@rolfsmeds rolfsmeds added this to Roadmap Jan 8, 2025
@rolfsmeds rolfsmeds moved this to March 2025 (V24.7) in Roadmap Jan 8, 2025
@ZheSun88 ZheSun88 added the v24.7 label Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acceptance criteria used for the acceptance criteria checklist DS Design System feature (e.g. component) v24.7
Projects
Status: March 2025 (24.7)
Development

No branches or pull requests

2 participants