43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
var start = function (url) {
|
|
var es = new ReconnectingEventSource(url);
|
|
|
|
console.log("url: " + url);
|
|
|
|
es.onopen = function () {
|
|
console.log('connected');
|
|
};
|
|
|
|
es.addEventListener('stream-error', function (e) {
|
|
es.close();
|
|
message = JSON.parse(e.data);
|
|
console.log('stream error: ' + message.condition + ': ' + message.text);
|
|
}, false);
|
|
|
|
es.onerror = function (e) {
|
|
console.log('connection error');
|
|
};
|
|
|
|
es.addEventListener('message', function (e) {
|
|
message = JSON.parse(e.data);
|
|
console.log("id: " + message.id);
|
|
console.log("status: " + message.status);
|
|
console.log("progress: " + message.progress);
|
|
|
|
var status = document.getElementById("status");
|
|
status.setAttribute("value", message.status)
|
|
|
|
var progress = document.getElementById("deployment-progress");
|
|
// no progress in `PENDING` state
|
|
if (progress !== undefined) {
|
|
progress.style["width"] = message.progress+"%";
|
|
}
|
|
|
|
if (message.status == "SUCCESS") {
|
|
setTimeout(() => window.location.reload(), 1000);
|
|
}
|
|
|
|
if (message.status == "FAILED") {
|
|
window.location.reload();
|
|
}
|
|
}, false);
|
|
}; |