@@ -116,18 +116,16 @@ input[type=text] {
116
116
<form autocomplete="off" action="javascript:showDocumentation()">
117
117
<table>
118
118
<tr>
119
- <!-- < td>Version/Release</td> -- >
119
+ <td>Version/Release</td>
120
120
<td>Device or Board</td>
121
121
<td> </td>
122
122
</tr>
123
123
<tr>
124
- <!--
125
124
<td>
126
125
<select id="releaseinput" name="releases">
127
126
<option>develop</option>
128
127
</select>
129
128
</td>
130
- -->
131
129
<td>
132
130
<div class="autocomplete" style="width:300px;">
133
131
<input id="targetinput" type="text" name="target" placeholder="Search for e.g. 'F469' or 'NUCLEO'">
@@ -157,6 +155,48 @@ var name2board = {
157
155
"{{ n }}": "{{ b }}",
158
156
{% endfor %}
159
157
};
158
+
159
+ var possible_releases = ["develop"];
160
+ var current_year = new Date().getFullYear();
161
+ for (var year = 2021; year <= current_year; year++) {
162
+ possible_releases.push(year + "q1");
163
+ possible_releases.push(year + "q2");
164
+ possible_releases.push(year + "q3");
165
+ possible_releases.push(year + "q4");
166
+ }
167
+ var releases = [];
168
+ possible_releases.forEach(function(r, index, array) {
169
+ var request = new XMLHttpRequest();
170
+ request.open("HEAD", "/" + r + "/" + "targets.json", false);
171
+ request.send();
172
+ if (request.status == 200) {
173
+ releases.push(r);
174
+ }
175
+ });
176
+ var releaseinput = document.getElementById("releaseinput");
177
+ while (releaseinput.options.length) {
178
+ releaseinput.remove(0);
179
+ }
180
+ for (var i = 0; i < releases.length; i++) {
181
+ var release = new Option(releases[i]);
182
+ releaseinput.options.add(release);
183
+ }
184
+ releaseinput.addEventListener("change", function(event) {
185
+ var url ="/" + releaseinput.value + "/targets.json";
186
+ var xhr = new XMLHttpRequest();
187
+ xhr.open('GET', url, true);
188
+ xhr.responseType = 'json';
189
+ xhr.onload = function() {
190
+ if (xhr.status === 200) {
191
+ devices = xhr.response.devices;
192
+ name2board = xhr.response.name2board;
193
+ } else {
194
+ console.log("Error loading target list for release" + releaseinput.value);
195
+ }
196
+ };
197
+ xhr.send();
198
+ });
199
+
160
200
var targetinput = document.getElementById("targetinput");
161
201
var currentFocus;
162
202
function showDocumentation() {
@@ -169,7 +209,6 @@ function showDocumentation() {
169
209
}, 5000);
170
210
return;
171
211
}
172
- /*
173
212
if(!releaseinput.value) {
174
213
releaseinput.style.transition = "border 5ms ease-out";
175
214
releaseinput.style.borderColor = "red";
@@ -179,10 +218,8 @@ function showDocumentation() {
179
218
}, 5000);
180
219
return;
181
220
}
182
- var url = "/" + releaseinput.value + "/api/" + targetinput.value + "/";
183
- */
184
221
n2b = name2board[targetinput.value]
185
- var url = "/develop /api/" + (n2b ? n2b : targetinput.value).toLowerCase() + "/";
222
+ var url ="/" + releaseinput.value + " /api/" + (n2b ? n2b : targetinput.value).toLowerCase() + "/";
186
223
location.href = url;
187
224
}
188
225
targetinput.addEventListener("input", function(event) {
0 commit comments