import React, { useMemo } from 'react'; import { type StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO'; import { OperationType, type StockOperationType } from '../core/api/types/stockOperation/StockOperationType'; import useStockOperationLinks from './stock-operations-forms/hooks/useStockOperationLinks'; import styles from './stock-operations-table.scss'; import StockOperationRelatedLink from './stock-operations-forms/stock-operation-related-link.component'; type Props = { stockOperation: StockOperationDTO; stockOperationType: StockOperationType; }; const StockOperationLinks: React.FC = ({ stockOperation, stockOperationType }) => { const requisitionOperationUuid = useMemo(() => { if ( stockOperationType?.operationType === OperationType.REQUISITION_OPERATION_TYPE || stockOperation?.operationType === OperationType.REQUISITION_OPERATION_TYPE || stockOperationType?.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE || stockOperation?.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE ) { return stockOperation.uuid; } return null; }, [stockOperationType, stockOperation]); const { error, isLoading, operationLinks } = useStockOperationLinks(requisitionOperationUuid); if (isLoading || error) return null; return (
{' '} {operationLinks && operationLinks.length > 0 && (
Related Transactions:
{operationLinks.map( (item) => (stockOperation.uuid === item?.parentUuid || stockOperationType?.uuid === item?.parentUuid) && ( {item?.childOperationTypeName} {' '} {item?.childVoided && item?.childOperationNumber} {!item?.childVoided && ( )} {' '} [{item?.childStatus}] ), )} {operationLinks.map( (item) => (stockOperation.uuid === item?.childUuid || stockOperationType.uuid === item?.childUuid) && ( {item?.parentOperationTypeName} {' '} {item?.parentVoided && item?.parentOperationNumber} {!item?.parentVoided && ( )} {' '} [{item?.parentStatus}] ), )}
)}
); }; export default StockOperationLinks;