@@ -2,13 +2,16 @@ import React, { Component } from "react";
22import InstBlotter from "./instBlotter" ;
33import AppConfig from "../utils/constants" ;
44
5+ var _ = require ( "lodash" ) ;
6+
57class OrderComponent extends Component {
68 state = {
79 accountId : 1 ,
810 favTickers : [ "AAPL" , "MSFT" ] ,
911 customTicker : "" ,
1012 prices : [ ] ,
1113 lastOrder : { } ,
14+ bookingErrors : { } ,
1215 tradeDate : "" ,
1316 buySell : "B" ,
1417 ticker : "" ,
@@ -37,7 +40,7 @@ class OrderComponent extends Component {
3740 } ;
3841 console . log ( "input order to be sent: " , inputOrder ) ;
3942 /* Post Order to server */
40- fetch ( baseUrl + "/orders/create " , {
43+ fetch ( baseUrl + "/orders/new " , {
4144 method : "POST" ,
4245 mode : "cors" ,
4346 cache : "no-cache" ,
@@ -48,7 +51,13 @@ class OrderComponent extends Component {
4851 body : JSON . stringify ( inputOrder ) ,
4952 } )
5053 . then ( ( resp ) => resp . json ( ) )
51- . then ( ( data ) => this . setState ( { lastOrder : data || { } } ) ) ;
54+ . then ( ( result ) => {
55+ if ( result . success ) {
56+ this . setState ( { bookingErrors : { } , lastOrder : result . data || { } } ) ;
57+ } else {
58+ this . setState ( { bookingErrors : result . errors , lastOrder : { } } ) ;
59+ }
60+ } ) ;
5261 return ;
5362 } ;
5463
@@ -86,6 +95,19 @@ class OrderComponent extends Component {
8695 } ;
8796
8897 render ( ) {
98+ var footer = "" ;
99+ const { bookingErrors } = this . state ;
100+ if ( ! _ . isEmpty ( bookingErrors ) ) {
101+ const notes = Object . keys ( bookingErrors ) . map ( ( k ) => (
102+ < li >
103+ { k } : { bookingErrors [ k ] }
104+ </ li >
105+ ) ) ;
106+ footer = < ul > { notes } </ ul > ;
107+ } else if ( this . state . lastOrder ) {
108+ footer = < h4 > Order created with Id= { this . state . lastOrder . orderId } </ h4 > ;
109+ }
110+
89111 return (
90112 < div className = "card o-hidden border-0 shadow-lg my-2" >
91113 < div className = "card-body" >
@@ -172,9 +194,7 @@ class OrderComponent extends Component {
172194 </ div >
173195 </ div >
174196 </ div >
175- < div >
176- < h4 > Order created with Id= { this . state . lastOrder . orderId } </ h4 >
177- </ div >
197+ < div > { footer } </ div >
178198 </ div >
179199 </ div >
180200 ) ;
0 commit comments