Need to ask for you help… So, keep calm, there will be a long post
As we talked before starting GSOC, in our module we will render our react components on a server side. So, first, I created basic skeleton, with React and material-ui library, you can look the code in this commit.
It renders UI well, but there was a one BIG problem: material-ui library requires react-tap-event-plugin for listening events, without this plugin click/tap events don’t working MUI: The React component library you always wanted There is an example, how to launch this plugin for client-side rendering, but I have no idea how to use it when we render components on a server side (because this plugin must be executed only when we render components).
Then I tried to set an app with client side rendering, just for testing how events will work. I pushed code to separate branch: GitHub - diospark/openmrs-contrib-id-user-management-dashboard at client-side
There I’ve done setup converting React and ES6 specific js files, using Babel and Browserify plugins for Gulp, to format, which can be used on a client side (UI). In my case, click and other events working, but I got a lot of errors, regarding this issue addComponentAsRefTo Invariant Violation · GitHub I think, I believe, that I have a problem with my component structure, but I have no idea how can I fix that, and this is a big blocker for me.
Here is the screen of what happening when I am clicking on a table
So, will be good to find a decision for first or second situation that I described,
To start my code just resolve dependencies (npm install) , and start the server script (node server.js) For client side solution, you also have to compile js files before starting server, just install Gulp and launch ‘gulp’ command
Thanks