All files / src/components/DatatableHeader/Widgets AdditionalIcons.js

100% Statements 7/7
50% Branches 1/2
100% Functions 4/4
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48              10x 10x     2x                       1x                         5x       5x 10x            
import React, { Component, Fragment } from "react";
import { connect } from "react-redux";
import { IconButton, Tooltip, Zoom } from "@material-ui/core";
import { additionalIconsPropType } from "../../../proptypes";
 
class AdditionalIcons extends Component {
  render() {
    const { additionalIcons } = this.props;
    return (
      <Fragment>
        {additionalIcons.map((icon, i) => (
          <Tooltip
            key={icon.title}
            TransitionComponent={Zoom}
            title={icon.title}
          >
            <span>
              <IconButton
                className={
                  icon.disabled
                    ? `disabled-icon additional-icon-${i}`
                    : `additional-icon-${i}`
                }
                onClick={() => icon.onClick()}
                disabled={icon.disabled}
              >
                {icon.icon}
              </IconButton>
            </span>
          </Tooltip>
        ))}
      </Fragment>
    );
  }
}
 
AdditionalIcons.propTypes = {
  additionalIcons: additionalIconsPropType.isRequired
};
 
const mapStateToProps = state => {
  return {
    additionalIcons: state.datatableReducer.features.additionalIcons
  };
};
 
export default connect(mapStateToProps)(AdditionalIcons);