mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-21 07:26:48 +00:00
Fixes up settings
Adds progress spinner, even if ugly right now Changes routing for dashboard
This commit is contained in:
@@ -9,7 +9,7 @@ import { Routes, RouterModule } from '@angular/router';
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: HomeComponent
|
||||
component: DashboardComponent
|
||||
},
|
||||
{
|
||||
path:'about',
|
||||
|
||||
@@ -17,7 +17,8 @@ import {
|
||||
MdFormFieldModule,
|
||||
MdInputModule,
|
||||
MdCheckboxModule,
|
||||
MdGridListModule
|
||||
MdGridListModule,
|
||||
MdProgressSpinnerModule,
|
||||
} from '@angular/material';
|
||||
|
||||
|
||||
@@ -65,7 +66,8 @@ import * as Rx from 'rxjs/Rx';
|
||||
MdFormFieldModule,
|
||||
MdInputModule,
|
||||
MdCheckboxModule,
|
||||
MdGridListModule
|
||||
MdGridListModule,
|
||||
MdProgressSpinnerModule,
|
||||
],
|
||||
providers: [ElectronService,WebsocketService,WebsocketHandlerService],
|
||||
bootstrap: [AppComponent]
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<div *ngShow="settings === null">
|
||||
<md-progress-spinner mode="indeterminate"></md-progress-spinner>
|
||||
</div>
|
||||
<div *ngIf="settings !== null">
|
||||
<button (click)="saveSettings()" md-fab color="accent" class="md-fab md-fab-bottom-right">Save</button>
|
||||
<form *ngIf="settings.SMSGlobal != null">
|
||||
@@ -13,7 +16,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<md-grid-list cols="2" rowHeight="2:1">
|
||||
<md-grid-list cols="2" rowHeight="3:1">
|
||||
<md-grid-tile>
|
||||
<md-form-field>
|
||||
<input mdInput name="smsUsername" [(ngModel)]="settings.SMSGlobal.Username" [disabled]="!settings?.SMSGlobal.Enabled" placeholder="Username">
|
||||
@@ -75,13 +78,11 @@
|
||||
</md-grid-tile>
|
||||
</md-grid-list>
|
||||
|
||||
<md-form-field>
|
||||
<input mdInput placeholder="Exchange Name" disabled value="Enabled Currencies">
|
||||
</md-form-field>
|
||||
<label>Enabled Currencies</label>
|
||||
|
||||
<md-grid-list cols="5" rowHeight="2:1">
|
||||
<md-grid-list cols="6" rowHeight="2:1">
|
||||
<md-grid-tile *ngFor="let currency of exchange.AvailablePairs.split(',')">
|
||||
<md-checkbox name="availableCurrency" [disabled]="!exchange.Enabled">{{currency}}</md-checkbox>
|
||||
<md-checkbox name="availableCurrency" [disabled]="true || !exchange.Enabled">{{currency}}</md-checkbox>
|
||||
</md-grid-tile>
|
||||
</md-grid-list>
|
||||
</md-card-content>
|
||||
|
||||
@@ -17,17 +17,14 @@ export class SettingsComponent implements OnInit {
|
||||
private getSettingsMessage = {
|
||||
Event: 'GetConfig',
|
||||
data: null,
|
||||
Exchange: null,
|
||||
AssetType: null
|
||||
};
|
||||
|
||||
constructor(private websocketHandler: WebsocketHandlerService) {
|
||||
this.ws = websocketHandler;
|
||||
this.ws.messages.subscribe(msg => {
|
||||
|
||||
if (msg.Event === 'GetConfig') {
|
||||
console.log('Data:' + JSON.stringify(msg.data));
|
||||
this.settings = <Config>msg.data;
|
||||
this.fixUpSettings();
|
||||
} else if (msg.Event === 'SaveConfig') {
|
||||
// something!
|
||||
}
|
||||
@@ -38,30 +35,23 @@ export class SettingsComponent implements OnInit {
|
||||
}
|
||||
|
||||
private getSettings(): void {
|
||||
console.log('new message from client to websocket: ', this.getSettingsMessage);
|
||||
this.ws.messages.next(this.getSettingsMessage);
|
||||
this.resendMessageIfPageRefreshed();
|
||||
}
|
||||
|
||||
private fixUpSettings(): void {
|
||||
|
||||
}
|
||||
|
||||
private saveSettings(): void {
|
||||
//Send the message
|
||||
var settingsSave = {
|
||||
Event: 'SaveConfig',
|
||||
data: this.settings,
|
||||
|
||||
Exchange: null,
|
||||
AssetType: null
|
||||
}
|
||||
this.ws.messages.next(settingsSave);
|
||||
}
|
||||
|
||||
|
||||
//there has to be a better way
|
||||
private resendMessageIfPageRefreshed(): void {
|
||||
if (this.failCount <= 5) {
|
||||
if (this.failCount <= 10) {
|
||||
setTimeout(() => {
|
||||
if (this.settings === null) {
|
||||
console.log(this.failCount);
|
||||
|
||||
@@ -13,7 +13,16 @@ export interface Message {
|
||||
|
||||
@Injectable()
|
||||
export class WebsocketHandlerService {
|
||||
public messages: Subject<Message>;
|
||||
public messages: Subject<any>;
|
||||
|
||||
private authenticateMessage = {
|
||||
Event:'auth',
|
||||
data:{"username":"admin","password":"e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a"},
|
||||
}
|
||||
|
||||
public authenticate() {
|
||||
this.messages.next(this.authenticateMessage);
|
||||
}
|
||||
|
||||
constructor(wsService: WebsocketService) {
|
||||
this.messages = <Subject<Message>>wsService
|
||||
@@ -21,12 +30,11 @@ export class WebsocketHandlerService {
|
||||
.map((response: MessageEvent): Message => {
|
||||
|
||||
let data = JSON.parse(response.data);
|
||||
|
||||
// debug only
|
||||
//console.log('Recieved response from websocket. Data: ' + JSON.stringify(data))
|
||||
var dataData = data.Data === null ? data.data : data.Data;
|
||||
// variables aren't consistent yet. Here's a hack!
|
||||
var dataData = data.Data === undefined ? data.data : data.Data;
|
||||
var eventEvent = data.Event === undefined ? data.event : data.Event;
|
||||
return {
|
||||
Event: data.Event,
|
||||
Event: eventEvent,
|
||||
data: dataData,
|
||||
Exchange: data.exchange,
|
||||
AssetType: data.assetType
|
||||
|
||||
@@ -15,9 +15,9 @@ export class WebsocketService {
|
||||
}
|
||||
|
||||
private authenticateMessage = {
|
||||
Event:'auth',
|
||||
data:{"username":"admin","password":"e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a"},
|
||||
}
|
||||
Event:'auth',
|
||||
data:{"username":"admin","password":"e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a"},
|
||||
}
|
||||
|
||||
private isAuth = false;
|
||||
|
||||
@@ -32,13 +32,10 @@ export class WebsocketService {
|
||||
return ws.close.bind(ws);
|
||||
})
|
||||
let observer = {
|
||||
next: (data: Object) => {
|
||||
next: (data: any) => {
|
||||
if (ws.readyState === WebSocket.OPEN) {
|
||||
if(!this.isAuth) {
|
||||
//This is a shit initial way to be able to authenticate
|
||||
ws.send(JSON.stringify(this.authenticateMessage));
|
||||
this.isAuth = true;
|
||||
}
|
||||
ws.send(JSON.stringify(this.authenticateMessage));
|
||||
|
||||
ws.send(JSON.stringify(data));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<div *ngIf="tickerCards === null">
|
||||
<md-progress-spinner mode="indeterminate"></md-progress-spinner>
|
||||
</div>
|
||||
<md-grid-list cols="4" rowHeight="4:3" >
|
||||
<md-grid-tile *ngFor="let ticker of tickerCards">
|
||||
<app-exchange-currency-ticker [ticker]="ticker" ></app-exchange-currency-ticker>
|
||||
|
||||
@@ -11,8 +11,6 @@ export class AllEnabledCurrencyTickersComponent implements OnInit {
|
||||
allCurrencies:ExchangeCurrency[];
|
||||
tickerCards: TickerUpdate[];
|
||||
|
||||
|
||||
|
||||
constructor(private websocketHandler: WebsocketHandlerService) {
|
||||
this.ws = websocketHandler;
|
||||
this.allCurrencies = <ExchangeCurrency[]>[];
|
||||
@@ -36,35 +34,22 @@ export class AllEnabledCurrencyTickersComponent implements OnInit {
|
||||
ticker.Exchange = msg.Exchange;
|
||||
this.tickerCards.push(ticker);
|
||||
this.allCurrencies.push(modal);
|
||||
console.log(JSON.stringify(this.allCurrencies));
|
||||
} else {
|
||||
console.log('deleting');
|
||||
//time to replace
|
||||
for(var j = 0; j< this.tickerCards.length; j++) {
|
||||
console.log(j);
|
||||
console.log("exchange" + this.tickerCards[j].Exchange === msg.Exchange );
|
||||
console.log("curr" + this.tickerCards[j].CurrencyPair === msg.data.CurrencyPair );
|
||||
if(this.tickerCards[j].Exchange === msg.Exchange
|
||||
&& this.tickerCards[j].CurrencyPair === msg.data.CurrencyPair) {
|
||||
console.log('doner');
|
||||
|
||||
var ticker = <TickerUpdate>msg.data;
|
||||
this.tickerCards[j] = ticker;
|
||||
this.tickerCards[j].Exchange = msg.Exchange;
|
||||
|
||||
console.log('done');
|
||||
return;
|
||||
} else {
|
||||
console.log('not found?');
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
ngOnInit() { }
|
||||
}
|
||||
|
||||
export interface ExchangeCurrency {
|
||||
|
||||
Reference in New Issue
Block a user