[FIX] qweb: properly display falsy values

While it is not tested, nor documented, the reference QWeb
implementation display the `false` value as "false". So, we have to
adapt the Owl implementation to match that behaviour.

At the same time, this commit uses 'let' instead of 'var' in various places,
to make the compiled code more consistant.
This commit is contained in:
Géry Debongnie
2019-12-12 22:27:52 +01:00
committed by aab-odoo
parent 0931a4dc5b
commit 29a80d0b28
12 changed files with 924 additions and 857 deletions
+3 -3
View File
@@ -6,11 +6,11 @@ exports[`Link component can render simple cases 1`] = `
// Template name: \\"__template__1\\"
let utils = this.constructor.utils;
let scope = Object.create(context);
var h = this.h;
let h = this.h;
let _4 = utils.toObj({'router-link-active':scope['isActive']});
var _5 = scope['href'];
let _5 = scope['href'];
let c6 = [], p6 = {key:6,attrs:{href: _5},class:_4,on:{}};
var vn6 = h('a', p6, c6);
let vn6 = h('a', p6, c6);
extra.handlers['click__7__'] = extra.handlers['click__7__'] || function (e) {if (!context.__owl__.isMounted){return}utils.getComponent(context)['navigate'](e);};
p6.on['click'] = extra.handlers['click__7__'];
const slot8 = this.constructor.slots[context.__owl__.slotId + '_' + 'default'];
@@ -9,7 +9,7 @@ exports[`RouteComponent can render simple cases 1`] = `
let parent = context;
let scope = Object.create(context);
let result;
var h = this.h;
let h = this.h;
if (scope['routeComponent']) {
const nodeKey4 = scope['env'].router.currentRouteName;
// Component 'routeComponent'