bugfix for order display switching symbols
This commit is contained in:
@@ -34,10 +34,12 @@ function symbolChanged(symbol) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export async function setSymbol(symbol) {
|
export async function setSymbol(symbol, interval=null) {
|
||||||
|
if (interval===null)
|
||||||
|
interval = widget.symbolInterval().interval
|
||||||
await new Promise(resolve => {
|
await new Promise(resolve => {
|
||||||
if (co.selectedSymbol?.ticker !== symbol.ticker)
|
if (co.selectedSymbol?.ticker !== symbol.ticker)
|
||||||
widget.activeChart().setSymbol(symbol.ticker, null, resolve)
|
widget.setSymbol(symbol.ticker, interval, ()=>setTimeout(resolve,0))
|
||||||
else
|
else
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<v-data-table :headers="datatableHeaders" :items="orders" item-value="id"
|
<v-data-table :headers="datatableHeaders" :items="orders" item-value="id"
|
||||||
:show-select="true" :show-expand="true" v-model="selected">
|
:show-select="true" :show-expand="true" v-model="selected" select-strategy="single">
|
||||||
<template v-slot:item.startTime="{ value }">{{ timestampString(value) }}</template>
|
<template v-slot:item.startTime="{ value }">{{ timestampString(value) }}</template>
|
||||||
<template v-slot:item.input="{ item }">
|
<template v-slot:item.input="{ item }">
|
||||||
<span v-if="item.order.amountIsInput">
|
<span v-if="item.order.amountIsInput">
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
<span v-if="item.state > OrderState.Signing">
|
<span v-if="item.state > OrderState.Signing">
|
||||||
<pulse :touch="item.trancheStatus[i].filledIn">
|
<pulse :touch="item.trancheStatus[i].filledIn">
|
||||||
<token-amount :chain-id="item.chainId" :addr="item.order.tokenIn"
|
<token-amount :chain-id="item.chainId" :addr="item.order.tokenIn"
|
||||||
:amount="item.trancheStatus[i].filledIn" :raw="true"/>
|
:amount="item.trancheStatus[i].filledIn" :raw="item.order.amountIsInput"/>
|
||||||
</pulse>
|
</pulse>
|
||||||
</span>
|
</span>
|
||||||
</suspense>
|
</suspense>
|
||||||
@@ -127,9 +127,8 @@
|
|||||||
<span v-if="item.state > OrderState.Signing">
|
<span v-if="item.state > OrderState.Signing">
|
||||||
<pulse :touch="item.trancheStatus[i].filledOut">
|
<pulse :touch="item.trancheStatus[i].filledOut">
|
||||||
<token-amount :chain-id="item.chainId" :addr="item.order.tokenOut"
|
<token-amount :chain-id="item.chainId" :addr="item.order.tokenOut"
|
||||||
:amount="item.trancheStatus[i].filledOut" :raw="true"/>
|
:amount="item.trancheStatus[i].filledOut" :raw="!item.order.amountIsInput"/>
|
||||||
</pulse>
|
</pulse>
|
||||||
<token-symbol :addr="item.order.tokenOut"/>
|
|
||||||
</span>
|
</span>
|
||||||
</suspense>
|
</suspense>
|
||||||
<suspense>
|
<suspense>
|
||||||
@@ -195,21 +194,30 @@ watch(selected, async ()=>{
|
|||||||
const ticker = tickerForOrder(chainId, status.order)
|
const ticker = tickerForOrder(chainId, status.order)
|
||||||
const symbol = lookupSymbol(ticker)
|
const symbol = lookupSymbol(ticker)
|
||||||
if (co.selectedSymbol.ticker !== ticker) {
|
if (co.selectedSymbol.ticker !== ticker) {
|
||||||
co.selectedSymbol = symbol
|
// switch symbol
|
||||||
|
deleteOrderShapes()
|
||||||
await setSymbol(symbol)
|
await setSymbol(symbol)
|
||||||
|
console.log('change symbol completed')
|
||||||
}
|
}
|
||||||
|
console.log('creating order shape', id)
|
||||||
orderShapes[id] = new OrderShapes(symbol, status)
|
orderShapes[id] = new OrderShapes(symbol, status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
deleteOrderShapes(selectedIndex)
|
||||||
|
})
|
||||||
|
|
||||||
|
function deleteOrderShapes(keepSet={}) {
|
||||||
// now delete old shapes
|
// now delete old shapes
|
||||||
const keys = [...Object.keys(orderShapes)]
|
const keys = [...Object.keys(orderShapes)]
|
||||||
for (const id of keys) {
|
for (const id of keys) {
|
||||||
if (!(id in selectedIndex)) {
|
if (!(id in keepSet)) {
|
||||||
|
console.log('deleting order shape', id)
|
||||||
orderShapes[id].delete()
|
orderShapes[id].delete()
|
||||||
delete orderShapes[id]
|
delete orderShapes[id]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
|
|
||||||
const orderShapes = {}
|
const orderShapes = {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user