Skip to content
This repository was archived by the owner on Jan 9, 2023. It is now read-only.

Components specs #1

@fox1t

Description

@fox1t

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:
  • 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

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions