diff --git a/src/mol-plugin/ui/controls/parameters.tsx b/src/mol-plugin/ui/controls/parameters.tsx index b95fa7aabd0a0ce0ec0a490ed0d759d91951fc1a..9727a91c9e8c87cc5cb19eec7b8fde48ad64ccba 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 6f3b2e4a9e4b6b82d0ac3cbea0deed20b403a22f..3b43345da9f478baad3915fe9528470f4820863f 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) } /**