mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
[REF] component: remove isStarted key
This commit is contained in:
@@ -25,7 +25,6 @@ export interface Env {
|
||||
export interface Meta<T extends Env, Props> {
|
||||
readonly id: number;
|
||||
vnode: VNode | null;
|
||||
isStarted: boolean;
|
||||
isMounted: boolean;
|
||||
isDestroyed: boolean;
|
||||
parent: Component<T, any, any> | 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];
|
||||
|
||||
@@ -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`);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
Reference in New Issue
Block a user