Files
web/src/components/chart/ChartStatus.vue
2025-04-26 14:56:55 -04:00

40 lines
1.1 KiB
Vue

<template>
<toolbar-pane title="Status" icon="mdi-format-list-bulleted-square">
<template #toolbar>
<v-btn variant="text" v-if="s.vault" prepend-icon="mdi-delete-alert" color="red"
@click="(async function (vault){
new CancelAllTransaction(useStore().chainId, vault).submit()
})(s.vault)" :disabled="!anyOrdersOpen"
text="Cancel All"/>
</template>
<needs-signer>
<orders/>
</needs-signer>
</toolbar-pane>
</template>
<script setup>
import ToolbarPane from "@/components/chart/ToolbarPane.vue";
import Orders from "@/components/Status.vue";
import NeedsSigner from "@/components/NeedsSigner.vue";
import {useStore} from "@/store/store.js";
import {computed} from "vue";
import {isOpen} from "@/blockchain/orderlib.js";
import {CancelAllTransaction} from "@/blockchain/transaction.js";
const s = useStore()
const anyOrdersOpen = computed(()=>{
console.log('vo', s.vaultOrders)
for ( const order of Object.values(s.vaultOrders) )
if ( isOpen(order.state) )
return true
return false
})
</script>
<style scoped lang="scss">
</style>