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);
 | |
| }; |