extra.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var nodemcu = nodemcu || {};
  2. (function () {
  3. 'use strict';
  4. var languageCodeToNameMap = {EN: 'English', DE: 'Deutsch'};
  5. var languageNames = values(languageCodeToNameMap);
  6. var defaultLanguageCode = 'EN';
  7. $(document).ready(function () {
  8. hideNavigationForAllButSelectedLanguage();
  9. });
  10. function hideNavigationForAllButSelectedLanguage() {
  11. // URL is like http://host/EN/build/ -> extract 'EN'
  12. var selectedLanguageCode = window.location.pathname.substr(1, 2);
  13. if (!selectedLanguageCode) {
  14. selectedLanguageCode = defaultLanguageCode;
  15. }
  16. var selectedLanguageName = languageCodeToNameMap[selectedLanguageCode];
  17. // Finds all subnav elements and hides them if they're /language/ subnavs. Hence, all 'Modules' subnav elements
  18. // won't be hidden.
  19. // <ul class="subnav">
  20. // <li><span>Modules</span></li>
  21. // <li class="toctree-l1 ">
  22. // <a class="" href="EN/modules/node/">node</a>
  23. // </li>
  24. $('.subnav li span').not(':contains(' + selectedLanguageName + ')').each(function (index) {
  25. var spanElement = $(this);
  26. if ($.inArray(spanElement.text(), languageNames) > -1) {
  27. spanElement.parent().parent().hide();
  28. }
  29. });
  30. }
  31. function values(associativeArray) {
  32. var values = [];
  33. for (var key in associativeArray) {
  34. if (associativeArray.hasOwnProperty(key)) {
  35. values.push(associativeArray[key]);
  36. }
  37. }
  38. return values;
  39. }
  40. }());