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> {
|
export interface Meta<T extends Env, Props> {
|
||||||
readonly id: number;
|
readonly id: number;
|
||||||
vnode: VNode | null;
|
vnode: VNode | null;
|
||||||
isStarted: boolean;
|
|
||||||
isMounted: boolean;
|
isMounted: boolean;
|
||||||
isDestroyed: boolean;
|
isDestroyed: boolean;
|
||||||
parent: Component<T, any, any> | null;
|
parent: Component<T, any, any> | null;
|
||||||
@@ -116,7 +115,6 @@ export class Component<
|
|||||||
this.__owl__ = {
|
this.__owl__ = {
|
||||||
id: id,
|
id: id,
|
||||||
vnode: null,
|
vnode: null,
|
||||||
isStarted: false,
|
|
||||||
isMounted: false,
|
isMounted: false,
|
||||||
isDestroyed: false,
|
isDestroyed: false,
|
||||||
parent: p,
|
parent: p,
|
||||||
@@ -383,8 +381,6 @@ export class Component<
|
|||||||
if (this.__owl__.isDestroyed) {
|
if (this.__owl__.isDestroyed) {
|
||||||
return Promise.resolve(h("div"));
|
return Promise.resolve(h("div"));
|
||||||
}
|
}
|
||||||
this.__owl__.isStarted = true;
|
|
||||||
|
|
||||||
const qweb = this.env.qweb;
|
const qweb = this.env.qweb;
|
||||||
if (!this.template) {
|
if (!this.template) {
|
||||||
let tmap = TEMPLATE_MAP[qweb.id];
|
let tmap = TEMPLATE_MAP[qweb.id];
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ QWeb.addDirective({
|
|||||||
);
|
);
|
||||||
ctx.addLine(`let props${widgetID} = ${props || "{}"};`);
|
ctx.addLine(`let props${widgetID} = ${props || "{}"};`);
|
||||||
ctx.addIf(
|
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}.destroy();`);
|
||||||
ctx.addLine(`w${widgetID} = false`);
|
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;
|
const _5 = context['state'].style;
|
||||||
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
||||||
let props4 = {};
|
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.destroy();
|
||||||
w4 = false
|
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};
|
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 w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
||||||
let props4 = {};
|
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.destroy();
|
||||||
w4 = false
|
w4 = false
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,7 @@ exports[`composition sub widgets with some state rendered in a loop 1`] = `
|
|||||||
let def6;
|
let def6;
|
||||||
let w7 = key8 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key8]] : false;
|
let w7 = key8 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key8]] : false;
|
||||||
let props7 = {};
|
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.destroy();
|
||||||
w7 = false
|
w7 = false
|
||||||
}
|
}
|
||||||
@@ -134,7 +134,7 @@ exports[`random stuff/miscellaneous snapshotting compiled code 1`] = `
|
|||||||
let def3;
|
let def3;
|
||||||
let w4 = key5 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key5]] : false;
|
let w4 = key5 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[key5]] : false;
|
||||||
let props4 = {flag: context['state'].flag};
|
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.destroy();
|
||||||
w4 = false
|
w4 = false
|
||||||
}
|
}
|
||||||
@@ -167,7 +167,7 @@ exports[`random stuff/miscellaneous t-props should not be undefined (snapshottin
|
|||||||
let def3;
|
let def3;
|
||||||
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
||||||
let props4 = {};
|
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.destroy();
|
||||||
w4 = false
|
w4 = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -825,17 +825,14 @@ describe("destroy method", () => {
|
|||||||
expect(fixture.innerHTML).toBe("");
|
expect(fixture.innerHTML).toBe("");
|
||||||
const widget = new DelayedWidget(env);
|
const widget = new DelayedWidget(env);
|
||||||
widget.mount(fixture);
|
widget.mount(fixture);
|
||||||
expect(widget.__owl__.isStarted).toBe(false);
|
|
||||||
expect(widget.__owl__.isMounted).toBe(false);
|
expect(widget.__owl__.isMounted).toBe(false);
|
||||||
expect(widget.__owl__.isDestroyed).toBe(false);
|
expect(widget.__owl__.isDestroyed).toBe(false);
|
||||||
widget.destroy();
|
widget.destroy();
|
||||||
expect(widget.__owl__.isMounted).toBe(false);
|
expect(widget.__owl__.isMounted).toBe(false);
|
||||||
expect(widget.__owl__.isStarted).toBe(false);
|
|
||||||
expect(widget.__owl__.isDestroyed).toBe(true);
|
expect(widget.__owl__.isDestroyed).toBe(true);
|
||||||
def.resolve();
|
def.resolve();
|
||||||
await nextTick();
|
await nextTick();
|
||||||
|
|
||||||
expect(widget.__owl__.isStarted).toBe(false);
|
|
||||||
expect(widget.__owl__.isMounted).toBe(false);
|
expect(widget.__owl__.isMounted).toBe(false);
|
||||||
expect(widget.__owl__.isDestroyed).toBe(true);
|
expect(widget.__owl__.isDestroyed).toBe(true);
|
||||||
expect(widget.__owl__.vnode).toBe(undefined);
|
expect(widget.__owl__.vnode).toBe(undefined);
|
||||||
@@ -1800,13 +1797,11 @@ describe("async rendering", () => {
|
|||||||
w.mount(fixture);
|
w.mount(fixture);
|
||||||
expect(w.__owl__.isDestroyed).toBe(false);
|
expect(w.__owl__.isDestroyed).toBe(false);
|
||||||
expect(w.__owl__.isMounted).toBe(false);
|
expect(w.__owl__.isMounted).toBe(false);
|
||||||
expect(w.__owl__.isStarted).toBe(false);
|
|
||||||
w.destroy();
|
w.destroy();
|
||||||
def.resolve();
|
def.resolve();
|
||||||
await nextTick();
|
await nextTick();
|
||||||
expect(w.__owl__.isDestroyed).toBe(true);
|
expect(w.__owl__.isDestroyed).toBe(true);
|
||||||
expect(w.__owl__.isMounted).toBe(false);
|
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 () => {
|
test("destroying/recreating a subwidget with different props (if start is not over)", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user