Spaces:
Building
Building
Update static/js/spark.js
Browse files- static/js/spark.js +25 -11
static/js/spark.js
CHANGED
@@ -3,20 +3,34 @@ function sparkProjectList() {
|
|
3 |
.then(data => {
|
4 |
const body = document.getElementById('spark-body');
|
5 |
body.innerHTML = '';
|
6 |
-
data.projects.forEach(proj => {
|
7 |
-
const row = document.createElement('tr');
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
body.appendChild(row);
|
17 |
-
}
|
18 |
})
|
19 |
-
.catch(err =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
|
22 |
function getStatusIcon(status) {
|
|
|
3 |
.then(data => {
|
4 |
const body = document.getElementById('spark-body');
|
5 |
body.innerHTML = '';
|
|
|
|
|
6 |
|
7 |
+
if (data && Array.isArray(data.projects) && data.projects.length > 0) {
|
8 |
+
data.projects.forEach(proj => {
|
9 |
+
const row = document.createElement('tr');
|
10 |
+
|
11 |
+
row.innerHTML = `
|
12 |
+
<td>${proj.project_name}</td>
|
13 |
+
<td>${proj.version}</td>
|
14 |
+
<td>${proj.enabled ? 'π’' : 'π΄'}</td>
|
15 |
+
<td>${getStatusIcon(proj.status)} ${proj.status}</td>
|
16 |
+
<td>${proj.last_accessed}</td>
|
17 |
+
`;
|
18 |
+
body.appendChild(row);
|
19 |
+
});
|
20 |
+
} else {
|
21 |
+
const row = document.createElement('tr');
|
22 |
+
row.innerHTML = `<td colspan="5" class="text-danger">β οΈ Failed to load Spark project list or no projects available.</td>`;
|
23 |
body.appendChild(row);
|
24 |
+
}
|
25 |
})
|
26 |
+
.catch(err => {
|
27 |
+
console.error(err);
|
28 |
+
const body = document.getElementById('spark-body');
|
29 |
+
body.innerHTML = '';
|
30 |
+
const row = document.createElement('tr');
|
31 |
+
row.innerHTML = `<td colspan="5" class="text-danger">β Error connecting to Spark service.</td>`;
|
32 |
+
body.appendChild(row);
|
33 |
+
});
|
34 |
}
|
35 |
|
36 |
function getStatusIcon(status) {
|