From 93ea759a71a9c41c64307c30d6e1add315a0a955 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Mon, 17 Jun 2019 15:39:12 -0700
Subject: [PATCH] StateTreeSpine.current tweaks

---
 src/mol-state/state.ts      |  4 ++--
 src/mol-state/tree/spine.ts | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/mol-state/state.ts b/src/mol-state/state.ts
index cbb5e4ae1..c11fc78d0 100644
--- a/src/mol-state/state.ts
+++ b/src/mol-state/state.ts
@@ -162,7 +162,7 @@ class State {
                 return cell && cell.obj;
             }
         } finally {
-            this.spine.setCurrent();
+            this.spine.current = undefined;
 
             if (updated) this.events.changed.next();
             this.events.isUpdating.next(false);
@@ -607,7 +607,7 @@ async function updateNode(ctx: UpdateContext, currentRef: Ref): Promise<UpdateNo
         throw new Error(`No suitable parent found for '${currentRef}'`);
     }
 
-    ctx.spine.setCurrent(current);
+    ctx.spine.current = current;
 
     const parent = parentCell.obj!;
     current.sourceRef = parentCell.transform.ref;
diff --git a/src/mol-state/tree/spine.ts b/src/mol-state/tree/spine.ts
index e623ec41a..9adc01e7c 100644
--- a/src/mol-state/tree/spine.ts
+++ b/src/mol-state/tree/spine.ts
@@ -18,14 +18,14 @@ interface StateTreeSpine {
 
 namespace StateTreeSpine {
     export class Impl implements StateTreeSpine {
-        private current: StateObjectCell | undefined = void 0;
-        setCurrent(cell?: StateObjectCell) {
-            this.current = cell;
-        }
+        private _current: StateObjectCell | undefined = void 0;
+
+        get current() { return this._current; }
+        set current(cell: StateObjectCell | undefined) { this._current = cell; }
 
         getAncestorOfType<T extends StateObject.Ctor>(t: T): StateObject.From<T> | undefined {
-            if (!this.current) return void 0;
-            let cell = this.current;
+            if (!this._current) return void 0;
+            let cell = this._current;
             while (true) {
                 cell = this.cells.get(cell.transform.parent)!;
                 if (!cell.obj) return void 0;
@@ -35,8 +35,8 @@ namespace StateTreeSpine {
         }
 
         getRootOfType<T extends StateObject.Ctor>(t: T): StateObject.From<T> | undefined {
-            if (!this.current) return void 0;
-            let cell = this.current;
+            if (!this._current) return void 0;
+            let cell = this._current;
             let ret: StateObjectCell | undefined = void 0;
             while (true) {
                 cell = this.cells.get(cell.transform.parent)!;
-- 
GitLab