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)