mirror of
				https://github.com/avatao-content/frontend-tutorial-framework
				synced 2025-11-04 13:52:55 +00:00 
			
		
		
		
	Make log messages typed
This commit is contained in:
		@@ -6,6 +6,7 @@ import { WebSocketService } from '../services/websocket.service';
 | 
			
		||||
import { ConsoleCommand } from './console-command';
 | 
			
		||||
import { config } from '../config';
 | 
			
		||||
import { ProcessLogService } from '../services/processlog.service';
 | 
			
		||||
import { LogMessage } from '../services/log.message';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-console',
 | 
			
		||||
@@ -42,7 +43,7 @@ export class ConsoleComponent implements OnInit {
 | 
			
		||||
    this.sendContent(this.console_content);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  newLogsHandler(logs: any) {
 | 
			
		||||
  newLogsHandler(logs: LogMessage) {
 | 
			
		||||
    if (this.rewriteContentWithProcessLogsOnDeploy !== '') {
 | 
			
		||||
      const log = logs[this.rewriteContentWithProcessLogsOnDeploy];
 | 
			
		||||
      if (log) {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,7 @@ import { WebSocketService } from '../services/websocket.service';
 | 
			
		||||
import { LayoutCommand } from './layout-command';
 | 
			
		||||
import { config } from '../config';
 | 
			
		||||
import { ProcessLogService } from '../services/processlog.service';
 | 
			
		||||
import { LogMessage } from '../services/log.message';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-dashboard',
 | 
			
		||||
@@ -102,7 +103,7 @@ export class DashboardComponent implements OnInit, OnDestroy {
 | 
			
		||||
    this.selectedTerminalMenuItem = item;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  setConsoleContentIfNoLiveLogs(logs: any) {
 | 
			
		||||
  setConsoleContentIfNoLiveLogs(logs: LogMessage) {
 | 
			
		||||
    this.processLogService.emitNewLogsIfNoLiveLogs(logs);
 | 
			
		||||
    if (config.ide.showConsoleOnDeploy) {
 | 
			
		||||
      this.selectTerminalMenuItem('console');
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								src/app/services/log.message.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/app/services/log.message.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// Copyright (C) 2018 Avatao.com Innovative Learning Kft.
 | 
			
		||||
// All Rights Reserved. See LICENSE file for details.
 | 
			
		||||
 | 
			
		||||
export interface LogMessage {
 | 
			
		||||
  stdout: string;
 | 
			
		||||
  stderr: string;
 | 
			
		||||
}
 | 
			
		||||
@@ -6,10 +6,11 @@ import { WebSocketService } from './websocket.service';
 | 
			
		||||
import { ProcessLogCommand } from './processlog-command';
 | 
			
		||||
import { config } from '../config';
 | 
			
		||||
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
 | 
			
		||||
import { LogMessage } from './log.message';
 | 
			
		||||
 | 
			
		||||
@Injectable()
 | 
			
		||||
export class ProcessLogService {
 | 
			
		||||
  newLogs = new BehaviorSubject<any>(config.console.defaultLogs);
 | 
			
		||||
  newLogs = new BehaviorSubject<LogMessage>(config.console.defaultLogs);
 | 
			
		||||
  showLiveLogs = config.console.showLiveLogs;
 | 
			
		||||
 | 
			
		||||
  command_handlers = {
 | 
			
		||||
@@ -23,9 +24,9 @@ export class ProcessLogService {
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  emitNewLogsIfNoLiveLogs(log: any) {
 | 
			
		||||
  emitNewLogsIfNoLiveLogs(logs: LogMessage) {
 | 
			
		||||
    if (!config.console.showLiveLogs) {
 | 
			
		||||
      this.newLogs.next(log);
 | 
			
		||||
      this.newLogs.next(logs);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user