From 2ce027a0a6729d657219543646f54494822fa76d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 17 May 2019 13:30:34 +0200 Subject: [PATCH] [REF] component: remove isStarted key --- src/component.ts | 4 ---- src/qweb_extensions.ts | 2 +- tests/__snapshots__/component.test.ts.snap | 10 +++++----- tests/component.test.ts | 5 ----- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/component.ts b/src/component.ts index 8504d4d4..9fc69f35 100644 --- a/src/component.ts +++ b/src/component.ts @@ -25,7 +25,6 @@ export interface Env { export interface Meta { readonly id: number; vnode: VNode | null; - isStarted: boolean; isMounted: boolean; isDestroyed: boolean; parent: Component | null; @@ -116,7 +115,6 @@ export class Component< this.__owl__ = { id: id, vnode: null, - isStarted: false, isMounted: false, isDestroyed: false, parent: p, @@ -383,8 +381,6 @@ export class Component< if (this.__owl__.isDestroyed) { return Promise.resolve(h("div")); } - this.__owl__.isStarted = true; - const qweb = this.env.qweb; if (!this.template) { let tmap = TEMPLATE_MAP[qweb.id]; diff --git a/src/qweb_extensions.ts b/src/qweb_extensions.ts index a8e15f9d..4cfdddb0 100644 --- a/src/qweb_extensions.ts +++ b/src/qweb_extensions.ts @@ -406,7 +406,7 @@ QWeb.addDirective({ ); ctx.addLine(`let props${widgetID} = ${props || "{}"};`); ctx.addIf( - `w${widgetID} && w${widgetID}.__owl__.renderPromise && !w${widgetID}.__owl__.isStarted && props${widgetID} !== w${widgetID}.__owl__.renderProps` + `w${widgetID} && w${widgetID}.__owl__.renderPromise && !w${widgetID}.__owl__.vnode && props${widgetID} !== w${widgetID}.__owl__.renderProps` ); ctx.addLine(`w${widgetID}.destroy();`); ctx.addLine(`w${widgetID} = false`); diff --git a/tests/__snapshots__/component.test.ts.snap b/tests/__snapshots__/component.test.ts.snap index 4cfe57b6..57841099 100644 --- a/tests/__snapshots__/component.test.ts.snap +++ b/tests/__snapshots__/component.test.ts.snap @@ -14,7 +14,7 @@ exports[`class and style attributes with t-widget dynamic t-att-style is properl const _5 = context['state'].style; let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false; let props4 = {}; - if (w4 && w4.__owl__.renderPromise && !w4.__owl__.isStarted && props4 !== w4.__owl__.renderProps) { + if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode && props4 !== w4.__owl__.renderProps) { w4.destroy(); w4 = false } @@ -48,7 +48,7 @@ exports[`class and style attributes with t-widget t-att-class is properly added/ const _5 = {a: context['state'].a,b: context['state'].b}; let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false; let props4 = {}; - if (w4 && w4.__owl__.renderPromise && !w4.__owl__.isStarted && props4 !== w4.__owl__.renderProps) { + if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode && props4 !== w4.__owl__.renderProps) { w4.destroy(); w4 = false } @@ -99,7 +99,7 @@ exports[`composition sub widgets with some state rendered in a loop 1`] = ` let def6; let w7 = key8 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key8]] : false; let props7 = {}; - if (w7 && w7.__owl__.renderPromise && !w7.__owl__.isStarted && props7 !== w7.__owl__.renderProps) { + if (w7 && w7.__owl__.renderPromise && !w7.__owl__.vnode && props7 !== w7.__owl__.renderProps) { w7.destroy(); w7 = false } @@ -134,7 +134,7 @@ exports[`random stuff/miscellaneous snapshotting compiled code 1`] = ` let def3; let w4 = key5 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key5]] : false; let props4 = {flag: context['state'].flag}; - if (w4 && w4.__owl__.renderPromise && !w4.__owl__.isStarted && props4 !== w4.__owl__.renderProps) { + if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode && props4 !== w4.__owl__.renderProps) { w4.destroy(); w4 = false } @@ -167,7 +167,7 @@ exports[`random stuff/miscellaneous t-props should not be undefined (snapshottin let def3; let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false; let props4 = {}; - if (w4 && w4.__owl__.renderPromise && !w4.__owl__.isStarted && props4 !== w4.__owl__.renderProps) { + if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode && props4 !== w4.__owl__.renderProps) { w4.destroy(); w4 = false } diff --git a/tests/component.test.ts b/tests/component.test.ts index fcb1c556..5f15024e 100644 --- a/tests/component.test.ts +++ b/tests/component.test.ts @@ -825,17 +825,14 @@ describe("destroy method", () => { expect(fixture.innerHTML).toBe(""); const widget = new DelayedWidget(env); widget.mount(fixture); - expect(widget.__owl__.isStarted).toBe(false); expect(widget.__owl__.isMounted).toBe(false); expect(widget.__owl__.isDestroyed).toBe(false); widget.destroy(); expect(widget.__owl__.isMounted).toBe(false); - expect(widget.__owl__.isStarted).toBe(false); expect(widget.__owl__.isDestroyed).toBe(true); def.resolve(); await nextTick(); - expect(widget.__owl__.isStarted).toBe(false); expect(widget.__owl__.isMounted).toBe(false); expect(widget.__owl__.isDestroyed).toBe(true); expect(widget.__owl__.vnode).toBe(undefined); @@ -1800,13 +1797,11 @@ describe("async rendering", () => { w.mount(fixture); expect(w.__owl__.isDestroyed).toBe(false); expect(w.__owl__.isMounted).toBe(false); - expect(w.__owl__.isStarted).toBe(false); w.destroy(); def.resolve(); await nextTick(); expect(w.__owl__.isDestroyed).toBe(true); expect(w.__owl__.isMounted).toBe(false); - expect(w.__owl__.isStarted).toBe(false); }); test("destroying/recreating a subwidget with different props (if start is not over)", async () => {