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< ...@@ -28,6 +28,7 @@ export class ParameterControls<P extends PD.Params> extends React.PureComponent<
return <div style={{ width: '100%' }}> return <div style={{ width: '100%' }}>
{Object.keys(params).map(key => { {Object.keys(params).map(key => {
const param = params[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 === '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]} /> 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]} /> 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> { ...@@ -222,7 +223,7 @@ export class MappedControl extends React.PureComponent<MappedWrapperProps> {
<div style={{ borderLeft: '5px solid #777', paddingLeft: '5px' }}> <div style={{ borderLeft: '5px solid #777', paddingLeft: '5px' }}>
{param.type === 'group' {param.type === 'group'
? <GroupControl param={param} value={value} name='param' onChange={this.onChangeParam} onEnter={this.props.onEnter} isEnabled={this.props.isEnabled} /> ? <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} />} : <ParamWrapper control={controlFor(param)} param={param} onChange={this.onChangeParam} onEnter={this.props.onEnter} isEnabled={this.props.isEnabled} name={'value'} value={value} />}
</div> </div>
</div> </div>
......
...@@ -15,11 +15,11 @@ export namespace ParamDefinition { ...@@ -15,11 +15,11 @@ export namespace ParamDefinition {
defaultValue: T defaultValue: T
} }
export interface GenericValue<T> extends Base<T> { export interface Value<T> extends Base<T> {
type: 'generic-value' type: 'value'
} }
export function GenericValue<T>(label: string, description: string, defaultValue: T): GenericValue<T> { export function Value<T>(label: string, description: string, defaultValue: T): Value<T> {
return { type: 'generic-value', label, description, defaultValue } return { type: 'value', label, description, defaultValue }
} }
export interface Select<T extends string> extends Base<T> { export interface Select<T extends string> extends Base<T> {
...@@ -114,7 +114,7 @@ export namespace ParamDefinition { ...@@ -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 Params = { [k: string]: Any }
export type Values<T extends Params> = { [k in keyof T]: T[k]['defaultValue'] } 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.
Please register or to comment