@appbuckets/react-ui
Version:
Just Another React UI Framework
57 lines (53 loc) • 1.48 kB
JavaScript
;
var reactUiCore = require('@appbuckets/react-ui-core');
var TableHeaderCell = require('../../Table/TableHeaderCell.js');
/* --------
* Component Definition
* -------- */
var RxTableHeaderCell = function (props) {
var children = props.children,
className = props.className,
content = props.content,
hasSorting = props.hasSorting,
isActualSortingColumn = props.isActualSortingColumn,
isReversedSorting = props.isReversedSorting,
isVirtualized = props.isVirtualized,
onClick = props.onClick,
style = props.style;
// ----
// Component Render
// ----
return TableHeaderCell.create(
!reactUiCore.childrenUtils.isNil(children)
? { children: children }
: content || '',
{
autoGenerateKey: false,
defaultProps: {
className: className,
},
overrideProps: function (defaultProps) {
return {
as: isVirtualized ? 'div' : 'th',
sortable: hasSorting,
sorted: isActualSortingColumn
? isReversedSorting
? 'desc'
: 'asc'
: undefined,
style: style,
onClick: function (event) {
if (onClick) {
onClick();
}
if (defaultProps.onClick) {
defaultProps.onClick(event);
}
},
};
},
}
);
};
RxTableHeaderCell.displayName = 'RxTableHeaderCell';
module.exports = RxTableHeaderCell;