From b561ed619361461d7b6ed9e8585d14e9974abc89 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Thu, 9 Oct 2025 11:35:22 +0700 Subject: [PATCH] fix: update dependencies in multiple tables to include updateSortingFilter in effect dependencies --- package.json | 2 ++ .../master-data/kandang/KandangsTable.tsx | 2 +- .../master-data/location/LocationsTable.tsx | 2 +- .../nonstock/form/NonstockForm.tsx | 2 +- .../product-category/ProductCategoryTable.tsx | 35 ++++++++++++++----- .../master-data/product/ProductTable.tsx | 18 ++++++---- .../pages/master-data/uom/UomsTable.tsx | 2 +- .../master-data/warehouse/WarehousesTable.tsx | 2 +- 8 files changed, 46 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 8adf6787..cf7765a2 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "dev": "eslint && next dev --turbopack", "build": "next build --turbopack", "start": "next start", + "start": "npx serve@latest out", + "start:next": "next start", "lint": "eslint" }, "dependencies": { diff --git a/src/components/pages/master-data/kandang/KandangsTable.tsx b/src/components/pages/master-data/kandang/KandangsTable.tsx index c3571452..c51eeb21 100644 --- a/src/components/pages/master-data/kandang/KandangsTable.tsx +++ b/src/components/pages/master-data/kandang/KandangsTable.tsx @@ -231,7 +231,7 @@ const KandangsTable = () => { updateSortingFilter('nameSort', nameSortFilter); updateSortingFilter('locationSort', locationSortFilter); updateSortingFilter('picSort', picSortFilter); - }, [sorting]); + }, [sorting, updateSortingFilter]); return ( <> diff --git a/src/components/pages/master-data/location/LocationsTable.tsx b/src/components/pages/master-data/location/LocationsTable.tsx index ebbb798f..2548fb28 100644 --- a/src/components/pages/master-data/location/LocationsTable.tsx +++ b/src/components/pages/master-data/location/LocationsTable.tsx @@ -230,7 +230,7 @@ const LocationsTable = () => { updateSortingFilter('nameSort', nameSortFilter); updateSortingFilter('addressSort', addressSortFilter); updateSortingFilter('areaSort', areaSortFilter); - }, [sorting]); + }, [sorting, updateSortingFilter]); return ( <> diff --git a/src/components/pages/master-data/nonstock/form/NonstockForm.tsx b/src/components/pages/master-data/nonstock/form/NonstockForm.tsx index 33dcba54..efc1f595 100644 --- a/src/components/pages/master-data/nonstock/form/NonstockForm.tsx +++ b/src/components/pages/master-data/nonstock/form/NonstockForm.tsx @@ -99,7 +99,7 @@ const NonstockForm = ({ type = 'add', initialValues }: NonstockFormProps) => { useEffect(() => { formik.setValues(formikInitialValues); - }, [formikInitialValues]); + }, [formik, formikInitialValues]); return (
diff --git a/src/components/pages/master-data/product-category/ProductCategoryTable.tsx b/src/components/pages/master-data/product-category/ProductCategoryTable.tsx index f8413ab6..63b1c919 100644 --- a/src/components/pages/master-data/product-category/ProductCategoryTable.tsx +++ b/src/components/pages/master-data/product-category/ProductCategoryTable.tsx @@ -66,7 +66,12 @@ const RowOptionsMenu = ({ color='error' className='text-error hover:text-inherit' > - + Delete @@ -96,7 +101,9 @@ const ProductCategoryTable = () => { const deleteModal = useModal(); - const [selectedProductCategory, setSelectedProductCategory] = useState(undefined); + const [selectedProductCategory, setSelectedProductCategory] = useState< + ProductCategory | undefined + >(undefined); const [isDeleteLoading, setIsDeleteLoading] = useState(false); const [sorting, setSorting] = useState([]); @@ -186,7 +193,7 @@ const ProductCategoryTable = () => { } else { updateFilter('nameSort', isNameSorted.desc ? 'desc' : 'asc'); } - }, [sorting]); + }, [sorting, updateFilter]); return ( <> @@ -221,18 +228,30 @@ const ProductCategoryTable = () => { - data={isResponseSuccess(productCategories) ? productCategories?.data : []} + data={ + isResponseSuccess(productCategories) ? productCategories?.data : [] + } columns={productCategoryColumns} pageSize={tableFilterState.pageSize} - page={isResponseSuccess(productCategories) ? productCategories?.meta?.page : 0} - totalItems={isResponseSuccess(productCategories) ? productCategories?.meta?.total_results : 0} + page={ + isResponseSuccess(productCategories) + ? productCategories?.meta?.page + : 0 + } + totalItems={ + isResponseSuccess(productCategories) + ? productCategories?.meta?.total_results + : 0 + } onPageChange={setPage} isLoading={isLoading} sorting={sorting} setSorting={setSorting} className={{ containerClassName: cn({ - 'mb-20': isResponseSuccess(productCategories) && productCategories?.data?.length === 0, + 'mb-20': + isResponseSuccess(productCategories) && + productCategories?.data?.length === 0, }), tableWrapperClassName: 'overflow-x-auto min-h-full!', tableClassName: 'font-inter w-full table-auto min-h-full!', @@ -263,4 +282,4 @@ const ProductCategoryTable = () => { ); }; -export default ProductCategoryTable; \ No newline at end of file +export default ProductCategoryTable; diff --git a/src/components/pages/master-data/product/ProductTable.tsx b/src/components/pages/master-data/product/ProductTable.tsx index ab256548..b38a749a 100644 --- a/src/components/pages/master-data/product/ProductTable.tsx +++ b/src/components/pages/master-data/product/ProductTable.tsx @@ -116,7 +116,9 @@ const ProductsTable = () => { ); const deleteModal = useModal(); - const [selectedProduct, setSelectedProduct] = useState(undefined); + const [selectedProduct, setSelectedProduct] = useState( + undefined + ); const [isDeleteLoading, setIsDeleteLoading] = useState(false); const [sorting, setSorting] = useState([]); @@ -153,12 +155,14 @@ const ProductsTable = () => { { accessorKey: 'product_price', header: 'Harga Produk', - cell: (props) => props.row.original.product_price?.toLocaleString() ?? '-', + cell: (props) => + props.row.original.product_price?.toLocaleString() ?? '-', }, { accessorKey: 'selling_price', header: 'Harga Jual', - cell: (props) => props.row.original.selling_price?.toLocaleString() ?? '-', + cell: (props) => + props.row.original.selling_price?.toLocaleString() ?? '-', }, { accessorKey: 'tax', @@ -261,13 +265,15 @@ const ProductsTable = () => { const nameSortFilter = sorting.find((sortItem) => sortItem.id === 'name'); const skuSortFilter = sorting.find((sortItem) => sortItem.id === 'sku'); const brandSortFilter = sorting.find((sortItem) => sortItem.id === 'brand'); - const categorySortFilter = sorting.find((sortItem) => sortItem.id === 'product_category'); + const categorySortFilter = sorting.find( + (sortItem) => sortItem.id === 'product_category' + ); updateSortingFilter('nameSort', nameSortFilter); updateSortingFilter('skuSort', skuSortFilter); updateSortingFilter('brandSort', brandSortFilter); updateSortingFilter('categorySort', categorySortFilter); - }, [sorting]); + }, [sorting, updateSortingFilter]); return ( <> @@ -347,4 +353,4 @@ const ProductsTable = () => { ); }; -export default ProductsTable; \ No newline at end of file +export default ProductsTable; diff --git a/src/components/pages/master-data/uom/UomsTable.tsx b/src/components/pages/master-data/uom/UomsTable.tsx index 080dfaf8..dcec5fe5 100644 --- a/src/components/pages/master-data/uom/UomsTable.tsx +++ b/src/components/pages/master-data/uom/UomsTable.tsx @@ -192,7 +192,7 @@ const UomsTable = () => { } else { updateFilter('nameSort', isNameSorted.desc ? 'desc' : 'asc'); } - }, [sorting]); + }, [sorting, updateFilter]); return ( <> diff --git a/src/components/pages/master-data/warehouse/WarehousesTable.tsx b/src/components/pages/master-data/warehouse/WarehousesTable.tsx index b3eed86b..f6d2d071 100644 --- a/src/components/pages/master-data/warehouse/WarehousesTable.tsx +++ b/src/components/pages/master-data/warehouse/WarehousesTable.tsx @@ -270,7 +270,7 @@ const WarehousesTable = () => { updateSortingFilter('areaSort', areaSortFilter); updateSortingFilter('locationSort', locationSortFilter); updateSortingFilter('kandangSort', kandangSortFilter); - }, [sorting]); + }, [sorting, updateSortingFilter]); return ( <>