<!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>aktienbot documentation</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="../images/favicon.ico"> <link rel="stylesheet" href="../styles/style.css"> </head> <body> <div class="navbar navbar-default navbar-fixed-top visible-xs"> <a href="../" class="navbar-brand">aktienbot documentation</a> <button type="button" class="btn btn-default btn-menu fa fa-bars" id="btn-menu"></button> </div> <div class="xs-menu menu" id="mobile-menu"> <div id="book-search-input" role="search"> <input type="text" placeholder="Type to search"> </div> <nav> <ul class="list"> <li class="title"> <a href="../">aktienbot documentation</a> </li> <li class="divider"></li> <li class="chapter"> <a data-type="chapter-link" href="../"><span class="fa fa-home"></span>Getting started</a> <ul class="links"> <li class="link"> <a href="../" ><span class="fa fa-file-text-o"></span>README</a> </li> <li class="link"> <a href="../overview.html" href="../overview.html" > <span class="fa fa-th"></span>Overview </a> </li> </ul> </li> <li class="chapter"> <a data-type="chapter-link" href="./modules.html" > <span class="fa fa-archive"></span> <span>Modules</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#xs-modules-links" ></span> </a> <ul class="links collapse in" id="xs-modules-links" > <li class="link"> <a href="../modules/AppModule.html" >AppModule</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-cogs"></span> <span>Components</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#xs-components-links" ></span> </div> <ul class="links collapse in" id="xs-components-links" > <li class="link"> <a href="../components/AppComponent.html" >AppComponent</a> </li> <li class="link"> <a href="../components/BotSettingsComponent.html" >BotSettingsComponent</a> </li> <li class="link"> <a href="../components/ConfirmationDialogComponent.html" >ConfirmationDialogComponent</a> </li> <li class="link"> <a href="../components/DashboardComponent.html" >DashboardComponent</a> </li> <li class="link"> <a href="../components/HeaderComponent.html" >HeaderComponent</a> </li> <li class="link"> <a href="../components/HelpDialogComponent.html" >HelpDialogComponent</a> </li> <li class="link"> <a href="../components/LoginComponent.html" >LoginComponent</a> </li> <li class="link"> <a href="../components/ProfileComponent.html" >ProfileComponent</a> </li> <li class="link"> <a href="../components/RegisterComponent.html" >RegisterComponent</a> </li> <li class="link"> <a href="../components/UserDialogComponent.html" >UserDialogComponent</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-long-arrow-down"></span> <span>Injectables</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#xs-injectables-links" ></span> </div> <ul class="links collapse in" id="xs-injectables-links" > <li class="link"> <a href="../injectables/AuthInterceptor.html" >AuthInterceptor</a> </li> <li class="link"> <a href="../injectables/AuthService.html" >AuthService</a> </li> <li class="link"> <a href="../injectables/BotService.html" >BotService</a> </li> <li class="link"> <a href="../injectables/DataService.html" >DataService</a> </li> <li class="link"> <a href="../injectables/HelperService.html" >HelperService</a> </li> <li class="link"> <a href="../injectables/ProfileService.html" >ProfileService</a> </li> <li class="link"> <a href="../injectables/TokenStorageService.html" >TokenStorageService</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-info"></span> <span>Interfaces</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#xs-interfaces-links" ></span> </div> <ul class="links collapse in" id="xs-interfaces-links" > <li class="link"> <a href="../interfaces/Keyword.html" >Keyword</a> </li> <li class="link"> <a href="../interfaces/Share.html" >Share</a> </li> <li class="link"> <a href="../interfaces/Stock.html" class="active" >Stock</a> </li> <li class="link"> <a href="../interfaces/TransactionData.html" >TransactionData</a> </li> </ul> </li> <li class="chapter"> <a data-type="chapter-link" href="../miscellaneous.html" ><span class="fa fa-cubes"></span>Miscellaneous</a> </li> <li class="chapter"> <a data-type="chapter-link" href="../coverage.html" ><span class="fa fa-tasks"></span>Documentation coverage</a> </li> <li class="divider"></li> <li class="copyright"> Documentation generated using <a href="https://compodoc.github.io/compodoc/" target="_blank"> <img src="..//images/compodoc-vectorise.svg" class="img-responsive"> </a> </li> </ul> </nav> </div> <div class="container-fluid main"> <div class="row main"> <div class="hidden-xs menu"> <nav> <ul class="list"> <li class="title"> <a href="../">aktienbot documentation</a> </li> <li class="divider"></li> <div id="book-search-input" role="search"> <input type="text" placeholder="Type to search"> </div> <li class="chapter"> <a data-type="chapter-link" href="../"><span class="fa fa-home"></span>Getting started</a> <ul class="links"> <li class="link"> <a href="../" ><span class="fa fa-file-text-o"></span>README</a> </li> <li class="link"> <a href="../overview.html" href="../overview.html" > <span class="fa fa-th"></span>Overview </a> </li> </ul> </li> <li class="chapter"> <a data-type="chapter-link" href="./modules.html" > <span class="fa fa-archive"></span> <span>Modules</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#modules-links" ></span> </a> <ul class="links collapse in" id="modules-links" > <li class="link"> <a href="../modules/AppModule.html" >AppModule</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-cogs"></span> <span>Components</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#components-links" ></span> </div> <ul class="links collapse in" id="components-links" > <li class="link"> <a href="../components/AppComponent.html" >AppComponent</a> </li> <li class="link"> <a href="../components/BotSettingsComponent.html" >BotSettingsComponent</a> </li> <li class="link"> <a href="../components/ConfirmationDialogComponent.html" >ConfirmationDialogComponent</a> </li> <li class="link"> <a href="../components/DashboardComponent.html" >DashboardComponent</a> </li> <li class="link"> <a href="../components/HeaderComponent.html" >HeaderComponent</a> </li> <li class="link"> <a href="../components/HelpDialogComponent.html" >HelpDialogComponent</a> </li> <li class="link"> <a href="../components/LoginComponent.html" >LoginComponent</a> </li> <li class="link"> <a href="../components/ProfileComponent.html" >ProfileComponent</a> </li> <li class="link"> <a href="../components/RegisterComponent.html" >RegisterComponent</a> </li> <li class="link"> <a href="../components/UserDialogComponent.html" >UserDialogComponent</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-long-arrow-down"></span> <span>Injectables</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#injectables-links" ></span> </div> <ul class="links collapse in" id="injectables-links" > <li class="link"> <a href="../injectables/AuthInterceptor.html" >AuthInterceptor</a> </li> <li class="link"> <a href="../injectables/AuthService.html" >AuthService</a> </li> <li class="link"> <a href="../injectables/BotService.html" >BotService</a> </li> <li class="link"> <a href="../injectables/DataService.html" >DataService</a> </li> <li class="link"> <a href="../injectables/HelperService.html" >HelperService</a> </li> <li class="link"> <a href="../injectables/ProfileService.html" >ProfileService</a> </li> <li class="link"> <a href="../injectables/TokenStorageService.html" >TokenStorageService</a> </li> </ul> </li> <li class="chapter"> <div class="simple"> <span class="fa fa-info"></span> <span>Interfaces</span> <span class="menu-toggler fa fa-angle-up" data-toggle="collapse" data-target="#interfaces-links" ></span> </div> <ul class="links collapse in" id="interfaces-links" > <li class="link"> <a href="../interfaces/Keyword.html" >Keyword</a> </li> <li class="link"> <a href="../interfaces/Share.html" >Share</a> </li> <li class="link"> <a href="../interfaces/Stock.html" class="active" >Stock</a> </li> <li class="link"> <a href="../interfaces/TransactionData.html" >TransactionData</a> </li> </ul> </li> <li class="chapter"> <a data-type="chapter-link" href="../miscellaneous.html" ><span class="fa fa-cubes"></span>Miscellaneous</a> </li> <li class="chapter"> <a data-type="chapter-link" href="../coverage.html" ><span class="fa fa-tasks"></span>Documentation coverage</a> </li> <li class="divider"></li> <li class="copyright"> Documentation generated using <a href="https://compodoc.github.io/compodoc/" target="_blank"> <img src="..//images/compodoc-vectorise.svg" class="img-responsive"> </a> </li> </ul> </nav> </div> <div class="content interface"> <div class="content-data"> <ol class="breadcrumb"> <li>Interfaces</li> <li>Stock</li> </ol> <ul class="nav nav-tabs" role="tablist"> <li class="active"> <a href="#infos" id="infos-tab" role="tab" data-toggle="tab">Infos</a> </li> <li> <a href="#source" role="tab" id="source-tab" data-toggle="tab">Source</a> </li> </ul> <div class="tab-content"> <div class="tab-pane fade active in" id="infos"> <p class="comment"> <h3>File</h3> </p> <p class="comment"> <code>src/app/Views/dashboard/dashboard.component.ts</code> </p> <section> <h3 id="inputs">Properties</h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <b>comment</b> </td> </tr> <tr> <td class="col-md-4"> <code>comment: <code>string</code> </bcode> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>string</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <b>count</b> </td> </tr> <tr> <td class="col-md-4"> <code>count: <code>number</code> </bcode> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>number</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <b>current_price</b> </td> </tr> <tr> <td class="col-md-4"> <code>current_price: <code>number</code> </bcode> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>number</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <b>isin</b> </td> </tr> <tr> <td class="col-md-4"> <code>isin: <code>string</code> </bcode> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>string</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <b>last_transaction</b> </td> </tr> <tr> <td class="col-md-4"> <code>last_transaction: <code>string</code> </bcode> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>string</code> </td> </tr> </tbody> </table> </section> </div> <div class="tab-pane fade tab-source-code" id="source"> <pre><code class="hljs javascript">import { Component, OnInit } from '@angular/core'; import { DataService } from 'src/app/Services/data.service'; import { MatDialog } from '@angular/material/dialog'; import { UserDialogComponent } from './user-dialog/user-dialog.component'; import { HelperService } from 'src/app/Helpers/helper.service'; export interface Stock { count: number; comment: string; isin: string; last_transaction: string; current_price: number; } var TRANSACTION_DATA: TransactionData[] = []; var STOCK_DATA: Stock[] = []; export interface TransactionData { comment: string; isin: string; time: string; count: number; price: number; } @Component({ selector: 'app-dashboard', templateUrl: './dashboard.component.html', styleUrls: ['./dashboard.component.scss'], }) export class DashboardComponent implements OnInit { constructor( private dataService: DataService, private helper: HelperService, public dialog: MatDialog ) {} dataSourceTransactions: TransactionData[] = []; dataSourceStocks: Stock[] = []; depotCurrentValue: number = 0; depotCost: number = 0; profit: number = 0; comment: string = ''; isin: string = ''; time: Date = new Date(); count: number = 0.0; price: number = 0.0; getTransactions() { var TRANSACTION_DATA: TransactionData[] = []; this.dataService.getTransactionData().subscribe((response: any) => { var data = JSON.parse(response); this.depotCost = 0; for (let i = 0; i < data.data.length; i++) { this.depotCost += data.data[i].price; TRANSACTION_DATA.push({ comment: data.data[i].comment, isin: data.data[i].isin, time: data.data[i].time, count: data.data[i].count, price: data.data[i].price, }); } this.dataSourceTransactions = TRANSACTION_DATA; //TODO move to helper service this.profit = this.depotCurrentValue - this.depotCost; }); } ngOnInit() { /** * Function gets the stock data and pushes it in the temporary object array */ this.dataService.getStockData().subscribe((response: any) => { var data = JSON.parse(response); console.log(data); this.depotCurrentValue = 0; for (let i = 0; i < data.data.length; i++) { this.depotCurrentValue = data.data[i].current_price; STOCK_DATA.push({ count: data.data[i].count, comment: data.data[i].comment, isin: data.data[i].isin, last_transaction: data.data[i].last_transaction, current_price: data.data[i].current_price, }); } // assign data source this.dataSourceStocks = STOCK_DATA; this.profit += this.depotCurrentValue; }); /** * Function gets the transaction data and pushes it in the temporary object array */ this.dataService.getTransactionData().subscribe((response: any) => { var data = JSON.parse(response); this.depotCost = 0; for (let i = 0; i < data.data.length; i++) { this.depotCost += data.data[i].price; TRANSACTION_DATA.push({ comment: data.data[i].comment, isin: data.data[i].isin, time: data.data[i].time, count: data.data[i].count, price: data.data[i].price, }); } // assign data source this.dataSourceTransactions = TRANSACTION_DATA; this.profit += this.depotCost; }); } // function to open the user dialog to create a new transaction openDialog(): void { const dialogRef = this.dialog.open(UserDialogComponent, { width: '50vw', data: { comment: this.comment, isin: this.isin, time: this.time, count: this.count, price: this.price, }, }); dialogRef.afterClosed().subscribe((result) => { this.helper.delay(1000); this.getTransactions(); }); } // assign columns for transactions to display in html, you can change order and add/remove columns displayedColumns: string[] = [ 'comment', 'weight', 'position', 'name', 'symbol', ]; // assign columns to display in html, you can change order and add/remove columns displayedColumnsStocks: string[] = [ 'count', 'comment', 'isin', 'current_price', 'last_transaction', ]; } </code></pre> </div> </div> </div><div class="search-results"> <div class="has-results"> <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1> <ul class="search-results-list"></ul> </div> <div class="no-results"> <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> </div> </div> </div> </div> </div> <script src="../js/libs/bootstrap-native.js"></script> <script src="../js/libs/es6-shim.min.js"></script> <script src="../js/libs/EventDispatcher.js"></script> <script src="../js/libs/promise.min.js"></script> <script src="../js/libs/zepto.min.js"></script> <script src="../js/compodoc.js"></script> <script src="../js/search/search.js"></script> <script src="../js/search/lunr.min.js"></script> <script src="../js/search/search-lunr.js"></script> <script src="../js/menu.js"></script> <script src="../js/libs/highlight.pack.js"></script> <script src="../js/libs/highlightjs-line-numbers.min.js"></script> <script src="../js/search/search_index.js"></script> <script> document.addEventListener('DOMContentLoaded', function() { hljs.initHighlightingOnLoad(); hljs.initLineNumbersOnLoad(); }); </script> </body> </html>