This commit is contained in:
wayanrivan
2025-05-08 09:19:47 +07:00
parent 49ebe79a02
commit 5b5da0d92d
2 changed files with 206 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import ListToolbar from '../blocks/ListToolbar';
import { useNavigate } from 'react-router';
import DetailTransaction from '../blocks/DetailTransaction';
import ResendTransaction from '../blocks/ResendTransaction';
import RollbackTransaction from '../blocks/RollbackTransaction';
interface TransactionProps {
id: number;
@ -25,6 +26,8 @@ interface ContextProps {
) => Promise<{ data: TransactionProps[]; totalCount: number } | undefined>;
showDetailDialog: boolean;
setShowDetailDialog: React.Dispatch<React.SetStateAction<boolean>>;
showRollbackDialog: boolean;
setShowRollbackDialog: React.Dispatch<React.SetStateAction<boolean>>;
selectedTransactionId: number | null;
setSelectedTransactionId: React.Dispatch<React.SetStateAction<number | null>>;
}
@ -33,6 +36,8 @@ const initialProps: ContextProps = {
getTransactionLists: async () => ({ data: [], totalCount: 0 }),
showDetailDialog: false,
setShowDetailDialog: () => { },
showRollbackDialog: false,
setShowRollbackDialog: () => { },
selectedTransactionId: null,
setSelectedTransactionId: () => { }
};
@ -42,6 +47,7 @@ const API_URL = apiConfig.transaction;
const TransactionProvider = ({ children }: { children: React.ReactNode }) => {
const [showDetailDialog, setShowDetailDialog] = useState(false);
const [showRollbackDialog, setShowRollbackDialog] = useState(false);
const [selectedTransactionId, setSelectedTransactionId] = useState<number | null>(null);
const [transaction, setTransaction] = useState<TransactionProps[]>([]);
const { GetData } = useCallApi();
@ -235,6 +241,16 @@ const TransactionProvider = ({ children }: { children: React.ReactNode }) => {
>
<KeenIcon icon="eye" />
</button>
<button
className="btn btn-sm btn-icon btn-clear btn-light"
onClick={() => {
setSelectedTransactionId(row.id);
setShowRollbackDialog(true);
}}
disabled={row.status_approve === 'Y' || row.status_approve === 'N'}
>
<KeenIcon icon="notepad-edit" />
</button>
</div>
);
},
@ -339,6 +355,8 @@ const TransactionProvider = ({ children }: { children: React.ReactNode }) => {
getTransactionLists,
showDetailDialog,
setShowDetailDialog,
showRollbackDialog,
setShowRollbackDialog,
selectedTransactionId,
setSelectedTransactionId
}}
@ -358,6 +376,7 @@ const TransactionProvider = ({ children }: { children: React.ReactNode }) => {
}
>
<DetailTransaction />
<RollbackTransaction/>
<ResendTransaction
isOpen={false}
onClose={() => console.log('Retry Transaction closed')}