This repository was archived by the owner on Jan 9, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 191
Components specs #1
Copy link
Copy link
Open
Labels
Milestone
Description
Here are listed must-have components. The list will be expanded and improved over time. If a component depends on a 3rd party component, it must be wrapped it in a way that it could be replaced with no effort, if we want to change that dependency in the future: we need to expose our public API. Some dependency are still missing because we need to test some libraries before deciding.
Components we need:
- Table based on react-table bundlephobia (Tables #28)
- (remote) pagination
- injecatble behaviours
- fuzzy search
- (remote) searchable columns
- (remote) sortable content
- custom column actions
- inline row details
- ...
- Form, based on Formik library bundlephobia, (Forms #32) must have:
- form builder: outputs a jsonschema, including validation and field types
- auto building forms from a jsonschema
- auto validating on predefined input types; function on custom input types
- Rich text editor: (Rich Text Editor #29)
- TinyMCE bundlephobia (we need also to add globally tinymce.min.js that is another 452KB, but we can cache it in an aggressive way): we have to check if the license is compatible with a MIT licensed opensource project
- Loader based on react-spinners bundlephobia
- Viewer:
- dicom based on OHIF
- 3d files based on three.js bundlephobia
- OBJ
- STL
- Alerts and Confirmations based on [missing] (Alert #30)
- Video Player based on [missing] (Video Player #31)
- Toaster based on react-toastify bundlephobia
- Uploader
- custom upload component
- opt-in end-to-end encryption
- File manager
- custom file manager
- opt-in end-to-end encryption
- Chat
- web-socket based (I'll really want to exclude socket.io from the equation, if possible)
- end-to-end encrypted