fix: cat update/add refresh
This commit is contained in:
parent
e06df24002
commit
c47c04c29e
@ -15,16 +15,16 @@ export function CMAdmin() {
|
|||||||
const categoryListener = ({data}) => {
|
const categoryListener = ({data}) => {
|
||||||
if (!cat || data.id !== cat.id)
|
if (!cat || data.id !== cat.id)
|
||||||
return
|
return
|
||||||
setCat({
|
setCat(cat_ => ({
|
||||||
...cat,
|
...cat_,
|
||||||
name: data.name,
|
name: data.name,
|
||||||
liceName: data.liceName,
|
liceName: data.liceName,
|
||||||
type: data.type
|
type: data.type
|
||||||
})
|
}))
|
||||||
}
|
}
|
||||||
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
|
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
|
||||||
return () => dispatch({type: 'removeListener', payload: categoryListener})
|
return () => dispatch({type: 'removeListener', payload: categoryListener})
|
||||||
}, []);
|
}, [cat]);
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<div className="card">
|
<div className="card">
|
||||||
@ -60,8 +60,15 @@ function CategoryHeader({cat, setCatId}) {
|
|||||||
data
|
data
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
const sendAddCategory = ({data}) => {
|
||||||
|
setCats([...cats, data])
|
||||||
|
}
|
||||||
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
|
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
|
||||||
return () => dispatch({type: 'removeListener', payload: categoryListener})
|
dispatch({type: 'addListener', payload: {callback: sendAddCategory, code: 'sendAddCategory'}})
|
||||||
|
return () => {
|
||||||
|
dispatch({type: 'removeListener', payload: categoryListener})
|
||||||
|
dispatch({type: 'removeListener', payload: sendAddCategory})
|
||||||
|
}
|
||||||
}, [cats]);
|
}, [cats]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -88,7 +95,7 @@ function CategoryHeader({cat, setCatId}) {
|
|||||||
<div className="col-auto">
|
<div className="col-auto">
|
||||||
<div className="input-group">
|
<div className="input-group">
|
||||||
<h5 style={{margin: "auto 0.5em auto 0"}}>Edition de la catégorie</h5>
|
<h5 style={{margin: "auto 0.5em auto 0"}}>Edition de la catégorie</h5>
|
||||||
<select className="form-select" onChange={handleCatChange}>
|
<select className="form-select" onChange={handleCatChange} value={cat?.id || ""}>
|
||||||
{cats && cats.sort((a, b) => a.name.localeCompare(b.name)).map(c => (
|
{cats && cats.sort((a, b) => a.name.localeCompare(b.name)).map(c => (
|
||||||
<option key={c.id} value={c.id}>{c.name}</option>))}
|
<option key={c.id} value={c.id}>{c.name}</option>))}
|
||||||
{cats && <option value={-1}>Nouvelle...</option>}
|
{cats && <option value={-1}>Nouvelle...</option>}
|
||||||
@ -270,8 +277,6 @@ function ModalContent({state, setCatId, setConfirm, confirmRef}) {
|
|||||||
error: 'Erreur lors de la création de la catégorie'
|
error: 'Erreur lors de la création de la catégorie'
|
||||||
}
|
}
|
||||||
).then(id => {
|
).then(id => {
|
||||||
setCatId(id);
|
|
||||||
|
|
||||||
if (tournoi) {
|
if (tournoi) {
|
||||||
const trees = build_tree(size, loserMatch)
|
const trees = build_tree(size, loserMatch)
|
||||||
console.log("Creating trees for new category:", trees);
|
console.log("Creating trees for new category:", trees);
|
||||||
@ -282,7 +287,9 @@ function ModalContent({state, setCatId, setConfirm, confirmRef}) {
|
|||||||
success: 'Arbres créés !',
|
success: 'Arbres créés !',
|
||||||
error: 'Erreur lors de la création des arbres'
|
error: 'Erreur lors de la création des arbres'
|
||||||
}
|
}
|
||||||
)
|
).finally(() => setCatId(id))
|
||||||
|
} else {
|
||||||
|
setCatId(id);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,10 +47,10 @@ export function CategoryContent({cat, catId, setCat}) {
|
|||||||
const treeListener = ({data}) => {
|
const treeListener = ({data}) => {
|
||||||
if (!cat || data.length < 1 || data[0].categorie !== cat.id)
|
if (!cat || data.length < 1 || data[0].categorie !== cat.id)
|
||||||
return
|
return
|
||||||
setCat({
|
setCat(cat_ => ({
|
||||||
...cat,
|
...cat_,
|
||||||
trees: data.map(d => from_sendTree(d, true))
|
trees: data.sort((a, b) => a.level - b.level).map(d => from_sendTree(d, true))
|
||||||
})
|
}))
|
||||||
|
|
||||||
let matches2 = [];
|
let matches2 = [];
|
||||||
let combsToAdd = [];
|
let combsToAdd = [];
|
||||||
@ -103,7 +103,7 @@ export function CategoryContent({cat, catId, setCat}) {
|
|||||||
name: data.name,
|
name: data.name,
|
||||||
liceName: data.liceName,
|
liceName: data.liceName,
|
||||||
type: data.type,
|
type: data.type,
|
||||||
trees: data.trees.map(d => from_sendTree(d, true))
|
trees: data.trees.sort((a, b) => a.level - b.level).map(d => from_sendTree(d, true))
|
||||||
})
|
})
|
||||||
|
|
||||||
let matches2 = [];
|
let matches2 = [];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user