/* * SPDX-License-Identifier: Apache-2.0 * * The OpenSearch Contributors require contributions made to * this file be licensed under the Apache-2.0 license or a * compatible open source license. * * Modifications Copyright OpenSearch Contributors. See * GitHub history for details. */ import React, { useEffect } from 'react'; import { DETECTOR_STATE } from '../../../../server/utils/constants'; import { DetectorStopped } from '../components/DetectorState/DetectorStopped'; import { DetectorFeatureRequired } from '../components/DetectorState/DetectorFeatureRequired'; import { DetectorUnknownState } from '../components/DetectorState/DetectorUnknownState'; import { useDispatch, useSelector } from 'react-redux'; import { AppState } from '../../../redux/reducers'; import { getDetector } from '../../../redux/reducers/ad'; export interface DetectorStateDetailsProp { detectorId: string; onStartDetector(): void; onSwitchToConfiguration(): void; } export const DetectorStateDetails = (props: DetectorStateDetailsProp) => { const dispatch = useDispatch(); const detector = useSelector( (state: AppState) => state.ad.detectors[props.detectorId] ); const currentState = detector.curState; useEffect(() => { dispatch(getDetector(props.detectorId)); }, []); switch (currentState) { case DETECTOR_STATE.DISABLED: return ; case DETECTOR_STATE.FEATURE_REQUIRED: return ( ); default: // ideally we shoul not reach here console.log('Unknown detector state', currentState); return ( ); } };