import React, { ReactNode } from 'react'; import { ParamComponent } from '../../Views/Question/Params'; import { HelpIcon } from '../../Components'; import { Parameter } from '../../Utils/WdkModel'; import { StepAnalysisFormPluginProps } from './StepAnalysisFormPane'; export const StepAnalysisDefaultForm: React.FunctionComponent = ({ formKey, paramSpecs, paramValues, updateParamValues, onFormSubmit }) => ( { paramSpecs .filter(paramSpec => paramSpec.isVisible) .map(paramSpec => } paramValues={paramValues} paramSpec={paramSpec} onChange={value => { updateParamValues({ ...paramValues, [paramSpec.name]: value }); }} /> ) }
) interface StepAnalysisRowProps { formKey: string; displayName: ReactNode; paramValues: Record; paramSpec: Parameter; onChange: (newValue: string) => void; } const StepAnalysisParamRow: React.FunctionComponent = ({ formKey, displayName, paramValues, paramSpec, onChange }) => { paramSpec.type === 'number' && ({paramSpec.min} - {paramSpec.max}) } interface ParamDisplayNameProps { paramSpec: Parameter; } const ParamDisplayName: React.SFC = ({ paramSpec }) => ( <> {paramSpec.displayName} ); const uiState = {}; const NOOP = () => { }; const tableStyle: React.CSSProperties = { margin: '0px auto' }; const fieldTdStyle: React.CSSProperties = { textAlign: 'left', verticalAlign: 'top' }; const labelSpanStyle: React.CSSProperties = { display: 'inline-block', marginTop: '4px', fontWeight: 'bold', paddingRight: '.5em' }; const submitTdStyle: React.CSSProperties = { textAlign: 'center' }; const numberParamRangeSpanStyle: React.CSSProperties = { color: 'gray', marginLeft: '0.5em' };