Browse Source

applied event for animation manager

Alexander Rose 4 years ago
parent
commit
27f94c81a2
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/mol-plugin-state/manager/animation.ts

+ 7 - 1
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 {