diff options
Diffstat (limited to 'tool/mbed/mbed-sdk/workspace_tools/ci_templates/scripts.js')
-rw-r--r-- | tool/mbed/mbed-sdk/workspace_tools/ci_templates/scripts.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tool/mbed/mbed-sdk/workspace_tools/ci_templates/scripts.js b/tool/mbed/mbed-sdk/workspace_tools/ci_templates/scripts.js new file mode 100644 index 0000000000..28c0c59381 --- /dev/null +++ b/tool/mbed/mbed-sdk/workspace_tools/ci_templates/scripts.js @@ -0,0 +1,53 @@ +<script> + var elements = document.querySelectorAll(".toggleshow"), + hideClass = 'toggleshow-hide'; + + for (var i = 0; i < elements.length; i++) { + var arrow = elements[i].querySelector(".toggleshow-arrow"); + // Initial hide/show based on class + // Update arrow as well + if (containsClass(elements[i], 'toggleshow-hide')) { + toggleDisplay(elements[i]); + changeArrow(arrow, false); + } else { + changeArrow(arrow, true); + } + + // Add click handler + addClick(elements[i], toggleDisplay); + } + + function containsClass(element, className) { + var eleClassName = ' ' + elements[i].className + ' '; + return eleClassName.indexOf(' ' + className + ' ') > -1; + } + + function toggleDisplay(parentElement) { + var body = parentElement.querySelector(".toggleshow-body"), + arrow = parentElement.querySelector(".toggleshow-arrow"); + + if (body.style.display == 'block' || body.style.display == '') { + body.style.display = 'none'; + changeArrow(arrow, false); + } else { + body.style.display = 'block'; + changeArrow(arrow, true); + } + } + + function changeArrow(element, visible) { + if (visible) { + element.innerHTML = '▲'; + } else { + element.innerHTML = '▼'; + } + } + + function addClick(parentElement, func) { + parentElement.querySelector(".toggleshow-title").addEventListener("click", function(e) { + func(parentElement); + e.preventDefault(); + return false; + }); + } +</script> |