/* eslint-disable react/prop-types */ import React, { useState, useCallback, useMemo, Fragment, useEffect } from 'react'; import { Link } from 'react-router-dom'; import PropTypes from 'prop-types'; import { translate } from 'react-i18next'; import { compose } from 'redux'; import { Table } from '../../../../common/Table/Table'; import { savedAnalytics } from '../../../../../api/analytics/savedAnalytics'; import reduxConnect from '../../../../../redux/utils/connect'; import { getDate, getQueryParams, setDocumentData } from '../../../../../common/helper'; import { Button } from 'reactstrap'; import DeleteDialog from './DeleteDialog'; import i18n from '../../../../../i18n'; function SavedAnalysisSubTab(props) { const [dataSource, setDataSource] = useState({ data: [] }); const [loading, setLoading] = useState(true); const [deleteValues, setDeleteValues] = useState(false); const { t, actions } = props; useEffect(() => { setDocumentData('title', 'Saved Analysis | Analyze'); return () => { setDocumentData('title'); }; }, []); const columns = useMemo(() => { const columnsList = [ { id: 'feeds', Header: t('analyzeTab.savedAnalytics.feeds'), accessor: (d) => d.context.feeds, Cell: (props) => props.value ? props.value.map((v) => v.name).join(', ') : '' }, { id: 'date', Header: t('analyzeTab.savedAnalytics.dateRange'), accessor: (d) => d.context.rawFilters.date, Cell: (props) => props.value ? `${getDate(props.value.start, 'MM/DD/YYYY')} to ${getDate( props.value.end, 'MM/DD/YYYY' )}` : '-' }, { Header: t('analyzeTab.savedAnalytics.createdAt'), accessor: 'createdAt', Cell: (props) => getDate(props.value, 'MM/DD/YYYY') }, { Header: t('analyzeTab.savedAnalytics.actions'), accessor: 'id', Cell: (props) => getActions(props) } ]; return columnsList; }, [getActions, i18n.language]); const getActions = useCallback((props) => { return (