ffr-components
Version:
Fiori styled UI components
75 lines (67 loc) • 2.58 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
import _inherits from "@babel/runtime/helpers/esm/inherits";
import classnames from 'classnames';
import React from 'react';
import TableHeader from './TableHeader';
import { connect } from './TableContext';
export var HeaderTable =
/*#__PURE__*/
function (_React$Component) {
_inherits(HeaderTable, _React$Component);
function HeaderTable() {
_classCallCheck(this, HeaderTable);
return _possibleConstructorReturn(this, _getPrototypeOf(HeaderTable).apply(this, arguments));
}
_createClass(HeaderTable, [{
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
columns = _this$props.columns,
fixed = _this$props.fixed,
innerRef = _this$props.innerRef,
shouldAlignVerticalScrollbar = _this$props.shouldAlignVerticalScrollbar,
tableContext = _this$props.tableContext,
lastLine = _this$props.lastLine,
innerHeaderRef = _this$props.innerHeaderRef,
handleMoveFocus = _this$props.handleMoveFocus;
var classNames = classnames('fd-table', {
'ffr-horizental-scroll-table': fixed === undefined
}, className);
var otherProps = {};
var wrapperStyle = {};
if (innerRef) {
otherProps.ref = innerRef;
}
if (fixed === undefined) {
wrapperStyle.overflowX = 'hidden';
if (shouldAlignVerticalScrollbar && !tableContext.hasRightFixedTable()) {
wrapperStyle.overflowY = 'scroll';
}
}
return React.createElement("div", null, React.createElement("div", _extends({}, otherProps, {
style: wrapperStyle
}), React.createElement("table", {
className: classNames,
role: "presentation"
}, React.createElement(TableHeader, {
columns: columns,
fixed: fixed,
lastLine: lastLine,
innerHeaderRef: innerHeaderRef,
handleMoveFocus: handleMoveFocus
}))));
}
}]);
return HeaderTable;
}(React.Component);
HeaderTable.displayName = 'HeaderTable';
HeaderTable.defaultProps = {
columns: [],
sortable: false
};
export default connect('shouldAlignVerticalScrollbar')(HeaderTable);