[FIX] qweb: improve generated compiled code

This commit is contained in:
Géry Debongnie
2019-10-11 12:44:21 +02:00
parent 0928c189f4
commit 41b0618c93
8 changed files with 4 additions and 150 deletions
-1
View File
@@ -549,7 +549,6 @@ export class Component<T extends Env, Props extends {}> {
__getTemplate(qweb: QWeb): string {
let p = (<any>this).constructor;
// console.warn(p, p.template, p._template, 'template' in p, p.hasOwnProperty('template'))
if (!p.hasOwnProperty("_template")) {
if (p.template) {
p._template = p.template;
+3 -1
View File
@@ -55,7 +55,9 @@ function compileValueNode(value: any, node: Element, qweb: QWeb, ctx: Context) {
ctx.rootContext.rootNode = nodeID;
ctx.rootContext.parentTextNode = nodeID;
ctx.addLine(`var vn${nodeID} = {text: ${exprID}};`);
ctx.addLine(`result = vn${nodeID}`);
if (ctx.rootContext.shouldDefineResult) {
ctx.addLine(`result = vn${nodeID}`);
}
}
} else {
let fragID = ctx.generateID();
+1 -1
View File
@@ -98,7 +98,7 @@ export class Context {
if (!this.rootContext.rootNode) {
this.rootContext.rootNode = node;
}
if (!this.parentNode) {
if (!this.parentNode && this.rootContext.shouldDefineResult) {
this.addLine(`result = vn${node};`);
}
return this.subContext("parentNode", node);