import React, { Component, PropTypes } from 'react'; import classNames from 'classnames'; import { isEqual } from 'lodash'; import moment from 'moment'; import Checkbox from 'components/forms/fields/Checkbox'; import ClickableTableRow from 'components/ClickableTableRow'; import Icon from 'components/icons/Icon'; import packInterface from 'interfaces/pack'; const baseClass = 'packs-list-row'; class Row extends Component { static propTypes = { checked: PropTypes.bool, onCheck: PropTypes.func, onSelect: PropTypes.func, pack: packInterface.isRequired, selected: PropTypes.bool, }; shouldComponentUpdate (nextProps) { return !isEqual(this.props, nextProps); } handleChange = (shouldCheck) => { const { onCheck, pack } = this.props; return onCheck(shouldCheck, pack.id); } handleSelect = () => { const { onSelect, pack } = this.props; return onSelect(pack); } renderStatusData = () => { const { disabled } = this.props.pack; const iconClassName = classNames(`${baseClass}__status-icon`, { [`${baseClass}__status-icon--enabled`]: !disabled, [`${baseClass}__status-icon--disabled`]: disabled, }); if (disabled) { return (