mbed official / mbed-sdk-tools
Committer:
screamer
Date:
Thu May 19 19:44:41 2016 +0100
Revision:
0:66f3b5499f7f
Initial revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:66f3b5499f7f 1 <script>
screamer 0:66f3b5499f7f 2 var elements = document.querySelectorAll(".toggleshow"),
screamer 0:66f3b5499f7f 3 hideClass = 'toggleshow-hide';
screamer 0:66f3b5499f7f 4
screamer 0:66f3b5499f7f 5 for (var i = 0; i < elements.length; i++) {
screamer 0:66f3b5499f7f 6 var arrow = elements[i].querySelector(".toggleshow-arrow");
screamer 0:66f3b5499f7f 7 // Initial hide/show based on class
screamer 0:66f3b5499f7f 8 // Update arrow as well
screamer 0:66f3b5499f7f 9 if (containsClass(elements[i], 'toggleshow-hide')) {
screamer 0:66f3b5499f7f 10 toggleDisplay(elements[i]);
screamer 0:66f3b5499f7f 11 changeArrow(arrow, false);
screamer 0:66f3b5499f7f 12 } else {
screamer 0:66f3b5499f7f 13 changeArrow(arrow, true);
screamer 0:66f3b5499f7f 14 }
screamer 0:66f3b5499f7f 15
screamer 0:66f3b5499f7f 16 // Add click handler
screamer 0:66f3b5499f7f 17 addClick(elements[i], toggleDisplay);
screamer 0:66f3b5499f7f 18 }
screamer 0:66f3b5499f7f 19
screamer 0:66f3b5499f7f 20 function containsClass(element, className) {
screamer 0:66f3b5499f7f 21 var eleClassName = ' ' + elements[i].className + ' ';
screamer 0:66f3b5499f7f 22 return eleClassName.indexOf(' ' + className + ' ') > -1;
screamer 0:66f3b5499f7f 23 }
screamer 0:66f3b5499f7f 24
screamer 0:66f3b5499f7f 25 function toggleDisplay(parentElement) {
screamer 0:66f3b5499f7f 26 var body = parentElement.querySelector(".toggleshow-body"),
screamer 0:66f3b5499f7f 27 arrow = parentElement.querySelector(".toggleshow-arrow");
screamer 0:66f3b5499f7f 28
screamer 0:66f3b5499f7f 29 if (body.style.display == 'block' || body.style.display == '') {
screamer 0:66f3b5499f7f 30 body.style.display = 'none';
screamer 0:66f3b5499f7f 31 changeArrow(arrow, false);
screamer 0:66f3b5499f7f 32 } else {
screamer 0:66f3b5499f7f 33 body.style.display = 'block';
screamer 0:66f3b5499f7f 34 changeArrow(arrow, true);
screamer 0:66f3b5499f7f 35 }
screamer 0:66f3b5499f7f 36 }
screamer 0:66f3b5499f7f 37
screamer 0:66f3b5499f7f 38 function changeArrow(element, visible) {
screamer 0:66f3b5499f7f 39 if (visible) {
screamer 0:66f3b5499f7f 40 element.innerHTML = '&#9650';
screamer 0:66f3b5499f7f 41 } else {
screamer 0:66f3b5499f7f 42 element.innerHTML = '&#9660';
screamer 0:66f3b5499f7f 43 }
screamer 0:66f3b5499f7f 44 }
screamer 0:66f3b5499f7f 45
screamer 0:66f3b5499f7f 46 function addClick(parentElement, func) {
screamer 0:66f3b5499f7f 47 parentElement.querySelector(".toggleshow-title").addEventListener("click", function(e) {
screamer 0:66f3b5499f7f 48 func(parentElement);
screamer 0:66f3b5499f7f 49 e.preventDefault();
screamer 0:66f3b5499f7f 50 return false;
screamer 0:66f3b5499f7f 51 });
screamer 0:66f3b5499f7f 52 }
screamer 0:66f3b5499f7f 53 </script>