order workflow
This commit is contained in:
@@ -31,12 +31,15 @@ export const orderFuncs = {}
|
||||
// the key is order.builder.id and the value is a function() that returns an array of tranches
|
||||
export const builderFuncs = {}
|
||||
|
||||
function newDefaultOrder() {
|
||||
return { id:uuid(), amount:1, amountIsTokenA: true, buy: true, builders:[] }
|
||||
}
|
||||
|
||||
export const useChartOrderStore = defineStore('chart_orders', () => {
|
||||
const chartReady = ref(false)
|
||||
|
||||
const orders = ref([]) // order models in UI format
|
||||
const built = ref([]) // orders in blockchain format, ready to send
|
||||
const orders = ref([newDefaultOrder()]) // order models in UI format
|
||||
const built = ref([{}]) // orders in blockchain format, ready to send
|
||||
const selectedOrder = ref(null)
|
||||
const selectedSymbol = ref(null)
|
||||
const selectedPool = ref(null)
|
||||
@@ -45,7 +48,7 @@ export const useChartOrderStore = defineStore('chart_orders', () => {
|
||||
const drawingCallbacks = ref(null) // only during draw mode
|
||||
|
||||
function newOrder() {
|
||||
const order = {id:uuid(), amount:1, amountIsTokenA: true, buy: true, builders:[] }
|
||||
const order = newDefaultOrder()
|
||||
orders.value.push(order)
|
||||
built.value.push({})
|
||||
selectedOrder.value = order
|
||||
@@ -54,15 +57,25 @@ export const useChartOrderStore = defineStore('chart_orders', () => {
|
||||
function removeOrder(order) {
|
||||
let index = orders.value.findIndex((o)=>o.id===order.id)
|
||||
if (index === -1) return
|
||||
orders.value = orders.value.filter((o)=>o.id!==order.id)
|
||||
if (orders.value.length === 0)
|
||||
selectedOrder.value = null
|
||||
const result = orders.value.filter((o)=>o.id!==order.id)
|
||||
if (result.length === 0) {
|
||||
const order = newDefaultOrder()
|
||||
result.push(order)
|
||||
selectedOrder.value = order
|
||||
}
|
||||
else
|
||||
selectedOrder.value = orders.value[Math.max(0,index-1)] // select the order above the removed one
|
||||
selectedOrder.value = result[Math.max(0,index-1)] // select the order above the removed one
|
||||
orders.value = result
|
||||
}
|
||||
|
||||
function resetOrders() {
|
||||
const order = newDefaultOrder()
|
||||
orders.value = [order]
|
||||
selectedOrder.value = order
|
||||
}
|
||||
|
||||
return {
|
||||
chartReady, selectedSymbol, selectedPool, orders, drawing, drawingCallbacks, newOrder, removeOrder,
|
||||
chartReady, selectedSymbol, selectedPool, orders, drawing, drawingCallbacks, newOrder, removeOrder, resetOrders,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user