diff --git a/src/mol-plugin-state/manager/animation.ts b/src/mol-plugin-state/manager/animation.ts index b38b4eea58d5f569aac14f89739727346569eda0..9ee6b168bd878673e19e0eb90940c8ba6e83c876 100644 --- a/src/mol-plugin-state/manager/animation.ts +++ b/src/mol-plugin-state/manager/animation.ts @@ -22,7 +22,8 @@ class PluginAnimationManager extends StatefulPluginComponent<PluginAnimationMana private _params?: PD.For<PluginAnimationManager.State['params']> = void 0; readonly events = { - updated: this.ev() + updated: this.ev(), + applied: this.ev(), }; get isEmpty() { return this.animations.length === 0; } @@ -32,6 +33,10 @@ class PluginAnimationManager extends StatefulPluginComponent<PluginAnimationMana this.events.updated.next(); } + private triggerApply() { + this.events.applied.next(); + } + getParams(): PD.Params { if (!this._params) { this._params = { @@ -150,6 +155,7 @@ class PluginAnimationManager extends StatefulPluginComponent<PluginAnimationMana } else if (newState.kind === 'skip') { if (this.state.animationState === 'playing') this._frame = requestAnimationFrame(this.animate); } + this.triggerApply(); } getSnapshot(): PluginAnimationManager.Snapshot {