From 0156c2c9efc0268ee77db389d41d42b4e682651e Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Thu, 15 Nov 2018 14:29:42 -0800 Subject: [PATCH] wip, params --- src/mol-plugin/ui/controls/parameters.tsx | 9 +++++---- src/mol-util/param-definition.ts | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mol-plugin/ui/controls/parameters.tsx b/src/mol-plugin/ui/controls/parameters.tsx index b95fa7aab..9727a91c9 100644 --- a/src/mol-plugin/ui/controls/parameters.tsx +++ b/src/mol-plugin/ui/controls/parameters.tsx @@ -216,7 +216,7 @@ export class GroupControl extends React.PureComponent<GroupWrapperProps> { type MappedWrapperProps = { name: string, value: PD.Mapped<any>['defaultValue'], param: PD.Mapped<any>, onChange: ParamOnChange, onEnter?: () => void, isEnabled?: boolean } export class MappedControl extends React.PureComponent<MappedWrapperProps> { - change(value: PD.Mapped<any>['defaultValue'] ) { + change(value: PD.Mapped<any>['defaultValue']) { this.props.onChange({ name: this.props.name, param: this.props.param, value }); } @@ -239,9 +239,10 @@ export class MappedControl extends React.PureComponent<MappedWrapperProps> { name={'name'} value={value.name} /> <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' || 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} />} + ? <GroupControl param={param} value={value} name='param' onChange={this.onChangeParam} onEnter={this.props.onEnter} isEnabled={this.props.isEnabled} /> + : 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 6f3b2e4a9..3b43345da 100644 --- a/src/mol-util/param-definition.ts +++ b/src/mol-util/param-definition.ts @@ -8,6 +8,7 @@ import { Color as ColorData } from './color'; import { shallowClone, shallowEqual } from 'mol-util'; import { Vec2 } from 'mol-math/linear-algebra'; +import { deepClone } from './object'; export namespace ParamDefinition { export interface Info { @@ -142,7 +143,7 @@ export namespace ParamDefinition { } export function clone<P extends Params>(params: P): P { - return shallowClone(params) + return deepClone(params) } /** -- GitLab