import PropTypes from 'prop-types'; import React, { Component } from 'react'; import IconButton from 'Components/Link/IconButton'; import TableOptionsModal from 'Components/Table/TableOptions/TableOptionsModal'; import VirtualTableHeader from 'Components/Table/VirtualTableHeader'; import VirtualTableHeaderCell from 'Components/Table/VirtualTableHeaderCell'; import VirtualTableSelectAllHeaderCell from 'Components/Table/VirtualTableSelectAllHeaderCell'; import { icons } from 'Helpers/Props'; import IndexerIndexTableOptionsConnector from './IndexerIndexTableOptionsConnector'; import styles from './IndexerIndexHeader.css'; class IndexerIndexHeader extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { isTableOptionsModalOpen: false }; } // // Listeners onTableOptionsPress = () => { this.setState({ isTableOptionsModalOpen: true }); } onTableOptionsModalClose = () => { this.setState({ isTableOptionsModalOpen: false }); } // // Render render() { const { columns, onTableOptionChange, allSelected, allUnselected, onSelectAllChange, isMovieEditorActive, ...otherProps } = this.props; return ( { columns.map((column) => { const { name, label, isSortable, isVisible } = column; if (!isVisible) { return null; } if (name === 'select') { if (isMovieEditorActive) { return ( ); } return null; } if (name === 'actions') { return ( ); } return ( {label} ); }) } ); } } IndexerIndexHeader.propTypes = { columns: PropTypes.arrayOf(PropTypes.object).isRequired, onTableOptionChange: PropTypes.func.isRequired, allSelected: PropTypes.bool.isRequired, allUnselected: PropTypes.bool.isRequired, onSelectAllChange: PropTypes.func.isRequired, isMovieEditorActive: PropTypes.bool.isRequired }; export default IndexerIndexHeader;