import React from 'react'; import { useParams } from 'react-router'; import { ClusterName, ConnectName, ConnectorConfig, ConnectorName, } from 'redux/interfaces'; import PageLoader from 'components/common/PageLoader/PageLoader'; import JSONEditor from 'components/common/JSONEditor/JSONEditor'; interface RouterParams { clusterName: ClusterName; connectName: ConnectName; connectorName: ConnectorName; } export interface ConfigProps { fetchConfig( clusterName: ClusterName, connectName: ConnectName, connectorName: ConnectorName, silent?: boolean ): void; isConfigFetching: boolean; config: ConnectorConfig | null; } const Config: React.FC = ({ fetchConfig, isConfigFetching, config, }) => { const { clusterName, connectName, connectorName } = useParams(); React.useEffect(() => { fetchConfig(clusterName, connectName, connectorName, true); }, [fetchConfig, clusterName, connectName, connectorName]); if (isConfigFetching) { return ; } if (!config) return null; return ( ); }; export default Config;