UNPKG

ffr-components

Version:

Fiori styled UI components

75 lines (67 loc) 2.58 kB
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);