Disabled cloneing of HTML-Nodes and removed authomatically repleacing DocumentElement...
authorDaniel Abrecht <webmaster@danielabrecht.ch>
Thu, 15 Jan 2015 10:12:00 +0000 (11:12 +0100)
committerDaniel Abrecht <webmaster@danielabrecht.ch>
Thu, 15 Jan 2015 10:12:00 +0000 (11:12 +0100)
MVSync.js

index 2253bd6..9232621 100644 (file)
--- a/MVSync.js
+++ b/MVSync.js
@@ -136,7 +136,7 @@ function Template(template){
         })();}
     }
 
-    this.root = template.cloneNode(true);
+    this.root = (template instanceof HTMLHtmlElement)?template:template.cloneNode(true);
     this.root.templateInstance = this;
     this.root.classList.add(attrName);
 
@@ -392,9 +392,9 @@ function arraySwapValues(a,i,j){
 
 function compileTemplate(e){
   var name = e.getAttribute("data-template");
-  if(e==document.documentElement)
+  if(!name&&e instanceof HTMLHtmlElement)
     name = "root";
-  if(e.parentNode)
+  if(e.parentNode&&!(e instanceof HTMLHtmlElement))
     e.parentNode.removeChild(e);
   e.templateName = name;
   var t = templates[name] = new Template(e);
@@ -442,7 +442,7 @@ addEventListener("load",function(){
   }
   compileTemplates(document);
   var t = compileTemplate(document.documentElement);
-  document.appendChild(t.instance(model));
+  t.instance(model);
 });
 
 })();