feat: add categorie filter membre search
This commit is contained in:
@@ -28,18 +28,19 @@ export function MemberList({source}) {
|
||||
const [lastSearch, setLastSearch] = useState("");
|
||||
const [paymentFilter, setPaymentFilter] = useState(2);
|
||||
const [order, setOrder] = useState("");
|
||||
const [catFilter, setCatFilter] = useState("");
|
||||
|
||||
const setLoading = useLoadingSwitcher()
|
||||
const {
|
||||
data,
|
||||
error,
|
||||
refresh
|
||||
} = useFetch(`/member/find/${source}?page=${page}&licenceRequest=${stateFilter}&payment=${paymentFilter}&order=${order}`, setLoading, 1)
|
||||
} = useFetch(`/member/find/${source}?page=${page}&licenceRequest=${stateFilter}&payment=${paymentFilter}&order=${order}&categorie=${catFilter}`, setLoading, 1)
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
refresh(`/member/find/${source}?page=${page}&search=${lastSearch}&club=${clubFilter}&licenceRequest=${stateFilter}&payment=${paymentFilter}&order=${order}`);
|
||||
}, [hash, clubFilter, stateFilter, lastSearch, paymentFilter, order]);
|
||||
refresh(`/member/find/${source}?page=${page}&search=${lastSearch}&club=${clubFilter}&licenceRequest=${stateFilter}&payment=${paymentFilter}&order=${order}&categorie=${catFilter}`);
|
||||
}, [hash, clubFilter, stateFilter, lastSearch, paymentFilter, order, catFilter]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!data)
|
||||
@@ -123,10 +124,10 @@ export function MemberList({source}) {
|
||||
<div className="card mb-4">
|
||||
<div className="card-header">Filtre</div>
|
||||
<div className="card-body">
|
||||
<FiltreBar showLicenceState={showLicenceState} setShowLicenceState={setShowLicenceState} data={data}
|
||||
<FiltreBar showLicenceState={showLicenceState} setShowLicenceState={setShowLicenceState}
|
||||
clubFilter={clubFilter} setClubFilter={setClubFilter} source={source}
|
||||
stateFilter={stateFilter} setStateFilter={setStateFilter} paymentFilter={paymentFilter}
|
||||
setPaymentFilter={setPaymentFilter}/>
|
||||
setPaymentFilter={setPaymentFilter} catFilter={catFilter} setCatFilter={setCatFilter}/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -501,31 +502,32 @@ function OrderBar({onOrderChange, source}) {
|
||||
);
|
||||
}
|
||||
|
||||
let allClub = []
|
||||
|
||||
function FiltreBar({
|
||||
showLicenceState,
|
||||
setShowLicenceState,
|
||||
data,
|
||||
clubFilter,
|
||||
setClubFilter,
|
||||
source,
|
||||
stateFilter,
|
||||
setStateFilter,
|
||||
paymentFilter,
|
||||
setPaymentFilter
|
||||
setPaymentFilter,
|
||||
catFilter,
|
||||
setCatFilter,
|
||||
}) {
|
||||
useEffect(() => {
|
||||
if (!data)
|
||||
return;
|
||||
allClub.push(...data.result.map((e) => e.club?.name))
|
||||
allClub = allClub.filter((value, index, self) => self.indexOf(value) === index).filter(value => value != null).sort()
|
||||
}, [data]);
|
||||
|
||||
return <div>
|
||||
<div className="mb-3">
|
||||
<Checkbox value={showLicenceState} onChange={setShowLicenceState} label="Afficher l'état des licences"/>
|
||||
</div>
|
||||
<div className="mb-3">
|
||||
<select className="form-select" value={catFilter} onChange={event => setCatFilter(event.target.value)}>
|
||||
<option value="">--- toute les catégories ---</option>
|
||||
{Tools.CatList.map(cat => (
|
||||
<option key={cat} value={cat}>{getCatName(cat)}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
{source !== "club" && <ClubSelectFilter clubFilter={clubFilter} setClubFilter={setClubFilter}/>}
|
||||
<div className="mb-3">
|
||||
<select className="form-select" value={stateFilter} onChange={event => setStateFilter(Number(event.target.value))}>
|
||||
|
||||
@@ -23,6 +23,20 @@ export const errFormater = (data, msg) => {
|
||||
return `${msg} (${data.response.statusText}: ${JSON.stringify(data.response.data)}) 😕`
|
||||
}
|
||||
|
||||
export const CatList = [
|
||||
"SUPER_MINI",
|
||||
"MINI_POUSSIN",
|
||||
"POUSSIN",
|
||||
"BENJAMIN",
|
||||
"MINIME",
|
||||
"CADET",
|
||||
"JUNIOR",
|
||||
"SENIOR1",
|
||||
"SENIOR2",
|
||||
"VETERAN1",
|
||||
"VETERAN2"
|
||||
];
|
||||
|
||||
export function getCategoryFormBirthDate(birth_date, currentDate = new Date()) {
|
||||
const currentSaison = getSaison(currentDate)
|
||||
const birthYear = birth_date.getFullYear()
|
||||
|
||||
Reference in New Issue
Block a user