import './logs.styles.scss'; import { Button, Col, Divider, Popover, Row, Select, Space } from 'antd'; import { QueryParams } from 'constants/query'; import LogControls from 'container/LogControls'; import LogDetailedView from 'container/LogDetailedView'; import LogLiveTail from 'container/LogLiveTail'; import LogsAggregate from 'container/LogsAggregate'; import LogsFilters from 'container/LogsFilters'; import LogsSearchFilter from 'container/LogsSearchFilter'; import LogsTable from 'container/LogsTable'; import history from 'lib/history'; import { useCallback, useMemo } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useLocation } from 'react-router-dom'; import { Dispatch } from 'redux'; import { AppState } from 'store/reducers'; import AppActions from 'types/actions'; import { SET_LOGS_ORDER } from 'types/actions/logs'; import { ILogsReducer } from 'types/reducer/logs'; import { defaultSelectStyle, logsOptions, orderItems, OrderPreferenceItems, } from './config'; import { useSelectedLogView } from './hooks'; import PopoverContent from './PopoverContent'; import SpaceContainer from './styles'; function Logs(): JSX.Element { const dispatch = useDispatch>(); const { order } = useSelector((store) => store.logs); const location = useLocation(); const { viewModeOptionList, viewModeOption, viewMode, handleViewModeOptionChange, linesPerRow, handleLinesPerRowChange, } = useSelectedLogView(); const renderPopoverContent = useCallback( () => ( ), [linesPerRow, handleLinesPerRowChange], ); const isFormatButtonVisible = useMemo(() => logsOptions.includes(viewMode), [ viewMode, ]); const selectedViewModeOption = useMemo(() => viewModeOption.value.toString(), [ viewModeOption.value, ]); const onChangeVeiwMode = useCallback( (key: string) => { handleViewModeOptionChange({ key, }); }, [handleViewModeOptionChange], ); const handleChangeOrder = (value: OrderPreferenceItems): void => { dispatch({ type: SET_LOGS_ORDER, payload: value, }); const params = new URLSearchParams(location.search); params.set(QueryParams.order, value); history.push({ search: params.toString() }); }; return ( <> } align="center" direction="horizontal" > {isFormatButtonVisible && ( )} ); } export default Logs;