Decouple all visualization components from the parent container (Currently 
passed in as`slice`). This is the last part of SIP-5 #5680 and is important to 
**unblock the work on chart plugin system**.

This PR is slightly different from other SIP-5 PRs because those also decouple 
visualization code from `formData`, but for this PR, I am leaving `formData` 
as-is.

Also, create utility function `createAdaptor` particularly for deck.gl 
components. This function handles extracting the necessary fields from `slice`, 
then calls ReactDOM and render the given React Component onto the target DOM 
element, passing it the transformed `props`. 

All deck.gl components have lots of similarity and most can be defined by 3 
factors
- `getLayer` function
- `getPoints` function
- whether it uses `DeckGLContainer` or `CategoricalDeckGLContainer`
so I create two factory functions in `factory.jsx` that create a React 
component given `getLayer` and `getPoints`. See `arc.jsx` for example of how 
the code was simplified.

I have verified with example data and they are working.

@betodealmeida @mistercrunch @xtinec 


[ Full content available at: 
https://github.com/apache/incubator-superset/pull/6039 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org

Reply via email to