Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Required component set #25

@HendrikThePendric

Description

@HendrikThePendric

We should discuss and document which components are needed in this repo. I will suggest a list below, which can be be discussed and edited until we are all happy with it:

  • Switch: Toggle a single property false/true
  • Checkbox: Toggle a single property false/true
  • RadioGroup: Select a single value from a short list of options (use a select if there is a longer list)
  • CheckboxGroup: Select multiple values from a short list of options (use a multi-select if the list is longer)
  • SingleSelect: Select a single value from a list of options (if the list of options is very long a searchable select would be preferred)
  • MultiSelect: Select multiple values from a list of options (if the list of options is very long a searchable select would be preferred)
  • SearchableSelect: Select a single value or multiple values from a long list. Should include a text input for filtering, and quite likely support async searching.
  • Input / InputField: Enter a single line of text, a password, email, number, url
  • TextArea: Enter multiple lines of text
  • RichText: Enter multiple lines of formatted text
  • FormulaEditor: Edit a formula (text)
  • Expression manager: Edit an expression (text)
  • File: Upload a file
  • DatePicker: Pick a date (perhaps incl. support for time and date/time)
  • PeriodPicker: Select a single period
  • PeriodSelector: Select multiple periods
  • OrgUnitTree: Select a single, or multiple org-units
  • Coordinate/Location: x,y coordinates for a location. Possible to be entered manually or picked from a map inside a modal dialog.
  • Polygon: similar to x,y coordinates, but this is a set of coordinates that form a polygon on a map. Picked from a map, not possible to enter manually.
  • Age: currently this is handled with a frankenstein combo of a date selector (date of birth) and several number inputs (46 years, 10 months, 2 days). This is a tough component because a lot of patients do not know their date of birth, so a simple calendar/date input does not fulfill requirements, there needs to be functionality for approximate values. (Of course, you could approximately pick from a calendar, but that has proven unintuitive).
  • Photo/image: technically a subset of the File type you listed above, but different in how it is displayed: a thumbnail is shown when an image is set / is selected for upload.
  • Time: I saw you mentioned this on the datePicker, just a note to say we definitely do need a date/time and time only input.

Obviously, for some of these there is still a long road ahead, but I just wanted to make this a comprehensive list.

Reg. multi-select: as @cooper-joe @Mohammer5 and I discussed on Slack, we already have multi-select component, which is the GroupEditor.


Edit (by @Mohammer5):

I converted the list of this issue into a checkbox list.
Let's make this a living issue that reflects the current state of development and decision making.


Edit (by @HendrikThePendric):

Added the points that @cooper-joe suggested to the living list


Edit (by @HendrikThePendric) (9-12-2019):

Updated the list to reflect the current progress (PR still in review ATM)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions