version_table.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. $(document).ready(function() {
  2. let version = DOCUMENTATION_OPTIONS.VERSION;
  3. let language = DOCUMENTATION_OPTIONS.LANGUAGE;
  4. let idf_target = DOCUMENTATION_OPTIONS.IDF_TARGET;
  5. let pagename = DOCUMENTATION_OPTIONS.PAGENAME + ".html";
  6. let defaults = DOCUMENTATION_VERSIONS.DEFAULTS;
  7. let versions = DOCUMENTATION_VERSIONS.VERSIONS;
  8. /* Apply the defaults to each version, where needed */
  9. for (let i = 0; i < versions.length; i++) {
  10. let v = versions[i];
  11. for (let d in defaults) {
  12. if (!(d in v)) {
  13. v[d] = defaults[d];
  14. }
  15. }
  16. }
  17. /* Find the (relative) base URL for this project, finding a sibling URL will be built as follows:
  18. <project_base_url>/<language>/<version>/<idf_target>
  19. (Where 'idf_target' path element are optional depending on if the project has multiple target support)
  20. */
  21. let project_base_url = DOCUMENTATION_OPTIONS.URL_ROOT + "../../..";
  22. if (DOCUMENTATION_OPTIONS.IDF_TARGETS) {
  23. project_base_url += "/..";
  24. }
  25. /* Given a version from the list, return the URL to link to it */
  26. function getVersionUrl(v) {
  27. let result = project_base_url + "/" + language + "/" + v.name;
  28. if (v.has_targets) {
  29. result += "/" + (idf_target || "esp32");
  30. }
  31. return result + "/";
  32. };
  33. old_ver_table = "";
  34. old_ver_table_row = "<tr>"
  35. let row_items = 0;
  36. const ITEMS_PER_ROW = 4;
  37. for (let i = 0; i < versions.length; i++) {
  38. let v = versions[i];
  39. let url = getVersionUrl(v);
  40. if (v.old) {
  41. old_ver_table_row += "<td><a href=\"" + url + "\">" + v.name + "</td>";
  42. row_items++;
  43. if (row_items === ITEMS_PER_ROW) {
  44. old_ver_table_row += "</tr>"
  45. old_ver_table += old_ver_table_row
  46. /* Prepare a new row */
  47. old_ver_table_row = "<tr>"
  48. row_items = 0
  49. }
  50. }
  51. }
  52. $( "#version_table" ).append(old_ver_table);
  53. });