2009/dap/ReSpec.js/js respec.js,1.146,1.147 simple-node.js,1.6,1.7

Update of /sources/public/2009/dap/ReSpec.js/js
In directory hutz:/tmp/cvs-serv5644/js

Modified Files:
	respec.js simple-node.js 
Log Message:
first step in fixing the ID bug on overloaded methods

Index: respec.js
===================================================================
RCS file: /sources/public/2009/dap/ReSpec.js/js/respec.js,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -d -r1.146 -r1.147
--- respec.js	28 Apr 2011 08:25:11 -0000	1.146
+++ respec.js	29 Apr 2011 13:52:12 -0000	1.147
@@ -2007,6 +2007,8 @@
                 var dl = sn.element("dl", { "class": type + "s" }, sec);
                 for (var j = 0; j < things.length; j++) {
                     var it = things[j];
+                    var id = sn.idThatDoesNotExist(curLnk + it.refId);
+                    console.log("ID=" + id);
                     var dt = sn.element("dt", { id: curLnk + it.refId }, dl);
                     sn.element("code", {}, dt, it.id);
                     var desc = sn.element("dd", {}, dl, [it.description]);

Index: simple-node.js
===================================================================
RCS file: /sources/public/2009/dap/ReSpec.js/js/simple-node.js,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- simple-node.js	28 Aug 2009 13:20:48 -0000	1.6
+++ simple-node.js	29 Apr 2011 13:52:12 -0000	1.7
@@ -118,12 +118,19 @@
         if (id.length > 0 && /^[^a-z]/.test(id)) id = "x" + id;
         if (id.length == 0) id = "generatedID";
         if (pfx) id = pfx + "-" + id;
+        id = this.idThatDoesNotExist(id);
+        el.setAttribute("id", id);
+        return id;
+    },
+    
+    idCache: {},
+    idThatDoesNotExist:    function (id) {
         var inc = 1;
-        if (this.doc.getElementById(id)) {
-            while (this.doc.getElementById(id + "-" + inc)) inc++;
+        if (this.doc.getElementById(id) || this.idCache[id]) {
+            while (this.doc.getElementById(id + "-" + inc) || this.idCache[id + "-" + inc]) inc++;
             id = id + "-" + inc;
         }
-        el.setAttribute("id", id);
+        this.idCache[id] = true;
         return id;
     },
     

Received on Friday, 29 April 2011 13:52:15 UTC