import React from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; import { t } from '../../locales'; import EditableTitle from '../../components/EditableTitle'; import TooltipWrapper from '../../components/TooltipWrapper'; const propTypes = { slice: PropTypes.object.isRequired, exploreChartUrl: PropTypes.string, exportCSVUrl: PropTypes.string, isExpanded: PropTypes.bool, formDataExtra: PropTypes.object, removeSlice: PropTypes.func, updateSliceName: PropTypes.func, toggleExpandSlice: PropTypes.func, forceRefresh: PropTypes.func, }; const defaultProps = { forceRefresh: () => ({}), removeSlice: () => ({}), updateSliceName: () => ({}), toggleExpandSlice: () => ({}), }; class SliceHeader extends React.PureComponent { constructor(props) { super(props); this.onSaveTitle = this.onSaveTitle.bind(this); } onSaveTitle(newTitle) { if (this.props.updateSliceName) { this.props.updateSliceName(this.props.slice.slice_id, newTitle); } } render() { const slice = this.props.slice; const isCached = slice.is_cached; const isExpanded = !!this.props.isExpanded; const cachedWhen = moment.utc(slice.cached_dttm).fromNow(); const refreshTooltip = isCached ? t('Served from data cached %s . Click to force refresh.', cachedWhen) : t('Force refresh data'); return (
); } } SliceHeader.propTypes = propTypes; SliceHeader.defaultProps = defaultProps; export default SliceHeader;