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;
|
||||
}>();
|
||||
|
||||
const { tradeDealsPresentTurn, tradeDealsFollowingTurn, presentTurn, followingTurn } =
|
||||
await useFetchTradeAdminTab();
|
||||
const {
|
||||
tradeDealsPresentTurn,
|
||||
tradeDealsFollowingTurn,
|
||||
presentTurn,
|
||||
followingTurn,
|
||||
rePullTradeDeals
|
||||
} = await useFetchTradeAdminTab();
|
||||
|
||||
const handleRefresh = async () => {
|
||||
await rePullTradeDeals();
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -27,11 +36,19 @@ const { tradeDealsPresentTurn, tradeDealsFollowingTurn, presentTurn, followingTu
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="presentTurn">
|
||||
<TradeDetailsTableAdmin :tradeDeals="tradeDealsPresentTurn" :turn="presentTurn" />
|
||||
<TradeDetailsTableAdmin
|
||||
:tradeDeals="tradeDealsPresentTurn"
|
||||
:turn="presentTurn"
|
||||
@refresh-table="handleRefresh"
|
||||
/>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="followingTurn">
|
||||
<TradeDetailsTableAdmin :tradeDeals="tradeDealsFollowingTurn" :turn="followingTurn" />
|
||||
<TradeDetailsTableAdmin
|
||||
:tradeDeals="tradeDealsFollowingTurn"
|
||||
:turn="followingTurn"
|
||||
@refresh-table="handleRefresh"
|
||||
/>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
</CardContent>
|
||||
|
||||
@@ -1,20 +1,27 @@
|
||||
<script lang="ts" setup>
|
||||
import type { TradesResponse, TurnsResponse } from '@/types/pb-types';
|
||||
import { X } from 'lucide-vue-next';
|
||||
import { X } from 'lucide-vue-next';
|
||||
|
||||
defineProps<{
|
||||
tradeDeals: TradesResponse<unknown>[];
|
||||
turn: TurnsResponse<unknown>;
|
||||
}>();
|
||||
|
||||
const emit = defineEmits<{
|
||||
'refresh-table': [];
|
||||
}>();
|
||||
|
||||
const refreshTable = () => {
|
||||
emit('refresh-table');
|
||||
};
|
||||
|
||||
const { tradeDealsStates: states } = await useFetchTradeAdminTab();
|
||||
// TODO: Odświeżenie tabelki
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Table class="h-full w-full">
|
||||
<TableCaption>
|
||||
<NewTradeDealForm :turn="turn" :states="states" />
|
||||
<NewTradeDealForm :turn="turn" :states="states" @trade-added="refreshTable" />
|
||||
</TableCaption>
|
||||
|
||||
<TableHeader>
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
<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 { useForm } from 'vee-validate';
|
||||
import { useForm } from 'vee-validate';
|
||||
|
||||
const props = defineProps<{
|
||||
turn: TurnsResponse<unknown>;
|
||||
states: StatesResponse<unknown, unknown, unknown, unknown, unknown>[];
|
||||
}>();
|
||||
|
||||
const emit = defineEmits<{
|
||||
'trade-added': [];
|
||||
}>();
|
||||
|
||||
const pb = usePocketBase();
|
||||
const { flushTradeDealsCache, rePullTradeDeals } = await useFetchTradeAdminTab();
|
||||
|
||||
@@ -51,6 +55,8 @@ const onSubmit = handleSubmit(async values => {
|
||||
await flushTradeDealsCache();
|
||||
await rePullTradeDeals();
|
||||
|
||||
emit('trade-added');
|
||||
|
||||
openDialog.value = false;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user