From 126c9e1646af6fd2c8f58ebf12d4af96c92cca1e Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Tue, 5 Sep 2017 17:47:20 +1000 Subject: [PATCH] Changes chat.service.ts to websocket-handler.service.ts Will be used to handler sending and reciving of messages Adds settings component UNSURE WHY IT BREAKS --- web/package-lock.json | 21 ++++++++-------- web/package.json | 6 ++--- web/src/app/app-routing.module.ts | 6 +++++ web/src/app/app.module.ts | 10 +++++--- .../pages/settings/settings.component.html | 5 ++++ .../pages/settings/settings.component.scss | 9 +++++++ .../pages/settings/settings.component.spec.ts | 25 +++++++++++++++++++ .../app/pages/settings/settings.component.ts | 15 +++++++++++ web/src/app/services/chat.service.spec.ts | 15 ----------- .../websocket-handler.service.spec.ts | 15 +++++++++++ .../websocket-handler.service.ts} | 9 ++++--- .../shared/chatbutton/chatbutton.component.ts | 11 +++++--- .../app/shared/navbar/navbar.component.html | 2 +- 13 files changed, 108 insertions(+), 41 deletions(-) create mode 100644 web/src/app/pages/settings/settings.component.html create mode 100644 web/src/app/pages/settings/settings.component.scss create mode 100644 web/src/app/pages/settings/settings.component.spec.ts create mode 100644 web/src/app/pages/settings/settings.component.ts delete mode 100644 web/src/app/services/chat.service.spec.ts create mode 100644 web/src/app/services/websocket-handler/websocket-handler.service.spec.ts rename web/src/app/services/{chat.service.ts => websocket-handler/websocket-handler.service.ts} (69%) diff --git a/web/package-lock.json b/web/package-lock.json index cde4f62b..aa4ff36d 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -13,9 +13,9 @@ } }, "@angular/cdk": { - "version": "2.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.8.tgz", - "integrity": "sha512-OOtK+AA14cmRG9AbUgvoKC9Tooz0N37GTaRSV+xziC8GxXHgwvTu4PFSFHlBnHPipOYC/tB2oP39j3KuurEMPA==", + "version": "2.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.10.tgz", + "integrity": "sha512-G0RvzxItfPy8JEdnyV/10GryE3zHehm3bUJ7U9dwYKhAzhye+MX0P6rs8VEmbClJb5SuZDr0ZZ53vbHhHsUh6A==", "requires": { "tslib": "1.7.1" } @@ -390,9 +390,9 @@ } }, "@angular/core": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.3.0.tgz", - "integrity": "sha1-vSJJw94SJKfGU2xKunKNZWUykzQ=", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.3.4.tgz", + "integrity": "sha1-Qt2ARmAPWggKThISEWsS/pe8/LQ=", "requires": { "tslib": "1.7.1" } @@ -414,9 +414,9 @@ } }, "@angular/material": { - "version": "2.0.0-beta.8", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.8.tgz", - "integrity": "sha512-4+OecvjU15i+l/vXBP2qEHdlsU9taK6kBhsWKsxNLK3+TAVoV5qjc2rjOucHtTwI/oOjyBXnLJP6pl4tuLEUQw==", + "version": "2.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.10.tgz", + "integrity": "sha512-KAQ2t9wenI55oXkjjT6E4VGUSVu7AZmR+ytnaP96VBFk18wxcGnVaTbQmCvVm/vkbcdeoSF09D6ic94DHAE+1A==", "requires": { "tslib": "1.7.1" } @@ -1162,7 +1162,8 @@ "bluebird": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "dev": true }, "bn.js": { "version": "4.11.7", diff --git a/web/package.json b/web/package.json index 169354e0..4a2f30a1 100644 --- a/web/package.json +++ b/web/package.json @@ -36,13 +36,13 @@ }, "dependencies": { "@angular/animations": "^4.3.4", - "@angular/cdk": "^2.0.0-beta.8", + "@angular/cdk": "^2.0.0-beta.10", "@angular/common": "4.3.0", "@angular/compiler": "4.3.0", - "@angular/core": "4.3.0", + "@angular/core": "4.3.4", "@angular/forms": "4.3.0", "@angular/http": "4.3.0", - "@angular/material": "^2.0.0-beta.8", + "@angular/material": "^2.0.0-beta.10", "@angular/platform-browser": "4.3.0", "@angular/platform-browser-dynamic": "4.3.0", "@angular/router": "4.3.0", diff --git a/web/src/app/app-routing.module.ts b/web/src/app/app-routing.module.ts index 1746cae3..cf1f0779 100644 --- a/web/src/app/app-routing.module.ts +++ b/web/src/app/app-routing.module.ts @@ -1,4 +1,5 @@ import { HomeComponent } from './pages/home/home.component'; +import { SettingsComponent } from './pages/settings/settings.component'; import { AboutComponent } from './pages/about/about.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -11,7 +12,12 @@ const routes: Routes = [ { path:'about', component: AboutComponent + }, + { + path: 'settings', + component: SettingsComponent } + ]; @NgModule({ diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index b77130fd..26efba42 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -2,7 +2,7 @@ import 'zone.js/dist/zone-mix'; import 'reflect-metadata'; import 'polyfills'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { MdButtonModule, MdCardModule, MdMenuModule, MdToolbarModule, MdIconModule } from '@angular/material'; +import { MdButtonModule, MdCardModule, MdMenuModule, MdToolbarModule, MdIconModule, MdFormFieldModule } from '@angular/material'; import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; @@ -20,11 +20,12 @@ import { NavbarComponent } from './shared/navbar/navbar.component'; import { AppRoutingModule } from './app-routing.module'; import { WebsocketService } from './services/websocket/websocket.service'; -import { ChatService } from './services/chat.service'; +import { WebsocketHandlerService } from './services/websocket-handler/websocket-handler.service'; import { ElectronService } from './providers/electron.service'; import * as Rx from 'rxjs/Rx'; import { ChatbuttonComponent } from './shared/chatbutton/chatbutton.component'; +import { SettingsComponent } from './pages/settings/settings.component'; @NgModule({ declarations: [ @@ -32,7 +33,8 @@ import { ChatbuttonComponent } from './shared/chatbutton/chatbutton.component'; HomeComponent, AboutComponent, NavbarComponent, - ChatbuttonComponent + ChatbuttonComponent, + SettingsComponent ], imports: [ BrowserModule, @@ -46,7 +48,7 @@ import { ChatbuttonComponent } from './shared/chatbutton/chatbutton.component'; MdToolbarModule, MdIconModule ], - providers: [ElectronService,WebsocketService,ChatService ], + providers: [ElectronService,WebsocketService,WebsocketHandlerService], bootstrap: [AppComponent] }) export class AppModule { diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html new file mode 100644 index 00000000..037d0dae --- /dev/null +++ b/web/src/app/pages/settings/settings.component.html @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/web/src/app/pages/settings/settings.component.scss b/web/src/app/pages/settings/settings.component.scss new file mode 100644 index 00000000..b475e51e --- /dev/null +++ b/web/src/app/pages/settings/settings.component.scss @@ -0,0 +1,9 @@ +.example-form { + min-width: 150px; + max-width: 500px; + width: 100%; +} + +.example-full-width { + width: 100%; +} \ No newline at end of file diff --git a/web/src/app/pages/settings/settings.component.spec.ts b/web/src/app/pages/settings/settings.component.spec.ts new file mode 100644 index 00000000..12311fd1 --- /dev/null +++ b/web/src/app/pages/settings/settings.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingsComponent } from './settings.component'; + +describe('SettingsComponent', () => { + let component: SettingsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/settings/settings.component.ts b/web/src/app/pages/settings/settings.component.ts new file mode 100644 index 00000000..e47b5069 --- /dev/null +++ b/web/src/app/pages/settings/settings.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-settings', + templateUrl: './settings.component.html', + styleUrls: ['./settings.component.scss'] +}) +export class SettingsComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/services/chat.service.spec.ts b/web/src/app/services/chat.service.spec.ts deleted file mode 100644 index 63944e9e..00000000 --- a/web/src/app/services/chat.service.spec.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { TestBed, inject } from '@angular/core/testing'; - -import { ChatService } from './chat.service'; - -describe('ChatService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [ChatService] - }); - }); - - it('should be created', inject([ChatService], (service: ChatService) => { - expect(service).toBeTruthy(); - })); -}); diff --git a/web/src/app/services/websocket-handler/websocket-handler.service.spec.ts b/web/src/app/services/websocket-handler/websocket-handler.service.spec.ts new file mode 100644 index 00000000..71f974af --- /dev/null +++ b/web/src/app/services/websocket-handler/websocket-handler.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { WebsocketHandlerService } from './websocket-handler.service'; + +describe('WebsocketHandlerService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [WebsocketHandlerService] + }); + }); + + it('should be created', inject([WebsocketHandlerService], (service: WebsocketHandlerService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/web/src/app/services/chat.service.ts b/web/src/app/services/websocket-handler/websocket-handler.service.ts similarity index 69% rename from web/src/app/services/chat.service.ts rename to web/src/app/services/websocket-handler/websocket-handler.service.ts index bf97c5fb..9ba8d094 100644 --- a/web/src/app/services/chat.service.ts +++ b/web/src/app/services/websocket-handler/websocket-handler.service.ts @@ -1,8 +1,9 @@ import { Injectable } from '@angular/core'; import { Observable, Subject } from 'rxjs/Rx'; -import { WebsocketService } from './websocket/websocket.service'; +import { WebsocketService } from './../../services/websocket/websocket.service'; + -const CHAT_URL = 'ws://localhost:9050/ws'; +const WEBSOCKET_URL = 'ws://localhost:9050/ws'; export interface Message { Event: string, @@ -10,12 +11,12 @@ export interface Message { } @Injectable() -export class ChatService { +export class WebsocketHandlerService { public messages: Subject; constructor(wsService: WebsocketService) { this.messages = >wsService - .connect(CHAT_URL) + .connect(WEBSOCKET_URL) .map((response: MessageEvent): Message => { let data = JSON.parse(response.data); return { diff --git a/web/src/app/shared/chatbutton/chatbutton.component.ts b/web/src/app/shared/chatbutton/chatbutton.component.ts index d9e5ff21..213197e3 100644 --- a/web/src/app/shared/chatbutton/chatbutton.component.ts +++ b/web/src/app/shared/chatbutton/chatbutton.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { ChatService } from './../../services/chat.service'; +import { WebsocketHandlerService } from './../../services/websocket-handler/websocket-handler.service'; @Component({ selector: 'app-chatbutton', @@ -8,9 +8,13 @@ import { ChatService } from './../../services/chat.service'; }) export class ChatbuttonComponent implements OnInit { - constructor(private chatService: ChatService) { - chatService.messages.subscribe(msg => { + constructor(private chatService: WebsocketHandlerService) { + chatService.messages.subscribe(msg => { + if(msg.Event === 'orderbook_update') { console.log("Response from websocket: " + JSON.stringify(msg)); + } else { + console.log("recieved unsubscribed event of type: " + msg.Event) + } }); } @@ -20,7 +24,6 @@ export class ChatbuttonComponent implements OnInit { private getSettingsMessage = { Event:'GetConfig', data:null, - } private authenticateMessage = { Event:'auth', diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index 45227148..c4496028 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -6,7 +6,7 @@ Dashboard Wallet Summary - Settings + Settings Help