1 // Collapses all output
2 function webdeveloper_collapseAllOutput(event
)
4 webdeveloper_pivotAllOutput(event
, false);
8 function webdeveloper_expandAllOutput(event
)
10 webdeveloper_pivotAllOutput(event
, true);
13 // Makes all output on the page pivotable
14 function webdeveloper_makeOutputPivotable()
16 var collapseAll
= document
.getElementById("webdeveloper-generated-tool-collapse-all");
17 var expandAll
= document
.getElementById("webdeveloper-generated-tool-expand-all");
18 var spanElementList
= webdeveloper_evaluateXPath(document
, "//span[@class='expanded pivot']");
19 var spanElementLength
= spanElementList
.length
;
21 // Loop through the span elements
22 for(var i
= 0; i
< spanElementLength
; i
++)
24 spanElementList
[i
].addEventListener("click", webdeveloper_pivotOutput
, false);
27 // If the collapse all element is found
30 collapseAll
.addEventListener("click", webdeveloper_collapseAllOutput
, false);
33 // If the expand all element is found
36 expandAll
.addEventListener("click", webdeveloper_expandAllOutput
, false);
41 function webdeveloper_pivotAllOutput(event
, expand
)
43 var divElementList
= null;
44 var divElementLength
= null;
45 var spanElementList
= null;
46 var spanElementLength
= null;
51 divElementList
= webdeveloper_evaluateXPath(document
, "//div[@class='collapsed output']");
52 divElementLength
= divElementList
.length
;
53 spanElementList
= webdeveloper_evaluateXPath(document
, "//span[@class='collapsed pivot']");
54 spanElementLength
= spanElementList
.length
;
56 // Loop through the div elements
57 for(var i
= 0; i
< divElementLength
; i
++)
59 divElementList
[i
].setAttribute("class", "output");
62 // Loop through the span elements
63 for(i
= 0; i
< spanElementLength
; i
++)
65 spanElementList
[i
].setAttribute("class", "expanded pivot");
70 divElementList
= webdeveloper_evaluateXPath(document
, "//div[@class='output']");
71 divElementLength
= divElementList
.length
;
72 spanElementList
= webdeveloper_evaluateXPath(document
, "//span[@class='expanded pivot']");
73 spanElementLength
= spanElementList
.length
;
75 // Loop through the div elements
76 for(var i
= 0; i
< divElementLength
; i
++)
78 divElementList
[i
].setAttribute("class", "collapsed output");
81 // Loop through the span elements
82 for(i
= 0; i
< spanElementLength
; i
++)
84 spanElementList
[i
].setAttribute("class", "collapsed pivot");
88 event
.preventDefault();
92 function webdeveloper_pivotOutput(event
)
94 // If the event is set
97 var pivot
= event
.target
;
98 var output
= pivot
.parentNode
.nextSibling
;
100 // If the output element is found
103 // If the output class attribute is set to collapsed
104 if(output
.getAttribute("class") == "collapsed output")
106 output
.setAttribute("class", "output");
107 pivot
.setAttribute("class", "expanded pivot");
109 else if(output
.getAttribute("class") == "output")
111 output
.setAttribute("class", "collapsed output");
112 pivot
.setAttribute("class", "collapsed pivot");
118 webdeveloper_makeOutputPivotable();