Skip to content

Commit 70e9db9

Browse files
authored
docs: use dropdown menu for selecting version (#6559)
1 parent e7ab8c9 commit 70e9db9

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

docs/layouts/partials/page-meta-links.html

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99
{{ if in .Permalink "/docs/references/yaml"}}
1010
<br>
1111
<div>Schema Versions</div>
12-
<div id="schema_links">
13-
14-
</div>
12+
<select id="schema_links" onchange="selectSchema(this)">
13+
</select>
1514
<ul id="schema_list" hidden>
1615
{{ range (readDir "/content/en/schemas") }}
1716
<li>{{ trim .Name ".json" }}</li>

docs/static/javascripts/schemas.js

+23-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const schema_list = [...document.getElementById("schema_list").getElementsByTagName("li")].map(l => l.textContent);
2+
const selectElement = document.getElementById("schema_links")
23
const majors = {};
4+
const version = getCurrentSchemaVersion()
35
for (let s of schema_list) {
46
let i = 2;
57
for (; i < s.length; i++) {
@@ -20,11 +22,28 @@ for (let s of schema_list) {
2022
}
2123

2224
Object.keys(majors)
23-
.sort()
25+
.sort().reverse()
2426
.forEach(function(major) {
25-
majors[major].sort((a,b) => a-b);
27+
majors[major].sort((a,b) => b-a);
2628
for (const minor of majors[major]) {
27-
const version = major + minor;
28-
$("#schema_links").last().after($(`<a href="/docs/references/yaml/?version=${version}">${version}</a>`));
29+
const v = major + minor;
30+
selectElement.append(new Option(v, v, v === version, v === version));
2931
}
3032
});
33+
34+
function selectSchema(selectObject) {
35+
var value = selectObject.value;
36+
if (value != "") {
37+
location.href = `/docs/references/yaml/?version=${value}`
38+
}
39+
}
40+
41+
function getCurrentSchemaVersion() {
42+
const versionParam = "?version=";
43+
const index = window.location.href.indexOf(versionParam);
44+
if (index === -1) {
45+
return "";
46+
} else {
47+
return window.location.href.substr(index + versionParam.length);
48+
}
49+
}

0 commit comments

Comments
 (0)