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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions