From 5fe72757a76f1411b6729e1b7430cbf93f7773e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Sat, 26 Jan 2019 18:23:43 +0100 Subject: [PATCH] rename _ into __widget__ --- web/static/src/ts/core/Widget.ts | 41 ++++++++++++++++---------------- web/static/tests/widget.test.ts | 12 +++++----- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/web/static/src/ts/core/Widget.ts b/web/static/src/ts/core/Widget.ts index fc9c7fca..e8d958f3 100644 --- a/web/static/src/ts/core/Widget.ts +++ b/web/static/src/ts/core/Widget.ts @@ -27,12 +27,12 @@ interface Meta { } export class Widget { - _: Meta; + __widget__: Meta; name: string = "widget"; template: string = "
"; get el(): HTMLElement | null { - return this._.vnode ? (this)._.vnode.elm : null; + return this.__widget__.vnode ? (this).__widget__.vnode.elm : null; } env: T; @@ -48,12 +48,12 @@ export class Widget { let p: Widget | null = null; if (parent instanceof Widget) { p = parent; - parent._.children.push(this); + parent.__widget__.children.push(this); this.env = Object.create(parent.env); } else { this.env = parent; } - this._ = { + this.__widget__ = { id: this.env.getID(), vnode: null, isStarted: false, @@ -82,23 +82,22 @@ export class Widget { if (document.body.contains(target)) { this.visitSubTree(w => { - if (!w._.isMounted && this.el!.contains(w.el)) { - w._.isMounted = true; + if (!w.__widget__.isMounted && this.el!.contains(w.el)) { + w.__widget__.isMounted = true; w.mounted(); } }); } - // } return vnode; } destroy() { - if (!this._.isDestroyed) { + if (!this.__widget__.isDestroyed) { if (this.el) { this.el.remove(); - delete this._.vnode; + delete this.__widget__.vnode; } - this._.isDestroyed = true; + this.__widget__.isDestroyed = true; this.destroyed(); } } @@ -109,7 +108,7 @@ export class Widget { */ async updateState(newState: Object) { Object.assign(this.state, newState); - if (this._.isStarted) { + if (this.__widget__.isStarted) { await this.render(); } } @@ -120,16 +119,16 @@ export class Widget { async render(): Promise { const vnode = await this._render(); - this._.vnode = patch( - this._.vnode || document.createElement(vnode.sel!), + this.__widget__.vnode = patch( + this.__widget__.vnode || document.createElement(vnode.sel!), vnode ); - return this._.vnode; + return this.__widget__.vnode; } private async _start(): Promise { await this.willStart(); - this._.isStarted = true; + this.__widget__.isStarted = true; } private async _render(): Promise { @@ -145,7 +144,7 @@ export class Widget { // will update its own vnode representation without the knowledge of the // parent widget. With this, we make sure that the parent widget will be // able to patch itself properly after - vnode.key = this._.id; + vnode.key = this.__widget__.id; return Promise.all(promises).then(() => vnode); } @@ -153,10 +152,10 @@ export class Widget { * Only called by qweb t-widget directive */ _mount(vnode: VNode) { - this._.vnode = vnode; - if (this._.parent) { - if (this._.parent._.isMounted) { - this._.isMounted = true; + this.__widget__.vnode = vnode; + if (this.__widget__.parent) { + if (this.__widget__.parent.__widget__.isMounted) { + this.__widget__.isMounted = true; this.mounted(); } } @@ -164,7 +163,7 @@ export class Widget { private visitSubTree(callback: (w: Widget) => void) { callback(this); - for (let child of this._.children) { + for (let child of this.__widget__.children) { child.visitSubTree(callback); } } diff --git a/web/static/tests/widget.test.ts b/web/static/tests/widget.test.ts index f77e874b..f3e80a8d 100644 --- a/web/static/tests/widget.test.ts +++ b/web/static/tests/widget.test.ts @@ -280,7 +280,7 @@ describe("composition", () => { const widget = new WidgetA(env); await widget.mount(fixture); expect(fixture.innerHTML).toBe("
Hello
world
"); - expect(widget._.children[0]._.parent).toBe(widget); + expect(widget.__widget__.children[0].__widget__.parent).toBe(widget); }); test("t-refs on widget are widgets", async () => { @@ -316,12 +316,12 @@ describe("composition", () => { const widget = new WidgetA(env); await widget.mount(fixture); - expect((widget._.vnode!.children![1]).elm).toBe( - (widget._.children[0]._.vnode).elm + expect((widget.__widget__.vnode!.children![1]).elm).toBe( + (widget.__widget__.children[0].__widget__.vnode).elm ); - await widget._.children[0].render(); - expect((widget._.vnode!.children![1]).elm).toBe( - (widget._.children[0]._.vnode).elm + await widget.__widget__.children[0].render(); + expect((widget.__widget__.vnode!.children![1]).elm).toBe( + (widget.__widget__.children[0].__widget__.vnode).elm ); }); });