eggification
[MosaicDocument.git] / Products / MosaicDocument / default_blocks / static / git-logo.png
diff --git a/default_blocks/tree_block_script.js b/default_blocks/tree_block_script.js
deleted file mode 100644 (file)
index d115432..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-// (c) BenoĆ®t PIN 2006 
-// http://plinn.org
-// Licence GPL
-
-var TreeMaker;
-
-(function() {
-/* root -> base node (typically a tbody or a table)
-*  filter -> comma separated list of portal_types 
-*/
-TreeMaker = function (root, filter, baseImgUrl) {
-       this.root = root;
-       var tm = this;
-       this.root.onclick = function(evt) { tm.refreshTree(evt); };
-       this.filter = filter;
-       this.baseImgUrl = baseImgUrl;
-       this.depthCpt = new Array();
-       this._lastAniImg = null;
-       
-       // preload images
-       var images = ['pl.png', 'pl_ani.png', 'mi.png', 'mi_ani.png'], img;
-       for (var i=0 ; i < images.length ; i++) {
-               img = new Image();
-               img.src = this.baseImgUrl + images[i];
-       }
-}
-
-/*
-* expand / collapse handler
-* object loading trigger
-*/
-TreeMaker.prototype.refreshTree = function (evt) {
-       var target = getTargetedObject(evt);
-       if (target.blur)
-               target.blur();
-
-       if (target.tagName == 'IMG') {
-               target.parentNode.blur();
-               var srcParts = target.src.split("/");
-               var imgId = srcParts[srcParts.length-1];
-               var parentTd = target.parentNode.parentNode;
-               var parentRow = parentTd.parentNode;
-               
-
-               switch (imgId) {
-                       case "pl.png" :
-                       case "pl_ani.png" :
-                               var linkCell = parentTd.nextSibling;
-                               while (linkCell.nodeType != 1)
-                                       linkCell = linkCell.nextSibling;
-
-                               var obUrl = linkCell.getElementsByTagName("A")[0].href;
-
-                               var req = new XMLHttpRequest();
-                               var tm = this;
-                               req.onreadystatechange = function() {
-                                       switch (req.readyState) {
-                                               case 1:
-                                                       showProgressImage();
-                                                       break;
-                                               case 4:
-                                                       hideProgressImage();
-                                                       tm.importRows(req, parentRow);
-                                       };
-                               };
-                               target.src = this.baseImgUrl + "mi_ani.png";
-                               this._lastAniImg = target;
-                               window.setTimeout(function(){tm._removeLastAniImg();}, 500);
-
-                               req.open("POST", obUrl + "/xml_nav_tree", true);
-                               req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
-                               req.send("filter=" + encodeURIComponent(this.filter) +
-                                                "&root_name=" + encodeURIComponent(this.root.id) +
-                                                "&expansion=" + encodeURIComponent(this.getExpansion()));
-                               
-                               break;
-
-                       case "mi.png" :
-                       case "mi_ani.png" :
-                               this.removeChildNodes(parentRow);
-                               target.src = this.baseImgUrl + "pl_ani.png";
-                               this._lastAniImg = target;
-                               var tm = this;
-                               window.setTimeout(function(){tm._removeLastAniImg();}, 500);
-                               document.cookie = encodeURIComponent(this.root.id) + '-state=' + encodeURIComponent(this.getExpansion()) +
-                                                                 ';path=/';
-                               break;
-               } // end switch (imgId)
-               disableDefault(evt);
-               disablePropagation(evt);
-       }
-};
-
-
-TreeMaker.prototype._removeLastAniImg = function() {
-       if (this._lastAniImg) {
-               this._lastAniImg.src = this._lastAniImg.src.replace("_ani", "");
-       }
-};
-
-TreeMaker.prototype.getExpansion = function() {
-       var rows = this.root.getElementsByTagName('TR');
-       var row, cells, stateCell, button, expid, node_depth, last_depth = -1, dd, step;
-       var steps = new Array();
-       steps.push(this.root.getAttribute('name'));
-       
-       var expanded = (/.*mi\.png$|.*mi_ani\.png$/);
-       for(i=0 ; i < rows.length ; i++) {
-               row = rows[i];
-               cells = row.getElementsByTagName('TD');
-               stateCell = cells[cells.length-2]; // cell where the +/- button is
-               button = stateCell.getElementsByTagName('IMG');
-               if (! button.length)
-                       continue;
-               button = button[0];
-               if (expanded.test(button.src)) {
-                       expid = button.parentNode.getAttribute("name");
-                       node_depth = cells[0].getAttribute('colspan') || 0;
-                       dd = last_depth - node_depth + 1;
-                       last_depth = node_depth;
-                       if (dd > 0) {
-                               step = '';
-                               for (var j = 0 ;  j < dd ; j++)
-                                       step = step + '_';
-                               steps.push(step);
-                       }
-                       steps.push(expid);
-               }
-       }
-       return steps.join(':');
-};
-
-
-/*
-* expand the tree: sends request and imports rows based on xml response.
-*/
-TreeMaker.prototype.importRows = function(req, parentRow) {
-       var rows = req.responseXML.documentElement.getElementsByTagName("row");
-       var clickedCells = parentRow.getElementsByTagName("TD");
-       var row, newRow, indentCell, stateCell, linkCell, img, a, indentValue, colspan,
-               incTableDepth=false, cols, linkCellColSpan;
-       
-       for (var i = 0 ; i < rows.length ; i++ ) {
-               row = rows[i];
-               
-               
-               newRow = document.createElement("TR");
-               indentCell = document.createElement("TD");
-               stateCell = document.createElement("TD");
-               stateCell.width = "16";
-               linkCell = document.createElement("TD");
-               linkCell.width = "99%";
-
-
-               if (clickedCells.length == 3) {
-                       indentValue = parseInt(clickedCells[0].getAttribute("colspan"));
-                       colspan = parseInt(clickedCells[2].getAttribute("colspan"));
-               }
-               else {
-                       indentValue = 0;
-                       colspan = parseInt(clickedCells[1].getAttribute("colspan"));
-               }
-
-               cols = indentValue + colspan;
-
-               if (colspan == 1)
-               incTableDepth = true;
-
-       indentCell.colSpan =   indentValue + 1;
-       if (!this.depthCpt[indentValue])
-               this.depthCpt[indentValue] = 1;
-       else
-               this.depthCpt[indentValue] += 1;
-
-       // IE : it's not possible to set colSpan attr to 0 :-(((
-       linkCellColSpan = cols - indentValue - 1
-       if (linkCellColSpan == 0)
-               linkCell.nullColSpan = true;
-           else
-               linkCell.colSpan = linkCellColSpan;
-
-               img = document.createElement("IMG");
-               img.src = row.getAttribute("icon");
-               img.height = row.getAttribute("height");
-               img.width = row.getAttribute("width");
-               a = document.createElement("A");
-
-               a.setAttribute("href", row.getAttribute("url"));
-               a.setAttribute("title", row.getAttribute("description"));
-               a.innerHTML = row.childNodes[0].nodeValue;
-
-               if (row.getAttribute("state") == "-1") {
-                       var stateLink = document.createElement("A");
-                       stateLink.href = ".";
-                       stateLink.setAttribute("name", row.getAttribute("name"));
-                       var stateImg = document.createElement("IMG");
-                       stateImg.src = this.baseImgUrl + "pl.png";
-                       stateImg.border = "0";
-                       stateImg.height = "16";
-                       stateImg.width = "16";
-                       stateLink.appendChild(stateImg)
-                       stateCell.appendChild(stateLink);
-               }
-               else
-                       stateCell.innerHTML = "&nbsp;&nbsp;";
-               
-               linkCell.appendChild(img);
-               linkCell.appendChild(a);
-               newRow.appendChild(indentCell);
-               newRow.appendChild(stateCell);
-               newRow.appendChild(linkCell);
-               
-                               
-               this.root.insertBefore(newRow, parentRow.nextSibling);
-       } //end for
-       
-       if (incTableDepth) {
-               var rows = this.root.getElementsByTagName("TR");
-               var cells, lastCell, lastColspan;
-               for (var i = 0 ; i < rows.length ; i++) {
-                       cells = rows[i].getElementsByTagName("TD");
-                       lastCell = cells[cells.length - 1];
-
-                       if (lastCell.nullColSpan) {
-                               lastCell.nullColSpan = false;
-                               lastColspan = 0;
-                       }
-                       else 
-                               lastColspan = parseInt(lastCell.getAttribute("colspan"));
-
-                       lastCell.colSpan = lastColspan + 1;
-               }
-       }
-};
-
-/*
-* collapse the tree: removes deeper rows after the 'baseRow' passed.
-*/
-TreeMaker.prototype.removeChildNodes = function(baseRow) {
-       var baseCells = baseRow.getElementsByTagName("TD");
-       var baseColSpan = baseCells[baseCells.length-1].colSpan;
-       var nextRow = baseRow.nextSibling;
-       var tbody = baseRow.parentNode;
-       var depthCpt = this.depthCpt;
-       var nextCells, nextRow2;
-
-       while (nextRow) {
-               if (nextRow.nodeType == 1) {
-                       nextCells = nextRow.getElementsByTagName("TD");
-                       if (nextCells.length == 3 && nextCells[2].colSpan < baseColSpan) {
-                               nextRow2 = nextRow.nextSibling;
-                               depthCpt[nextCells[0].colSpan-1] -= 1;
-                               tbody.removeChild(nextRow);
-                               nextRow = nextRow2;
-                               continue;
-                       }
-                       break;
-               }
-               nextRow = nextRow.nextSibling; // text node
-       }
-       
-       // recalc colspans for Safari
-       var maxDepth = depthCpt.length - 1;
-       var depthReduction = 0;
-       while (depthCpt[maxDepth - depthReduction] == 0) {
-               depthCpt.pop();
-               depthReduction++;
-       }
-       
-       if (depthReduction) {
-               var rows = tbody.getElementsByTagName("TR");
-               var cells, lastCell, lastColspan;
-               for (var i = 0 ; i < rows.length ; i++) {
-                       cells = rows[i].getElementsByTagName("TD");
-                       lastCell = cells[cells.length - 1];
-                       lastCell.colSpan = parseInt(lastCell.colSpan) - depthReduction;
-               }
-       }
-};
-})();
\ No newline at end of file