| @@ -105,15 +105,29 @@ qx.Class.define("qx.bom.Template", { | |||||
| * @return {DomNode} A DOM element holding the parsed template data. | * @return {DomNode} A DOM element holding the parsed template data. | ||||
| */ | */ | ||||
| get : function(id, view, partials) { | get : function(id, view, partials) { | ||||
| // get the content stored in the DOM | |||||
| var template = document.getElementById(id); | var template = document.getElementById(id); | ||||
| var inner = template.innerHTML; | var inner = template.innerHTML; | ||||
| // apply the view | |||||
| inner = this.toHtml(inner, view, partials); | 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"); | var helper = qx.bom.Element.create("div"); | ||||
| helper.innerHTML = inner; | helper.innerHTML = inner; | ||||
| return helper.children[0]; | |||||
| // use a document fragment to return more than one note | |||||
| var docFragment = document.createDocumentFragment(); | |||||
| for (var i = helper.childNodes.length - 1; i >= 0; i--) { | |||||
| qx.dom.Element.insertBegin(helper.childNodes[i], docFragment); | |||||
| }; | |||||
| return docFragment; | |||||
| } | } | ||||
| } | } | ||||
| }); | }); | ||||