Skip to content

Commit a80ca4f

Browse files
committed
fix to modifiable order selection
1 parent 72f7b32 commit a80ca4f

File tree

4 files changed

+28
-15
lines changed

4 files changed

+28
-15
lines changed

react/opentp-client/src/common/grpcUtilities.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export function getGrpcErrorMessage( error : Error, prepend?: string) : string {
5757
grpErrorCodeAsStr = "Unimplemented"
5858
break
5959
case StatusCode.UNKNOWN:
60-
grpErrorCodeAsStr = "Unknown Host"
60+
grpErrorCodeAsStr = "Unknown"
6161
break
6262

6363
}

react/opentp-client/src/components/Login/Login.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default class Login extends React.Component<Props, State> {
5454
}
5555

5656
if (this.serverUrl.endsWith("localhost:3000")) {
57-
this.serverUrl = "http://127.0.0.1:30262" // for local dev, change this to point at your otp services cluster
57+
this.serverUrl = "http://127.0.0.1:31441" // for local dev, change this to point at your otp services cluster
5858
}
5959

6060
log.info("Connecting to services at:" + this.serverUrl)

react/opentp-client/src/components/OrderBlotter/ParentOrderBlotter.tsx

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ const columnDefs: ColDef[] = [
182182

183183

184184
interface ParentOrderBlotterState {
185-
selectedOrders: Array<Order>
185+
selectedOrderViews: Array<OrderView>
186186
}
187187

188188
interface ParentOrderBlotterProps {
@@ -256,7 +256,7 @@ export default class ParentOrderBlotter extends React.Component<ParentOrderBlott
256256

257257

258258
let blotterState: ParentOrderBlotterState = {
259-
selectedOrders: new Array<Order>(),
259+
selectedOrderViews: new Array<OrderView>(),
260260
}
261261

262262
this.state = blotterState;
@@ -411,57 +411,70 @@ export default class ParentOrderBlotter extends React.Component<ParentOrderBlott
411411

412412
onSelectionChanged() {
413413

414-
let selectedOrders = new Array<Order>()
414+
let selectedOrders = new Array<OrderView>()
415415
if (this.gridApi) {
416416
var selectedRows = this.gridApi.getSelectedRows();
417417

418418
selectedRows.forEach(function (selectedRow, index) {
419419

420420
let orderView: OrderView = selectedRow
421421

422-
selectedOrders.push(orderView.getOrder())
422+
selectedOrders.push(orderView)
423423

424424
});
425425

426426
}
427427

428428
let newState: ParentOrderBlotterState = {
429429
...this.state, ...{
430-
selectedOrders: selectedOrders,
430+
selectedOrderViews: selectedOrders,
431431
}
432432
}
433433

434434
this.setState(newState)
435435

436436
};
437437

438-
getCancellableOrders(orders: Array<Order>): Array<Order> {
438+
getCancellableOrders(orders: Array<OrderView>): Array<Order> {
439439

440440
let result = new Array<Order>()
441441
for (let order of orders) {
442-
if (order.getStatus() === OrderStatus.LIVE) {
443-
result.push(order)
442+
if (order.getOrder().getStatus() === OrderStatus.LIVE) {
443+
result.push(order.getOrder())
444444
}
445445
}
446446

447447
return result
448448
}
449449

450+
getModifiableOrder(views: Array<OrderView>): Order | undefined {
451+
452+
if( views.length === 1 ) {
453+
let view = views[0]
454+
if( view.getOrder().getDestination() === view?.getListing()?.getMarket()?.getMic() &&
455+
view.getOrder().getDestination() !== Destinations.SMARTROUTER ) {
456+
return view.getOrder()
457+
}
458+
}
459+
460+
return undefined
461+
}
462+
450463

451464

452465
public render() {
453466

454-
let selectedOrders = this.state.selectedOrders
455-
let cancelleableOrders = this.getCancellableOrders(this.state.selectedOrders)
467+
let selectedOrders = this.state.selectedOrderViews.map(v=>v.getOrder())
468+
let cancelleableOrders = this.getCancellableOrders(this.state.selectedOrderViews)
469+
let modifiableOrder = this.getModifiableOrder(this.state.selectedOrderViews)
456470

457471

458472
return (
459473
<div style={{ width: "100%", height: "100%", display: 'flex', flexDirection: 'column', alignItems: "centre" }}>
460474
<div className="bp3-dark" style={{ display: 'flex', flexDirection: 'row', paddingTop: 0, alignItems: "left" }}>
461475
<div style={{ flexGrow: 1 }}>
462476
<Button minimal={true} icon="delete" text="Cancel Orders" onClick={() => this.cancelOrder(cancelleableOrders)} disabled={cancelleableOrders.length === 0} />
463-
<Button minimal={true} icon="edit" text="Modify Order" onClick={() => this.modifyOrder(cancelleableOrders[0])} disabled={cancelleableOrders.length !== 1 ||
464-
cancelleableOrders[0].getOwnerid() === Destinations.VWAP || cancelleableOrders[0].getOwnerid() === Destinations.SMARTROUTER} />
477+
<Button minimal={true} icon="edit" text="Modify Order" onClick={() => this.modifyOrder(cancelleableOrders[0])} disabled={!modifiableOrder} />
465478
<Button minimal={true} icon="fork" text="Child Orders" onClick={() => this.showChildOrders(selectedOrders.values())} disabled={selectedOrders.length !== 1} />
466479
<Button minimal={true} icon="bring-data" text="Order History" onClick={() => this.showOrderHistory(selectedOrders.values())} disabled={selectedOrders.length !== 1} />
467480
<Button minimal={true} icon="tick" text="Executions" onClick={() => this.showExecutions(selectedOrders.values())} disabled={selectedOrders.length !== 1} />

react/opentp-client/src/components/OrderTicket/OrderTicket.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ export default class OrderTicket extends React.Component<OrderTicketProps, Order
393393

394394
let destinations = new Array<string>()
395395
let destination = Destinations.DMA
396-
if (order.getOwnerid() !== newListing.getMarket()?.getMic()) {
396+
if (order.getDestination() !== newListing.getMarket()?.getMic()) {
397397
destination = order.getOwnerid()
398398
destinations.push(order.getOwnerid())
399399
} else {

0 commit comments

Comments
 (0)