Handlebars rebase test
by waynedpj
HTML
<script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v2.0.0.js"></script>
<div id="output"></div>
<script type="template/handlebars" id="template">
{{#each pages}}
findRoot = {{path/findRoot base}}</br>
rebase = {{rebase ID.path (findRoot base) option=false}}</br></br>
{{/each}}
</script>
CoffeeScript
Handlebars.registerHelper("path/findRoot", (path, helperData) ->
console.log("@findRoot path: " + path)
newRoot = path.split("/")[0..1].join("/")
console.log("@findRoot newRoot: " + newRoot)
console.log("@findRoot _.isString(newRoot): " + _.isString(newRoot))
#return newRoot
return new Handlebars.SafeString(newRoot)
)
Handlebars.registerHelper("rebase", (path, root, helperData) ->
console.log("@rebase path: " + path)
console.log("@rebase root: " + JSON.stringify(root))
#return root + path
return new Handlebars.SafeString(root + path)
)
template =
Handlebars.compile(document.getElementById("template").innerHTML)
context =
pages: [
{base: "/Root/A", ID: {path: "/A/1"}},
{base: "/Root/B", ID: {path: "/B/2"}}
]
document.getElementById("output").innerHTML = template(context)