appsmithorg / appsmithorg/appsmith

[Feature] Form Field widget standardisation

Open
#9,136 1 comment 1 reaction 5 assignees Claimed by @somangshu View on GitHub
Enhancement Needs PRD Property Pane Query Widgets & IDE Pod UI Building Product Widget Property Widgets & Accelerators Pod Widgets Product
Dominant language
TypeScript
Stars
40.9k
Forks
4.8k
Avg merge
1d 22h
Merged PRs (30d)
45

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Summary

Acheive predictable grouping and set of properties in all the Form field widgets

- [ ] Input Widget
- [ ] DatePicker Widget
- [ ] Switch Widget
- [ ] FilePicker Widget
- [ ] Select Widget
- [ ] Multi-select Widget
- [ ] Checkbox Widget
- [ ] RadioGroup Widget
- [ ] TreeSelect Widget
- [ ] Multi-TreeSelect Widget
- [ ] Audio Recorder Widget
- [ ] RichTextEditor Widget
- [ ] Rate Widget
- [ ] CheckboxGroup Widget

A few potential issues to note,
- [ ] Padding is inconsistent between CheckboxGroup and Checkbox Widget
- [x] Labels are only available in InputWidget, TreeSelect Widget, Multi Tree Select Widget
- [x] Position of labels are different in InputWidget and (Multi)TreeSelectWidget
- [x] Inconsistent popovers between Multi and Tree Select Widgets

Common list of properties in a general form field component
- [x] defaultValue
- [x] onChange/onValueChange
- [x] Label
- [x] onKeyPress
- [x] isVisible
- [x] isRequired
- [x] isDisabled
- [x] ValidationFn
- [x] Tooltip (Helper Text)
- [x] Tooltip (Error)
- [ ] onFocus
- [ ] onBlur
- [x] Label Styles and or field styles

### Why should this be worked on?

- [x] It is hard to consistently find properties as they lack predictable grouping
- [x] Some properties are missing in widgets, which should ideally have them
- [x] Alignment and such concerns arise if the padding and UI are not consistent

Screenshot 2021-11-12 at 3 08 28 PM

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.