diff --git a/wrappers/qooxdoo/mustache.js.post b/wrappers/qooxdoo/mustache.js.post index bd4b406..aba7af6 100644 --- a/wrappers/qooxdoo/mustache.js.post +++ b/wrappers/qooxdoo/mustache.js.post @@ -4,6 +4,6 @@ // EXPOSE qooxdoo variant qx.bom.Template.version = Mustache.version; -qx.bom.Template.toHtml = Mustache.render; +qx.bom.Template.render = Mustache.render; })(); diff --git a/wrappers/qooxdoo/mustache.js.pre b/wrappers/qooxdoo/mustache.js.pre index d10c0d5..fa37070 100644 --- a/wrappers/qooxdoo/mustache.js.pre +++ b/wrappers/qooxdoo/mustache.js.pre @@ -5,7 +5,7 @@ http://qooxdoo.org Copyright: - 2004-2011 1&1 Internet AG, Germany, http://www.1und1.de + 2004-2012 1&1 Internet AG, Germany, http://www.1und1.de License: LGPL: http://www.gnu.org/licenses/lgpl.html @@ -74,7 +74,7 @@ * For further details, please visit the mustache.js documentation here: * https://github.com/janl/mustache.js/blob/master/README.md */ -qx.Class.define("qx.bom.Template", { +qx.Bootstrap.define("qx.bom.Template", { statics : { /** Contains the mustache.js version. */ version: null, @@ -83,21 +83,21 @@ qx.Class.define("qx.bom.Template", { * Original and only template method of mustache.js. For further * documentation, please visit https://github.com/janl/mustache.js * - * @signature function(template, view, partials, send_fun) + * @signature function(template, view, partials) * @param template {String} The String containing the template. * @param view {Object} The object holding the data to render. * @param partials {Object} Object holding parts of a template. - * @param send_fun {Function?} Callback function for streaming. * @return {String} The parsed template. */ - toHtml: null, + render: null, /** * Helper method which provides you with a direct access to templates - * stored as HTML in the DOM. The DOM node with the given ID will be reated + * stored as HTML in the DOM. The DOM node with the given ID will be used * as a template, parsed and a new DOM node will be returned containing the - * parsed data. + * parsed data. Keep in mind to have only one root DOM element in the the + * template. * * @param id {String} The id of the HTML template in the DOM. * @param view {Object} The object holding the data to render. @@ -105,14 +105,22 @@ qx.Class.define("qx.bom.Template", { * @return {DomNode} A DOM element holding the parsed template data. */ get : function(id, view, partials) { + // get the content stored in the DOM var template = document.getElementById(id); var inner = template.innerHTML; + // apply the view inner = this.toHtml(inner, view, partials); + // special case for text only conversion + if (inner.search(/<|>/) === -1) { + return inner; + } + + // create a helper to convert the string into DOM nodes var helper = qx.bom.Element.create("div"); helper.innerHTML = inner; - + return helper.children[0]; } } @@ -124,4 +132,3 @@ qx.Class.define("qx.bom.Template", { * Below is the original mustache.js code. Snapshot date is mentioned in * the head of this file. */ - \ No newline at end of file