| |
@@ -20,6 +20,7 @@
|
| |
"aliyun": "Alibaba Cloud",
|
| |
"metal": {
|
| |
"raw.xz": "Raw",
|
| |
+ "4k.raw.xz": "Raw (4k Native)",
|
| |
"iso": "ISO",
|
| |
"pxe": "PXE",
|
| |
"installer.iso": "Installer (ISO)",
|
| |
@@ -33,14 +34,14 @@
|
| |
// innerText of tab button
|
| |
const tabInnerText = {
|
| |
"cloud_launchable": "Cloud Launchable",
|
| |
- "metal_virt": "Bare Metal & Virtualized",
|
| |
- "cloud_operator": "For Cloud Operators"
|
| |
+ "metal_virtualized": "Bare Metal & Virtualized",
|
| |
+ "cloud_operators": "For Cloud Operators"
|
| |
}
|
| |
// frequently used IDs
|
| |
const IdPool = {
|
| |
"cloud_launchable": "cloud-launchable",
|
| |
- "metal_virt": "metal-virt",
|
| |
- "cloud_operator": "cloud-operator"
|
| |
+ "metal_virtualized": "metal-virtualized",
|
| |
+ "cloud_operators": "cloud-operators"
|
| |
}
|
| |
function getMember(obj, member) {
|
| |
return (member in obj) ? obj[member] : null;
|
| |
@@ -142,6 +143,8 @@
|
| |
const key = pair[0];
|
| |
const val = pair[1];
|
| |
if (val === e.target.innerText) {
|
| |
+ const downloadPageUrl = window.location.href.match(/^.*\/coreos\/download/)[0];
|
| |
+ history.pushState(null, null, `${downloadPageUrl}?tab=${key}&stream=${coreos_download_app.stream}`);
|
| |
const show_id = IdPool[key];
|
| |
id_list.map(id => document.getElementById(id).hidden = (id !== show_id));
|
| |
this.shownId = show_id;
|
| |
@@ -154,7 +157,7 @@
|
| |
nav_cloud_launchable = h('li', { class: "nav-item col-4" }, [ nav_cloud_launchable_btn ]);
|
| |
|
| |
server_icon = h('i', { class: "fas fa-server mr-2" })
|
| |
- nav_metal_virt_btn = h('button', { class: "nav-link col-12 h-100 overflow-hidden".concat(this.shownId === IdPool.metal_virt ? " active" : ""), attrs: { "data-toggle": "tab" }, on: { click: this.toggleHidden } }, [ server_icon, tabInnerText.metal_virt ]);
|
| |
+ nav_metal_virt_btn = h('button', { class: "nav-link col-12 h-100 overflow-hidden".concat(this.shownId === IdPool.metal_virtualized ? " active" : ""), attrs: { "data-toggle": "tab" }, on: { click: this.toggleHidden } }, [ server_icon, tabInnerText.metal_virtualized ]);
|
| |
nav_metal_virt = h('li', { class: "nav-item col-4" }, [ nav_metal_virt_btn ]);
|
| |
|
| |
cloud_upload_icon = h('i', { class: "fas fa-cloud-upload-alt mr-2" })
|
| |
@@ -166,6 +169,7 @@
|
| |
},
|
| |
// Add dropdown options of streams
|
| |
getStreamName: function(h) {
|
| |
+ const self = this;
|
| |
if (this.streamData === null) return;
|
| |
option_stable = h('option', { attrs: { value: "stable", selected: this.stream === "stable" ? "selected" : null }}, "stable");
|
| |
option_testing = h('option', { attrs: { value: "testing", selected: this.stream === "testing" ? "selected" : null }}, "testing");
|
| |
@@ -173,7 +177,10 @@
|
| |
class: "mx-1",
|
| |
on: {
|
| |
change: function(e) {
|
| |
+ const downloadPageUrl = window.location.href.match(/^.*\/coreos\/download/)[0];
|
| |
+ const currentShownKey = Object.keys(IdPool).find(key => IdPool[key] === self.shownId);
|
| |
coreos_download_app.stream = e.target.value;
|
| |
+ history.pushState(null, null, `${downloadPageUrl}?tab=${currentShownKey}&stream=${coreos_download_app.stream}`);
|
| |
}
|
| |
}
|
| |
}, [
|
| |
@@ -273,8 +280,18 @@
|
| |
const release = getMember(artifacts[platform], "release");
|
| |
const formats = getMember(artifacts[platform], "formats");
|
| |
if (formats) {
|
| |
+ prettyFormats = [];
|
| |
+ // in the case where each individual format has a separate pretty
|
| |
+ // name, we want the artifacts listed in alphabetical order
|
| |
for (var format in formats) {
|
| |
- const prettyPlatform = getPrettyPlatform(platform, format);
|
| |
+ pretty = getPrettyPlatform(getPrettyPlatform(platform, format));
|
| |
+ prettyFormats.push({format: format, pretty: pretty});
|
| |
+ }
|
| |
+ prettyFormats.sort(function(a, b) { return a.pretty.localeCompare(b.pretty); });
|
| |
+ for (i = 0; i < prettyFormats.length; i++) {
|
| |
+ const format = prettyFormats[i].format;
|
| |
+ const prettyPlatform = prettyFormats[i].pretty;
|
| |
+
|
| |
// XXX: the conditions to display the extension here are quickly
|
| |
// hacked in; if adding any further conditions this should be
|
| |
// handled elsewhere in a better organized structure.
|
| |
I have updated the release.yaml file to include aarch64 Workstation, and I have added the required download override links for F32 Beta, and set it to false for GA so as to not display F31 for now. And I have added the corrected links in the index.html file.