feat: gestion des no data dans les table [#33]

This commit is contained in:
N3WT DE COMPET
2025-05-17 14:35:33 +02:00
parent 3990d75e52
commit 2888f8dcce
14 changed files with 258 additions and 103 deletions

View File

@ -30,6 +30,7 @@ import SectionHeader from '@/components/SectionHeader';
import Popup from '@/components/Popup';
import Loader from '@/components/Loader';
import { useNotification } from '@/context/NotificationContext';
import AlertMessage from '@/components/AlertMessage';
export default function FilesGroupsManagement({
csrfToken,
@ -542,7 +543,17 @@ export default function FilesGroupsManagement({
buttonOpeningModal={true}
onClick={() => setIsGroupModalOpen(true)}
/>
<Table data={groups} columns={columnsGroups} />
<Table
data={groups}
columns={columnsGroups}
emptyMessage={
<AlertMessage
type="warning"
title="Aucun dossier d'inscription enregistré"
message="Veuillez procéder à la création d'un nouveau dossier d'inscription"
/>
}
/>
</div>
{/* Section Fichiers */}
@ -558,7 +569,17 @@ export default function FilesGroupsManagement({
setIsEditing(false);
}}
/>
<Table data={filteredFiles} columns={columnsFiles} />
<Table
data={filteredFiles}
columns={columnsFiles}
emptyMessage={
<AlertMessage
type="warning"
title="Aucun formulaire enregistré"
message="Veuillez procéder à la création d'un nouveau formulaire à signer"
/>
}
/>
</div>
{/* Section Pièces à fournir */}

View File

@ -10,6 +10,7 @@ import { useCsrfToken } from '@/context/CsrfContext';
import SectionHeader from '@/components/SectionHeader';
import ToggleSwitch from '@/components/ToggleSwitch';
import { useNotification } from '@/context/NotificationContext';
import AlertMessage from '@/components/AlertMessage';
export default function ParentFilesSection({
parentFiles,
@ -49,7 +50,7 @@ export default function ParentFilesSection({
const handleSaveDocument = () => {
if (!formData.name) {
showNotification(
'Veuillez saisir un nom de document pour valider l\'opération',
"Veuillez saisir un nom de document pour valider l'opération",
'error',
'Erreur'
);
@ -57,7 +58,7 @@ export default function ParentFilesSection({
}
if (selectedGroups.length === 0) {
showNotification(
'Veuillez sélectionner au moins un dossier d\'inscription pour valider l\'opération',
"Veuillez sélectionner au moins un dossier d'inscription pour valider l'opération",
'error',
'Erreur'
);
@ -267,7 +268,11 @@ export default function ParentFilesSection({
setRemovePopupOnConfirm(() => () => {
handleRemoveDocument(document.id)
.then(() => {
showNotification('Le document "${document.name}" a été correctement supprimé.', 'success', 'Succès');
showNotification(
'Le document "${document.name}" a été correctement supprimé.',
'success',
'Succès'
);
setRemovePopupVisible(false);
})
.catch((error) => {
@ -334,6 +339,13 @@ export default function ParentFilesSection({
editingDocumentId === 'new' ? [formData, ...parentFiles] : parentFiles
}
columns={columnsRequiredDocuments}
emptyMessage={
<AlertMessage
type="warning"
title="Aucune pièce à fournir enregistrée"
message="Veuillez procéder à la création de nouvelles pièces à fournir par les parents"
/>
}
/>
<Popup
visible={removePopupVisible}