Author: ruwan
Date: Fri Dec 14 00:14:42 2007
New Revision: 11111

Log:

Task ui fix to work on IE

Modified:
   trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/tasks.js
   
trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/tasks/task_edit.xsl

Modified: 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/tasks.js
==============================================================================
--- 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/tasks.js    
    (original)
+++ 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/tasks.js    
    Fri Dec 14 00:14:42 2007
@@ -226,20 +226,36 @@
     if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
         prefix = "syn:";
     }
-    // todo: need to check on IE possible IE issue
+
     var existingprops = internalmodel.task.getElementsByTagName(prefix + 
"property");
-    while (existingprops.length > 0) {
-        var attrs = existingprops[0].attributes;
-        var ns_string = "";
-        for (var s = 0; s < attrs.length; s++) {
-            if (attrs[s].name.indexOf("xmlns:") == 0) {
-                ns_string = ns_string + " " + attrs[s].name.substring(6, 
attrs[s].name.length) + "###" + attrs[s].value;
+    var u = existingprops.length;
+    while (u > 0) {
+        if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+            var attrs2 = existingprops[existingprops.length - u].attributes;
+            var ns_string2 = "";
+            for (var s2 = 0; s2 < attrs2.length; s2++) {
+                if (attrs2[s2].name.indexOf("xmlns:") == 0) {
+                    ns_string2 = ns_string2 + " " + 
attrs2[s2].name.substring(6, attrs2[s2].name.length) + "###" + attrs2[s2].value;
+                }
             }
+            if (ns_string2 != "") {
+                namespaces[existingprops[existingprops.length - 
u].getAttribute("name")] = ns_string2;
+            }
+            internalmodel.task.removeChild(existingprops[existingprops.length 
- u]);
+        } else {
+            var attrs = existingprops[0].attributes;
+            var ns_string = "";
+            for (var s = 0; s < attrs.length; s++) {
+                if (attrs[s].name.indexOf("xmlns:") == 0) {
+                    ns_string = ns_string + " " + attrs[s].name.substring(6, 
attrs[s].name.length) + "###" + attrs[s].value;
+                }
+            }
+            if (ns_string != "") {
+                namespaces[existingprops[0].getAttribute("name")] = ns_string;
+            }
+            internalmodel.task.removeChild(existingprops[0]);
         }
-        if (ns_string != "") {
-            namespaces[existingprops[0].getAttribute("name")] = ns_string;
-        }
-        internalmodel.task.removeChild(existingprops[0]);
+        u--;
     }
 
     var propertyNamess = document.getElementsByName("property_name");
@@ -248,10 +264,8 @@
         var propName_real = propName_shown.charAt(0).toLowerCase() + 
propName_shown.substring(1, propName_shown.length);
         var propValue_real = document.getElementById("task_prop" + 
propName_real);
         var propType_real = document.getElementsByName("prop_type_" + 
propName_real)[0].value;
-        //        alert(propValue_real.value)
         if (validate || (propValue_real != null && propValue_real.value != 
"")) {
             //            var propchild = getsynproperty();
-            //            alert(propValue_real)
             var propchild = createesbelement("<syn:property 
xmlns:syn='http://ws.apache.org/ns/synapse'/>");
             propchild.setAttribute("name", propName_real);
             if (propType_real == "value") {
@@ -282,7 +296,7 @@
 
 function loadtaskclass() {
 
-    collecttaskdata();
+    collecttaskdata(false);
 
     var body_xml = '<ns1:loadCommand 
xmlns:ns1="http://org.apache.synapse/xsd";>' +
                    '<ns1:className>' + 
document.getElementById("task_class").value + '</ns1:className>' +
@@ -303,9 +317,14 @@
 
     var existingprops = internalmodel.task.getElementsByTagName(prefix + 
"property");
 
-
-    while (properties.length > 0) {
-        var propName = properties[0].getAttribute("name");
+    var f = properties.length;
+    while (f > 0) {
+        var propName;
+        if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+            propName = properties[properties.length - f].getAttribute("name"); 
           
+        } else {
+            propName = properties[0].getAttribute("name");
+        }
         var exists = false;
         for (var g = 0; g < existingprops.length; g++) {
             if (existingprops[g].getAttribute("name") == propName) {
@@ -313,12 +332,21 @@
             }
         }
         if (!exists) {
-            internalmodel.task.appendChild(properties[0]);
+            if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+                internalmodel.task.appendChild(properties[properties.length - 
f].parentNode.removeChild(properties[properties.length - f]));
+            } else {
+                internalmodel.task.appendChild(properties[0]);
+            }
+            f--;
         } else {
-            properties[0].parentNode.removeChild(properties[0]);
+            if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
+                properties[properties.length - 
f].parentNode.removeChild(properties[properties.length - f]);
+            } else {
+                properties[0].parentNode.removeChild(properties[0]);
+            }
+            f--;
         }
     }
-
     setnodepositions(internalmodel.task, 0);
 
     processXML(internalmodel.task, "tasks/task_edit.xsl", 
document.getElementById("task_edit_div"))

Modified: 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/tasks/task_edit.xsl
==============================================================================
--- 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/tasks/task_edit.xsl
   (original)
+++ 
trunk/esb/java/modules/distribution/src/main/www/extensions/core/xslt/tasks/task_edit.xsl
   Fri Dec 14 00:14:42 2007
@@ -16,6 +16,8 @@
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 
+    <xsl:variable name="supports-namespace-axis" 
select="count(/*/namespace::*) &gt; 0"/>
+
     <xsl:template match="syn:task" xmlns:syn="http://ws.apache.org/ns/synapse";>
 
         <div id="task_edit_div">

_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to