From aa465955ed601aa1cd3f501d22b409f8a2d3db86 Mon Sep 17 00:00:00 2001 From: "R. Richard" Date: Mon, 26 Aug 2019 10:40:25 +0200 Subject: [PATCH] Introduce separate event handler for deploying --- src/app/ide/ide.component.ts | 37 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/src/app/ide/ide.component.ts b/src/app/ide/ide.component.ts index e665c75..aa7f254 100644 --- a/src/app/ide/ide.component.ts +++ b/src/app/ide/ide.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; import { WebSocketService } from '../services/websocket.service'; import { WebSocketMessage } from '../message-types/websocket-message'; import { IDEMessage } from '../message-types/ide-message'; -import { ProcessManagerService } from '../services/processmanager.service'; +import { DeployMessage } from '../message-types/deploy-message'; import { DeploymentNotificationService } from '../services/deployment-notification.service'; import { config } from '../config'; import { LanguageMap } from './language-map'; @@ -54,7 +54,6 @@ export class IdeComponent implements OnInit { constructor(private webSocketService: WebSocketService, private changeDetectorRef: ChangeDetectorRef, - private processManagerService: ProcessManagerService, private deploymentNotificationService: DeploymentNotificationService) { } ngOnInit() { @@ -62,7 +61,6 @@ export class IdeComponent implements OnInit { this.subscribeWS(); this.subscribeFirstLanguageDetection(); this.requestCode(); - this.initProcessManagerService(); this.resetAutoSaveCountdown(); } @@ -71,6 +69,10 @@ export class IdeComponent implements OnInit { this.command_handlers[message.key](message); this.changeDetectorRef.detectChanges(); }); + + this.webSocketService.observeKey('deploy.finish').subscribe( + message => this.deployHandler(message) + ); } subscribeFirstLanguageDetection() { @@ -79,24 +81,6 @@ export class IdeComponent implements OnInit { ); } - initProcessManagerService() { - this.processManagerService.init(); - this.processManagerService.subscribeCallback( - config.ide.deployProcessName, - () => this.deploymentNotificationService.deploying.next(false) - ); - - this.processManagerService.subscribeSuccessCallback( - config.ide.deployProcessName, - message => this.setDeployButtonState(DeployButtonState.DEPLOYED) - ); - - this.processManagerService.subscribeErrorCallback( - config.ide.deployProcessName, - () => this.setDeployButtonState(DeployButtonState.FAILED) - ); - } - reloadHandler(message: WebSocketMessage) { this.requestCode(); } @@ -115,6 +99,15 @@ export class IdeComponent implements OnInit { this.setCodeState(CodeState.SAVED); } + deployHandler(message: WebSocketMessage) { + if (message['status'] === 'success') { + this.setDeployButtonState(DeployButtonState.DEPLOYED); + } else if (message['status'] === 'error') { + this.setDeployButtonState(DeployButtonState.FAILED); + } + this.deploymentNotificationService.deploying.next(false); + } + autoDetectEditorLanguageIfEnabled(filename: string) { if (!config.ide.autoDetectFileLanguage) { return; @@ -167,7 +160,7 @@ export class IdeComponent implements OnInit { } deployCode() { - this.processManagerService.restartProcess(config.ide.deployProcessName); + this.webSocketService.send({'key': 'deploy.start'}); this.setDeployButtonState(DeployButtonState.DEPLOYING); this.deploymentNotificationService.deploying.next(true); }