diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..617bd99 --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { DashboardComponent } from './dashboard/dashboard.component'; +import { WebideComponent } from './webide/webide.component'; +import { TerminalComponent } from './terminal/terminal.component'; +import { MessagesComponent } from './messages/messages.component'; + +const routes: Routes = [ + { path: '', redirectTo: '/dashboard', pathMatch: 'full'}, + { path: 'dashboard', component: DashboardComponent}, + { path: 'webide', component: WebideComponent }, + { path: 'shell', component: TerminalComponent }, + { path: 'messages', component: MessagesComponent } +]; + +@NgModule({ + imports: [ RouterModule.forRoot(routes) ], + exports: [ RouterModule ], +}) +export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html index d6c7861..0680b43 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,11 +1 @@ - -
-
-
-
-
-
-
-
-
-
+ diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 9d68c22..e69de29 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,5 +0,0 @@ -.tfw-first-row { - height: 40vh; -} - -.tfw-second-row {} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 7cb41b3..068fb4f 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,20 +1,10 @@ -import { Component, OnInit } from '@angular/core'; -import { WebSocketService } from './websocket.service'; -import { FSMUpdateService } from './fsmupdate.service'; +import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) -export class AppComponent implements OnInit { - title = 'app'; - - constructor(private webSocketService: WebSocketService, private fsmUpdateService: FSMUpdateService) {} - - ngOnInit() { - this.webSocketService.connect(); - this.webSocketService.send('reset', ''); - this.fsmUpdateService.init(); - } +export class AppComponent { + constructor() {} } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index d84778d..c66e85b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -7,6 +7,7 @@ import { AceEditorModule } from 'ng2-ace-editor'; import { AppComponent } from './app.component'; +import { DashboardComponent } from './dashboard/dashboard.component'; import { HeaderComponent } from './header/header.component'; import { LoginComponent } from './login/login.component'; import { MarkdownService } from './markdown.service'; @@ -16,6 +17,7 @@ import { MessagesComponent } from './messages/messages.component'; import { WebSocketService } from './websocket.service'; import { TerminalComponent } from './terminal/terminal.component'; import { FSMUpdateService } from './fsmupdate.service'; +import { AppRoutingModule } from './app-routing.module'; @NgModule({ @@ -25,7 +27,8 @@ import { FSMUpdateService } from './fsmupdate.service'; LoginComponent, WebideComponent, MessagesComponent, - TerminalComponent + TerminalComponent, + DashboardComponent ], imports: [ BrowserModule, @@ -33,6 +36,7 @@ import { FSMUpdateService } from './fsmupdate.service'; HttpClientModule, NgbModule.forRoot(), AceEditorModule, + AppRoutingModule, ], providers: [ MarkdownService, diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html new file mode 100644 index 0000000..d6c7861 --- /dev/null +++ b/src/app/dashboard/dashboard.component.html @@ -0,0 +1,11 @@ + +
+
+
+
+
+
+
+
+
+
diff --git a/src/app/dashboard/dashboard.component.scss b/src/app/dashboard/dashboard.component.scss new file mode 100644 index 0000000..9d68c22 --- /dev/null +++ b/src/app/dashboard/dashboard.component.scss @@ -0,0 +1,5 @@ +.tfw-first-row { + height: 40vh; +} + +.tfw-second-row {} diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts new file mode 100644 index 0000000..c6740c4 --- /dev/null +++ b/src/app/dashboard/dashboard.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-dashboard', + templateUrl: './dashboard.component.html', + styleUrls: ['./dashboard.component.scss'] +}) +export class DashboardComponent { + constructor() {} +} diff --git a/src/app/messages/messages.component.ts b/src/app/messages/messages.component.ts index b164f9e..6b4c30c 100644 --- a/src/app/messages/messages.component.ts +++ b/src/app/messages/messages.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; import { MarkdownService } from '../markdown.service'; import { WebSocketService } from '../websocket.service'; @@ -13,7 +13,8 @@ export class MessagesComponent implements OnInit { messages: Message[] = []; constructor( private markdownService: MarkdownService, - private websocketService: WebSocketService + private websocketService: WebSocketService, + private changeDetectorRef: ChangeDetectorRef ) {} convert(text: string) { @@ -21,12 +22,13 @@ export class MessagesComponent implements OnInit { } ngOnInit() { + this.websocketService.connect(); this.websocketService.observeAnchor('message').subscribe( (event) => { this.messages.push(event.data); event.data.message = this.convert(event.data.message); + this.changeDetectorRef.detectChanges(); } ); } - } diff --git a/src/app/webide/webide.component.ts b/src/app/webide/webide.component.ts index 07f7f6e..e6e25fd 100644 --- a/src/app/webide/webide.component.ts +++ b/src/app/webide/webide.component.ts @@ -41,6 +41,7 @@ export class WebideComponent implements OnInit { private changeDetectorRef: ChangeDetectorRef) { } ngOnInit() { + this.webSocketService.connect(); this.subscribeWS(); this.requestCode(); }