diff --git a/src/mol-state/state.ts b/src/mol-state/state.ts index cbb5e4ae1368aed15307e7f5d49f03705ff5ca77..c11fc78d078dbe0c5f345a11232224bfff059e4e 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 e623ec41a19e4638d32ca69087a1fc199f9274f2..9adc01e7c86a5d299ac998b112258af828e94785 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)!;