@native-html/heuristic-table-plugin
Version:
🔠A 100% native component using heuristics to render tables in react-native-render-html
64 lines (61 loc) • 1.56 kB
JavaScript
import React from 'react';
import { StyleSheet, View } from 'react-native';
import { TNodeRenderer } from 'react-native-render-html';
const styles = StyleSheet.create({
colContainer: {
flexDirection: 'column',
flexGrow: 1
},
rowContainer: {
flexDirection: 'row',
flexGrow: 1
}
});
export default function TreeRenderer({
node,
config,
renderIndex,
renderLength
}) {
if (node.type === 'cell') {
return /*#__PURE__*/React.createElement(View, {
style: {
width: node.width
}
}, /*#__PURE__*/React.createElement(TNodeRenderer, {
renderIndex: renderIndex,
renderLength: renderLength,
propsFromParent: {
cell: node,
collapsedMarginTop: null,
config
},
tnode: node.tnode
}));
}
if (node.type === 'root' || node.type === 'col-container') {
const children = node.children.map((v, i) => /*#__PURE__*/React.createElement(TreeRenderer, {
node: v,
key: i,
config,
renderIndex: i,
renderLength: node.children.length
}));
return /*#__PURE__*/React.createElement(View, {
style: styles.colContainer
}, children);
}
if (node.type === 'row-container') {
return /*#__PURE__*/React.createElement(View, {
style: styles.rowContainer
}, node.children.map((v, i) => /*#__PURE__*/React.createElement(TreeRenderer, {
node: v,
key: i,
config,
renderIndex: i,
renderLength: node.children.length
})));
}
return null;
}
//# sourceMappingURL=TreeRenderer.js.map