[IMP] app, compiler: introduce t-out

t-out automatically escaped content when it is a string not marked
with the `markup` function

t-out renders the raw content if it is a Block, or if it has been marked
with the `markup` funtion.

t-esc has been kept since it is safe and is optimized to render text nodes.

all t-raw calls are in fact the same as t-out.
This commit is contained in:
Lucas Perais (lpe)
2021-11-15 15:01:56 +01:00
committed by Géry Debongnie
parent 2806cda420
commit 6ea40a66da
62 changed files with 1780 additions and 1306 deletions
+2 -2
View File
@@ -82,12 +82,12 @@ describe("basics", () => {
expect(fixture.innerHTML).toBe("<div><span>42</span></div>");
});
test("t-set with a body expression can be passed in props, and then t-raw", async () => {
test("t-set with a body expression can be passed in props, and then t-out", async () => {
class Child extends Component {
static template = xml`
<span>
<t t-esc="props.val"/>
<t t-raw="props.val"/>
<t t-out="props.val"/>
</span>`;
}
class Parent extends Component {