diff --git a/src/mol-plugin/ui/controls/parameters.tsx b/src/mol-plugin/ui/controls/parameters.tsx index b7b88c3f3727e26000e91ce1edfb29e905a9be09..28807f96b3894118d09b2a518aaa1c850b15d601 100644 --- a/src/mol-plugin/ui/controls/parameters.tsx +++ b/src/mol-plugin/ui/controls/parameters.tsx @@ -28,6 +28,7 @@ export class ParameterControls<P extends PD.Params> extends React.PureComponent< return <div style={{ width: '100%' }}> {Object.keys(params).map(key => { const param = params[key]; + if (param.type === 'value') return null; if (param.type === 'mapped') return <MappedControl param={param} key={key} {...common} name={key} value={values[key]} /> if (param.type === 'group') return <GroupControl param={param} key={key} {...common} name={key} value={values[key]} /> return <ParamWrapper control={controlFor(param)} param={param} key={key} {...common} name={key} value={values[key]} /> @@ -222,7 +223,7 @@ export class MappedControl extends React.PureComponent<MappedWrapperProps> { <div style={{ borderLeft: '5px solid #777', paddingLeft: '5px' }}> {param.type === 'group' ? <GroupControl param={param} value={value} name='param' onChange={this.onChangeParam} onEnter={this.props.onEnter} isEnabled={this.props.isEnabled} /> - : param.type === 'mapped' ? 'nested mapped params are not supported' + : param.type === 'mapped' || param.type === 'value' ? null : <ParamWrapper control={controlFor(param)} param={param} onChange={this.onChangeParam} onEnter={this.props.onEnter} isEnabled={this.props.isEnabled} name={'value'} value={value} />} </div> </div> diff --git a/src/mol-util/param-definition.ts b/src/mol-util/param-definition.ts index 2f93c758848c79513770f6de2d57066821e9dbb6..6e9e58ecee933dd01ee96f0c225a1e6c347a2281 100644 --- a/src/mol-util/param-definition.ts +++ b/src/mol-util/param-definition.ts @@ -15,11 +15,11 @@ export namespace ParamDefinition { defaultValue: T } - export interface GenericValue<T> extends Base<T> { - type: 'generic-value' + export interface Value<T> extends Base<T> { + type: 'value' } - export function GenericValue<T>(label: string, description: string, defaultValue: T): GenericValue<T> { - return { type: 'generic-value', label, description, defaultValue } + export function Value<T>(label: string, description: string, defaultValue: T): Value<T> { + return { type: 'value', label, description, defaultValue } } export interface Select<T extends string> extends Base<T> { @@ -114,7 +114,7 @@ export namespace ParamDefinition { }; } - export type Any = Select<any> | MultiSelect<any> | Boolean | Range | Text | Color | Numeric | Interval | Group<any> | Mapped<any> + export type Any = Value<any> | Select<any> | MultiSelect<any> | Boolean | Range | Text | Color | Numeric | Interval | Group<any> | Mapped<any> export type Params = { [k: string]: Any } export type Values<T extends Params> = { [k in keyof T]: T[k]['defaultValue'] }