[kupu-checkins] r38680 - in kupu/trunk/kupu: common plone/kupu_references

duncan at codespeak.net duncan at codespeak.net
Tue Feb 13 13:03:51 CET 2007


Author: duncan
Date: Tue Feb 13 13:03:50 2007
New Revision: 38680

Modified:
   kupu/trunk/kupu/common/kupudrawers.js
   kupu/trunk/kupu/plone/kupu_references/referencebrowser.js
Log:
Bootstrap problem with Sarissa: on IE7 with native XMLHttp object we don't call getDomDocument on the result and that makes transformToDocument fail.
referencebrowser.js wasn't transforming a single node in an IE compatible way.

Modified: kupu/trunk/kupu/common/kupudrawers.js
==============================================================================
--- kupu/trunk/kupu/common/kupudrawers.js	(original)
+++ kupu/trunk/kupu/common/kupudrawers.js	Tue Feb 13 13:03:50 2007
@@ -547,6 +547,7 @@
             will also make the first loadLibraries call
         */
         this.shared.xsl = dom;
+        Sarissa.getDomDocument(); /* Work round Sarissa initialisation glitch */
 
         // Change by Paul to have cached xslt transformers for reuse of 
         // multiple transforms and also xslt params

Modified: kupu/trunk/kupu/plone/kupu_references/referencebrowser.js
==============================================================================
--- kupu/trunk/kupu/plone/kupu_references/referencebrowser.js	(original)
+++ kupu/trunk/kupu/plone/kupu_references/referencebrowser.js	Tue Feb 13 13:03:50 2007
@@ -59,13 +59,21 @@
             var id = sel[i];
             var t = id;
             var node = xml.selectSingleNode("//resource[@id='"+id+"']");
-            var result = this.shared.xsltproc.transformToDocument(node);
-            var imp = window.document.importNode(result, true);
             div = document.createElement("div");
             div.className = i%2?'odd':'even';
             var link = document.createElement('a');
             link.href = node.selectSingleNode('uri/text()').nodeValue.strip()+'/view';
-            Sarissa.copyChildNodes(imp, link, true);
+
+            if (_SARISSA_IS_IE) {
+                /* IE won't take a node to transformToDocument */
+                var result = node.transformNode(this.shared.xsl);
+                link.innerHTML = result;
+            } else {
+                var result = this.shared.xsltproc.transformToDocument(node);
+                var imp = window.document.importNode(result, true);
+                Sarissa.copyChildNodes(imp, link, true);
+            };
+
             div.appendChild(link);
             preview.appendChild(div);
         }


More information about the kupu-checkins mailing list