Author: julien(a)jboss.com
Date: 2007-07-17 12:16:32 -0400 (Tue, 17 Jul 2007)
New Revision: 7803
Modified:
trunk/theme/src/bin/portal-ajax-war/dyna/dyna.js
Log:
JBPORTAL-1594 : Partial refresh bug on IE
Modified: trunk/theme/src/bin/portal-ajax-war/dyna/dyna.js
===================================================================
--- trunk/theme/src/bin/portal-ajax-war/dyna/dyna.js 2007-07-17 16:13:23 UTC (rev 7802)
+++ trunk/theme/src/bin/portal-ajax-war/dyna/dyna.js 2007-07-17 16:16:32 UTC (rev 7803)
@@ -1,6 +1,6 @@
function sendData(action, windowId, fromPos, fromRegionId, toPos, toRegionId) {
var options = {
- requestHeaders:
["ajax","true","bilto","toto"],
+ requestHeaders:
["ajax","true","bilto","toto"],
method: "post",
postBody: "action=" + action + "&windowId=" + windowId +
"&fromPos=" + fromPos + "&fromRegion=" + fromRegionId +
"&toPos=" + toPos + "&toRegion=" + toRegionId,
onSuccess: function(t)
@@ -171,9 +171,11 @@
// Create a temporary element and paste the innerHTML in it
var srcContainer = document.createElement("div");
- srcContainer.innerHTML = markup;
- //
+ // Insert the markup in the div
+ new Insertion.Bottom(srcContainer, markup);
+
+ // Copy the region content
copyInnerHTML(srcContainer, dstContainer,
"dyna-portlet")
copyInnerHTML(srcContainer, dstContainer,
"dyna-decoration")
}
@@ -227,8 +229,35 @@
{
var dst = dsts[0];
- // Copy markup
- dst.innerHTML = src.innerHTML;
+ // Remove existing non attribute children in destination
+ var dstChildren = dst.childNodes;
+ var copy = new Array();
+ for (var i = 0;i < dstChildren.length;i++)
+ {
+ var dstChild = dstChildren.item(i);
+ if (dstChild.nodeType != 2)
+ {
+ copy[i] = dstChildren.item(i);
+ }
+ }
+ for (var i = 0;i < copy.length;i++)
+ {
+ Element.remove(copy[i]);
+ }
+
+ // Move src non attribute children to the destination
+ while (src.hasChildNodes())
+ {
+ var srcChild = src.firstChild;
+ if (srcChild.nodeType != 2)
+ {
+ dst.appendChild(srcChild);
+ }
+ else
+ {
+ src.removeChild(srcChild);
+ }
+ }
}
else
{