Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | import { ResourceRepresentation } from '../../../core/api/api';
import { useEffect, useMemo, useState } from 'react';
import { type StockItemInventoryFilter, useStockItemInventory } from '../../stock-items.resource';
export function useStockItemBatchInformationHook(filter?: StockItemInventoryFilter) {
const [stockItemFilter, setStockItemFilter] = useState<StockItemInventoryFilter>({
startIndex: 0,
v: filter?.v || ResourceRepresentation.Default,
limit: 10,
q: filter?.q,
totalCount: true,
includeBatchNo: true,
});
const pageSizes = [10, 20, 30, 40, 50];
const [currentPageSize, setPageSize] = useState(10);
const [searchString, setSearchString] = useState(null);
const [currentPage, setCurrentPage] = useState(1);
const [stockItemUuid, setStockItemUuid] = useState<string | null>(filter?.stockItemUuid);
const [partyUuid, setPartyUuid] = useState<string | null>(filter?.partyUuid);
const [locationUuid, setLocationUuid] = useState<string | null>(filter?.locationUuid);
const [stockBatchUuid, setStockBatchUuid] = useState<string | null>(filter?.stockBatchUuid);
useEffect(() => {
setStockItemFilter({
startIndex: currentPage - 1,
v: ResourceRepresentation.Default,
limit: currentPageSize,
q: searchString,
totalCount: true,
stockItemUuid: stockItemUuid,
partyUuid: partyUuid,
locationUuid: locationUuid,
stockBatchUuid: stockBatchUuid,
includeBatchNo: true,
});
}, [searchString, currentPage, currentPageSize, stockItemUuid, partyUuid, locationUuid, stockBatchUuid]);
const { items, isLoading, error } = useStockItemInventory(stockItemFilter);
return {
items: items.results ?? [],
totalCount: items.totalCount,
currentPage,
currentPageSize,
setCurrentPage,
setPageSize,
pageSizes,
isLoading,
error,
setSearchString,
setStockItemUuid,
setLocationUuid,
setPartyUuid,
setStockBatchUuid,
};
}
|