Skip to content
Snippets Groups Projects
Commit b5fc2405 authored by David Sehnal's avatar David Sehnal
Browse files

Param tweaks

parent 9ee334be
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
......@@ -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'] }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment