components icon indicating copy to clipboard operation
components copied to clipboard

Components specs

Open fox1t opened this issue 4 years ago • 9 comments

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 (#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, (#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: (#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] (#30)
  • Video Player based on [missing] (#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

fox1t avatar Aug 11 '19 10:08 fox1t

hospitalrun/hospitalrun-frontend#387 requested a dashboard like feature which will require the use of some graphs and charts.

Possible React libraries for charts/graphs:

jackcmeyer avatar Aug 11 '19 21:08 jackcmeyer

One note on those libraries is that they're all fairly heavy for low bandwidth internet connections (see bundlephobia.com), which is the same concern raised about socket.io.

I found something called Frappe charts which is lighter and may be worth considering. bundelphobia.

lancerutkin avatar Aug 12 '19 17:08 lancerutkin

Ok, I think that the best way is to add always bundlephobia link, when suggesting libs. Can you please modify your comments?

fox1t avatar Aug 13 '19 07:08 fox1t

A non-socket.io WebSocket option for the chat is ws. bundlephobia

lancerutkin avatar Aug 14 '19 12:08 lancerutkin

@fox1t I've updated my comments with bundlephobia links.

jackcmeyer avatar Aug 20 '19 01:08 jackcmeyer

@jackcmeyer and @lancerutkin check the repo now. We decided to use tsdx and it is one of the best devexperience I've ever seen!

fox1t avatar Aug 20 '19 10:08 fox1t

@fox1t does it make sense to break out each one of these components into an issue with specific requirements so the community can start tackling them?

jackcmeyer avatar Aug 20 '19 22:08 jackcmeyer

@jackcmeyer @irvelervel @fox1t can we update this list? or close the issue?

matteovivona avatar May 28 '20 14:05 matteovivona

IMG_20220502_112211 the master plane would world war ll deploments 1700 bilian deploment hosted access data

Hmgov avatar May 10 '22 16:05 Hmgov