Browse Source

Param tweaks

David Sehnal 6 years ago
parent
commit
b5fc24056e
2 changed files with 7 additions and 6 deletions
  1. 2 1
      src/mol-plugin/ui/controls/parameters.tsx
  2. 5 5
      src/mol-util/param-definition.ts

+ 2 - 1
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>

+ 5 - 5
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'] }