Skip to content
Extraits de code Groupes Projets
Valider 394db9bc rédigé par salaheddine zidani's avatar salaheddine zidani
Parcourir les fichiers

search in variations list at add supplier order

parent 90e37f60
Branches
1 requête de fusion!442MYD-807/Fix supplier order items order in change receipt status, make promo code usageLimit optional and search in variations list at add supplier order.
......@@ -40,7 +40,7 @@ NEXT_PUBLIC_DEFAULT_IMAGE_URL=https://mydressin-rec.s3.eu-west-3.amazonaws.com/I
#GATEWAY API URL
NEXT_PUBLIC_MYDRESSIN_GATEWAY_API_URL=https://api-gateway.mydressin-server.com/
NEXT_PUBLIC_MYDRESSIN_GATEWAY_API_URL=https://api.mydressin-server.com/
NEXT_PUBLIC_MYDRESSIN_CLIENT_URL=https://app.mydressin-server.com/*
......
import React from 'react';
import { List, ListItem, ListItemText, Avatar, Typography, Button, Card, Modal, Checkbox } from '@mui/material';
import React, { useEffect, useState } from 'react';
import { List, ListItem, ListItemText, Avatar, Typography, Button, Card, Modal, Checkbox, TextField, InputAdornment } from '@mui/material';
import { DEFAULT_IMAGE_URL } from '@/config-global';
import { SaveSupplierOrderProductItem, SupplierOrderProductVariation } from '@/contexts/types/supplierOrder';
import Iconify from '@/components/iconify';
interface SelectVariationsModalProps {
showVariationsModal: boolean;
......@@ -38,6 +39,25 @@ const SupplierOrderVariationsModal: React.FC<SelectVariationsModalProps> = ({
}
};
const [filtredVariations, setFiltredVariations] = useState<SupplierOrderProductVariation[]>([]);
const [keyword, setKeyword] = useState<string>("");
useEffect(() => {
if (keyword !== "") {
const data = variationsChoices.filter((variation) =>
variation.name.toLowerCase().includes(keyword.toLowerCase()) ||
variation.id.toString().includes(keyword)
);
setFiltredVariations(data);
} else {
setFiltredVariations(variationsChoices);
}
}, [keyword, variationsChoices]);
const onChangeKeyword = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
setKeyword(event.target.value);
};
return (
<Modal
open={showVariationsModal && variationsChoices && variationsChoices.length > 0}
......@@ -65,8 +85,25 @@ const SupplierOrderVariationsModal: React.FC<SelectVariationsModalProps> = ({
Liste des variations
</Typography>
<TextField
fullWidth
value={keyword}
onChange={onChangeKeyword}
placeholder="Chercher par code promo, montant minimum, usage, limite d'usage"
InputProps={{
startAdornment: (
<InputAdornment position="start">
<Iconify
icon="eva:search-fill"
sx={{ color: "text.disabled" }}
/>
</InputAdornment>
),
}}
/>
<List sx={{ overflowY: 'auto', maxHeight: 'calc(100% - 64px)', p: 2 }}>
{variationsChoices?.map((variation: SupplierOrderProductVariation) => {
{filtredVariations?.map((variation: SupplierOrderProductVariation) => {
const isChecked = selectedItems.some((item: SaveSupplierOrderProductItem) => item.productId === variation.id);
return (
<ListItem key={variation.id} onClick={() => toggleVariationSelection(variation)}>
......
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