From e45d28b07a9de01572d63e75eadd2d56e2634dce Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Tue, 7 Jul 2020 11:55:04 +0200 Subject: [PATCH] refactor: improve setState semantics --- app/assets/javascripts/views/abstract/pure_view_ctrl.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/views/abstract/pure_view_ctrl.ts b/app/assets/javascripts/views/abstract/pure_view_ctrl.ts index ecd42d674..ff2379ef6 100644 --- a/app/assets/javascripts/views/abstract/pure_view_ctrl.ts +++ b/app/assets/javascripts/views/abstract/pure_view_ctrl.ts @@ -59,15 +59,13 @@ export class PureViewCtrl

{ return {} as any; } - async setState(state: CtrlState) { + async setState(state: Partial) { if (!this.$timeout) { return; } + this.state = Object.freeze(Object.assign({}, this.state, state)); return new Promise((resolve) => { - this.stateTimeout = this.$timeout(() => { - this.state = Object.freeze(Object.assign({}, this.state, state)); - resolve(); - }); + this.stateTimeout = this.$timeout(resolve); }); }