diff --git a/ui/src/gql/market.ts b/ui/src/gql/market.ts index b28b7c0..45cbdaa 100644 --- a/ui/src/gql/market.ts +++ b/ui/src/gql/market.ts @@ -95,8 +95,23 @@ export const AddMarketPriceFilter = gql` } ` +export const UpdateMarketPriceFilter = gql` + mutation UpdateMarketPriceFilter($input: PriceFilterInput!) { + marketUpdatePriceFilter(input: $input) { + ...MarketMk12PriceFilterAll + } + } + ${marketMk12PriceFilterFragment} + ` + export const CheckMarketPriceFilter = gql` query CheckMarketPriceFilter($name: String!) { marketCheckPriceFilter(name: $name) } ` + +export const DeleteMarketPriceFilter = gql` + mutation DeleteMarketPriceFilter($name: String!) { + marketDeletePriceFilter(name: $name) + } +` diff --git a/ui/src/views/market/asks/widgets/SetAsk.vue b/ui/src/views/market/asks/widgets/SetAsk.vue index 2ca363b..06a30b9 100644 --- a/ui/src/views/market/asks/widgets/SetAsk.vue +++ b/ui/src/views/market/asks/widgets/SetAsk.vue @@ -135,7 +135,7 @@ const rules = { ref="form" @submit.prevent="handleSubmit" > - + -import { useQuery } from '@vue/apollo-composable' +import { useQuery, useMutation } from '@vue/apollo-composable' import { computed, ComputedRef,ref } from 'vue' -import { GetMarketPriceFilters } from '@/gql/market' +import { DeleteMarketPriceFilter, GetMarketPriceFilters } from '@/gql/market' import { PriceFilter } from '@/typed-graph' import { IconReload } from '@tabler/icons-vue' import SetPriceFilter from './widgets/SetPriceFilter.vue' @@ -17,6 +17,7 @@ const headers = [ { title: 'Price (attoFIL/GiB/Epoch)', key: 'price' }, { title: 'Price (FIL/TiB/Month)', key: 'priceFTM' }, { title: 'Verified', key: 'verified' }, + { title: ' ', key: 'actions' }, ] const { result, loading, refetch } = useQuery(GetMarketPriceFilters, null, () => ({ @@ -24,6 +25,22 @@ const { result, loading, refetch } = useQuery(GetMarketPriceFilters, null, () => const items: ComputedRef<[PriceFilter]> = computed(() => result.value?.makretPriceFilters || []) const searchValue = ref() +const deletingItem = ref(null) + +const { mutate } = useMutation(DeleteMarketPriceFilter, { + refetchQueries: [{ + query: GetMarketPriceFilters, + }], +}) + +const handleDelete = async (name: string) => { + deletingItem.value = name + try { + await mutate({ name }) + } finally { + deletingItem.value = null + } +} diff --git a/ui/src/views/market/filter/price/widgets/SetPriceFilter.vue b/ui/src/views/market/filter/price/widgets/SetPriceFilter.vue index e96c8e4..f4f0e7e 100644 --- a/ui/src/views/market/filter/price/widgets/SetPriceFilter.vue +++ b/ui/src/views/market/filter/price/widgets/SetPriceFilter.vue @@ -1,9 +1,12 @@