mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-18 07:26:50 +00:00
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
This commit is contained in:
21
web/package-lock.json
generated
21
web/package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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 {
|
||||
|
||||
5
web/src/app/pages/settings/settings.component.html
Normal file
5
web/src/app/pages/settings/settings.component.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<form class="example-form">
|
||||
<md-form-field class="example-full-width">
|
||||
<input mdInput placeholder="Favorite food" value="Sushi">
|
||||
</md-form-field>
|
||||
</form>
|
||||
9
web/src/app/pages/settings/settings.component.scss
Normal file
9
web/src/app/pages/settings/settings.component.scss
Normal file
@@ -0,0 +1,9 @@
|
||||
.example-form {
|
||||
min-width: 150px;
|
||||
max-width: 500px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.example-full-width {
|
||||
width: 100%;
|
||||
}
|
||||
25
web/src/app/pages/settings/settings.component.spec.ts
Normal file
25
web/src/app/pages/settings/settings.component.spec.ts
Normal file
@@ -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<SettingsComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ SettingsComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SettingsComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
15
web/src/app/pages/settings/settings.component.ts
Normal file
15
web/src/app/pages/settings/settings.component.ts
Normal file
@@ -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() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}));
|
||||
});
|
||||
@@ -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();
|
||||
}));
|
||||
});
|
||||
@@ -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<Message>;
|
||||
|
||||
constructor(wsService: WebsocketService) {
|
||||
this.messages = <Subject<Message>>wsService
|
||||
.connect(CHAT_URL)
|
||||
.connect(WEBSOCKET_URL)
|
||||
.map((response: MessageEvent): Message => {
|
||||
let data = JSON.parse(response.data);
|
||||
return {
|
||||
@@ -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',
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
</a>
|
||||
<a md-button class="docs-button" routerLink="about">Dashboard</a>
|
||||
<a md-button class="docs-button" routerLink="about">Wallet Summary</a>
|
||||
<a md-button class="docs-button" routerLink="about">Settings</a>
|
||||
<a md-button class="docs-button" routerLink="settings">Settings</a>
|
||||
<a md-button class="docs-button" routerLink="about">Help</a>
|
||||
<div class="flex-spacer"></div>
|
||||
<a md-button class="docs-button" href="https://github.com/thrasher-/gocryptotrader/issues" aria-label="GitHub Repository">
|
||||
|
||||
Reference in New Issue
Block a user