@native-html/heuristic-table-plugin
Version:
🔠A 100% native component using heuristics to render tables in react-native-render-html
77 lines (67 loc) • 1.92 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TreeRenderer;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeRenderHtml = require("react-native-render-html");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const styles = _reactNative.StyleSheet.create({
colContainer: {
flexDirection: 'column',
flexGrow: 1
},
rowContainer: {
flexDirection: 'row',
flexGrow: 1
}
});
function TreeRenderer({
node,
config,
renderIndex,
renderLength
}) {
if (node.type === 'cell') {
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: {
width: node.width
}
}, /*#__PURE__*/_react.default.createElement(_reactNativeRenderHtml.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.default.createElement(TreeRenderer, {
node: v,
key: i,
config,
renderIndex: i,
renderLength: node.children.length
}));
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: styles.colContainer
}, children);
}
if (node.type === 'row-container') {
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: styles.rowContainer
}, node.children.map((v, i) => /*#__PURE__*/_react.default.createElement(TreeRenderer, {
node: v,
key: i,
config,
renderIndex: i,
renderLength: node.children.length
})));
}
return null;
}
//# sourceMappingURL=TreeRenderer.js.map