wix-style-react
Version:
wix-style-react
56 lines (52 loc) • 1.85 kB
JavaScript
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import React from 'react';
import PropTypes from 'prop-types';
import { DataTableHeader } from '../../DataTable';
import { getDataTableProps, createColumns } from '../Table';
import { TableContext } from '../TableContext';
import { BulkSelectionConsumer } from '../BulkSelection';
/**
* TitleBar (aka DataTableHeader)
*/
export var TableTitleBar = function TableTitleBar(_ref) {
var dataHook = _ref.dataHook;
return React.createElement(
TableContext.Consumer,
null,
function (tableProps) {
var dataTableProps = getDataTableProps(tableProps);
if (tableProps.showSelection) {
return React.createElement(
BulkSelectionConsumer,
{
consumerCompName: 'Table.TitleBar',
providerCompName: 'Table'
},
function (bulkSelectionContext) {
return React.createElement(
'div',
{ 'data-hook': 'table-title-bar' },
React.createElement(DataTableHeader, _extends({}, dataTableProps, {
columns: createColumns({
tableProps: tableProps,
bulkSelectionContext: bulkSelectionContext
}),
dataHook: dataHook
}))
);
}
);
} else {
return React.createElement(
'div',
{ 'data-hook': 'table-title-bar' },
React.createElement(DataTableHeader, dataTableProps)
);
}
}
);
};
TableTitleBar.displayName = 'Table.TitleBar';
TableTitleBar.propTypes = {
dataHook: PropTypes.string
};