import * as React from 'react'; import { ColumnProps, formatBandwidth, BANDWIDTH_SCALE } from './'; import { Node } from '../../../state'; import { Sparkline } from '../../'; import icon from '../../../icons/cloud-download.svg'; export class DownloadColumn extends React.Component { public static readonly label = 'Download Bandwidth'; public static readonly icon = icon; public static readonly width = 40; public static readonly setting = 'download'; public static readonly sortBy = ({ download }: Node) => download.length < 3 ? 0 : download[download.length - 1]; private data: Array = []; public shouldComponentUpdate(nextProps: ColumnProps) { // Diffing by ref, as data is an immutable array return this.data !== nextProps.node.download; } render() { const { download, chartstamps } = this.props.node; this.data = download; if (download.length < 3) { return -; } return ( ); } }