Reintroduce renderBody for Marko v3

This commit is contained in:
Patrick Steele-Idem 2016-01-08 14:13:36 -07:00
parent fd32ce5a48
commit 94aaab2d6c
12 changed files with 22 additions and 16 deletions

View File

@ -58,6 +58,11 @@ function buildInputProps(node, context) {
}
});
if (node.body && node.body.length) {
var renderBodyFunction = context.builder.renderBodyFunction(node.body);
inputProps.renderBody = renderBodyFunction;
}
return context.builder.literal(inputProps);
}

View File

@ -17,5 +17,6 @@
"required": true
}
},
"<test-hello>": "taglib/test-hello/marko-tag.json",
"tags-dir": "./taglib/scanned-tags"
}

View File

@ -1,16 +0,0 @@
exports.create = function(__helpers) {
var str = __helpers.s,
empty = __helpers.e,
notEmpty = __helpers.ne,
__renderer = __helpers.r,
hello_renderer = __renderer(require("./hello-renderer")),
__tag = __helpers.t;
return function render(data, out) {
__tag(out,
hello_renderer,
{
"name": "World"
});
};
}

View File

@ -0,0 +1 @@
Hello World! BODY: Body content

View File

@ -0,0 +1,3 @@
<test-hello name="World">
Body content
</test-hello>

View File

@ -0,0 +1 @@
exports.templateData = {};

View File

@ -0,0 +1,4 @@
{
"renderer": "./renderer.js",
"@name": "string"
}

View File

@ -0,0 +1,7 @@
exports.render = function(input, out) {
out.write('Hello ' + input.name + '!');
if (input.renderBody) {
out.write(' BODY: ');
input.renderBody(out);
}
};