Dodanie obsługi odświeżania tabeli transakcji
- Dodano funkcję `handleRefresh`, aby ponownie pobierać dane z `rePullTradeDeals`. - W `TradeDetailsTableAdmin` dodano zdarzenie `refresh-table`, aby umożliwić odświeżanie tabeli. - W `newTradeDealForm.vue` dodano emitowanie zdarzenia `trade-added`, które po dodaniu nowej transakcji wywołuje odświeżenie tabeli.
This commit is contained in:
@@ -4,8 +4,17 @@ const props = defineProps<{
|
|||||||
description: string;
|
description: string;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const { tradeDealsPresentTurn, tradeDealsFollowingTurn, presentTurn, followingTurn } =
|
const {
|
||||||
await useFetchTradeAdminTab();
|
tradeDealsPresentTurn,
|
||||||
|
tradeDealsFollowingTurn,
|
||||||
|
presentTurn,
|
||||||
|
followingTurn,
|
||||||
|
rePullTradeDeals
|
||||||
|
} = await useFetchTradeAdminTab();
|
||||||
|
|
||||||
|
const handleRefresh = async () => {
|
||||||
|
await rePullTradeDeals();
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -27,11 +36,19 @@ const { tradeDealsPresentTurn, tradeDealsFollowingTurn, presentTurn, followingTu
|
|||||||
</TabsList>
|
</TabsList>
|
||||||
|
|
||||||
<TabsContent value="presentTurn">
|
<TabsContent value="presentTurn">
|
||||||
<TradeDetailsTableAdmin :tradeDeals="tradeDealsPresentTurn" :turn="presentTurn" />
|
<TradeDetailsTableAdmin
|
||||||
|
:tradeDeals="tradeDealsPresentTurn"
|
||||||
|
:turn="presentTurn"
|
||||||
|
@refresh-table="handleRefresh"
|
||||||
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
<TabsContent value="followingTurn">
|
<TabsContent value="followingTurn">
|
||||||
<TradeDetailsTableAdmin :tradeDeals="tradeDealsFollowingTurn" :turn="followingTurn" />
|
<TradeDetailsTableAdmin
|
||||||
|
:tradeDeals="tradeDealsFollowingTurn"
|
||||||
|
:turn="followingTurn"
|
||||||
|
@refresh-table="handleRefresh"
|
||||||
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
|
|||||||
@@ -1,20 +1,27 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { TradesResponse, TurnsResponse } from '@/types/pb-types';
|
import type { TradesResponse, TurnsResponse } from '@/types/pb-types';
|
||||||
import { X } from 'lucide-vue-next';
|
import { X } from 'lucide-vue-next';
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
tradeDeals: TradesResponse<unknown>[];
|
tradeDeals: TradesResponse<unknown>[];
|
||||||
turn: TurnsResponse<unknown>;
|
turn: TurnsResponse<unknown>;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const emit = defineEmits<{
|
||||||
|
'refresh-table': [];
|
||||||
|
}>();
|
||||||
|
|
||||||
|
const refreshTable = () => {
|
||||||
|
emit('refresh-table');
|
||||||
|
};
|
||||||
|
|
||||||
const { tradeDealsStates: states } = await useFetchTradeAdminTab();
|
const { tradeDealsStates: states } = await useFetchTradeAdminTab();
|
||||||
// TODO: Odświeżenie tabelki
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Table class="h-full w-full">
|
<Table class="h-full w-full">
|
||||||
<TableCaption>
|
<TableCaption>
|
||||||
<NewTradeDealForm :turn="turn" :states="states" />
|
<NewTradeDealForm :turn="turn" :states="states" @trade-added="refreshTable" />
|
||||||
</TableCaption>
|
</TableCaption>
|
||||||
|
|
||||||
<TableHeader>
|
<TableHeader>
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { FormField } from '@/components/ui/form';
|
import { FormField } from '@/components/ui/form';
|
||||||
import type { StatesResponse, TurnsResponse } from '@/types/pb-types';
|
import type { StatesResponse, TurnsResponse } from '@/types/pb-types';
|
||||||
import { useForm } from 'vee-validate';
|
import { useForm } from 'vee-validate';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
turn: TurnsResponse<unknown>;
|
turn: TurnsResponse<unknown>;
|
||||||
states: StatesResponse<unknown, unknown, unknown, unknown, unknown>[];
|
states: StatesResponse<unknown, unknown, unknown, unknown, unknown>[];
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const emit = defineEmits<{
|
||||||
|
'trade-added': [];
|
||||||
|
}>();
|
||||||
|
|
||||||
const pb = usePocketBase();
|
const pb = usePocketBase();
|
||||||
const { flushTradeDealsCache, rePullTradeDeals } = await useFetchTradeAdminTab();
|
const { flushTradeDealsCache, rePullTradeDeals } = await useFetchTradeAdminTab();
|
||||||
|
|
||||||
@@ -51,6 +55,8 @@ const onSubmit = handleSubmit(async values => {
|
|||||||
await flushTradeDealsCache();
|
await flushTradeDealsCache();
|
||||||
await rePullTradeDeals();
|
await rePullTradeDeals();
|
||||||
|
|
||||||
|
emit('trade-added');
|
||||||
|
|
||||||
openDialog.value = false;
|
openDialog.value = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user