import React, { Component } from 'react'; import PropTypes from 'prop-types'; import ReactTable from 'react-table'; import { saveAs } from 'file-saver/FileSaver'; import PageTitle from '../ui/PageTitle'; import Card from '../ui/Card'; import Loading from '../ui/Loading'; import { normalizeLogs } from '../../helpers/helpers'; const DOWNLOAD_LOG_FILENAME = 'dns-logs.txt'; class Logs extends Component { componentDidMount() { // get logs on initialization if queryLogIsEnabled if (this.props.dashboard.queryLogEnabled) { this.props.getLogs(); } } componentDidUpdate(prevProps) { // get logs when queryLog becomes enabled if (this.props.dashboard.queryLogEnabled && !prevProps.dashboard.queryLogEnabled) { this.props.getLogs(); } } renderLogs(logs) { const columns = [{ Header: 'Time', accessor: 'time', maxWidth: 150, }, { Header: 'Domain name', accessor: 'domain', }, { Header: 'Type', accessor: 'type', maxWidth: 100, }, { Header: 'Response', accessor: 'response', Cell: (row) => { const responses = row.value; if (responses.length > 0) { const liNodes = responses.map((response, index) => (