react-base-table
Advanced tools
Comparing version 1.9.0 to 1.9.1
@@ -5,2 +5,6 @@ # CHANGELOG | ||
## v1.9.1 (2019-10-17) | ||
- reverted #80, now custom renderer doesn't support top level hooks, see #109 | ||
## v1.9.0 (2019-09-24) | ||
@@ -25,3 +29,3 @@ | ||
- fix: custom renderers should support function component with hooks | ||
- ~~fix: custom renderers should support function component with hooks~~ | ||
@@ -28,0 +32,0 @@ ## v1.7.1 (2019-08-22) |
@@ -1182,3 +1182,3 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; | ||
*/ | ||
overlayRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
overlayRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -1188,3 +1188,3 @@ /** | ||
*/ | ||
emptyRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
emptyRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -1194,3 +1194,3 @@ /** | ||
*/ | ||
footerRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
footerRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -1201,3 +1201,3 @@ /** | ||
*/ | ||
headerRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
headerRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -1208,3 +1208,3 @@ /** | ||
*/ | ||
rowRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
rowRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -1211,0 +1211,0 @@ /** |
@@ -119,3 +119,3 @@ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose"; | ||
*/ | ||
cellRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
cellRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
@@ -126,3 +126,3 @@ /** | ||
*/ | ||
headerRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]) | ||
headerRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]) | ||
}; | ||
@@ -129,0 +129,0 @@ Column.Alignment = Alignment; |
@@ -56,3 +56,3 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
cellRenderer: PropTypes.func, | ||
headerRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
headerRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
expandColumnKey: PropTypes.string, | ||
@@ -59,0 +59,0 @@ expandIcon: PropTypes.func, |
@@ -175,3 +175,3 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
rowEventHandlers: PropTypes.object, | ||
rowRenderer: PropTypes.oneOfType([PropTypes.elementType, PropTypes.element]), | ||
rowRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]), | ||
cellRenderer: PropTypes.func, | ||
@@ -178,0 +178,0 @@ expandIconRenderer: PropTypes.func, |
@@ -9,8 +9,14 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty"; | ||
export function renderElement(renderer, props) { | ||
if (!renderer) return null; | ||
if (React.isValidElement(renderer)) { | ||
return React.cloneElement(renderer, props); | ||
} else if (typeof renderer === 'function') { | ||
if (renderer.prototype && renderer.prototype.isReactComponent) { | ||
return React.createElement(renderer, props); | ||
} else if (renderer.defaultProps) { | ||
return renderer(_objectSpread({}, renderer.defaultProps, {}, props)); | ||
} | ||
return renderer(props); | ||
} else { | ||
return React.createElement(renderer, props); | ||
return null; | ||
} | ||
@@ -17,0 +23,0 @@ } |
@@ -1263,3 +1263,3 @@ "use strict"; | ||
*/ | ||
overlayRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
overlayRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -1269,3 +1269,3 @@ /** | ||
*/ | ||
emptyRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
emptyRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -1275,3 +1275,3 @@ /** | ||
*/ | ||
footerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
footerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -1282,3 +1282,3 @@ /** | ||
*/ | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -1289,3 +1289,3 @@ /** | ||
*/ | ||
rowRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
rowRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -1292,0 +1292,0 @@ /** |
@@ -141,3 +141,3 @@ "use strict"; | ||
*/ | ||
cellRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
cellRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
@@ -148,3 +148,3 @@ /** | ||
*/ | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]) | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]) | ||
}; | ||
@@ -151,0 +151,0 @@ Column.Alignment = Alignment; |
@@ -68,3 +68,3 @@ "use strict"; | ||
cellRenderer: _propTypes["default"].func, | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
headerRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
expandColumnKey: _propTypes["default"].string, | ||
@@ -71,0 +71,0 @@ expandIcon: _propTypes["default"].func, |
@@ -197,3 +197,3 @@ "use strict"; | ||
rowEventHandlers: _propTypes["default"].object, | ||
rowRenderer: _propTypes["default"].oneOfType([_propTypes["default"].elementType, _propTypes["default"].element]), | ||
rowRenderer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].element]), | ||
cellRenderer: _propTypes["default"].func, | ||
@@ -200,0 +200,0 @@ expandIconRenderer: _propTypes["default"].func, |
@@ -35,8 +35,14 @@ "use strict"; | ||
function renderElement(renderer, props) { | ||
if (!renderer) return null; | ||
if (_react["default"].isValidElement(renderer)) { | ||
return _react["default"].cloneElement(renderer, props); | ||
} else if (typeof renderer === 'function') { | ||
if (renderer.prototype && renderer.prototype.isReactComponent) { | ||
return _react["default"].createElement(renderer, props); | ||
} else if (renderer.defaultProps) { | ||
return renderer(_objectSpread({}, renderer.defaultProps, {}, props)); | ||
} | ||
return renderer(props); | ||
} else { | ||
return _react["default"].createElement(renderer, props); | ||
return null; | ||
} | ||
@@ -43,0 +49,0 @@ } |
{ | ||
"name": "react-base-table", | ||
"version": "1.9.0", | ||
"version": "1.9.1", | ||
"description": "a react table component to display large data set with high performance and flexibility", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -39,4 +39,6 @@ # react-base-table | ||
**`width` and `height` are required to display the table properly** | ||
**`key` is required for column definition or the column will be ignored** | ||
**`width` and `height`(or `maxHeight`) are required to display the table properly** | ||
In the [examples](https://autodesk.github.io/react-base-table/examples) | ||
@@ -43,0 +45,0 @@ we are using a wrapper `const Table = props => <BaseTable width={700} height={400} {...props} />` to do that |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
842172
6351
123