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