import React, { ReactNode } from 'react'; import { StepAnalysisConfig } from '../../Utils/StepAnalysisUtils'; export type StepAnalysisResultPaneProps = StepAnalysisResultState & { resultRenderer: (props: StepAnalysisResultPluginProps) => React.ReactNode; }; export type StepAnalysisResultState = ({ type: 'complete-result' } & CompleteResultState) | ({ type: 'incomplete-result' } & IncompleteResultState); export type StepAnalysisResultPluginProps = CompleteResultState; export interface CompleteResultState { analysisResult: any; analysisConfig: StepAnalysisConfig; webAppUrl: string; } export interface IncompleteResultState { className?: string; header: ReactNode; reason: ReactNode; } export const StepAnalysisResultsPane: React.SFC = props => (
{ props.type === 'incomplete-result' &&

{props.header}

{props.reason}

} { props.type === 'complete-result' &&
{props.resultRenderer({ analysisResult: props.analysisResult, analysisConfig: props.analysisConfig, webAppUrl: props.webAppUrl })}
}
);