From 1030dad87609a7b24581f2d50489d762a9c32c29 Mon Sep 17 00:00:00 2001 From: davidels1 <87242587+davidels1@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:17:39 +0200 Subject: [PATCH] Refactor data fetching to use getFullList in forms Replaced usage of getList with getFullList for fetching records in BookOutForm, PurchaseOrderForm, AddItemForm, and EditItemForm. This change simplifies data retrieval and ensures all records are fetched without pagination. --- src/components/book-out/BookOutForm.tsx | 8 ++++---- src/components/purchase-orders/PurchaseOrderForm.tsx | 8 ++++---- src/components/stock/AddItemForm.tsx | 4 ++-- src/components/stock/EditItemForm.tsx | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/book-out/BookOutForm.tsx b/src/components/book-out/BookOutForm.tsx index f36bcb6..4295611 100644 --- a/src/components/book-out/BookOutForm.tsx +++ b/src/components/book-out/BookOutForm.tsx @@ -67,8 +67,8 @@ export function BookOutForm({ setOpen, refreshData }: BookOutFormProps) { const fetchStockItems = useCallback(async () => { try { - const records = await pb.collection('stock_items').getList(1, 50, { sort: '-created' }); - const formattedStockItems: StockItem[] = records.items.map((item: any) => ({ + const records = await pb.collection('stock_items').getFullList({ sort: '-created' }); + const formattedStockItems: StockItem[] = records.map((item: any) => ({ id: item.id, name: item.name, sku: item.sku, @@ -83,8 +83,8 @@ export function BookOutForm({ setOpen, refreshData }: BookOutFormProps) { const fetchCustomers = useCallback(async () => { try { - const records = await pb.collection('customers').getList(1, 50, { sort: '-created' }); - const formattedCustomers: Customer[] = records.items.map((item: any) => ({ + const records = await pb.collection('customers').getFullList({ sort: '-created' }); + const formattedCustomers: Customer[] = records.map((item: any) => ({ id: item.id, name: item.comapny_name, })); diff --git a/src/components/purchase-orders/PurchaseOrderForm.tsx b/src/components/purchase-orders/PurchaseOrderForm.tsx index af09883..0898c7e 100644 --- a/src/components/purchase-orders/PurchaseOrderForm.tsx +++ b/src/components/purchase-orders/PurchaseOrderForm.tsx @@ -71,10 +71,10 @@ export function PurchaseOrderForm({ setOpen, refreshData }: PurchaseOrderFormPro // Fetch suppliers when the component mounts const fetchSuppliers = useCallback(async () => { try { - const records = await pb.collection('suppliers').getList(1, 50, { + const records = await pb.collection('suppliers').getFullList({ sort: '-created', }); - const formattedSuppliers: Supplier[] = records.items.map((item: any) => ({ + const formattedSuppliers: Supplier[] = records.map((item: any) => ({ id: item.id, name: item.supplier_name, // Use the correct field name from PocketBase })); @@ -88,10 +88,10 @@ export function PurchaseOrderForm({ setOpen, refreshData }: PurchaseOrderFormPro // Fetch stock items when the component mounts const fetchStockItems = useCallback(async () => { try { - const records = await pb.collection('stock_items').getList(1, 50, { + const records = await pb.collection('stock_items').getFullList({ sort: '-created', }); - const formattedStockItems: StockItem[] = records.items.map((item: any) => ({ + const formattedStockItems: StockItem[] = records.map((item: any) => ({ id: item.id, name: item.name, sku: item.sku, diff --git a/src/components/stock/AddItemForm.tsx b/src/components/stock/AddItemForm.tsx index dc85599..3989213 100644 --- a/src/components/stock/AddItemForm.tsx +++ b/src/components/stock/AddItemForm.tsx @@ -39,11 +39,11 @@ export function AddItemForm({ setOpen, refreshData }: AddItemFormProps) { const fetchCategories = React.useCallback(async () => { try { - const records = await pb.collection('stock_items').getList(1, 50, { + const records = await pb.collection('stock_items').getFullList({ fields: 'category', }); // Get unique categories from stock_items - const uniqueCategories = Array.from(new Set(records.items.map(item => item.category))); + const uniqueCategories = Array.from(new Set(records.map(item => item.category))); const options = uniqueCategories.map((cat: string) => ({ value: cat.toLowerCase(), label: cat, diff --git a/src/components/stock/EditItemForm.tsx b/src/components/stock/EditItemForm.tsx index 99291a9..98b6ba6 100644 --- a/src/components/stock/EditItemForm.tsx +++ b/src/components/stock/EditItemForm.tsx @@ -41,10 +41,10 @@ export function EditItemForm({ setOpen, refreshData, item }: EditItemFormProps) const fetchCategories = React.useCallback(async () => { try { - const records = await pb.collection('stock_items').getList(1, 50, { + const records = await pb.collection('stock_items').getFullList({ fields: 'category', }); - const uniqueCategories = Array.from(new Set(records.items.map((item: { category: string }) => item.category))); + const uniqueCategories = Array.from(new Set(records.map((item: { category: string }) => item.category))); const options = uniqueCategories.map((cat: string) => ({ value: cat.toLowerCase(), label: cat,