Skip to content
Extraits de code Groupes Projets
Valider cde7de9e rédigé par anas elhaddad's avatar anas elhaddad
Parcourir les fichiers

add conditional component

parent 8b19ad7a
Branches
1 requête de fusion!497MS-81/add loading to export buttons
Pipeline #15925 réussi avec l'étape
in 4 minutes et 38 secondes
import { Fragment } from "react";
type PropsType = {
isValid: boolean;
defaultComponent?: React.ReactNode | JSX.Element;
children: React.ReactNode | JSX.Element;
}
export default function ConditionalComponent({ isValid, defaultComponent, children }: PropsType): JSX.Element {
return (
<Fragment>
{isValid ? children : defaultComponent || null}
</Fragment>
)
}
\ No newline at end of file
......@@ -26,6 +26,7 @@ import { Alert, CircularProgress, Grid, Snackbar, TableCell, TableRow } from "@m
import { exportOrders, exportOrdersProducts, updateOrderStatus, useDeleteOrder, useDeleteOrderList, useOrderStatusCounts, useSearchOrders } from "@/shared/api/main-order";
import { OrderStatus, orderStatusLabels, OrderStatusList, OrderWithClientDetails, } from "@/contexts/types/main-order";
import { getlastOrderHistory } from "@/shared/api/order";
import ConditionalComponent from "@/shared/components/ConditionalComponent";
interface IOrderStatusOption {
value: string;
......@@ -426,38 +427,49 @@ export default function OrderListView() {
</Button>
}
/>
<Grid
container
justifyContent="flex-end"
style={{ marginBottom: "16px" }}
>
<Button
<Grid container justifyContent="flex-end" sx={{ mb: 2 }}>
<ConditionalComponent
isValid={!loadingExportOrder}
defaultComponent={
<Button
variant="contained"
disabled
sx={{ mr: 1 }}
>
<CircularProgress size={24} sx={{ color: "white" }} />
</Button>
}
>
<Button
variant="contained"
onClick={downloadOrdersCSV}
style={{ marginRight: "8px" }}
disabled={loading}
sx={{ mr: 1 }}
>
{loadingExportOrder ? (
<CircularProgress size={24} style={{ color: "white" }} />
) : (
"Exporter les commandes"
)}
Exporter les commandes
</Button>
<Button
</ConditionalComponent>
<ConditionalComponent
isValid={!loadingExportProduct}
defaultComponent={
<Button
variant="contained"
disabled
>
<CircularProgress size={24} sx={{ color: "white" }} />
</Button>
}
>
<Button
variant="contained"
onClick={downloadProductsCSV}
disabled={loading}
>
{loadingExportProduct ? (
<CircularProgress size={24} style={{ color: "white" }} />
) : (
"Exporter les produits"
)}
Exporter les produits
</Button>
</ConditionalComponent>
</Grid>
<Card>
<Tabs
......
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter