Browse Source

get Behavior defaultParams from transformer params

Alexander Rose 5 years ago
parent
commit
9ab4001544
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/mol-plugin/spec.ts

+ 6 - 2
src/mol-plugin/spec.ts

@@ -9,6 +9,7 @@ import { StateTransformer, StateAction } from '../mol-state';
 import { StateTransformParameters } from './ui/state/common';
 import { PluginLayoutStateProps } from './layout';
 import { PluginStateAnimation } from './state/animation/model';
+import { ParamDefinition as PD } from '../mol-util/param-definition';
 
 export { PluginSpec }
 
@@ -40,8 +41,11 @@ namespace PluginSpec {
         defaultParams?: any
     }
 
-    export function Behavior<T extends StateTransformer>(transformer: T, defaultParams?: StateTransformer.Params<T>): Behavior {
-        return { transformer, defaultParams };
+    export function Behavior<T extends StateTransformer>(transformer: T, defaultParams: Partial<StateTransformer.Params<T>> = {}): Behavior {
+        const params = transformer.definition.params
+            ? PD.getDefaultValues(transformer.definition.params(undefined, undefined))
+            : {}
+        return { transformer, defaultParams: { ...params, ...defaultParams } };
     }
 
     export interface LayoutControls {