File size: 1,937 Bytes
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function sparkStartup() {
    const payload = JSON.parse(document.getElementById('spark-startup-payload').value);
    apiPost('/spark/startup', payload)
        .then(data => showResult('spark-result', data))
        .catch(err => console.error(err));
}

function sparkProjectList() {
    apiGet('/spark/project_list')
        .then(data => {
            const body = document.getElementById('spark-body');
            body.innerHTML = '';
            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);
            });
        })
        .catch(err => console.error(err));
}

function getStatusIcon(status) {
    if (status === 'loading') return 'βš™οΈ';
    if (status === 'ready') return 'βœ…';
    if (status === 'error') return '❌';
    return 'ℹ️';
}

function sparkEnable() {
    const payload = JSON.parse(document.getElementById('spark-enable-payload').value);
    apiPost('/spark/enable', payload)
        .then(data => showResult('spark-result', data))
        .catch(err => console.error(err));
}

function sparkDisable() {
    const payload = JSON.parse(document.getElementById('spark-disable-payload').value);
    apiPost('/spark/disable', payload)
        .then(data => showResult('spark-result', data))
        .catch(err => console.error(err));
}

function sparkDelete() {
    const payload = JSON.parse(document.getElementById('spark-delete-payload').value);
    apiPost('/spark/delete', payload)
        .then(data => showResult('spark-result', data))
        .catch(err => console.error(err));
}