From 15039bd16cac83ba333131540974476f565b932a Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Tue, 7 Jul 2020 11:49:05 +0200 Subject: [PATCH] refactor: improve props and state typing --- .../javascripts/views/abstract/pure_view_ctrl.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/views/abstract/pure_view_ctrl.ts b/app/assets/javascripts/views/abstract/pure_view_ctrl.ts index 4b1978dd5..ecd42d674 100644 --- a/app/assets/javascripts/views/abstract/pure_view_ctrl.ts +++ b/app/assets/javascripts/views/abstract/pure_view_ctrl.ts @@ -4,18 +4,20 @@ import { WebApplication } from '@/ui_models/application'; export type CtrlState = Partial> export type CtrlProps = Partial> -export class PureViewCtrl { +export class PureViewCtrl

{ $timeout: ng.ITimeoutService /** Passed through templates */ application!: WebApplication - props: CtrlProps = {} - state: CtrlState = {} + state: S = {} as any private unsubApp: any private unsubState: any - private stateTimeout: any + private stateTimeout?: ng.IPromise /* @ngInject */ - constructor($timeout: ng.ITimeoutService) { + constructor( + $timeout: ng.ITimeoutService, + public props: P = {} as any + ) { this.$timeout = $timeout; } @@ -53,8 +55,8 @@ export class PureViewCtrl { } /** @override */ - getInitialState() { - return {}; + getInitialState(): S { + return {} as any; } async setState(state: CtrlState) {