diff --git a/src/mol-plugin/behavior/static/representation.ts b/src/mol-plugin/behavior/static/representation.ts index 22859c4d8653b1fa19919736fb5565dacea5e808..5bc71d9fef1f82656404cc046d3f79f42e21f94b 100644 --- a/src/mol-plugin/behavior/static/representation.ts +++ b/src/mol-plugin/behavior/static/representation.ts @@ -30,7 +30,13 @@ export function SyncRepresentationToCanvas(ctx: PluginContext) { } if (!SO.isRepresentation3D(e.obj)) return; + updateVisibility(e, e.obj.data); + + if (e.action === 'recreate') { + ctx.canvas3d.add(e.obj.data); + ctx.canvas3d.requestDraw(true); + } }); events.object.removed.subscribe(e => { if (!SO.isRepresentation3D(e.obj)) return; diff --git a/src/mol-plugin/ui/state/common.tsx b/src/mol-plugin/ui/state/common.tsx index 184a0a47b66cc9fb709e7fff03cbf21d3e68a22e..ca64bbf00308c28366a9261e1596e163017fd81a 100644 --- a/src/mol-plugin/ui/state/common.tsx +++ b/src/mol-plugin/ui/state/common.tsx @@ -4,7 +4,7 @@ * @author David Sehnal <david.sehnal@gmail.com> */ -import { StateObject, State, Transform, StateObjectCell, Transformer } from 'mol-state'; +import { State, Transform, StateObjectCell, Transformer } from 'mol-state'; import * as React from 'react'; import { PurePluginComponent } from '../base'; import { ParameterControls, ParamOnChange } from '../controls/parameters'; @@ -41,7 +41,6 @@ namespace StateTransformParameters { info: { params: PD.Params, initialValues: any, - source: StateObject, isEmpty: boolean }, events: { @@ -59,7 +58,6 @@ namespace StateTransformParameters { const params = action.definition.params ? action.definition.params(source, plugin) : { }; const initialValues = PD.getDefaultValues(params); return { - source, initialValues, params, isEmpty: Object.keys(params).length === 0 @@ -72,7 +70,6 @@ namespace StateTransformParameters { const create = transform.transformer.definition.params; const params = create ? create((source && source.obj) as any, plugin) : { }; return { - source: (source && source.obj) as any, initialValues: transform.params, params, isEmpty: Object.keys(params).length === 0 @@ -81,7 +78,7 @@ namespace StateTransformParameters { } namespace TransformContolBase { - export interface State { + export interface ControlState { params: any, error?: string, busy: boolean, @@ -90,7 +87,7 @@ namespace TransformContolBase { } } -abstract class TransformContolBase<P, S extends TransformContolBase.State> extends PurePluginComponent<P, S> { +abstract class TransformContolBase<P, S extends TransformContolBase.ControlState> extends PurePluginComponent<P, S> { abstract applyAction(): Promise<void>; abstract getInfo(): StateTransformParameters.Props['info']; abstract getHeader(): Transformer.Definition['display'];