Spaces:
Running
Running
File size: 1,649 Bytes
a537c27 8679eba a537c27 8679eba a537c27 8679eba a537c27 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
function sparkProjectList() {
apiGet('/spark/project_list')
.then(data => {
const body = document.getElementById('spark-body');
body.innerHTML = '';
if (data && Array.isArray(data.projects) && data.projects.length > 0) {
data.projects.forEach(proj => {
const row = document.createElement('tr');
row.innerHTML = `
<td>${proj.project_name}</td>
<td>${proj.version}</td>
<td>${proj.enabled ? 'π’' : 'π΄'}</td>
<td>${getStatusIcon(proj.status)} ${proj.status}</td>
<td>${proj.last_accessed}</td>
`;
body.appendChild(row);
});
} else {
const row = document.createElement('tr');
row.innerHTML = `<td colspan="5" class="text-danger">β οΈ Failed to load Spark project list or no projects available.</td>`;
body.appendChild(row);
}
})
.catch(err => {
console.error(err);
const body = document.getElementById('spark-body');
body.innerHTML = '';
const row = document.createElement('tr');
row.innerHTML = `<td colspan="5" class="text-danger">β Error connecting to Spark service.</td>`;
body.appendChild(row);
});
}
function getStatusIcon(status) {
if (status === 'loading') return 'βοΈ';
if (status === 'ready') return 'β
';
if (status === 'error') return 'β';
return 'βΉοΈ';
}
|