chore(release): 0.1.1\n\n- Lint Markdown: ignore guides/rapports, correction sample.md\n- ESLint: ignore coverage, fix no-unused-vars/no-explicit-any\n- TS: corrections FilePreview/api/views, build OK\n- Tests: Vitest OK
This commit is contained in:
parent
2a8123bc35
commit
152dbc3ed1
5
.markdownlintignore
Normal file
5
.markdownlintignore
Normal file
@ -0,0 +1,5 @@
|
||||
# Ignorer les guides et rapports générés
|
||||
GUIDE_TEST_APERCU_CORRIGE.md
|
||||
GUIDE_TEST_EXTRACTION_CORRIGEE.md
|
||||
RAPPORT_ALIGNEMENT_BACKEND.md
|
||||
RAPPORT_ANALYSE_DOCUMENT.md
|
||||
19
CHANGELOG.md
19
CHANGELOG.md
@ -1,5 +1,24 @@
|
||||
# Changelog
|
||||
|
||||
## 0.1.1 - Maintenance lint/build et corrections
|
||||
|
||||
### ✅ Qualité et lint
|
||||
|
||||
- Ajout de `.markdownlintignore` pour exclure les guides/rapports générés du lint
|
||||
- Correction du fichier `test-files/sample.md` pour respecter MD022/MD032/MD009
|
||||
- ESLint: exclusion du dossier `coverage` et correction des erreurs `no-unused-vars`/`no-explicit-any`
|
||||
|
||||
### 🛠️ Corrections TypeScript/Build
|
||||
|
||||
- `src/components/FilePreview.tsx`: correction de l’utilisation de `document.createElement`
|
||||
- `src/services/api.ts`: typage des blocs `catch`, renommage des variables inutilisées, ajustements mineurs
|
||||
- `src/views/*`: typage strict des couleurs MUI pour `Chip`/icônes, imports nettoyés
|
||||
- Build Vite/TS: passe en production sans erreurs
|
||||
|
||||
### 🔬 Tests
|
||||
|
||||
- Vitest: exécution réussie de la suite, couverture générée
|
||||
|
||||
## 0.1.0 - Version initiale complète
|
||||
|
||||
### ✨ Fonctionnalités principales
|
||||
|
||||
@ -1,111 +0,0 @@
|
||||
# 🎯 Guide de Test - Aperçu PDF Corrigé
|
||||
|
||||
## ✅ Problème résolu
|
||||
|
||||
Le problème était que l'API backend retournait un format différent de ce que le frontend attendait :
|
||||
- **API backend** : `{message, document_id, status}`
|
||||
- **Frontend attendu** : `{id, name, type, size, uploadDate, status, previewUrl}`
|
||||
|
||||
**Solution** : Mappage correct des données de l'API vers le format Document.
|
||||
|
||||
## 📋 Instructions de test
|
||||
|
||||
### 1. Accéder à l'application
|
||||
- Ouvrir le navigateur
|
||||
- Aller sur **http://localhost:5173**
|
||||
|
||||
### 2. Tester l'aperçu PDF
|
||||
1. **Aller dans l'onglet "TÉLÉVERSEMENT"** (premier onglet)
|
||||
2. **Uploader un fichier PDF** :
|
||||
- Glisser-déposer un fichier PDF dans la zone
|
||||
- Ou cliquer pour sélectionner un fichier PDF
|
||||
3. **Attendre que le statut soit "completed"** (cercle vert)
|
||||
4. **Cliquer sur "APERÇU"** (bouton avec icône 👁️)
|
||||
5. **Vérifier que le PDF s'affiche** dans une fenêtre modale
|
||||
|
||||
## 🔍 Ce qui devrait se passer maintenant
|
||||
|
||||
### Upload réussi
|
||||
- **Statut** : "completed" (cercle vert)
|
||||
- **Nom du fichier** : Affiché correctement
|
||||
- **Taille** : Affichée correctement (plus de "NaN MB")
|
||||
- **Bouton "APERÇU"** : Cliquable et fonctionnel
|
||||
|
||||
### Aperçu PDF
|
||||
- **Fenêtre modale** s'ouvre
|
||||
- **Titre** : Nom du fichier PDF
|
||||
- **Contenu** : PDF réel affiché via iframe
|
||||
- **Contrôles** : Navigation et zoom fonctionnels
|
||||
- **Boutons** : Fermer et Télécharger opérationnels
|
||||
|
||||
## 🧪 Test avec le fichier existant
|
||||
|
||||
Si vous avez déjà un document uploadé :
|
||||
1. **Cliquer sur "APERÇU"** sur le document existant
|
||||
2. **Vérifier que l'aperçu s'ouvre**
|
||||
3. **Tester les contrôles** (navigation, zoom)
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Si l'aperçu ne s'ouvre toujours pas
|
||||
1. **Ouvrir la console** (F12)
|
||||
2. **Chercher les erreurs** JavaScript
|
||||
3. **Vérifier que le document a bien un `previewUrl`**
|
||||
|
||||
### Si la taille affiche "NaN MB"
|
||||
1. **Recharger la page** (F5)
|
||||
2. **Uploader un nouveau fichier**
|
||||
3. **Vérifier que la taille s'affiche correctement**
|
||||
|
||||
## 🔧 Vérifications techniques
|
||||
|
||||
### Console (F12)
|
||||
- **Pas d'erreurs** JavaScript
|
||||
- **Messages de succès** pour l'upload
|
||||
- **Données correctes** dans les logs
|
||||
|
||||
### Network (F12)
|
||||
- **Requête POST** vers `/api/notary/upload`
|
||||
- **Réponse 200** avec `{message, document_id, status}`
|
||||
- **Pas d'erreurs** de réseau
|
||||
|
||||
## 📊 Résultats attendus
|
||||
|
||||
### ✅ Succès
|
||||
- Upload du PDF fonctionne
|
||||
- Taille affichée correctement
|
||||
- Bouton "APERÇU" cliquable
|
||||
- Fenêtre modale s'ouvre
|
||||
- PDF affiché correctement
|
||||
- Contrôles fonctionnels
|
||||
|
||||
### ❌ Échec
|
||||
- Upload échoue
|
||||
- Taille "NaN MB"
|
||||
- Bouton "APERÇU" non fonctionnel
|
||||
- Erreurs dans la console
|
||||
- Aperçu ne s'ouvre pas
|
||||
|
||||
## 🎉 Avantages de la correction
|
||||
|
||||
### Données correctes
|
||||
- ✅ **Mapping** de l'API vers le format Document
|
||||
- ✅ **Taille** affichée correctement
|
||||
- ✅ **ID** du document correct
|
||||
- ✅ **previewUrl** générée correctement
|
||||
|
||||
### Fonctionnalité
|
||||
- ✅ **Aperçu** fonctionne avec de vrais fichiers
|
||||
- ✅ **Interface** professionnelle
|
||||
- ✅ **Contrôles** opérationnels
|
||||
- ✅ **Téléchargement** fonctionnel
|
||||
|
||||
## 📞 Support
|
||||
|
||||
Si le test échoue encore :
|
||||
1. **Noter l'erreur exacte** de la console
|
||||
2. **Vérifier le format** de la réponse API
|
||||
3. **Tester avec un nouveau fichier**
|
||||
4. **Recharger la page** si nécessaire
|
||||
|
||||
**L'aperçu PDF devrait maintenant fonctionner correctement !** 🎉
|
||||
@ -1,106 +0,0 @@
|
||||
# 🎯 Guide de Test - Extraction Corrigée
|
||||
|
||||
## ✅ Problèmes résolus
|
||||
|
||||
### 1. **Endpoint incorrect**
|
||||
- **Problème** : `/api/documents/{id}/extract` (404 Not Found)
|
||||
- **Solution** : `/api/notary/documents/{id}` (endpoint correct)
|
||||
|
||||
### 2. **Erreur JavaScript**
|
||||
- **Problème** : `Cannot read properties of undefined (reading 'length')`
|
||||
- **Solution** : Ajout de vérifications de sécurité avec `?.` et `|| []`
|
||||
|
||||
## 📋 Instructions de test
|
||||
|
||||
### 1. Accéder à l'application
|
||||
- Ouvrir le navigateur
|
||||
- Aller sur **http://localhost:5173**
|
||||
|
||||
### 2. Tester l'extraction
|
||||
1. **Aller dans l'onglet "TÉLÉVERSEMENT"**
|
||||
2. **Sélectionner un document** (celui déjà uploadé ou en uploader un nouveau)
|
||||
3. **Aller dans l'onglet "EXTRACTION"**
|
||||
4. **Vérifier que l'extraction se charge** sans erreurs
|
||||
|
||||
## 🔍 Ce qui devrait se passer
|
||||
|
||||
### ✅ Succès
|
||||
- **Pas d'erreurs 404** dans la console
|
||||
- **Pas d'erreurs JavaScript** dans la console
|
||||
- **Données d'extraction** affichées correctement
|
||||
- **Compteurs** : "Identités (2)", "Adresses (1)", etc.
|
||||
- **Listes** : Personnes, adresses, biens, contrats, signatures
|
||||
|
||||
### 📊 Données attendues
|
||||
- **Identités** : Jean Dupont, Marie Martin
|
||||
- **Adresses** : 123 Rue de la Paix, 75001 Paris
|
||||
- **Biens** : Appartement T3, 75m²
|
||||
- **Contrats** : Acte de vente, 250000€
|
||||
- **Signatures** : Jean Dupont, Marie Martin
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Si l'extraction ne se charge pas
|
||||
1. **Ouvrir la console** (F12)
|
||||
2. **Vérifier qu'il n'y a plus d'erreurs 404**
|
||||
3. **Vérifier qu'il n'y a plus d'erreurs JavaScript**
|
||||
4. **Recharger la page** si nécessaire
|
||||
|
||||
### Si les données ne s'affichent pas
|
||||
1. **Vérifier que le document est sélectionné**
|
||||
2. **Vérifier que l'API backend est accessible**
|
||||
3. **Tester avec un nouveau document**
|
||||
|
||||
## 🔧 Vérifications techniques
|
||||
|
||||
### Console (F12)
|
||||
- **Pas d'erreurs 404** pour `/api/documents/{id}/extract`
|
||||
- **Requête réussie** vers `/api/notary/documents/{id}`
|
||||
- **Pas d'erreurs JavaScript** sur `.length`
|
||||
|
||||
### Network (F12)
|
||||
- **Requête GET** vers `/api/notary/documents/{id}`
|
||||
- **Réponse 200** avec les données du document
|
||||
- **Données mappées** correctement vers le format ExtractionResult
|
||||
|
||||
## 📊 Résultats attendus
|
||||
|
||||
### ✅ Succès
|
||||
- Extraction se charge sans erreurs
|
||||
- Données affichées correctement
|
||||
- Compteurs fonctionnels
|
||||
- Listes remplies avec les bonnes données
|
||||
- Interface responsive et professionnelle
|
||||
|
||||
### ❌ Échec
|
||||
- Erreurs 404 dans la console
|
||||
- Erreurs JavaScript sur `.length`
|
||||
- Données non affichées
|
||||
- Interface cassée
|
||||
|
||||
## 🎉 Avantages de la correction
|
||||
|
||||
### API
|
||||
- ✅ **Endpoint correct** : `/api/notary/documents/{id}`
|
||||
- ✅ **Mapping des données** : API → ExtractionResult
|
||||
- ✅ **Gestion d'erreurs** : Fallback vers données de démo
|
||||
|
||||
### Interface
|
||||
- ✅ **Vérifications de sécurité** : `?.` et `|| []`
|
||||
- ✅ **Pas d'erreurs JavaScript** : Propriétés undefined gérées
|
||||
- ✅ **Affichage robuste** : Compteurs et listes sécurisés
|
||||
|
||||
### Expérience utilisateur
|
||||
- ✅ **Extraction fonctionnelle** : Données réelles affichées
|
||||
- ✅ **Interface stable** : Pas de crashes
|
||||
- ✅ **Données cohérentes** : Mapping correct des entités
|
||||
|
||||
## 📞 Support
|
||||
|
||||
Si le test échoue encore :
|
||||
1. **Noter l'erreur exacte** de la console
|
||||
2. **Vérifier l'endpoint** utilisé
|
||||
3. **Tester avec un nouveau document**
|
||||
4. **Recharger la page** si nécessaire
|
||||
|
||||
**L'extraction devrait maintenant fonctionner parfaitement !** 🎉
|
||||
@ -1,126 +0,0 @@
|
||||
# 📊 Rapport d'Alignement Frontend/Backend
|
||||
|
||||
## 🔍 Analyse de l'alignement
|
||||
|
||||
### ❌ **Problème identifié :**
|
||||
Le frontend et le backend **ne sont PAS alignés** pour les fonctionnalités d'analyse IA.
|
||||
|
||||
## 📋 Endpoints disponibles
|
||||
|
||||
### ✅ **Backend (app_simple.py) - Endpoints implémentés :**
|
||||
- `GET /api/health` - Vérification de santé
|
||||
- `GET /api/notary/stats` - Statistiques
|
||||
- `GET /api/notary/documents` - Liste des documents
|
||||
- `POST /api/notary/upload` - Upload de document
|
||||
- `GET /api/notary/documents/{document_id}` - Détails d'un document
|
||||
- `GET /api/notary/documents/{document_id}/download` - Téléchargement
|
||||
- `DELETE /api/notary/documents/{document_id}` - Suppression
|
||||
- `GET /api/notary/search` - Recherche
|
||||
|
||||
### ❌ **Frontend - Endpoints attendus (NON implémentés) :**
|
||||
- `GET /api/documents/{id}/extract` - Extraction de données
|
||||
- `GET /api/documents/{id}/analyze` - Analyse du document
|
||||
- `GET /api/documents/{id}/context` - Données contextuelles
|
||||
- `GET /api/documents/{id}/conseil` - Conseil LLM
|
||||
|
||||
## 🔧 Solutions possibles
|
||||
|
||||
### Option 1 : Implémenter les endpoints manquants dans le backend
|
||||
**Avantages :**
|
||||
- ✅ Fonctionnalités complètes
|
||||
- ✅ Architecture cohérente
|
||||
- ✅ Données réelles
|
||||
|
||||
**Inconvénients :**
|
||||
- ❌ Développement complexe
|
||||
- ❌ Temps de développement important
|
||||
- ❌ Dépendances externes (LLM, APIs)
|
||||
|
||||
### Option 2 : Adapter le frontend au backend existant
|
||||
**Avantages :**
|
||||
- ✅ Solution rapide
|
||||
- ✅ Fonctionne immédiatement
|
||||
- ✅ Pas de modification backend
|
||||
|
||||
**Inconvénients :**
|
||||
- ❌ Fonctionnalités limitées
|
||||
- ❌ Données simulées uniquement
|
||||
|
||||
### Option 3 : Utiliser le backend complet (app_complete.py)
|
||||
**Avantages :**
|
||||
- ✅ Endpoints complets
|
||||
- ✅ Fonctionnalités avancées
|
||||
- ✅ Architecture professionnelle
|
||||
|
||||
**Inconvénients :**
|
||||
- ❌ Plus complexe à déployer
|
||||
- ❌ Dépendances supplémentaires
|
||||
|
||||
## 🎯 Recommandation
|
||||
|
||||
### **Solution recommandée : Option 2 + Option 3**
|
||||
|
||||
1. **Court terme** : Adapter le frontend au backend simple
|
||||
2. **Moyen terme** : Migrer vers le backend complet
|
||||
|
||||
## 📋 Plan d'action
|
||||
|
||||
### Phase 1 : Correction immédiate (Option 2)
|
||||
1. ✅ **Corriger l'endpoint d'extraction** : `/api/notary/documents/{id}`
|
||||
2. ✅ **Adapter le mapping des données** : API → ExtractionResult
|
||||
3. ✅ **Gérer les erreurs** : Fallback vers données de démo
|
||||
4. ✅ **Corriger les erreurs JavaScript** : Vérifications de sécurité
|
||||
|
||||
### Phase 2 : Migration vers backend complet (Option 3)
|
||||
1. **Modifier docker-compose.yml** : Utiliser `app_complete.py`
|
||||
2. **Implémenter les endpoints manquants** :
|
||||
- `/api/notary/documents/{id}/extract`
|
||||
- `/api/notary/documents/{id}/analyze`
|
||||
- `/api/notary/documents/{id}/context`
|
||||
- `/api/notary/documents/{id}/conseil`
|
||||
3. **Adapter le frontend** : Utiliser les nouveaux endpoints
|
||||
4. **Tester l'intégration** : Vérifier toutes les fonctionnalités
|
||||
|
||||
## 🔍 État actuel
|
||||
|
||||
### ✅ **Fonctionnel :**
|
||||
- Upload de documents
|
||||
- Aperçu PDF
|
||||
- Extraction (avec données simulées)
|
||||
- Interface utilisateur
|
||||
|
||||
### ❌ **Non fonctionnel :**
|
||||
- Analyse réelle des documents
|
||||
- Données contextuelles externes
|
||||
- Conseil LLM
|
||||
- Vérifications externes (cadastre, géorisques, etc.)
|
||||
|
||||
## 📊 Métriques d'alignement
|
||||
|
||||
- **Endpoints alignés** : 4/8 (50%)
|
||||
- **Fonctionnalités alignées** : 2/6 (33%)
|
||||
- **Données réelles** : 1/6 (17%)
|
||||
- **Score global** : **33%** ❌
|
||||
|
||||
## 🎯 Objectifs
|
||||
|
||||
### Court terme (1-2 jours)
|
||||
- ✅ Aligner les endpoints existants
|
||||
- ✅ Corriger les erreurs JavaScript
|
||||
- ✅ Fonctionnalités de base opérationnelles
|
||||
|
||||
### Moyen terme (1-2 semaines)
|
||||
- 🔄 Migrer vers backend complet
|
||||
- 🔄 Implémenter l'analyse IA réelle
|
||||
- 🔄 Intégrer les APIs externes
|
||||
|
||||
### Long terme (1-2 mois)
|
||||
- 🔄 Pipeline IA complet
|
||||
- 🔄 Vérifications externes
|
||||
- 🔄 Conseil LLM avancé
|
||||
|
||||
---
|
||||
|
||||
**📅 Rapport généré le** : 2025-09-10T23:30:00
|
||||
**🔍 Statut** : **NON ALIGNÉ** - Correction en cours
|
||||
**📊 Priorité** : **HAUTE** - Fonctionnalités critiques manquantes
|
||||
@ -1,107 +0,0 @@
|
||||
# 📊 Rapport d'Analyse du Document
|
||||
|
||||
## 📄 Informations du Document
|
||||
|
||||
- **ID** : `doc_20250910_232208_10`
|
||||
- **Nom du fichier** : `facture_4NK_08-2025_04.pdf`
|
||||
- **Taille** : 85,819 bytes (83.8 KB)
|
||||
- **Date d'upload** : 2025-09-10T23:22:08.239575
|
||||
- **Statut** : ✅ **Terminé** (100%)
|
||||
- **Temps de traitement** : ~10 secondes
|
||||
|
||||
## 🔍 Résultats de l'Analyse IA
|
||||
|
||||
### 📑 Type de Document
|
||||
- **Type identifié** : **Acte de vente**
|
||||
- **Confiance** : Élevée
|
||||
|
||||
### 📝 Extraction de Texte (OCR)
|
||||
- **Texte extrait** : "Texte extrait simulé du document..."
|
||||
- **Qualité** : Bonne (simulation)
|
||||
|
||||
### 👥 Entités Identifiées
|
||||
|
||||
#### Personnes
|
||||
- **Jean Dupont** (Vendeur/Acheteur)
|
||||
- **Marie Martin** (Vendeur/Acheteur)
|
||||
|
||||
#### Adresses
|
||||
- **123 Rue de la Paix, 75001 Paris**
|
||||
|
||||
#### Propriétés
|
||||
- **Appartement T3, 75m²**
|
||||
|
||||
### ⭐ Score de Vérification
|
||||
- **Score global** : **0.85/1.0** (85%)
|
||||
- **Évaluation** : ✅ **Bon niveau de fiabilité**
|
||||
|
||||
### 🌐 Vérifications Externes
|
||||
|
||||
#### Cadastre
|
||||
- **Statut** : ✅ **OK**
|
||||
- **Vérification** : Données cadastrales cohérentes
|
||||
|
||||
#### Géorisques
|
||||
- **Statut** : ✅ **OK**
|
||||
- **Vérification** : Aucun risque identifié
|
||||
|
||||
#### BODACC
|
||||
- **Statut** : ✅ **OK**
|
||||
- **Vérification** : Aucune procédure en cours
|
||||
|
||||
## 📈 Analyse Détaillée
|
||||
|
||||
### ✅ Points Positifs
|
||||
1. **Document complet** : Toutes les informations nécessaires présentes
|
||||
2. **Entités cohérentes** : Personnes et adresses identifiées
|
||||
3. **Vérifications externes** : Toutes les vérifications passées
|
||||
4. **Score élevé** : 85% de fiabilité
|
||||
|
||||
### ⚠️ Points d'Attention
|
||||
1. **Simulation** : Les données sont simulées (mode démo)
|
||||
2. **Vérification manuelle** : Recommandée pour validation finale
|
||||
3. **Documents complémentaires** : Pièces d'identité à vérifier
|
||||
|
||||
### 💡 Recommandations
|
||||
|
||||
#### Actions Immédiates
|
||||
1. **Vérifier l'identité** des parties (Jean Dupont, Marie Martin)
|
||||
2. **Contrôler les documents** d'identité fournis
|
||||
3. **Valider l'adresse** du bien (123 Rue de la Paix, 75001 Paris)
|
||||
|
||||
#### Actions de Suivi
|
||||
1. **Vérification cadastrale** approfondie
|
||||
2. **Contrôle des clauses** contractuelles
|
||||
3. **Validation des signatures** des parties
|
||||
|
||||
## 🎯 Conclusion
|
||||
|
||||
### Évaluation Globale
|
||||
- **Statut** : ✅ **Document analysé avec succès**
|
||||
- **Fiabilité** : **Élevée** (85%)
|
||||
- **Risque** : **Faible**
|
||||
- **Action requise** : **Vérifications manuelles standard**
|
||||
|
||||
### Prochaines Étapes
|
||||
1. **Examiner l'aperçu** du document PDF
|
||||
2. **Valider les informations** extraites
|
||||
3. **Procéder aux vérifications** d'identité
|
||||
4. **Finaliser l'acte** notarial
|
||||
|
||||
## 🔧 Données Techniques
|
||||
|
||||
### API Backend
|
||||
- **Endpoint** : `/api/notary/documents/doc_20250910_232208_10`
|
||||
- **Statut** : ✅ **Accessible**
|
||||
- **Temps de réponse** : < 1 seconde
|
||||
|
||||
### Traitement IA
|
||||
- **OCR** : ✅ **Réussi**
|
||||
- **NLP** : ✅ **Réussi**
|
||||
- **Vérifications externes** : ✅ **Réussies**
|
||||
|
||||
---
|
||||
|
||||
**📅 Rapport généré le** : 2025-09-10T23:26:00
|
||||
**🔍 Analysé par** : 4NK IA Backend
|
||||
**📊 Version** : 1.0.0
|
||||
116
coverage/4NK_IA_front/index.html
Normal file
116
coverage/4NK_IA_front/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../prettify.css" />
|
||||
<link rel="stylesheet" href="../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../index.html">All files</a> 4NK_IA_front</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/57</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/57</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="simple-server.js"><a href="simple-server.js.html">simple-server.js</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="57" class="abs low">0/57</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="57" class="abs low">0/57</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
<script src="../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
283
coverage/4NK_IA_front/simple-server.js.html
Normal file
283
coverage/4NK_IA_front/simple-server.js.html
Normal file
@ -0,0 +1,283 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/simple-server.js</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../prettify.css" />
|
||||
<link rel="stylesheet" href="../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../index.html">All files</a> / <a href="index.html">4NK_IA_front</a> simple-server.js</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/57</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/57</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >#!/usr/bin/env node</span></span></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >import http from 'http';</span>
|
||||
<span class="cstat-no" title="statement not covered" >import fs from 'fs';</span>
|
||||
<span class="cstat-no" title="statement not covered" >import path from 'path';</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { fileURLToPath } from 'url';</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const __filename = fileURLToPath(import.meta.url);</span>
|
||||
<span class="cstat-no" title="statement not covered" >const __dirname = path.dirname(__filename);</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const PORT = 5173;</span>
|
||||
<span class="cstat-no" title="statement not covered" >const HOST = '0.0.0.0';</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >// Types MIME</span>
|
||||
<span class="cstat-no" title="statement not covered" >const mimeTypes = {</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.html': 'text/html',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.js': 'text/javascript',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.css': 'text/css',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.json': 'application/json',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.png': 'image/png',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.jpg': 'image/jpg',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.gif': 'image/gif',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.svg': 'image/svg+xml',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '.ico': 'image/x-icon'</span>
|
||||
<span class="cstat-no" title="statement not covered" >};</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const server = http.createServer((req, res) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(`${new Date().toISOString()} - ${req.method} ${req.url}`);</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > let filePath = '.' + req.url;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (filePath === './') {</span>
|
||||
<span class="cstat-no" title="statement not covered" > filePath = './index.html';</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const extname = String(path.extname(filePath)).toLowerCase();</span>
|
||||
<span class="cstat-no" title="statement not covered" > const mimeType = mimeTypes[extname] || 'application/octet-stream';</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > fs.readFile(filePath, (error, content) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (error.code === 'ENOENT') {</span>
|
||||
<span class="cstat-no" title="statement not covered" > // Fichier non trouvé, servir index.html pour SPA</span>
|
||||
<span class="cstat-no" title="statement not covered" > fs.readFile('./index.html', (error, content) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.writeHead(404);</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.end('File not found');</span>
|
||||
<span class="cstat-no" title="statement not covered" > } else {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.writeHead(200, { 'Content-Type': 'text/html' });</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.end(content, 'utf-8');</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > });</span>
|
||||
<span class="cstat-no" title="statement not covered" > } else {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.writeHead(500);</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.end('Server error: ' + error.code);</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > } else {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.writeHead(200, { 'Content-Type': mimeType });</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.end(content, 'utf-8');</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > });</span>
|
||||
<span class="cstat-no" title="statement not covered" >});</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >server.listen(PORT, HOST, () => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(`🚀 Serveur 4NK_IA_front démarré sur http://${HOST}:${PORT}`);</span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(`📁 Servant les fichiers depuis: ${process.cwd()}`);</span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(`💡 Appuyez sur Ctrl+C pour arrêter`);</span>
|
||||
<span class="cstat-no" title="statement not covered" >});</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
<script src="../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
103
coverage/4NK_IA_front/src/App.tsx.html
Normal file
103
coverage/4NK_IA_front/src/App.tsx.html
Normal file
@ -0,0 +1,103 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/App.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src</a> App.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/5</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/5</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import './App.css'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { AppRouter } from './router'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function App() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <AppRouter /></span>
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
<script src="../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
772
coverage/4NK_IA_front/src/components/FilePreview.tsx.html
Normal file
772
coverage/4NK_IA_front/src/components/FilePreview.tsx.html
Normal file
@ -0,0 +1,772 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/components/FilePreview.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/components</a> FilePreview.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/171</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/171</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a>
|
||||
<a name='L172'></a><a href='#L172'>172</a>
|
||||
<a name='L173'></a><a href='#L173'>173</a>
|
||||
<a name='L174'></a><a href='#L174'>174</a>
|
||||
<a name='L175'></a><a href='#L175'>175</a>
|
||||
<a name='L176'></a><a href='#L176'>176</a>
|
||||
<a name='L177'></a><a href='#L177'>177</a>
|
||||
<a name='L178'></a><a href='#L178'>178</a>
|
||||
<a name='L179'></a><a href='#L179'>179</a>
|
||||
<a name='L180'></a><a href='#L180'>180</a>
|
||||
<a name='L181'></a><a href='#L181'>181</a>
|
||||
<a name='L182'></a><a href='#L182'>182</a>
|
||||
<a name='L183'></a><a href='#L183'>183</a>
|
||||
<a name='L184'></a><a href='#L184'>184</a>
|
||||
<a name='L185'></a><a href='#L185'>185</a>
|
||||
<a name='L186'></a><a href='#L186'>186</a>
|
||||
<a name='L187'></a><a href='#L187'>187</a>
|
||||
<a name='L188'></a><a href='#L188'>188</a>
|
||||
<a name='L189'></a><a href='#L189'>189</a>
|
||||
<a name='L190'></a><a href='#L190'>190</a>
|
||||
<a name='L191'></a><a href='#L191'>191</a>
|
||||
<a name='L192'></a><a href='#L192'>192</a>
|
||||
<a name='L193'></a><a href='#L193'>193</a>
|
||||
<a name='L194'></a><a href='#L194'>194</a>
|
||||
<a name='L195'></a><a href='#L195'>195</a>
|
||||
<a name='L196'></a><a href='#L196'>196</a>
|
||||
<a name='L197'></a><a href='#L197'>197</a>
|
||||
<a name='L198'></a><a href='#L198'>198</a>
|
||||
<a name='L199'></a><a href='#L199'>199</a>
|
||||
<a name='L200'></a><a href='#L200'>200</a>
|
||||
<a name='L201'></a><a href='#L201'>201</a>
|
||||
<a name='L202'></a><a href='#L202'>202</a>
|
||||
<a name='L203'></a><a href='#L203'>203</a>
|
||||
<a name='L204'></a><a href='#L204'>204</a>
|
||||
<a name='L205'></a><a href='#L205'>205</a>
|
||||
<a name='L206'></a><a href='#L206'>206</a>
|
||||
<a name='L207'></a><a href='#L207'>207</a>
|
||||
<a name='L208'></a><a href='#L208'>208</a>
|
||||
<a name='L209'></a><a href='#L209'>209</a>
|
||||
<a name='L210'></a><a href='#L210'>210</a>
|
||||
<a name='L211'></a><a href='#L211'>211</a>
|
||||
<a name='L212'></a><a href='#L212'>212</a>
|
||||
<a name='L213'></a><a href='#L213'>213</a>
|
||||
<a name='L214'></a><a href='#L214'>214</a>
|
||||
<a name='L215'></a><a href='#L215'>215</a>
|
||||
<a name='L216'></a><a href='#L216'>216</a>
|
||||
<a name='L217'></a><a href='#L217'>217</a>
|
||||
<a name='L218'></a><a href='#L218'>218</a>
|
||||
<a name='L219'></a><a href='#L219'>219</a>
|
||||
<a name='L220'></a><a href='#L220'>220</a>
|
||||
<a name='L221'></a><a href='#L221'>221</a>
|
||||
<a name='L222'></a><a href='#L222'>222</a>
|
||||
<a name='L223'></a><a href='#L223'>223</a>
|
||||
<a name='L224'></a><a href='#L224'>224</a>
|
||||
<a name='L225'></a><a href='#L225'>225</a>
|
||||
<a name='L226'></a><a href='#L226'>226</a>
|
||||
<a name='L227'></a><a href='#L227'>227</a>
|
||||
<a name='L228'></a><a href='#L228'>228</a>
|
||||
<a name='L229'></a><a href='#L229'>229</a>
|
||||
<a name='L230'></a><a href='#L230'>230</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import React, { useState, useEffect } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
IconButton,
|
||||
Button,
|
||||
Dialog,
|
||||
DialogTitle,
|
||||
DialogContent,
|
||||
DialogActions,
|
||||
CircularProgress,
|
||||
Alert,
|
||||
} from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
PictureAsPdf,
|
||||
Download,
|
||||
Close,
|
||||
ZoomIn,
|
||||
ZoomOut,
|
||||
NavigateBefore,
|
||||
NavigateNext,
|
||||
} from '@mui/icons-material'
|
||||
import type { Document } from '../types'
|
||||
|
||||
interface FilePreviewProps {
|
||||
document: Document
|
||||
onClose: () => void
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const FilePreview: React.FC<FilePreviewProps> = ({ document, onClose }) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [loading, setLoading] = useState(true)</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [error, setError] = useState<string | null>(null)</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [page, setPage] = useState(1)</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [scale, setScale] = useState(1.0)</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [numPages, setNumPages] = useState(0)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > setLoading(true)</span>
|
||||
<span class="cstat-no" title="statement not covered" > setError(null)</span>
|
||||
<span class="cstat-no" title="statement not covered" > setPage(1)</span>
|
||||
<span class="cstat-no" title="statement not covered" > setScale(1.0)</span>
|
||||
|
||||
// Simuler le chargement du PDF
|
||||
<span class="cstat-no" title="statement not covered" > const timer = setTimeout(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > setNumPages(3) // Simuler 3 pages</span>
|
||||
<span class="cstat-no" title="statement not covered" > setLoading(false)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, 1000)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return () => clearTimeout(timer)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, [document])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const handleDownload = () => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (document.previewUrl) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const link = document.createElement('a')</span>
|
||||
<span class="cstat-no" title="statement not covered" > link.href = document.previewUrl</span>
|
||||
<span class="cstat-no" title="statement not covered" > link.download = document.name</span>
|
||||
<span class="cstat-no" title="statement not covered" > link.click()</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const isPDF = document.type.includes('pdf') || document.name.toLowerCase().endsWith('.pdf')</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!isPDF) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 3, mt: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="space-between" alignItems="center" mb={2}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">{document.name}</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <IconButton onClick={onClose} title="Fermer"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Close /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </IconButton></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Aperçu non disponible pour ce type de fichier ({document.type})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Dialog open onClose={onClose} maxWidth="lg" fullWidth></span>
|
||||
<span class="cstat-no" title="statement not covered" > <DialogTitle></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="space-between" alignItems="center"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" alignItems="center" gap={1}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <PictureAsPdf color="error" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">{document.name}</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <IconButton onClick={onClose} title="Fermer"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Close /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </IconButton></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </DialogTitle></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <DialogContent dividers></span>
|
||||
<span class="cstat-no" title="statement not covered" > {loading && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="center" alignItems="center" minHeight="400px"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CircularProgress /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ ml: 2 }}></span>
|
||||
Chargement du PDF...
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > {error && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="error" sx={{ mb: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {error}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > {!loading && !error && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
{/* Contrôles de navigation */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="space-between" alignItems="center" mb={2}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" alignItems="center" gap={1}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > startIcon={<NavigateBefore />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => setPage(prev => Math.max(prev - 1, 1))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={page <= 1}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Précédent
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Page {page} sur {numPages}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > endIcon={<NavigateNext />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => setPage(prev => Math.min(prev + 1, numPages))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={page >= numPages}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Suivant
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" alignItems="center" gap={1}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > startIcon={<ZoomOut />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => setScale(prev => Math.max(prev - 0.2, 0.5))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Zoom -
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2"></span>
|
||||
<span class="cstat-no" title="statement not covered" > {Math.round(scale * 100)}%</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > startIcon={<ZoomIn />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => setScale(prev => Math.min(prev + 0.2, 2.0))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Zoom +
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Aperçu PDF avec viewer intégré */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > border: '1px solid',</span>
|
||||
<span class="cstat-no" title="statement not covered" > borderColor: 'grey.300',</span>
|
||||
<span class="cstat-no" title="statement not covered" > borderRadius: 1,</span>
|
||||
<span class="cstat-no" title="statement not covered" > overflow: 'hidden',</span>
|
||||
<span class="cstat-no" title="statement not covered" > maxHeight: '70vh',</span>
|
||||
<span class="cstat-no" title="statement not covered" > display: 'flex',</span>
|
||||
<span class="cstat-no" title="statement not covered" > justifyContent: 'center',</span>
|
||||
<span class="cstat-no" title="statement not covered" > backgroundColor: 'grey.50'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {document.previewUrl ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ width: '100%', height: '600px' }}></span>
|
||||
{/* Utiliser un viewer PDF intégré */}
|
||||
<span class="cstat-no" title="statement not covered" > <iframe</span>
|
||||
<span class="cstat-no" title="statement not covered" > src={`${document.previewUrl}#toolbar=1&navpanes=1&scrollbar=1&page=1&view=FitH`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > width="100%"</span>
|
||||
<span class="cstat-no" title="statement not covered" > height="100%"</span>
|
||||
<span class="cstat-no" title="statement not covered" > style={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > border: 'none',</span>
|
||||
<span class="cstat-no" title="statement not covered" > transform: `scale(${scale})`,</span>
|
||||
<span class="cstat-no" title="statement not covered" > transformOrigin: 'top left',</span>
|
||||
<span class="cstat-no" title="statement not covered" > width: `${100 / scale}%`,</span>
|
||||
<span class="cstat-no" title="statement not covered" > height: `${600 / scale}px`</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > title={`Aperçu de ${document.name}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onLoad={() => setLoading(false)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onError={() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > setError('Erreur de chargement du PDF')</span>
|
||||
<span class="cstat-no" title="statement not covered" > setLoading(false)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="center" alignItems="center" minHeight="400px"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box textAlign="center"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <PictureAsPdf sx={{ fontSize: 64, color: 'error.main', mb: 2 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Aperçu PDF
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" color="text.secondary"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Le fichier PDF "{document.name}" a été uploadé avec succès.</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" color="text.secondary"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Taille: {(document.size / 1024 / 1024).toFixed(2)} MB</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </DialogContent></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <DialogActions></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button onClick={onClose}></span>
|
||||
Fermer
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="contained"</span>
|
||||
<span class="cstat-no" title="statement not covered" > startIcon={<Download />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={handleDownload}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={!document.previewUrl}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Télécharger
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </DialogActions></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Dialog></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -3,15 +3,15 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for App.tsx</title>
|
||||
<title>Code coverage report for 4NK_IA_front/src/components/Layout.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="prettify.css" />
|
||||
<link rel="stylesheet" href="base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(sort-arrow-sprite.png);
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -19,13 +19,13 @@
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="index.html">All files</a> App.tsx</h1>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/components</a> Layout.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/27</span>
|
||||
<span class='fraction'>0/26</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/27</span>
|
||||
<span class='fraction'>0/26</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -94,11 +94,21 @@
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
@ -112,12 +122,7 @@
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
@ -125,37 +130,47 @@
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useState } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import reactLogo from './assets/react.svg'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import viteLogo from '/vite.svg'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import './App.css'</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import React from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { AppBar, Toolbar, Typography, Container, Box } from '@mui/material'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { useNavigate, useLocation } from 'react-router-dom'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { NavigationTabs } from './NavigationTabs'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >function App() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [count, setCount] = useState(0)</span>
|
||||
interface LayoutProps {
|
||||
children: React.ReactNode
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const Layout: React.FC<LayoutProps> = ({ children }) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const navigate = useNavigate()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const location = useLocation()</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <></span>
|
||||
<span class="cstat-no" title="statement not covered" > <div></span>
|
||||
<span class="cstat-no" title="statement not covered" > <a href="https://vite.dev" target="_blank"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <img src={viteLogo} className="logo" alt="Vite logo" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </a></span>
|
||||
<span class="cstat-no" title="statement not covered" > <a href="https://react.dev" target="_blank"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <img src={reactLogo} className="logo react" alt="React logo" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </a></span>
|
||||
<span class="cstat-no" title="statement not covered" > </div></span>
|
||||
<span class="cstat-no" title="statement not covered" > <h1>Vite + React</h1></span>
|
||||
<span class="cstat-no" title="statement not covered" > <div className="card"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <button onClick={() => setCount((count) => count + 1)}>count is {count}</button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <p></span>
|
||||
<span class="cstat-no" title="statement not covered" > Edit <code>src/App.tsx</code> and save to test HMR</span>
|
||||
<span class="cstat-no" title="statement not covered" > </p></span>
|
||||
<span class="cstat-no" title="statement not covered" > </div></span>
|
||||
<span class="cstat-no" title="statement not covered" > <p className="read-the-docs">Click on the Vite and React logos to learn more</p></span>
|
||||
<span class="cstat-no" title="statement not covered" > </></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flexGrow: 1 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AppBar position="static"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Toolbar></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="h6"</span>
|
||||
<span class="cstat-no" title="statement not covered" > component="div"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ flexGrow: 1, cursor: 'pointer' }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => navigate('/')}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
4NK IA - Front Notarial
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Toolbar></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AppBar></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <NavigationTabs currentPath={location.pathname} /></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Container maxWidth="xl" sx={{ mt: 3, mb: 3 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {children}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Container></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default App</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
@ -163,16 +178,16 @@
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-10T15:15:07.789Z
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="prettify.js"></script>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="sorter.js"></script>
|
||||
<script src="block-navigation.js"></script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
208
coverage/4NK_IA_front/src/components/NavigationTabs.tsx.html
Normal file
208
coverage/4NK_IA_front/src/components/NavigationTabs.tsx.html
Normal file
@ -0,0 +1,208 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/components/NavigationTabs.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/components</a> NavigationTabs.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/30</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/30</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import React from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Tabs, Tab, Box } from '@mui/material'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { useNavigate } from 'react-router-dom'</span>
|
||||
|
||||
interface NavigationTabsProps {
|
||||
currentPath: string
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const NavigationTabs: React.FC<NavigationTabsProps> = ({ currentPath }) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const navigate = useNavigate()</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const tabs = [</span>
|
||||
<span class="cstat-no" title="statement not covered" > { label: 'Téléversement', path: '/' },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { label: 'Extraction', path: '/extraction' },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { label: 'Analyse', path: '/analyse' },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { label: 'Contexte', path: '/contexte' },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { label: 'Conseil', path: '/conseil' },</span>
|
||||
<span class="cstat-no" title="statement not covered" > ]</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const currentTabIndex = tabs.findIndex(tab => tab.path === currentPath)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const handleTabChange = (_event: React.SyntheticEvent, newValue: number) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > navigate(tabs[newValue].path)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ borderBottom: 1, borderColor: 'divider' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Tabs</span>
|
||||
<span class="cstat-no" title="statement not covered" > value={currentTabIndex >= 0 ? currentTabIndex : 0}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onChange={handleTabChange}</span>
|
||||
<span class="cstat-no" title="statement not covered" > aria-label="navigation tabs"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="scrollable"</span>
|
||||
<span class="cstat-no" title="statement not covered" > scrollButtons="auto"</span>
|
||||
>
|
||||
<span class="cstat-no" title="statement not covered" > {tabs.map((tab, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Tab key={index} label={tab.label} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Tabs></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
146
coverage/4NK_IA_front/src/components/index.html
Normal file
146
coverage/4NK_IA_front/src/components/index.html
Normal file
@ -0,0 +1,146 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/components</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/components</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/227</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/3</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/3</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/227</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="FilePreview.tsx"><a href="FilePreview.tsx.html">FilePreview.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="171" class="abs low">0/171</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="171" class="abs low">0/171</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="Layout.tsx"><a href="Layout.tsx.html">Layout.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="26" class="abs low">0/26</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="26" class="abs low">0/26</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="NavigationTabs.tsx"><a href="NavigationTabs.tsx.html">NavigationTabs.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="30" class="abs low">0/30</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="30" class="abs low">0/30</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
131
coverage/4NK_IA_front/src/index.html
Normal file
131
coverage/4NK_IA_front/src/index.html
Normal file
@ -0,0 +1,131 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../index.html">All files</a> 4NK_IA_front/src</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/24</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/2</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/2</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/24</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="App.tsx"><a href="App.tsx.html">App.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="5" class="abs low">0/5</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="5" class="abs low">0/5</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="main.tsx"><a href="main.tsx.html">main.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="19" class="abs low">0/19</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="19" class="abs low">0/19</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
<script src="../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -3,15 +3,15 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for main.tsx</title>
|
||||
<title>Code coverage report for 4NK_IA_front/src/main.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="prettify.css" />
|
||||
<link rel="stylesheet" href="base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
||||
<link rel="stylesheet" href="../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(sort-arrow-sprite.png);
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -19,13 +19,13 @@
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="index.html">All files</a> main.tsx</h1>
|
||||
<h1><a href="../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src</a> main.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/9</span>
|
||||
<span class='fraction'>0/19</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/9</span>
|
||||
<span class='fraction'>0/19</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -73,7 +73,22 @@
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
@ -83,14 +98,29 @@
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { StrictMode } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { createRoot } from 'react-dom/client'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Provider } from 'react-redux'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { ThemeProvider } from '@mui/material/styles'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { CssBaseline } from '@mui/material'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import './index.css'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import App from './App.tsx'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { store } from './store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { theme } from './theme'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >createRoot(document.getElementById('root')!).render(</span>
|
||||
<span class="cstat-no" title="statement not covered" > <StrictMode></span>
|
||||
<span class="cstat-no" title="statement not covered" > <App /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Provider store={store}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ThemeProvider theme={theme}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CssBaseline /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <App /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ThemeProvider></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Provider></span>
|
||||
<span class="cstat-no" title="statement not covered" > </StrictMode>,</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
</pre></td></tr></table></pre>
|
||||
@ -100,16 +130,16 @@
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-10T15:15:07.789Z
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="prettify.js"></script>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="sorter.js"></script>
|
||||
<script src="block-navigation.js"></script>
|
||||
<script src="../../sorter.js"></script>
|
||||
<script src="../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
116
coverage/4NK_IA_front/src/router/index.html
Normal file
116
coverage/4NK_IA_front/src/router/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/router</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/router</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/23</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/23</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="index.tsx"><a href="index.tsx.html">index.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="23" class="abs low">0/23</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="23" class="abs low">0/23</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
169
coverage/4NK_IA_front/src/router/index.tsx.html
Normal file
169
coverage/4NK_IA_front/src/router/index.tsx.html
Normal file
@ -0,0 +1,169 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/router/index.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/router</a> index.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/23</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/23</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { lazy, Suspense } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { createBrowserRouter, RouterProvider } from 'react-router-dom'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Box, CircularProgress, Typography } from '@mui/material'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const UploadView = lazy(() => import('../views/UploadView'))</span>
|
||||
<span class="cstat-no" title="statement not covered" >const ExtractionView = lazy(() => import('../views/ExtractionView'))</span>
|
||||
<span class="cstat-no" title="statement not covered" >const AnalyseView = lazy(() => import('../views/AnalyseView'))</span>
|
||||
<span class="cstat-no" title="statement not covered" >const ContexteView = lazy(() => import('../views/ContexteView'))</span>
|
||||
<span class="cstat-no" title="statement not covered" >const ConseilView = lazy(() => import('../views/ConseilView'))</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const LoadingFallback = () => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', minHeight: '50vh' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CircularProgress /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography sx={{ ml: 2 }}>Chargement...</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const router = createBrowserRouter([</span>
|
||||
<span class="cstat-no" title="statement not covered" > { path: '/', element: <Suspense fallback={<LoadingFallback />}><UploadView /></Suspense> },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { path: '/extraction', element: <Suspense fallback={<LoadingFallback />}><ExtractionView /></Suspense> },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { path: '/analyse', element: <Suspense fallback={<LoadingFallback />}><AnalyseView /></Suspense> },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { path: '/contexte', element: <Suspense fallback={<LoadingFallback />}><ContexteView /></Suspense> },</span>
|
||||
<span class="cstat-no" title="statement not covered" > { path: '/conseil', element: <Suspense fallback={<LoadingFallback />}><ConseilView /></Suspense> },</span>
|
||||
<span class="cstat-no" title="statement not covered" >])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const AppRouter = () => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <RouterProvider router={router} /></span>
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
1018
coverage/4NK_IA_front/src/services/api.ts.html
Normal file
1018
coverage/4NK_IA_front/src/services/api.ts.html
Normal file
File diff suppressed because it is too large
Load Diff
116
coverage/4NK_IA_front/src/services/index.html
Normal file
116
coverage/4NK_IA_front/src/services/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/services</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/services</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/266</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/266</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="api.ts"><a href="api.ts.html">api.ts</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="266" class="abs low">0/266</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="266" class="abs low">0/266</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
136
coverage/4NK_IA_front/src/store/appSlice.ts.html
Normal file
136
coverage/4NK_IA_front/src/store/appSlice.ts.html
Normal file
@ -0,0 +1,136 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/store/appSlice.ts</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/store</a> appSlice.ts</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/10</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/10</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { createSlice } from '@reduxjs/toolkit'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
|
||||
export type AppState = {
|
||||
initialized: boolean
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const initialState: AppState = {</span>
|
||||
<span class="cstat-no" title="statement not covered" > initialized: true,</span>
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const appSlice = createSlice({</span>
|
||||
<span class="cstat-no" title="statement not covered" > name: 'app',</span>
|
||||
<span class="cstat-no" title="statement not covered" > initialState,</span>
|
||||
<span class="cstat-no" title="statement not covered" > reducers: {},</span>
|
||||
<span class="cstat-no" title="statement not covered" >})</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const appReducer = appSlice.reducer</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
409
coverage/4NK_IA_front/src/store/documentSlice.ts.html
Normal file
409
coverage/4NK_IA_front/src/store/documentSlice.ts.html
Normal file
@ -0,0 +1,409 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/store/documentSlice.ts</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/store</a> documentSlice.ts</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/87</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/87</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
import type { PayloadAction } from '@reduxjs/toolkit'
|
||||
import type { Document, ExtractionResult, AnalysisResult, ContextResult, ConseilResult } from '../types'
|
||||
<span class="cstat-no" title="statement not covered" >import { documentApi } from '../services/api'</span>
|
||||
|
||||
interface DocumentState {
|
||||
documents: Document[]
|
||||
currentDocument: Document | null
|
||||
extractionResult: ExtractionResult | null
|
||||
analysisResult: AnalysisResult | null
|
||||
contextResult: ContextResult | null
|
||||
conseilResult: ConseilResult | null
|
||||
loading: boolean
|
||||
error: string | null
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const initialState: DocumentState = {</span>
|
||||
<span class="cstat-no" title="statement not covered" > documents: [],</span>
|
||||
<span class="cstat-no" title="statement not covered" > currentDocument: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" > extractionResult: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" > analysisResult: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" > contextResult: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" > conseilResult: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" > loading: false,</span>
|
||||
<span class="cstat-no" title="statement not covered" > error: null,</span>
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const uploadDocument = createAsyncThunk(</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'document/upload',</span>
|
||||
<span class="cstat-no" title="statement not covered" > async (file: File) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return await documentApi.upload(file)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const extractDocument = createAsyncThunk(</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'document/extract',</span>
|
||||
<span class="cstat-no" title="statement not covered" > async (documentId: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return await documentApi.extract(documentId)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const analyzeDocument = createAsyncThunk(</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'document/analyze',</span>
|
||||
<span class="cstat-no" title="statement not covered" > async (documentId: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return await documentApi.analyze(documentId)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const getContextData = createAsyncThunk(</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'document/context',</span>
|
||||
<span class="cstat-no" title="statement not covered" > async (documentId: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return await documentApi.getContext(documentId)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const getConseil = createAsyncThunk(</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'document/conseil',</span>
|
||||
<span class="cstat-no" title="statement not covered" > async (documentId: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return await documentApi.getConseil(documentId)</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" >)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >const documentSlice = createSlice({</span>
|
||||
<span class="cstat-no" title="statement not covered" > name: 'document',</span>
|
||||
<span class="cstat-no" title="statement not covered" > initialState,</span>
|
||||
<span class="cstat-no" title="statement not covered" > reducers: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > setCurrentDocument: (state, action: PayloadAction<Document | null>) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.currentDocument = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > clearResults: (state) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.extractionResult = null</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.analysisResult = null</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.contextResult = null</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.conseilResult = null</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > extraReducers: (builder) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > builder</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(uploadDocument.pending, (state) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.loading = true</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.error = null</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(uploadDocument.fulfilled, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.loading = false</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.documents.push(action.payload)</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.currentDocument = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(uploadDocument.rejected, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.loading = false</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.error = action.error.message || 'Erreur lors du téléversement'</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(extractDocument.fulfilled, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.extractionResult = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(analyzeDocument.fulfilled, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.analysisResult = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(getContextData.fulfilled, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.contextResult = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > .addCase(getConseil.fulfilled, (state, action) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > state.conseilResult = action.payload</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" >})</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const { setCurrentDocument, clearResults } = documentSlice.actions</span>
|
||||
<span class="cstat-no" title="statement not covered" >export const documentReducer = documentSlice.reducer</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
146
coverage/4NK_IA_front/src/store/index.html
Normal file
146
coverage/4NK_IA_front/src/store/index.html
Normal file
@ -0,0 +1,146 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/store</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/store</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/114</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/3</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/3</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/114</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="appSlice.ts"><a href="appSlice.ts.html">appSlice.ts</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="10" class="abs low">0/10</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="10" class="abs low">0/10</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="documentSlice.ts"><a href="documentSlice.ts.html">documentSlice.ts</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="87" class="abs low">0/87</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="87" class="abs low">0/87</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="17" class="abs low">0/17</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="17" class="abs low">0/17</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
154
coverage/4NK_IA_front/src/store/index.ts.html
Normal file
154
coverage/4NK_IA_front/src/store/index.ts.html
Normal file
@ -0,0 +1,154 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/store/index.ts</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/store</a> index.ts</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/17</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/17</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { configureStore } from '@reduxjs/toolkit'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { useDispatch, useSelector } from 'react-redux'</span>
|
||||
import type { TypedUseSelectorHook } from 'react-redux'
|
||||
<span class="cstat-no" title="statement not covered" >import { appReducer } from './appSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { documentReducer } from './documentSlice'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const store = configureStore({</span>
|
||||
<span class="cstat-no" title="statement not covered" > reducer: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > app: appReducer,</span>
|
||||
<span class="cstat-no" title="statement not covered" > document: documentReducer,</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > middleware: (getDefaultMiddleware) => getDefaultMiddleware({</span>
|
||||
<span class="cstat-no" title="statement not covered" > serializableCheck: false,</span>
|
||||
<span class="cstat-no" title="statement not covered" > immutableCheck: true,</span>
|
||||
<span class="cstat-no" title="statement not covered" > }),</span>
|
||||
<span class="cstat-no" title="statement not covered" > devTools: true,</span>
|
||||
<span class="cstat-no" title="statement not covered" >})</span>
|
||||
|
||||
export type RootState = ReturnType<typeof store.getState>
|
||||
export type AppDispatch = typeof store.dispatch
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const useAppDispatch: () => AppDispatch = useDispatch</span>
|
||||
<span class="cstat-no" title="statement not covered" >export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
116
coverage/4NK_IA_front/src/theme/index.html
Normal file
116
coverage/4NK_IA_front/src/theme/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/theme</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/theme</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/64</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/64</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="64" class="abs low">0/64</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="64" class="abs low">0/64</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
280
coverage/4NK_IA_front/src/theme/index.ts.html
Normal file
280
coverage/4NK_IA_front/src/theme/index.ts.html
Normal file
@ -0,0 +1,280 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/theme/index.ts</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/theme</a> index.ts</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/64</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/64</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { createTheme } from '@mui/material/styles'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export const theme = createTheme({</span>
|
||||
<span class="cstat-no" title="statement not covered" > palette: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > mode: 'light',</span>
|
||||
<span class="cstat-no" title="statement not covered" > background: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > default: '#ffffff',</span>
|
||||
<span class="cstat-no" title="statement not covered" > paper: '#ffffff',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#1976d2',</span>
|
||||
<span class="cstat-no" title="statement not covered" > light: '#42a5f5',</span>
|
||||
<span class="cstat-no" title="statement not covered" > dark: '#1565c0',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#dc004e',</span>
|
||||
<span class="cstat-no" title="statement not covered" > light: '#ff5983',</span>
|
||||
<span class="cstat-no" title="statement not covered" > dark: '#9a0036',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > error: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#f44336',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > warning: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#ff9800',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > info: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#2196f3',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > success: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > main: '#4caf50',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > typography: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',</span>
|
||||
<span class="cstat-no" title="statement not covered" > h4: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > fontWeight: 600,</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > h6: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > fontWeight: 500,</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > components: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > MuiCssBaseline: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > styleOverrides: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > body: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > backgroundColor: '#ffffff',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > MuiAppBar: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > styleOverrides: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > root: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > backgroundColor: '#1976d2',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > MuiPaper: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > styleOverrides: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > root: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > backgroundColor: '#ffffff',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" >})</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
116
coverage/4NK_IA_front/src/types/index.html
Normal file
116
coverage/4NK_IA_front/src/types/index.html
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/types</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/types</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>1/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>1/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file empty" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
||||
<td data-value="0" class="pic empty">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="0" class="abs empty">0/0</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="1" class="abs empty">1/1</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="1" class="abs empty">1/1</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="0" class="abs empty">0/0</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
373
coverage/4NK_IA_front/src/types/index.ts.html
Normal file
373
coverage/4NK_IA_front/src/types/index.ts.html
Normal file
@ -0,0 +1,373 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/types/index.ts</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/types</a> index.ts</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>1/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>1/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/0</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export interface Document {
|
||||
id: string
|
||||
name: string
|
||||
type: string
|
||||
size: number
|
||||
uploadDate: Date
|
||||
status: 'uploading' | 'processing' | 'completed' | 'error'
|
||||
previewUrl?: string
|
||||
content?: string
|
||||
}
|
||||
|
||||
export interface Identity {
|
||||
id: string
|
||||
type: 'person' | 'company'
|
||||
firstName?: string
|
||||
lastName?: string
|
||||
companyName?: string
|
||||
birthDate?: string
|
||||
nationality?: string
|
||||
address?: Address
|
||||
confidence: number
|
||||
}
|
||||
|
||||
export interface Address {
|
||||
street: string
|
||||
city: string
|
||||
postalCode: string
|
||||
country: string
|
||||
coordinates?: { lat: number; lng: number }
|
||||
}
|
||||
|
||||
export interface Property {
|
||||
id: string
|
||||
type: 'house' | 'apartment' | 'land' | 'commercial'
|
||||
address: Address
|
||||
surface?: number
|
||||
cadastralReference?: string
|
||||
value?: number
|
||||
}
|
||||
|
||||
export interface Contract {
|
||||
id: string
|
||||
type: 'sale' | 'rent' | 'inheritance' | 'donation'
|
||||
parties: Identity[]
|
||||
property?: Property
|
||||
amount?: number
|
||||
date?: string
|
||||
clauses: string[]
|
||||
}
|
||||
|
||||
export interface ExtractionResult {
|
||||
documentId: string
|
||||
text: string
|
||||
language: string
|
||||
documentType: string
|
||||
identities: Identity[]
|
||||
addresses: Address[]
|
||||
properties: Property[]
|
||||
contracts: Contract[]
|
||||
signatures: string[]
|
||||
confidence: number
|
||||
}
|
||||
|
||||
export interface AnalysisResult {
|
||||
documentId: string
|
||||
documentType: string
|
||||
isCNI: boolean
|
||||
country?: string
|
||||
verificationResult?: {
|
||||
numberValid: boolean
|
||||
formatValid: boolean
|
||||
checksumValid: boolean
|
||||
}
|
||||
credibilityScore: number
|
||||
summary: string
|
||||
recommendations: string[]
|
||||
}
|
||||
|
||||
export interface ContextResult {
|
||||
documentId: string
|
||||
cadastreData?: Record<string, unknown>
|
||||
georisquesData?: Record<string, unknown>
|
||||
geofoncierData?: Record<string, unknown>
|
||||
bodaccData?: Record<string, unknown>
|
||||
infogreffeData?: Record<string, unknown>
|
||||
lastUpdated: Date
|
||||
}
|
||||
|
||||
export interface ConseilResult {
|
||||
documentId: string
|
||||
analysis: string
|
||||
recommendations: string[]
|
||||
risks: string[]
|
||||
nextSteps: string[]
|
||||
generatedAt: Date
|
||||
}
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
847
coverage/4NK_IA_front/src/views/AnalyseView.tsx.html
Normal file
847
coverage/4NK_IA_front/src/views/AnalyseView.tsx.html
Normal file
@ -0,0 +1,847 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views/AnalyseView.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/views</a> AnalyseView.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/191</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/191</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a>
|
||||
<a name='L172'></a><a href='#L172'>172</a>
|
||||
<a name='L173'></a><a href='#L173'>173</a>
|
||||
<a name='L174'></a><a href='#L174'>174</a>
|
||||
<a name='L175'></a><a href='#L175'>175</a>
|
||||
<a name='L176'></a><a href='#L176'>176</a>
|
||||
<a name='L177'></a><a href='#L177'>177</a>
|
||||
<a name='L178'></a><a href='#L178'>178</a>
|
||||
<a name='L179'></a><a href='#L179'>179</a>
|
||||
<a name='L180'></a><a href='#L180'>180</a>
|
||||
<a name='L181'></a><a href='#L181'>181</a>
|
||||
<a name='L182'></a><a href='#L182'>182</a>
|
||||
<a name='L183'></a><a href='#L183'>183</a>
|
||||
<a name='L184'></a><a href='#L184'>184</a>
|
||||
<a name='L185'></a><a href='#L185'>185</a>
|
||||
<a name='L186'></a><a href='#L186'>186</a>
|
||||
<a name='L187'></a><a href='#L187'>187</a>
|
||||
<a name='L188'></a><a href='#L188'>188</a>
|
||||
<a name='L189'></a><a href='#L189'>189</a>
|
||||
<a name='L190'></a><a href='#L190'>190</a>
|
||||
<a name='L191'></a><a href='#L191'>191</a>
|
||||
<a name='L192'></a><a href='#L192'>192</a>
|
||||
<a name='L193'></a><a href='#L193'>193</a>
|
||||
<a name='L194'></a><a href='#L194'>194</a>
|
||||
<a name='L195'></a><a href='#L195'>195</a>
|
||||
<a name='L196'></a><a href='#L196'>196</a>
|
||||
<a name='L197'></a><a href='#L197'>197</a>
|
||||
<a name='L198'></a><a href='#L198'>198</a>
|
||||
<a name='L199'></a><a href='#L199'>199</a>
|
||||
<a name='L200'></a><a href='#L200'>200</a>
|
||||
<a name='L201'></a><a href='#L201'>201</a>
|
||||
<a name='L202'></a><a href='#L202'>202</a>
|
||||
<a name='L203'></a><a href='#L203'>203</a>
|
||||
<a name='L204'></a><a href='#L204'>204</a>
|
||||
<a name='L205'></a><a href='#L205'>205</a>
|
||||
<a name='L206'></a><a href='#L206'>206</a>
|
||||
<a name='L207'></a><a href='#L207'>207</a>
|
||||
<a name='L208'></a><a href='#L208'>208</a>
|
||||
<a name='L209'></a><a href='#L209'>209</a>
|
||||
<a name='L210'></a><a href='#L210'>210</a>
|
||||
<a name='L211'></a><a href='#L211'>211</a>
|
||||
<a name='L212'></a><a href='#L212'>212</a>
|
||||
<a name='L213'></a><a href='#L213'>213</a>
|
||||
<a name='L214'></a><a href='#L214'>214</a>
|
||||
<a name='L215'></a><a href='#L215'>215</a>
|
||||
<a name='L216'></a><a href='#L216'>216</a>
|
||||
<a name='L217'></a><a href='#L217'>217</a>
|
||||
<a name='L218'></a><a href='#L218'>218</a>
|
||||
<a name='L219'></a><a href='#L219'>219</a>
|
||||
<a name='L220'></a><a href='#L220'>220</a>
|
||||
<a name='L221'></a><a href='#L221'>221</a>
|
||||
<a name='L222'></a><a href='#L222'>222</a>
|
||||
<a name='L223'></a><a href='#L223'>223</a>
|
||||
<a name='L224'></a><a href='#L224'>224</a>
|
||||
<a name='L225'></a><a href='#L225'>225</a>
|
||||
<a name='L226'></a><a href='#L226'>226</a>
|
||||
<a name='L227'></a><a href='#L227'>227</a>
|
||||
<a name='L228'></a><a href='#L228'>228</a>
|
||||
<a name='L229'></a><a href='#L229'>229</a>
|
||||
<a name='L230'></a><a href='#L230'>230</a>
|
||||
<a name='L231'></a><a href='#L231'>231</a>
|
||||
<a name='L232'></a><a href='#L232'>232</a>
|
||||
<a name='L233'></a><a href='#L233'>233</a>
|
||||
<a name='L234'></a><a href='#L234'>234</a>
|
||||
<a name='L235'></a><a href='#L235'>235</a>
|
||||
<a name='L236'></a><a href='#L236'>236</a>
|
||||
<a name='L237'></a><a href='#L237'>237</a>
|
||||
<a name='L238'></a><a href='#L238'>238</a>
|
||||
<a name='L239'></a><a href='#L239'>239</a>
|
||||
<a name='L240'></a><a href='#L240'>240</a>
|
||||
<a name='L241'></a><a href='#L241'>241</a>
|
||||
<a name='L242'></a><a href='#L242'>242</a>
|
||||
<a name='L243'></a><a href='#L243'>243</a>
|
||||
<a name='L244'></a><a href='#L244'>244</a>
|
||||
<a name='L245'></a><a href='#L245'>245</a>
|
||||
<a name='L246'></a><a href='#L246'>246</a>
|
||||
<a name='L247'></a><a href='#L247'>247</a>
|
||||
<a name='L248'></a><a href='#L248'>248</a>
|
||||
<a name='L249'></a><a href='#L249'>249</a>
|
||||
<a name='L250'></a><a href='#L250'>250</a>
|
||||
<a name='L251'></a><a href='#L251'>251</a>
|
||||
<a name='L252'></a><a href='#L252'>252</a>
|
||||
<a name='L253'></a><a href='#L253'>253</a>
|
||||
<a name='L254'></a><a href='#L254'>254</a>
|
||||
<a name='L255'></a><a href='#L255'>255</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useEffect } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
Card,
|
||||
CardContent,
|
||||
Chip,
|
||||
List,
|
||||
ListItem,
|
||||
ListItemText,
|
||||
ListItemIcon,
|
||||
Alert,
|
||||
LinearProgress,
|
||||
} from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
CheckCircle,
|
||||
Error,
|
||||
Warning,
|
||||
Flag,
|
||||
Security,
|
||||
Assessment,
|
||||
Info,
|
||||
} from '@mui/icons-material'
|
||||
import type { ChipProps, LinearProgressProps } from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import { useAppDispatch, useAppSelector } from '../store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { analyzeDocument } from '../store/documentSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Layout } from '../components/Layout'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function AnalyseView() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const dispatch = useAppDispatch()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const { currentDocument, analysisResult, loading } = useAppSelector(</span>
|
||||
<span class="cstat-no" title="statement not covered" > (state) => state.document</span>
|
||||
<span class="cstat-no" title="statement not covered" > )</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (currentDocument && !analysisResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > dispatch(analyzeDocument(currentDocument.id))</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, [currentDocument, analysisResult, dispatch])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!currentDocument) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Veuillez d'abord téléverser et sélectionner un document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (loading) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', flexDirection: 'column', alignItems: 'center', mt: 4 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <LinearProgress sx={{ width: '100%', mb: 2 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography>Analyse en cours...</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!analysisResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="warning"></span>
|
||||
Aucun résultat d'analyse disponible.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getScoreColor = (score: number): ChipProps['color'] => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (score >= 0.8) return 'success'</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (score >= 0.6) return 'warning'</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'error'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getScoreIcon = (score: number) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (score >= 0.8) return <CheckCircle color="success" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (score >= 0.6) return <Warning color="warning" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > return <Error color="error" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" gutterBottom></span>
|
||||
Analyse du document
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}></span>
|
||||
{/* Résumé général */}
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Résumé de l'analyse
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 2, flexWrap: 'wrap', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Assessment />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Score de vraisemblance: ${(analysisResult.credibilityScore * 100).toFixed(1)}%`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getScoreColor(analysisResult.credibilityScore)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="filled"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Info />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Type: ${analysisResult.documentType}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="primary"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.isCNI && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Flag />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Pays: ${analysisResult.country}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="secondary"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
|
||||
{/* Cas CNI */}
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.isCNI && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Security sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
Vérification CNI
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.verificationResult && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <List></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.verificationResult.numberValid ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <CheckCircle color="success" /></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Error color="error" /></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary="Numéro valide"</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > analysisResult.verificationResult.numberValid</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'Le numéro de CNI est valide'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : 'Le numéro de CNI est invalide'</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.verificationResult.formatValid ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <CheckCircle color="success" /></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Error color="error" /></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary="Format valide"</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > analysisResult.verificationResult.formatValid</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'Le format du numéro est correct'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : 'Le format du numéro est incorrect'</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.verificationResult.checksumValid ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <CheckCircle color="success" /></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Error color="error" /></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary="Checksum valide"</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > analysisResult.verificationResult.checksumValid</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'La somme de contrôle est correcte'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : 'La somme de contrôle est incorrecte'</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
)}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}></span>
|
||||
{/* Score de vraisemblance */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Score de vraisemblance
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center', mb: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {getScoreIcon(analysisResult.credibilityScore)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" sx={{ ml: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(analysisResult.credibilityScore * 100).toFixed(1)}%</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <LinearProgress</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="determinate"</span>
|
||||
<span class="cstat-no" title="statement not covered" > value={analysisResult.credibilityScore * 100}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getScoreColor(analysisResult.credibilityScore) as LinearProgressProps['color']}</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ height: 10, borderRadius: 5 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" color="text.secondary" sx={{ mt: 1 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.credibilityScore >= 0.8</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'Document très fiable'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : analysisResult.credibilityScore >= 0.6</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'Document moyennement fiable'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : 'Document peu fiable - vérification recommandée'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Synthèse */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Synthèse
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body1" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.summary}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Recommandations */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Recommandations
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List></span>
|
||||
<span class="cstat-no" title="statement not covered" > {analysisResult.recommendations.map((recommendation, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Info color="primary" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText primary={recommendation} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
814
coverage/4NK_IA_front/src/views/ConseilView.tsx.html
Normal file
814
coverage/4NK_IA_front/src/views/ConseilView.tsx.html
Normal file
@ -0,0 +1,814 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views/ConseilView.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/views</a> ConseilView.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/187</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/187</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a>
|
||||
<a name='L172'></a><a href='#L172'>172</a>
|
||||
<a name='L173'></a><a href='#L173'>173</a>
|
||||
<a name='L174'></a><a href='#L174'>174</a>
|
||||
<a name='L175'></a><a href='#L175'>175</a>
|
||||
<a name='L176'></a><a href='#L176'>176</a>
|
||||
<a name='L177'></a><a href='#L177'>177</a>
|
||||
<a name='L178'></a><a href='#L178'>178</a>
|
||||
<a name='L179'></a><a href='#L179'>179</a>
|
||||
<a name='L180'></a><a href='#L180'>180</a>
|
||||
<a name='L181'></a><a href='#L181'>181</a>
|
||||
<a name='L182'></a><a href='#L182'>182</a>
|
||||
<a name='L183'></a><a href='#L183'>183</a>
|
||||
<a name='L184'></a><a href='#L184'>184</a>
|
||||
<a name='L185'></a><a href='#L185'>185</a>
|
||||
<a name='L186'></a><a href='#L186'>186</a>
|
||||
<a name='L187'></a><a href='#L187'>187</a>
|
||||
<a name='L188'></a><a href='#L188'>188</a>
|
||||
<a name='L189'></a><a href='#L189'>189</a>
|
||||
<a name='L190'></a><a href='#L190'>190</a>
|
||||
<a name='L191'></a><a href='#L191'>191</a>
|
||||
<a name='L192'></a><a href='#L192'>192</a>
|
||||
<a name='L193'></a><a href='#L193'>193</a>
|
||||
<a name='L194'></a><a href='#L194'>194</a>
|
||||
<a name='L195'></a><a href='#L195'>195</a>
|
||||
<a name='L196'></a><a href='#L196'>196</a>
|
||||
<a name='L197'></a><a href='#L197'>197</a>
|
||||
<a name='L198'></a><a href='#L198'>198</a>
|
||||
<a name='L199'></a><a href='#L199'>199</a>
|
||||
<a name='L200'></a><a href='#L200'>200</a>
|
||||
<a name='L201'></a><a href='#L201'>201</a>
|
||||
<a name='L202'></a><a href='#L202'>202</a>
|
||||
<a name='L203'></a><a href='#L203'>203</a>
|
||||
<a name='L204'></a><a href='#L204'>204</a>
|
||||
<a name='L205'></a><a href='#L205'>205</a>
|
||||
<a name='L206'></a><a href='#L206'>206</a>
|
||||
<a name='L207'></a><a href='#L207'>207</a>
|
||||
<a name='L208'></a><a href='#L208'>208</a>
|
||||
<a name='L209'></a><a href='#L209'>209</a>
|
||||
<a name='L210'></a><a href='#L210'>210</a>
|
||||
<a name='L211'></a><a href='#L211'>211</a>
|
||||
<a name='L212'></a><a href='#L212'>212</a>
|
||||
<a name='L213'></a><a href='#L213'>213</a>
|
||||
<a name='L214'></a><a href='#L214'>214</a>
|
||||
<a name='L215'></a><a href='#L215'>215</a>
|
||||
<a name='L216'></a><a href='#L216'>216</a>
|
||||
<a name='L217'></a><a href='#L217'>217</a>
|
||||
<a name='L218'></a><a href='#L218'>218</a>
|
||||
<a name='L219'></a><a href='#L219'>219</a>
|
||||
<a name='L220'></a><a href='#L220'>220</a>
|
||||
<a name='L221'></a><a href='#L221'>221</a>
|
||||
<a name='L222'></a><a href='#L222'>222</a>
|
||||
<a name='L223'></a><a href='#L223'>223</a>
|
||||
<a name='L224'></a><a href='#L224'>224</a>
|
||||
<a name='L225'></a><a href='#L225'>225</a>
|
||||
<a name='L226'></a><a href='#L226'>226</a>
|
||||
<a name='L227'></a><a href='#L227'>227</a>
|
||||
<a name='L228'></a><a href='#L228'>228</a>
|
||||
<a name='L229'></a><a href='#L229'>229</a>
|
||||
<a name='L230'></a><a href='#L230'>230</a>
|
||||
<a name='L231'></a><a href='#L231'>231</a>
|
||||
<a name='L232'></a><a href='#L232'>232</a>
|
||||
<a name='L233'></a><a href='#L233'>233</a>
|
||||
<a name='L234'></a><a href='#L234'>234</a>
|
||||
<a name='L235'></a><a href='#L235'>235</a>
|
||||
<a name='L236'></a><a href='#L236'>236</a>
|
||||
<a name='L237'></a><a href='#L237'>237</a>
|
||||
<a name='L238'></a><a href='#L238'>238</a>
|
||||
<a name='L239'></a><a href='#L239'>239</a>
|
||||
<a name='L240'></a><a href='#L240'>240</a>
|
||||
<a name='L241'></a><a href='#L241'>241</a>
|
||||
<a name='L242'></a><a href='#L242'>242</a>
|
||||
<a name='L243'></a><a href='#L243'>243</a>
|
||||
<a name='L244'></a><a href='#L244'>244</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useEffect } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
Card,
|
||||
CardContent,
|
||||
List,
|
||||
ListItem,
|
||||
ListItemText,
|
||||
ListItemIcon,
|
||||
Alert,
|
||||
Chip,
|
||||
Button,
|
||||
CircularProgress,
|
||||
} from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Lightbulb,
|
||||
Warning,
|
||||
CheckCircle,
|
||||
TrendingUp,
|
||||
Schedule,
|
||||
Psychology,
|
||||
} from '@mui/icons-material'
|
||||
import type { ChipProps } from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import { useAppDispatch, useAppSelector } from '../store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { getConseil } from '../store/documentSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Layout } from '../components/Layout'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function ConseilView() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const dispatch = useAppDispatch()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const { currentDocument, conseilResult, loading } = useAppSelector(</span>
|
||||
<span class="cstat-no" title="statement not covered" > (state) => state.document</span>
|
||||
<span class="cstat-no" title="statement not covered" > )</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (currentDocument && !conseilResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > dispatch(getConseil(currentDocument.id))</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, [currentDocument, conseilResult, dispatch])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!currentDocument) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Veuillez d'abord téléverser et sélectionner un document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (loading) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', justifyContent: 'center', mt: 4 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CircularProgress /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography sx={{ ml: 2 }}>Génération des conseils LLM...</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!conseilResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="warning"></span>
|
||||
Aucun conseil disponible.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getRiskColor = (risk: string): ChipProps['color'] => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (risk.toLowerCase().includes('élevé') || risk.toLowerCase().includes('critique')) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'error'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (risk.toLowerCase().includes('moyen') || risk.toLowerCase().includes('modéré')) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'warning'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'info'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Psychology sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
Conseil LLM
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}></span>
|
||||
{/* Analyse LLM */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Lightbulb sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
Analyse LLM
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Paper</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > p: 2,</span>
|
||||
<span class="cstat-no" title="statement not covered" > bgcolor: 'grey.50',</span>
|
||||
<span class="cstat-no" title="statement not covered" > border: '1px solid',</span>
|
||||
<span class="cstat-no" title="statement not covered" > borderColor: 'grey.200',</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body1" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {conseilResult.analysis}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" color="text.secondary" sx={{ mt: 1, display: 'block' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > Généré le {new Date(conseilResult.generatedAt).toLocaleString()}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}></span>
|
||||
{/* Recommandations */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CheckCircle sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Recommandations ({conseilResult.recommendations.length})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {conseilResult.recommendations.map((recommendation, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CheckCircle color="success" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText primary={recommendation} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Risques identifiés */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Warning sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Risques identifiés ({conseilResult.risks.length})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {conseilResult.risks.map((risk, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Warning color={getRiskColor(risk) as ChipProps['color']} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={risk}</span>
|
||||
<span class="cstat-no" title="statement not covered" > primaryTypographyProps={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > color: getRiskColor(risk) === 'error' ? 'error.main' :</span>
|
||||
<span class="cstat-no" title="statement not covered" > getRiskColor(risk) === 'warning' ? 'warning.main' : 'info.main'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Prochaines étapes */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <TrendingUp sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
Prochaines étapes recommandées
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List></span>
|
||||
<span class="cstat-no" title="statement not covered" > {conseilResult.nextSteps.map((step, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Schedule color="primary" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItemIcon></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={`Étape ${index + 1}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={step}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
|
||||
{/* Actions */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Actions
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 2, flexWrap: 'wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="contained"</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => dispatch(getConseil(currentDocument.id))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={loading}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Régénérer les conseils
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button variant="outlined"></span>
|
||||
Exporter le rapport
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button variant="outlined"></span>
|
||||
Partager avec l'équipe
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
|
||||
{/* Résumé exécutif */}
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 2, bgcolor: 'primary.50' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Résumé exécutif
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap', mb: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`${conseilResult.recommendations.length} recommandations`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="success"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`${conseilResult.risks.length} risques identifiés`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="warning"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`${conseilResult.nextSteps.length} étapes suivantes`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="info"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" color="text.secondary"></span>
|
||||
Cette analyse LLM a été générée automatiquement et doit être validée par un expert notarial.
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
979
coverage/4NK_IA_front/src/views/ContexteView.tsx.html
Normal file
979
coverage/4NK_IA_front/src/views/ContexteView.tsx.html
Normal file
@ -0,0 +1,979 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views/ContexteView.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/views</a> ContexteView.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/228</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/228</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a>
|
||||
<a name='L172'></a><a href='#L172'>172</a>
|
||||
<a name='L173'></a><a href='#L173'>173</a>
|
||||
<a name='L174'></a><a href='#L174'>174</a>
|
||||
<a name='L175'></a><a href='#L175'>175</a>
|
||||
<a name='L176'></a><a href='#L176'>176</a>
|
||||
<a name='L177'></a><a href='#L177'>177</a>
|
||||
<a name='L178'></a><a href='#L178'>178</a>
|
||||
<a name='L179'></a><a href='#L179'>179</a>
|
||||
<a name='L180'></a><a href='#L180'>180</a>
|
||||
<a name='L181'></a><a href='#L181'>181</a>
|
||||
<a name='L182'></a><a href='#L182'>182</a>
|
||||
<a name='L183'></a><a href='#L183'>183</a>
|
||||
<a name='L184'></a><a href='#L184'>184</a>
|
||||
<a name='L185'></a><a href='#L185'>185</a>
|
||||
<a name='L186'></a><a href='#L186'>186</a>
|
||||
<a name='L187'></a><a href='#L187'>187</a>
|
||||
<a name='L188'></a><a href='#L188'>188</a>
|
||||
<a name='L189'></a><a href='#L189'>189</a>
|
||||
<a name='L190'></a><a href='#L190'>190</a>
|
||||
<a name='L191'></a><a href='#L191'>191</a>
|
||||
<a name='L192'></a><a href='#L192'>192</a>
|
||||
<a name='L193'></a><a href='#L193'>193</a>
|
||||
<a name='L194'></a><a href='#L194'>194</a>
|
||||
<a name='L195'></a><a href='#L195'>195</a>
|
||||
<a name='L196'></a><a href='#L196'>196</a>
|
||||
<a name='L197'></a><a href='#L197'>197</a>
|
||||
<a name='L198'></a><a href='#L198'>198</a>
|
||||
<a name='L199'></a><a href='#L199'>199</a>
|
||||
<a name='L200'></a><a href='#L200'>200</a>
|
||||
<a name='L201'></a><a href='#L201'>201</a>
|
||||
<a name='L202'></a><a href='#L202'>202</a>
|
||||
<a name='L203'></a><a href='#L203'>203</a>
|
||||
<a name='L204'></a><a href='#L204'>204</a>
|
||||
<a name='L205'></a><a href='#L205'>205</a>
|
||||
<a name='L206'></a><a href='#L206'>206</a>
|
||||
<a name='L207'></a><a href='#L207'>207</a>
|
||||
<a name='L208'></a><a href='#L208'>208</a>
|
||||
<a name='L209'></a><a href='#L209'>209</a>
|
||||
<a name='L210'></a><a href='#L210'>210</a>
|
||||
<a name='L211'></a><a href='#L211'>211</a>
|
||||
<a name='L212'></a><a href='#L212'>212</a>
|
||||
<a name='L213'></a><a href='#L213'>213</a>
|
||||
<a name='L214'></a><a href='#L214'>214</a>
|
||||
<a name='L215'></a><a href='#L215'>215</a>
|
||||
<a name='L216'></a><a href='#L216'>216</a>
|
||||
<a name='L217'></a><a href='#L217'>217</a>
|
||||
<a name='L218'></a><a href='#L218'>218</a>
|
||||
<a name='L219'></a><a href='#L219'>219</a>
|
||||
<a name='L220'></a><a href='#L220'>220</a>
|
||||
<a name='L221'></a><a href='#L221'>221</a>
|
||||
<a name='L222'></a><a href='#L222'>222</a>
|
||||
<a name='L223'></a><a href='#L223'>223</a>
|
||||
<a name='L224'></a><a href='#L224'>224</a>
|
||||
<a name='L225'></a><a href='#L225'>225</a>
|
||||
<a name='L226'></a><a href='#L226'>226</a>
|
||||
<a name='L227'></a><a href='#L227'>227</a>
|
||||
<a name='L228'></a><a href='#L228'>228</a>
|
||||
<a name='L229'></a><a href='#L229'>229</a>
|
||||
<a name='L230'></a><a href='#L230'>230</a>
|
||||
<a name='L231'></a><a href='#L231'>231</a>
|
||||
<a name='L232'></a><a href='#L232'>232</a>
|
||||
<a name='L233'></a><a href='#L233'>233</a>
|
||||
<a name='L234'></a><a href='#L234'>234</a>
|
||||
<a name='L235'></a><a href='#L235'>235</a>
|
||||
<a name='L236'></a><a href='#L236'>236</a>
|
||||
<a name='L237'></a><a href='#L237'>237</a>
|
||||
<a name='L238'></a><a href='#L238'>238</a>
|
||||
<a name='L239'></a><a href='#L239'>239</a>
|
||||
<a name='L240'></a><a href='#L240'>240</a>
|
||||
<a name='L241'></a><a href='#L241'>241</a>
|
||||
<a name='L242'></a><a href='#L242'>242</a>
|
||||
<a name='L243'></a><a href='#L243'>243</a>
|
||||
<a name='L244'></a><a href='#L244'>244</a>
|
||||
<a name='L245'></a><a href='#L245'>245</a>
|
||||
<a name='L246'></a><a href='#L246'>246</a>
|
||||
<a name='L247'></a><a href='#L247'>247</a>
|
||||
<a name='L248'></a><a href='#L248'>248</a>
|
||||
<a name='L249'></a><a href='#L249'>249</a>
|
||||
<a name='L250'></a><a href='#L250'>250</a>
|
||||
<a name='L251'></a><a href='#L251'>251</a>
|
||||
<a name='L252'></a><a href='#L252'>252</a>
|
||||
<a name='L253'></a><a href='#L253'>253</a>
|
||||
<a name='L254'></a><a href='#L254'>254</a>
|
||||
<a name='L255'></a><a href='#L255'>255</a>
|
||||
<a name='L256'></a><a href='#L256'>256</a>
|
||||
<a name='L257'></a><a href='#L257'>257</a>
|
||||
<a name='L258'></a><a href='#L258'>258</a>
|
||||
<a name='L259'></a><a href='#L259'>259</a>
|
||||
<a name='L260'></a><a href='#L260'>260</a>
|
||||
<a name='L261'></a><a href='#L261'>261</a>
|
||||
<a name='L262'></a><a href='#L262'>262</a>
|
||||
<a name='L263'></a><a href='#L263'>263</a>
|
||||
<a name='L264'></a><a href='#L264'>264</a>
|
||||
<a name='L265'></a><a href='#L265'>265</a>
|
||||
<a name='L266'></a><a href='#L266'>266</a>
|
||||
<a name='L267'></a><a href='#L267'>267</a>
|
||||
<a name='L268'></a><a href='#L268'>268</a>
|
||||
<a name='L269'></a><a href='#L269'>269</a>
|
||||
<a name='L270'></a><a href='#L270'>270</a>
|
||||
<a name='L271'></a><a href='#L271'>271</a>
|
||||
<a name='L272'></a><a href='#L272'>272</a>
|
||||
<a name='L273'></a><a href='#L273'>273</a>
|
||||
<a name='L274'></a><a href='#L274'>274</a>
|
||||
<a name='L275'></a><a href='#L275'>275</a>
|
||||
<a name='L276'></a><a href='#L276'>276</a>
|
||||
<a name='L277'></a><a href='#L277'>277</a>
|
||||
<a name='L278'></a><a href='#L278'>278</a>
|
||||
<a name='L279'></a><a href='#L279'>279</a>
|
||||
<a name='L280'></a><a href='#L280'>280</a>
|
||||
<a name='L281'></a><a href='#L281'>281</a>
|
||||
<a name='L282'></a><a href='#L282'>282</a>
|
||||
<a name='L283'></a><a href='#L283'>283</a>
|
||||
<a name='L284'></a><a href='#L284'>284</a>
|
||||
<a name='L285'></a><a href='#L285'>285</a>
|
||||
<a name='L286'></a><a href='#L286'>286</a>
|
||||
<a name='L287'></a><a href='#L287'>287</a>
|
||||
<a name='L288'></a><a href='#L288'>288</a>
|
||||
<a name='L289'></a><a href='#L289'>289</a>
|
||||
<a name='L290'></a><a href='#L290'>290</a>
|
||||
<a name='L291'></a><a href='#L291'>291</a>
|
||||
<a name='L292'></a><a href='#L292'>292</a>
|
||||
<a name='L293'></a><a href='#L293'>293</a>
|
||||
<a name='L294'></a><a href='#L294'>294</a>
|
||||
<a name='L295'></a><a href='#L295'>295</a>
|
||||
<a name='L296'></a><a href='#L296'>296</a>
|
||||
<a name='L297'></a><a href='#L297'>297</a>
|
||||
<a name='L298'></a><a href='#L298'>298</a>
|
||||
<a name='L299'></a><a href='#L299'>299</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useEffect } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
Card,
|
||||
CardContent,
|
||||
Chip,
|
||||
Alert,
|
||||
Button,
|
||||
Accordion,
|
||||
AccordionSummary,
|
||||
AccordionDetails,
|
||||
CircularProgress,
|
||||
} from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
ExpandMore,
|
||||
LocationOn,
|
||||
Warning,
|
||||
CheckCircle,
|
||||
Error,
|
||||
Public,
|
||||
Business,
|
||||
Home,
|
||||
} from '@mui/icons-material'
|
||||
import type { ChipProps } from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import { useAppDispatch, useAppSelector } from '../store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { getContextData } from '../store/documentSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Layout } from '../components/Layout'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function ContexteView() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const dispatch = useAppDispatch()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const { currentDocument, contextResult, loading } = useAppSelector(</span>
|
||||
<span class="cstat-no" title="statement not covered" > (state) => state.document</span>
|
||||
<span class="cstat-no" title="statement not covered" > )</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (currentDocument && !contextResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > dispatch(getContextData(currentDocument.id))</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, [currentDocument, contextResult, dispatch])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!currentDocument) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Veuillez d'abord téléverser et sélectionner un document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (loading) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', justifyContent: 'center', mt: 4 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CircularProgress /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography sx={{ ml: 2 }}>Recherche d'informations contextuelles...</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!contextResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="warning"></span>
|
||||
Aucune donnée contextuelle disponible.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getStatusIcon = (hasData: boolean) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return hasData ? <CheckCircle color="success" /> : <Error color="error" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getStatusColor = (hasData: boolean): ChipProps['color'] => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return hasData ? 'success' : 'error'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" gutterBottom></span>
|
||||
Informations contextuelles
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}></span>
|
||||
{/* Résumé des sources */}
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Sources de données consultées
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={getStatusIcon(!!contextResult.cadastreData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label="Cadastre"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.cadastreData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={getStatusIcon(!!contextResult.georisquesData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label="Géorisques"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.georisquesData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={getStatusIcon(!!contextResult.geofoncierData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label="Géofoncier"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.geofoncierData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={getStatusIcon(!!contextResult.bodaccData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label="BODACC"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.bodaccData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={getStatusIcon(!!contextResult.infogreffeData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label="Infogreffe"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.infogreffeData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" color="text.secondary" sx={{ mt: 1, display: 'block' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > Dernière mise à jour: {new Date(contextResult.lastUpdated).toLocaleString()}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
|
||||
{/* Données cadastrales */}
|
||||
<span class="cstat-no" title="statement not covered" > <Accordion></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionSummary expandIcon={<ExpandMore />}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Home sx={{ mr: 1 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">Données cadastrales</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={contextResult.cadastreData ? 'Disponible' : 'Non disponible'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.cadastreData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ ml: 2 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionSummary></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contextResult.cadastreData ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {JSON.stringify(contextResult.cadastreData, null, 2)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Aucune donnée cadastrale trouvée pour ce document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Accordion></span>
|
||||
|
||||
{/* Données Géorisques */}
|
||||
<span class="cstat-no" title="statement not covered" > <Accordion></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionSummary expandIcon={<ExpandMore />}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Warning sx={{ mr: 1 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">Données Géorisques</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={contextResult.georisquesData ? 'Disponible' : 'Non disponible'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.georisquesData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ ml: 2 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionSummary></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contextResult.georisquesData ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {JSON.stringify(contextResult.georisquesData, null, 2)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Aucune donnée Géorisques trouvée pour ce document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Accordion></span>
|
||||
|
||||
{/* Données Géofoncier */}
|
||||
<span class="cstat-no" title="statement not covered" > <Accordion></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionSummary expandIcon={<ExpandMore />}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <LocationOn sx={{ mr: 1 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">Données Géofoncier</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={contextResult.geofoncierData ? 'Disponible' : 'Non disponible'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.geofoncierData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ ml: 2 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionSummary></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contextResult.geofoncierData ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {JSON.stringify(contextResult.geofoncierData, null, 2)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Aucune donnée Géofoncier trouvée pour ce document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Accordion></span>
|
||||
|
||||
{/* Données BODACC */}
|
||||
<span class="cstat-no" title="statement not covered" > <Accordion></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionSummary expandIcon={<ExpandMore />}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Public sx={{ mr: 1 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">Données BODACC</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={contextResult.bodaccData ? 'Disponible' : 'Non disponible'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.bodaccData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ ml: 2 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionSummary></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contextResult.bodaccData ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {JSON.stringify(contextResult.bodaccData, null, 2)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Aucune donnée BODACC trouvée pour ce document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Accordion></span>
|
||||
|
||||
{/* Données Infogreffe */}
|
||||
<span class="cstat-no" title="statement not covered" > <Accordion></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionSummary expandIcon={<ExpandMore />}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', alignItems: 'center' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Business sx={{ mr: 1 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6">Données Infogreffe</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={contextResult.infogreffeData ? 'Disponible' : 'Non disponible'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(!!contextResult.infogreffeData)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{ ml: 2 }}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionSummary></span>
|
||||
<span class="cstat-no" title="statement not covered" > <AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contextResult.infogreffeData ? (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {JSON.stringify(contextResult.infogreffeData, null, 2)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
) : (
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Aucune donnée Infogreffe trouvée pour ce document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </AccordionDetails></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Accordion></span>
|
||||
|
||||
{/* Actions */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Actions
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="contained"</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => dispatch(getContextData(currentDocument.id))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={loading}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Actualiser les données
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button variant="outlined"></span>
|
||||
Exporter le rapport
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
946
coverage/4NK_IA_front/src/views/ExtractionView.tsx.html
Normal file
946
coverage/4NK_IA_front/src/views/ExtractionView.tsx.html
Normal file
@ -0,0 +1,946 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views/ExtractionView.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/views</a> ExtractionView.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/230</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/230</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a>
|
||||
<a name='L172'></a><a href='#L172'>172</a>
|
||||
<a name='L173'></a><a href='#L173'>173</a>
|
||||
<a name='L174'></a><a href='#L174'>174</a>
|
||||
<a name='L175'></a><a href='#L175'>175</a>
|
||||
<a name='L176'></a><a href='#L176'>176</a>
|
||||
<a name='L177'></a><a href='#L177'>177</a>
|
||||
<a name='L178'></a><a href='#L178'>178</a>
|
||||
<a name='L179'></a><a href='#L179'>179</a>
|
||||
<a name='L180'></a><a href='#L180'>180</a>
|
||||
<a name='L181'></a><a href='#L181'>181</a>
|
||||
<a name='L182'></a><a href='#L182'>182</a>
|
||||
<a name='L183'></a><a href='#L183'>183</a>
|
||||
<a name='L184'></a><a href='#L184'>184</a>
|
||||
<a name='L185'></a><a href='#L185'>185</a>
|
||||
<a name='L186'></a><a href='#L186'>186</a>
|
||||
<a name='L187'></a><a href='#L187'>187</a>
|
||||
<a name='L188'></a><a href='#L188'>188</a>
|
||||
<a name='L189'></a><a href='#L189'>189</a>
|
||||
<a name='L190'></a><a href='#L190'>190</a>
|
||||
<a name='L191'></a><a href='#L191'>191</a>
|
||||
<a name='L192'></a><a href='#L192'>192</a>
|
||||
<a name='L193'></a><a href='#L193'>193</a>
|
||||
<a name='L194'></a><a href='#L194'>194</a>
|
||||
<a name='L195'></a><a href='#L195'>195</a>
|
||||
<a name='L196'></a><a href='#L196'>196</a>
|
||||
<a name='L197'></a><a href='#L197'>197</a>
|
||||
<a name='L198'></a><a href='#L198'>198</a>
|
||||
<a name='L199'></a><a href='#L199'>199</a>
|
||||
<a name='L200'></a><a href='#L200'>200</a>
|
||||
<a name='L201'></a><a href='#L201'>201</a>
|
||||
<a name='L202'></a><a href='#L202'>202</a>
|
||||
<a name='L203'></a><a href='#L203'>203</a>
|
||||
<a name='L204'></a><a href='#L204'>204</a>
|
||||
<a name='L205'></a><a href='#L205'>205</a>
|
||||
<a name='L206'></a><a href='#L206'>206</a>
|
||||
<a name='L207'></a><a href='#L207'>207</a>
|
||||
<a name='L208'></a><a href='#L208'>208</a>
|
||||
<a name='L209'></a><a href='#L209'>209</a>
|
||||
<a name='L210'></a><a href='#L210'>210</a>
|
||||
<a name='L211'></a><a href='#L211'>211</a>
|
||||
<a name='L212'></a><a href='#L212'>212</a>
|
||||
<a name='L213'></a><a href='#L213'>213</a>
|
||||
<a name='L214'></a><a href='#L214'>214</a>
|
||||
<a name='L215'></a><a href='#L215'>215</a>
|
||||
<a name='L216'></a><a href='#L216'>216</a>
|
||||
<a name='L217'></a><a href='#L217'>217</a>
|
||||
<a name='L218'></a><a href='#L218'>218</a>
|
||||
<a name='L219'></a><a href='#L219'>219</a>
|
||||
<a name='L220'></a><a href='#L220'>220</a>
|
||||
<a name='L221'></a><a href='#L221'>221</a>
|
||||
<a name='L222'></a><a href='#L222'>222</a>
|
||||
<a name='L223'></a><a href='#L223'>223</a>
|
||||
<a name='L224'></a><a href='#L224'>224</a>
|
||||
<a name='L225'></a><a href='#L225'>225</a>
|
||||
<a name='L226'></a><a href='#L226'>226</a>
|
||||
<a name='L227'></a><a href='#L227'>227</a>
|
||||
<a name='L228'></a><a href='#L228'>228</a>
|
||||
<a name='L229'></a><a href='#L229'>229</a>
|
||||
<a name='L230'></a><a href='#L230'>230</a>
|
||||
<a name='L231'></a><a href='#L231'>231</a>
|
||||
<a name='L232'></a><a href='#L232'>232</a>
|
||||
<a name='L233'></a><a href='#L233'>233</a>
|
||||
<a name='L234'></a><a href='#L234'>234</a>
|
||||
<a name='L235'></a><a href='#L235'>235</a>
|
||||
<a name='L236'></a><a href='#L236'>236</a>
|
||||
<a name='L237'></a><a href='#L237'>237</a>
|
||||
<a name='L238'></a><a href='#L238'>238</a>
|
||||
<a name='L239'></a><a href='#L239'>239</a>
|
||||
<a name='L240'></a><a href='#L240'>240</a>
|
||||
<a name='L241'></a><a href='#L241'>241</a>
|
||||
<a name='L242'></a><a href='#L242'>242</a>
|
||||
<a name='L243'></a><a href='#L243'>243</a>
|
||||
<a name='L244'></a><a href='#L244'>244</a>
|
||||
<a name='L245'></a><a href='#L245'>245</a>
|
||||
<a name='L246'></a><a href='#L246'>246</a>
|
||||
<a name='L247'></a><a href='#L247'>247</a>
|
||||
<a name='L248'></a><a href='#L248'>248</a>
|
||||
<a name='L249'></a><a href='#L249'>249</a>
|
||||
<a name='L250'></a><a href='#L250'>250</a>
|
||||
<a name='L251'></a><a href='#L251'>251</a>
|
||||
<a name='L252'></a><a href='#L252'>252</a>
|
||||
<a name='L253'></a><a href='#L253'>253</a>
|
||||
<a name='L254'></a><a href='#L254'>254</a>
|
||||
<a name='L255'></a><a href='#L255'>255</a>
|
||||
<a name='L256'></a><a href='#L256'>256</a>
|
||||
<a name='L257'></a><a href='#L257'>257</a>
|
||||
<a name='L258'></a><a href='#L258'>258</a>
|
||||
<a name='L259'></a><a href='#L259'>259</a>
|
||||
<a name='L260'></a><a href='#L260'>260</a>
|
||||
<a name='L261'></a><a href='#L261'>261</a>
|
||||
<a name='L262'></a><a href='#L262'>262</a>
|
||||
<a name='L263'></a><a href='#L263'>263</a>
|
||||
<a name='L264'></a><a href='#L264'>264</a>
|
||||
<a name='L265'></a><a href='#L265'>265</a>
|
||||
<a name='L266'></a><a href='#L266'>266</a>
|
||||
<a name='L267'></a><a href='#L267'>267</a>
|
||||
<a name='L268'></a><a href='#L268'>268</a>
|
||||
<a name='L269'></a><a href='#L269'>269</a>
|
||||
<a name='L270'></a><a href='#L270'>270</a>
|
||||
<a name='L271'></a><a href='#L271'>271</a>
|
||||
<a name='L272'></a><a href='#L272'>272</a>
|
||||
<a name='L273'></a><a href='#L273'>273</a>
|
||||
<a name='L274'></a><a href='#L274'>274</a>
|
||||
<a name='L275'></a><a href='#L275'>275</a>
|
||||
<a name='L276'></a><a href='#L276'>276</a>
|
||||
<a name='L277'></a><a href='#L277'>277</a>
|
||||
<a name='L278'></a><a href='#L278'>278</a>
|
||||
<a name='L279'></a><a href='#L279'>279</a>
|
||||
<a name='L280'></a><a href='#L280'>280</a>
|
||||
<a name='L281'></a><a href='#L281'>281</a>
|
||||
<a name='L282'></a><a href='#L282'>282</a>
|
||||
<a name='L283'></a><a href='#L283'>283</a>
|
||||
<a name='L284'></a><a href='#L284'>284</a>
|
||||
<a name='L285'></a><a href='#L285'>285</a>
|
||||
<a name='L286'></a><a href='#L286'>286</a>
|
||||
<a name='L287'></a><a href='#L287'>287</a>
|
||||
<a name='L288'></a><a href='#L288'>288</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useEffect } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
Card,
|
||||
CardContent,
|
||||
Chip,
|
||||
List,
|
||||
ListItem,
|
||||
ListItemText,
|
||||
Alert,
|
||||
CircularProgress,
|
||||
} from '@mui/material'
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
Person,
|
||||
LocationOn,
|
||||
Home,
|
||||
Description,
|
||||
Language,
|
||||
Verified,
|
||||
} from '@mui/icons-material'
|
||||
<span class="cstat-no" title="statement not covered" >import { useAppDispatch, useAppSelector } from '../store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { extractDocument } from '../store/documentSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Layout } from '../components/Layout'</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function ExtractionView() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const dispatch = useAppDispatch()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const { currentDocument, extractionResult, loading } = useAppSelector(</span>
|
||||
<span class="cstat-no" title="statement not covered" > (state) => state.document</span>
|
||||
<span class="cstat-no" title="statement not covered" > )</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (currentDocument && !extractionResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > dispatch(extractDocument(currentDocument.id))</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }, [currentDocument, extractionResult, dispatch])</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!currentDocument) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="info"></span>
|
||||
Veuillez d'abord téléverser et sélectionner un document.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (loading) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', justifyContent: 'center', mt: 4 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CircularProgress /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography sx={{ ml: 2 }}>Extraction en cours...</Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!extractionResult) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="warning"></span>
|
||||
Aucun résultat d'extraction disponible.
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" gutterBottom></span>
|
||||
Extraction des données
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}></span>
|
||||
{/* Informations générales */}
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Informations générales
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Language />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Langue: ${extractionResult.language}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="primary"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Description />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Type: ${extractionResult.documentType}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color="secondary"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > icon={<Verified />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`Confiance: ${(extractionResult.confidence * 100).toFixed(1)}%`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={extractionResult.confidence > 0.8 ? 'success' : 'warning'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}></span>
|
||||
{/* Identités */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Person sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Identités ({extractionResult.identities?.length || 0})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(extractionResult.identities || []).map((identity, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > identity.type === 'person'</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? `${identity.firstName} ${identity.lastName}`</span>
|
||||
<span class="cstat-no" title="statement not covered" > : identity.companyName</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Type: {identity.type}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > {identity.birthDate && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Naissance: {identity.birthDate}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > {identity.nationality && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Nationalité: {identity.nationality}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Confiance: {(identity.confidence * 100).toFixed(1)}%</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Adresses */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <LocationOn sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Adresses ({extractionResult.addresses?.length || 0})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(extractionResult.addresses || []).map((address, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={`${address.street}, ${address.city}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={`${address.postalCode} ${address.country}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}></span>
|
||||
{/* Biens */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Home sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Biens ({extractionResult.properties?.length || 0})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(extractionResult.properties || []).map((property, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={`${property.type} - ${property.address.city}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > {property.address.street}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > {property.surface && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Surface: {property.surface} m²</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > {property.cadastralReference && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Cadastre: {property.cadastralReference}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Contrats */}
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ flex: '1 1 300px' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Description sx={{ mr: 1, verticalAlign: 'middle' }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > Contrats ({extractionResult.contracts?.length || 0})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(extractionResult.contracts || []).map((contract, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText</span>
|
||||
<span class="cstat-no" title="statement not covered" > primary={`${contract.type} - ${contract.amount ? `${contract.amount}€` : 'Montant non spécifié'}`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > secondary={</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Parties: {contract.parties.length}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > {contract.date && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Date: {contract.date}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="caption" display="block"></span>
|
||||
<span class="cstat-no" title="statement not covered" > Clauses: {contract.clauses.length}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
{/* Signatures */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > Signatures détectées ({extractionResult.signatures?.length || 0})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <List dense></span>
|
||||
<span class="cstat-no" title="statement not covered" > {(extractionResult.signatures || []).map((signature, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItem key={index}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <ListItemText primary={signature} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </ListItem></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </List></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
|
||||
{/* Texte extrait */}
|
||||
<span class="cstat-no" title="statement not covered" > <Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
Texte extrait
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Paper</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > p: 2,</span>
|
||||
<span class="cstat-no" title="statement not covered" > bgcolor: 'grey.50',</span>
|
||||
<span class="cstat-no" title="statement not covered" > maxHeight: 300,</span>
|
||||
<span class="cstat-no" title="statement not covered" > overflow: 'auto',</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" sx={{ whiteSpace: 'pre-wrap' }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {extractionResult.text}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
<span class="cstat-no" title="statement not covered" > </CardContent></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Card></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span></pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
595
coverage/4NK_IA_front/src/views/UploadView.tsx.html
Normal file
595
coverage/4NK_IA_front/src/views/UploadView.tsx.html
Normal file
@ -0,0 +1,595 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views/UploadView.tsx</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> / <a href="index.html">4NK_IA_front/src/views</a> UploadView.tsx</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/142</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/1</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/142</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
||||
<a name='L2'></a><a href='#L2'>2</a>
|
||||
<a name='L3'></a><a href='#L3'>3</a>
|
||||
<a name='L4'></a><a href='#L4'>4</a>
|
||||
<a name='L5'></a><a href='#L5'>5</a>
|
||||
<a name='L6'></a><a href='#L6'>6</a>
|
||||
<a name='L7'></a><a href='#L7'>7</a>
|
||||
<a name='L8'></a><a href='#L8'>8</a>
|
||||
<a name='L9'></a><a href='#L9'>9</a>
|
||||
<a name='L10'></a><a href='#L10'>10</a>
|
||||
<a name='L11'></a><a href='#L11'>11</a>
|
||||
<a name='L12'></a><a href='#L12'>12</a>
|
||||
<a name='L13'></a><a href='#L13'>13</a>
|
||||
<a name='L14'></a><a href='#L14'>14</a>
|
||||
<a name='L15'></a><a href='#L15'>15</a>
|
||||
<a name='L16'></a><a href='#L16'>16</a>
|
||||
<a name='L17'></a><a href='#L17'>17</a>
|
||||
<a name='L18'></a><a href='#L18'>18</a>
|
||||
<a name='L19'></a><a href='#L19'>19</a>
|
||||
<a name='L20'></a><a href='#L20'>20</a>
|
||||
<a name='L21'></a><a href='#L21'>21</a>
|
||||
<a name='L22'></a><a href='#L22'>22</a>
|
||||
<a name='L23'></a><a href='#L23'>23</a>
|
||||
<a name='L24'></a><a href='#L24'>24</a>
|
||||
<a name='L25'></a><a href='#L25'>25</a>
|
||||
<a name='L26'></a><a href='#L26'>26</a>
|
||||
<a name='L27'></a><a href='#L27'>27</a>
|
||||
<a name='L28'></a><a href='#L28'>28</a>
|
||||
<a name='L29'></a><a href='#L29'>29</a>
|
||||
<a name='L30'></a><a href='#L30'>30</a>
|
||||
<a name='L31'></a><a href='#L31'>31</a>
|
||||
<a name='L32'></a><a href='#L32'>32</a>
|
||||
<a name='L33'></a><a href='#L33'>33</a>
|
||||
<a name='L34'></a><a href='#L34'>34</a>
|
||||
<a name='L35'></a><a href='#L35'>35</a>
|
||||
<a name='L36'></a><a href='#L36'>36</a>
|
||||
<a name='L37'></a><a href='#L37'>37</a>
|
||||
<a name='L38'></a><a href='#L38'>38</a>
|
||||
<a name='L39'></a><a href='#L39'>39</a>
|
||||
<a name='L40'></a><a href='#L40'>40</a>
|
||||
<a name='L41'></a><a href='#L41'>41</a>
|
||||
<a name='L42'></a><a href='#L42'>42</a>
|
||||
<a name='L43'></a><a href='#L43'>43</a>
|
||||
<a name='L44'></a><a href='#L44'>44</a>
|
||||
<a name='L45'></a><a href='#L45'>45</a>
|
||||
<a name='L46'></a><a href='#L46'>46</a>
|
||||
<a name='L47'></a><a href='#L47'>47</a>
|
||||
<a name='L48'></a><a href='#L48'>48</a>
|
||||
<a name='L49'></a><a href='#L49'>49</a>
|
||||
<a name='L50'></a><a href='#L50'>50</a>
|
||||
<a name='L51'></a><a href='#L51'>51</a>
|
||||
<a name='L52'></a><a href='#L52'>52</a>
|
||||
<a name='L53'></a><a href='#L53'>53</a>
|
||||
<a name='L54'></a><a href='#L54'>54</a>
|
||||
<a name='L55'></a><a href='#L55'>55</a>
|
||||
<a name='L56'></a><a href='#L56'>56</a>
|
||||
<a name='L57'></a><a href='#L57'>57</a>
|
||||
<a name='L58'></a><a href='#L58'>58</a>
|
||||
<a name='L59'></a><a href='#L59'>59</a>
|
||||
<a name='L60'></a><a href='#L60'>60</a>
|
||||
<a name='L61'></a><a href='#L61'>61</a>
|
||||
<a name='L62'></a><a href='#L62'>62</a>
|
||||
<a name='L63'></a><a href='#L63'>63</a>
|
||||
<a name='L64'></a><a href='#L64'>64</a>
|
||||
<a name='L65'></a><a href='#L65'>65</a>
|
||||
<a name='L66'></a><a href='#L66'>66</a>
|
||||
<a name='L67'></a><a href='#L67'>67</a>
|
||||
<a name='L68'></a><a href='#L68'>68</a>
|
||||
<a name='L69'></a><a href='#L69'>69</a>
|
||||
<a name='L70'></a><a href='#L70'>70</a>
|
||||
<a name='L71'></a><a href='#L71'>71</a>
|
||||
<a name='L72'></a><a href='#L72'>72</a>
|
||||
<a name='L73'></a><a href='#L73'>73</a>
|
||||
<a name='L74'></a><a href='#L74'>74</a>
|
||||
<a name='L75'></a><a href='#L75'>75</a>
|
||||
<a name='L76'></a><a href='#L76'>76</a>
|
||||
<a name='L77'></a><a href='#L77'>77</a>
|
||||
<a name='L78'></a><a href='#L78'>78</a>
|
||||
<a name='L79'></a><a href='#L79'>79</a>
|
||||
<a name='L80'></a><a href='#L80'>80</a>
|
||||
<a name='L81'></a><a href='#L81'>81</a>
|
||||
<a name='L82'></a><a href='#L82'>82</a>
|
||||
<a name='L83'></a><a href='#L83'>83</a>
|
||||
<a name='L84'></a><a href='#L84'>84</a>
|
||||
<a name='L85'></a><a href='#L85'>85</a>
|
||||
<a name='L86'></a><a href='#L86'>86</a>
|
||||
<a name='L87'></a><a href='#L87'>87</a>
|
||||
<a name='L88'></a><a href='#L88'>88</a>
|
||||
<a name='L89'></a><a href='#L89'>89</a>
|
||||
<a name='L90'></a><a href='#L90'>90</a>
|
||||
<a name='L91'></a><a href='#L91'>91</a>
|
||||
<a name='L92'></a><a href='#L92'>92</a>
|
||||
<a name='L93'></a><a href='#L93'>93</a>
|
||||
<a name='L94'></a><a href='#L94'>94</a>
|
||||
<a name='L95'></a><a href='#L95'>95</a>
|
||||
<a name='L96'></a><a href='#L96'>96</a>
|
||||
<a name='L97'></a><a href='#L97'>97</a>
|
||||
<a name='L98'></a><a href='#L98'>98</a>
|
||||
<a name='L99'></a><a href='#L99'>99</a>
|
||||
<a name='L100'></a><a href='#L100'>100</a>
|
||||
<a name='L101'></a><a href='#L101'>101</a>
|
||||
<a name='L102'></a><a href='#L102'>102</a>
|
||||
<a name='L103'></a><a href='#L103'>103</a>
|
||||
<a name='L104'></a><a href='#L104'>104</a>
|
||||
<a name='L105'></a><a href='#L105'>105</a>
|
||||
<a name='L106'></a><a href='#L106'>106</a>
|
||||
<a name='L107'></a><a href='#L107'>107</a>
|
||||
<a name='L108'></a><a href='#L108'>108</a>
|
||||
<a name='L109'></a><a href='#L109'>109</a>
|
||||
<a name='L110'></a><a href='#L110'>110</a>
|
||||
<a name='L111'></a><a href='#L111'>111</a>
|
||||
<a name='L112'></a><a href='#L112'>112</a>
|
||||
<a name='L113'></a><a href='#L113'>113</a>
|
||||
<a name='L114'></a><a href='#L114'>114</a>
|
||||
<a name='L115'></a><a href='#L115'>115</a>
|
||||
<a name='L116'></a><a href='#L116'>116</a>
|
||||
<a name='L117'></a><a href='#L117'>117</a>
|
||||
<a name='L118'></a><a href='#L118'>118</a>
|
||||
<a name='L119'></a><a href='#L119'>119</a>
|
||||
<a name='L120'></a><a href='#L120'>120</a>
|
||||
<a name='L121'></a><a href='#L121'>121</a>
|
||||
<a name='L122'></a><a href='#L122'>122</a>
|
||||
<a name='L123'></a><a href='#L123'>123</a>
|
||||
<a name='L124'></a><a href='#L124'>124</a>
|
||||
<a name='L125'></a><a href='#L125'>125</a>
|
||||
<a name='L126'></a><a href='#L126'>126</a>
|
||||
<a name='L127'></a><a href='#L127'>127</a>
|
||||
<a name='L128'></a><a href='#L128'>128</a>
|
||||
<a name='L129'></a><a href='#L129'>129</a>
|
||||
<a name='L130'></a><a href='#L130'>130</a>
|
||||
<a name='L131'></a><a href='#L131'>131</a>
|
||||
<a name='L132'></a><a href='#L132'>132</a>
|
||||
<a name='L133'></a><a href='#L133'>133</a>
|
||||
<a name='L134'></a><a href='#L134'>134</a>
|
||||
<a name='L135'></a><a href='#L135'>135</a>
|
||||
<a name='L136'></a><a href='#L136'>136</a>
|
||||
<a name='L137'></a><a href='#L137'>137</a>
|
||||
<a name='L138'></a><a href='#L138'>138</a>
|
||||
<a name='L139'></a><a href='#L139'>139</a>
|
||||
<a name='L140'></a><a href='#L140'>140</a>
|
||||
<a name='L141'></a><a href='#L141'>141</a>
|
||||
<a name='L142'></a><a href='#L142'>142</a>
|
||||
<a name='L143'></a><a href='#L143'>143</a>
|
||||
<a name='L144'></a><a href='#L144'>144</a>
|
||||
<a name='L145'></a><a href='#L145'>145</a>
|
||||
<a name='L146'></a><a href='#L146'>146</a>
|
||||
<a name='L147'></a><a href='#L147'>147</a>
|
||||
<a name='L148'></a><a href='#L148'>148</a>
|
||||
<a name='L149'></a><a href='#L149'>149</a>
|
||||
<a name='L150'></a><a href='#L150'>150</a>
|
||||
<a name='L151'></a><a href='#L151'>151</a>
|
||||
<a name='L152'></a><a href='#L152'>152</a>
|
||||
<a name='L153'></a><a href='#L153'>153</a>
|
||||
<a name='L154'></a><a href='#L154'>154</a>
|
||||
<a name='L155'></a><a href='#L155'>155</a>
|
||||
<a name='L156'></a><a href='#L156'>156</a>
|
||||
<a name='L157'></a><a href='#L157'>157</a>
|
||||
<a name='L158'></a><a href='#L158'>158</a>
|
||||
<a name='L159'></a><a href='#L159'>159</a>
|
||||
<a name='L160'></a><a href='#L160'>160</a>
|
||||
<a name='L161'></a><a href='#L161'>161</a>
|
||||
<a name='L162'></a><a href='#L162'>162</a>
|
||||
<a name='L163'></a><a href='#L163'>163</a>
|
||||
<a name='L164'></a><a href='#L164'>164</a>
|
||||
<a name='L165'></a><a href='#L165'>165</a>
|
||||
<a name='L166'></a><a href='#L166'>166</a>
|
||||
<a name='L167'></a><a href='#L167'>167</a>
|
||||
<a name='L168'></a><a href='#L168'>168</a>
|
||||
<a name='L169'></a><a href='#L169'>169</a>
|
||||
<a name='L170'></a><a href='#L170'>170</a>
|
||||
<a name='L171'></a><a href='#L171'>171</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { useCallback, useState } from 'react'<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
||||
<span class="cstat-no" title="statement not covered" >import { useDropzone } from 'react-dropzone'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Box, Typography, Paper, CircularProgress, Alert, Button, Chip, Grid } from '@mui/material'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import {</span>
|
||||
CloudUpload,
|
||||
CheckCircle,
|
||||
Error,
|
||||
HourglassEmpty,
|
||||
Visibility,
|
||||
} from '@mui/icons-material'
|
||||
<span class="cstat-no" title="statement not covered" >import { useAppDispatch, useAppSelector } from '../store'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { uploadDocument } from '../store/documentSlice'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { Layout } from '../components/Layout'</span>
|
||||
<span class="cstat-no" title="statement not covered" >import { FilePreview } from '../components/FilePreview'</span>
|
||||
import type { Document } from '../types'
|
||||
|
||||
<span class="cstat-no" title="statement not covered" >export default function UploadView() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > const dispatch = useAppDispatch()</span>
|
||||
<span class="cstat-no" title="statement not covered" > const { documents, error } = useAppSelector((state) => state.document)</span>
|
||||
<span class="cstat-no" title="statement not covered" > const [previewDocument, setPreviewDocument] = useState<Document | null>(null)</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const onDrop = useCallback(</span>
|
||||
<span class="cstat-no" title="statement not covered" > (acceptedFiles: File[]) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > acceptedFiles.forEach((file) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > dispatch(uploadDocument(file))</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > [dispatch]</span>
|
||||
<span class="cstat-no" title="statement not covered" > )</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const { getRootProps, getInputProps, isDragActive } = useDropzone({</span>
|
||||
<span class="cstat-no" title="statement not covered" > onDrop,</span>
|
||||
<span class="cstat-no" title="statement not covered" > accept: {</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'application/pdf': ['.pdf'],</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'image/*': ['.png', '.jpg', '.jpeg', '.tiff'],</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'text/plain': ['.txt'],</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'text/markdown': ['.md'],</span>
|
||||
<span class="cstat-no" title="statement not covered" > 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': ['.docx'],</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > multiple: true,</span>
|
||||
<span class="cstat-no" title="statement not covered" > })</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getStatusIcon = (status: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > switch (status) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'completed':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <CheckCircle color="success" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'error':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <Error color="error" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'processing':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <CircularProgress size={20} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > default:</span>
|
||||
<span class="cstat-no" title="statement not covered" > return <HourglassEmpty color="action" /></span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > const getStatusColor = (status: string) => {</span>
|
||||
<span class="cstat-no" title="statement not covered" > switch (status) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'completed':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'success'</span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'error':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'error'</span>
|
||||
<span class="cstat-no" title="statement not covered" > case 'processing':</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'warning'</span>
|
||||
<span class="cstat-no" title="statement not covered" > default:</span>
|
||||
<span class="cstat-no" title="statement not covered" > return 'default'</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
<span class="cstat-no" title="statement not covered" > }</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Layout></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h4" gutterBottom></span>
|
||||
Téléversement de documents
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Paper</span>
|
||||
<span class="cstat-no" title="statement not covered" > {...getRootProps()}</span>
|
||||
<span class="cstat-no" title="statement not covered" > sx={{</span>
|
||||
<span class="cstat-no" title="statement not covered" > p: 4,</span>
|
||||
<span class="cstat-no" title="statement not covered" > textAlign: 'center',</span>
|
||||
<span class="cstat-no" title="statement not covered" > cursor: 'pointer',</span>
|
||||
<span class="cstat-no" title="statement not covered" > border: '2px dashed',</span>
|
||||
<span class="cstat-no" title="statement not covered" > borderColor: isDragActive ? 'primary.main' : 'grey.300',</span>
|
||||
<span class="cstat-no" title="statement not covered" > bgcolor: isDragActive ? 'action.hover' : 'background.paper',</span>
|
||||
<span class="cstat-no" title="statement not covered" > '&:hover': {</span>
|
||||
<span class="cstat-no" title="statement not covered" > borderColor: 'primary.main',</span>
|
||||
<span class="cstat-no" title="statement not covered" > bgcolor: 'action.hover',</span>
|
||||
<span class="cstat-no" title="statement not covered" > },</span>
|
||||
<span class="cstat-no" title="statement not covered" > }}</span>
|
||||
>
|
||||
<span class="cstat-no" title="statement not covered" > <input {...getInputProps()} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <CloudUpload sx={{ fontSize: 48, color: 'primary.main', mb: 2 }} /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > {isDragActive</span>
|
||||
<span class="cstat-no" title="statement not covered" > ? 'Déposez les fichiers ici...'</span>
|
||||
<span class="cstat-no" title="statement not covered" > : 'Glissez-déposez vos documents ou cliquez pour sélectionner'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="body2" color="text.secondary"></span>
|
||||
Formats acceptés: PDF, PNG, JPG, JPEG, TIFF, TXT, MD, DOCX
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > {error && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Alert severity="error" sx={{ mt: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {error}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Alert></span>
|
||||
)}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > {documents.length > 0 && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box sx={{ mt: 3 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="h6" gutterBottom></span>
|
||||
<span class="cstat-no" title="statement not covered" > Documents téléversés ({documents.length})</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Grid container spacing={2}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {documents.map((doc, index) => (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Grid size={{ xs: 12, md: 6 }} key={`${doc.id}-${index}`}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Paper sx={{ p: 2 }}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" justifyContent="space-between" alignItems="center" mb={2}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" alignItems="center" gap={1}></span>
|
||||
<span class="cstat-no" title="statement not covered" > {getStatusIcon(doc.status)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > <Typography variant="subtitle1" noWrap></span>
|
||||
<span class="cstat-no" title="statement not covered" > {doc.name}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Typography></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" gap={1}></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Button</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > startIcon={<Visibility />}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClick={() => setPreviewDocument(doc)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > disabled={doc.status !== 'completed'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > ></span>
|
||||
Aperçu
|
||||
<span class="cstat-no" title="statement not covered" > </Button></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > <Box display="flex" gap={1} flexWrap="wrap"></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={doc.type}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={doc.status}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > color={getStatusColor(doc.status) as 'success' | 'error' | 'warning' | 'default'}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > <Chip</span>
|
||||
<span class="cstat-no" title="statement not covered" > label={`${(doc.size / 1024 / 1024).toFixed(2)} MB`}</span>
|
||||
<span class="cstat-no" title="statement not covered" > size="small"</span>
|
||||
<span class="cstat-no" title="statement not covered" > variant="outlined"</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Paper></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Grid></span>
|
||||
<span class="cstat-no" title="statement not covered" > ))}</span>
|
||||
<span class="cstat-no" title="statement not covered" > </Grid></span>
|
||||
<span class="cstat-no" title="statement not covered" > </Box></span>
|
||||
)}
|
||||
|
||||
{/* Aperçu du document */}
|
||||
<span class="cstat-no" title="statement not covered" > {previewDocument && (</span>
|
||||
<span class="cstat-no" title="statement not covered" > <FilePreview</span>
|
||||
<span class="cstat-no" title="statement not covered" > document={previewDocument}</span>
|
||||
<span class="cstat-no" title="statement not covered" > onClose={() => setPreviewDocument(null)}</span>
|
||||
<span class="cstat-no" title="statement not covered" > /></span>
|
||||
)}
|
||||
<span class="cstat-no" title="statement not covered" > </Layout></span>
|
||||
)
|
||||
<span class="cstat-no" title="statement not covered" >}</span>
|
||||
</pre></td></tr></table></pre>
|
||||
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
176
coverage/4NK_IA_front/src/views/index.html
Normal file
176
coverage/4NK_IA_front/src/views/index.html
Normal file
@ -0,0 +1,176 @@
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Code coverage report for 4NK_IA_front/src/views</title>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="../../../prettify.css" />
|
||||
<link rel="stylesheet" href="../../../base.css" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type='text/css'>
|
||||
.coverage-summary .sorter {
|
||||
background-image: url(../../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class='wrapper'>
|
||||
<div class='pad1'>
|
||||
<h1><a href="../../../index.html">All files</a> 4NK_IA_front/src/views</h1>
|
||||
<div class='clearfix'>
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/978</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/5</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/5</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/978</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<p class="quiet">
|
||||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
||||
</p>
|
||||
<template id="filterTemplate">
|
||||
<div class="quiet">
|
||||
Filter:
|
||||
<input type="search" id="fileSearch">
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class='status-line low'></div>
|
||||
<div class="pad1">
|
||||
<table class="coverage-summary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="AnalyseView.tsx"><a href="AnalyseView.tsx.html">AnalyseView.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="191" class="abs low">0/191</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="191" class="abs low">0/191</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="ConseilView.tsx"><a href="ConseilView.tsx.html">ConseilView.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="187" class="abs low">0/187</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="187" class="abs low">0/187</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="ContexteView.tsx"><a href="ContexteView.tsx.html">ContexteView.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="228" class="abs low">0/228</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="228" class="abs low">0/228</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="ExtractionView.tsx"><a href="ExtractionView.tsx.html">ExtractionView.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="230" class="abs low">0/230</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="230" class="abs low">0/230</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="UploadView.tsx"><a href="UploadView.tsx.html">UploadView.tsx</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="142" class="abs low">0/142</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="142" class="abs low">0/142</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='push'></div><!-- for sticky footer -->
|
||||
</div><!-- /wrapper -->
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="../../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
prettyPrint();
|
||||
};
|
||||
</script>
|
||||
<script src="../../../sorter.js"></script>
|
||||
<script src="../../../block-navigation.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
1882
coverage/clover.xml
1882
coverage/clover.xml
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -25,28 +25,28 @@
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Statements</span>
|
||||
<span class='fraction'>0/36</span>
|
||||
<span class='fraction'>0/1753</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="strong">5.55% </span>
|
||||
<span class="quiet">Branches</span>
|
||||
<span class='fraction'>0/2</span>
|
||||
<span class='fraction'>1/18</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="strong">5.55% </span>
|
||||
<span class="quiet">Functions</span>
|
||||
<span class='fraction'>0/2</span>
|
||||
<span class='fraction'>1/18</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='fl pad1y space-right2'>
|
||||
<span class="strong">0% </span>
|
||||
<span class="quiet">Lines</span>
|
||||
<span class='fraction'>0/36</span>
|
||||
<span class='fraction'>0/1753</span>
|
||||
</div>
|
||||
|
||||
|
||||
@ -79,33 +79,138 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="App.tsx"><a href="App.tsx.html">App.tsx</a></td>
|
||||
<td class="file low" data-value="4NK_IA_front"><a href="4NK_IA_front/index.html">4NK_IA_front</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="27" class="abs low">0/27</td>
|
||||
<td data-value="57" class="abs low">0/57</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="27" class="abs low">0/27</td>
|
||||
<td data-value="57" class="abs low">0/57</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="main.tsx"><a href="main.tsx.html">main.tsx</a></td>
|
||||
<td class="file low" data-value="4NK_IA_front/src"><a href="4NK_IA_front/src/index.html">4NK_IA_front/src</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="9" class="abs low">0/9</td>
|
||||
<td data-value="24" class="abs low">0/24</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="2" class="abs low">0/2</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="2" class="abs low">0/2</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="24" class="abs low">0/24</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/components"><a href="4NK_IA_front/src/components/index.html">4NK_IA_front/src/components</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="227" class="abs low">0/227</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="227" class="abs low">0/227</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/router"><a href="4NK_IA_front/src/router/index.html">4NK_IA_front/src/router</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="23" class="abs low">0/23</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="9" class="abs low">0/9</td>
|
||||
<td data-value="23" class="abs low">0/23</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/services"><a href="4NK_IA_front/src/services/index.html">4NK_IA_front/src/services</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="266" class="abs low">0/266</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="266" class="abs low">0/266</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/store"><a href="4NK_IA_front/src/store/index.html">4NK_IA_front/src/store</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="114" class="abs low">0/114</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">0/3</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="114" class="abs low">0/114</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/theme"><a href="4NK_IA_front/src/theme/index.html">4NK_IA_front/src/theme</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="64" class="abs low">0/64</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="1" class="abs low">0/1</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="64" class="abs low">0/64</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file empty" data-value="4NK_IA_front/src/types"><a href="4NK_IA_front/src/types/index.html">4NK_IA_front/src/types</a></td>
|
||||
<td data-value="0" class="pic empty">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="0" class="abs empty">0/0</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="1" class="abs empty">1/1</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="1" class="abs empty">1/1</td>
|
||||
<td data-value="0" class="pct empty">0%</td>
|
||||
<td data-value="0" class="abs empty">0/0</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="4NK_IA_front/src/views"><a href="4NK_IA_front/src/views/index.html">4NK_IA_front/src/views</a></td>
|
||||
<td data-value="0" class="pic low">
|
||||
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
||||
</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="978" class="abs low">0/978</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="5" class="abs low">0/5</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="5" class="abs low">0/5</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="978" class="abs low">0/978</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@ -116,7 +221,7 @@
|
||||
<div class='footer quiet pad2 space-top1 center small'>
|
||||
Code coverage generated by
|
||||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
||||
at 2025-09-10T15:15:07.789Z
|
||||
at 2025-09-11T09:40:00.754Z
|
||||
</div>
|
||||
<script src="prettify.js"></script>
|
||||
<script>
|
||||
|
||||
@ -6,7 +6,7 @@ import tseslint from 'typescript-eslint'
|
||||
import { globalIgnores } from 'eslint/config'
|
||||
|
||||
export default tseslint.config([
|
||||
globalIgnores(['dist']),
|
||||
globalIgnores(['dist', 'coverage']),
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
extends: [
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "4nk-ia-front4nk",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "4nk-ia-front4nk",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.14.0",
|
||||
"@emotion/styled": "^11.14.1",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "4nk-ia-front4nk",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@ -52,7 +52,7 @@ export const FilePreview: React.FC<FilePreviewProps> = ({ document, onClose }) =
|
||||
|
||||
const handleDownload = () => {
|
||||
if (document.previewUrl) {
|
||||
const link = document.createElement('a')
|
||||
const link = window.document.createElement('a')
|
||||
link.href = document.previewUrl
|
||||
link.download = document.name
|
||||
link.click()
|
||||
|
||||
@ -105,7 +105,7 @@ export const documentApi = {
|
||||
postalCode: "75001",
|
||||
country: "France"
|
||||
})) || [],
|
||||
properties: results.entities?.properties?.map((prop: string, index: number) => ({
|
||||
properties: results.entities?.properties?.map((_propertyName: string, index: number) => ({
|
||||
id: `prop-${index}`,
|
||||
type: "apartment" as const,
|
||||
address: {
|
||||
@ -129,7 +129,7 @@ export const documentApi = {
|
||||
signatures: results.entities?.persons || [],
|
||||
confidence: results.verification_score || 0.85
|
||||
}
|
||||
} catch (error) {
|
||||
} catch {
|
||||
// Données de démonstration
|
||||
return {
|
||||
documentId,
|
||||
@ -191,7 +191,7 @@ export const documentApi = {
|
||||
try {
|
||||
const { data } = await apiClient.get<AnalysisResult>(`/api/documents/${documentId}/analyze`)
|
||||
return data
|
||||
} catch (error) {
|
||||
} catch {
|
||||
// Données de démonstration
|
||||
return {
|
||||
documentId,
|
||||
@ -213,7 +213,7 @@ export const documentApi = {
|
||||
try {
|
||||
const { data } = await apiClient.get<ContextResult>(`/api/documents/${documentId}/context`)
|
||||
return data
|
||||
} catch (error) {
|
||||
} catch {
|
||||
// Données de démonstration
|
||||
return {
|
||||
documentId,
|
||||
@ -232,7 +232,7 @@ export const documentApi = {
|
||||
try {
|
||||
const { data } = await apiClient.get<ConseilResult>(`/api/documents/${documentId}/conseil`)
|
||||
return data
|
||||
} catch (error) {
|
||||
} catch {
|
||||
// Données de démonstration
|
||||
return {
|
||||
documentId,
|
||||
|
||||
@ -78,11 +78,11 @@ export interface AnalysisResult {
|
||||
|
||||
export interface ContextResult {
|
||||
documentId: string
|
||||
cadastreData?: any
|
||||
georisquesData?: any
|
||||
geofoncierData?: any
|
||||
bodaccData?: any
|
||||
infogreffeData?: any
|
||||
cadastreData?: Record<string, unknown>
|
||||
georisquesData?: Record<string, unknown>
|
||||
geofoncierData?: Record<string, unknown>
|
||||
bodaccData?: Record<string, unknown>
|
||||
infogreffeData?: Record<string, unknown>
|
||||
lastUpdated: Date
|
||||
}
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ import {
|
||||
Assessment,
|
||||
Info,
|
||||
} from '@mui/icons-material'
|
||||
import type { ChipProps, LinearProgressProps } from '@mui/material'
|
||||
import { useAppDispatch, useAppSelector } from '../store'
|
||||
import { analyzeDocument } from '../store/documentSlice'
|
||||
import { Layout } from '../components/Layout'
|
||||
@ -69,7 +70,7 @@ export default function AnalyseView() {
|
||||
)
|
||||
}
|
||||
|
||||
const getScoreColor = (score: number) => {
|
||||
const getScoreColor = (score: number): ChipProps['color'] => {
|
||||
if (score >= 0.8) return 'success'
|
||||
if (score >= 0.6) return 'warning'
|
||||
return 'error'
|
||||
@ -97,7 +98,7 @@ export default function AnalyseView() {
|
||||
<Chip
|
||||
icon={<Assessment />}
|
||||
label={`Score de vraisemblance: ${(analysisResult.credibilityScore * 100).toFixed(1)}%`}
|
||||
color={getScoreColor(analysisResult.credibilityScore) as any}
|
||||
color={getScoreColor(analysisResult.credibilityScore)}
|
||||
variant="filled"
|
||||
/>
|
||||
<Chip
|
||||
@ -201,7 +202,7 @@ export default function AnalyseView() {
|
||||
<LinearProgress
|
||||
variant="determinate"
|
||||
value={analysisResult.credibilityScore * 100}
|
||||
color={getScoreColor(analysisResult.credibilityScore) as any}
|
||||
color={getScoreColor(analysisResult.credibilityScore) as LinearProgressProps['color']}
|
||||
sx={{ height: 10, borderRadius: 5 }}
|
||||
/>
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mt: 1 }}>
|
||||
|
||||
@ -22,6 +22,7 @@ import {
|
||||
Schedule,
|
||||
Psychology,
|
||||
} from '@mui/icons-material'
|
||||
import type { SvgIconProps } from '@mui/material'
|
||||
import { useAppDispatch, useAppSelector } from '../store'
|
||||
import { getConseil } from '../store/documentSlice'
|
||||
import { Layout } from '../components/Layout'
|
||||
@ -69,7 +70,7 @@ export default function ConseilView() {
|
||||
)
|
||||
}
|
||||
|
||||
const getRiskColor = (risk: string) => {
|
||||
const getRiskColor = (risk: string): SvgIconProps['color'] => {
|
||||
if (risk.toLowerCase().includes('élevé') || risk.toLowerCase().includes('critique')) {
|
||||
return 'error'
|
||||
}
|
||||
@ -147,7 +148,7 @@ export default function ConseilView() {
|
||||
{conseilResult.risks.map((risk, index) => (
|
||||
<ListItem key={index}>
|
||||
<ListItemIcon>
|
||||
<Warning color={getRiskColor(risk) as any} />
|
||||
<Warning color={getRiskColor(risk)} />
|
||||
</ListItemIcon>
|
||||
<ListItemText
|
||||
primary={risk}
|
||||
|
||||
@ -23,6 +23,7 @@ import {
|
||||
Business,
|
||||
Home,
|
||||
} from '@mui/icons-material'
|
||||
import type { ChipProps } from '@mui/material'
|
||||
import { useAppDispatch, useAppSelector } from '../store'
|
||||
import { getContextData } from '../store/documentSlice'
|
||||
import { Layout } from '../components/Layout'
|
||||
@ -74,7 +75,7 @@ export default function ContexteView() {
|
||||
return hasData ? <CheckCircle color="success" /> : <Error color="error" />
|
||||
}
|
||||
|
||||
const getStatusColor = (hasData: boolean) => {
|
||||
const getStatusColor = (hasData: boolean): ChipProps['color'] => {
|
||||
return hasData ? 'success' : 'error'
|
||||
}
|
||||
|
||||
@ -94,31 +95,31 @@ export default function ContexteView() {
|
||||
<Chip
|
||||
icon={getStatusIcon(!!contextResult.cadastreData)}
|
||||
label="Cadastre"
|
||||
color={getStatusColor(!!contextResult.cadastreData) as any}
|
||||
color={getStatusColor(!!contextResult.cadastreData)}
|
||||
variant="outlined"
|
||||
/>
|
||||
<Chip
|
||||
icon={getStatusIcon(!!contextResult.georisquesData)}
|
||||
label="Géorisques"
|
||||
color={getStatusColor(!!contextResult.georisquesData) as any}
|
||||
color={getStatusColor(!!contextResult.georisquesData)}
|
||||
variant="outlined"
|
||||
/>
|
||||
<Chip
|
||||
icon={getStatusIcon(!!contextResult.geofoncierData)}
|
||||
label="Géofoncier"
|
||||
color={getStatusColor(!!contextResult.geofoncierData) as any}
|
||||
color={getStatusColor(!!contextResult.geofoncierData)}
|
||||
variant="outlined"
|
||||
/>
|
||||
<Chip
|
||||
icon={getStatusIcon(!!contextResult.bodaccData)}
|
||||
label="BODACC"
|
||||
color={getStatusColor(!!contextResult.bodaccData) as any}
|
||||
color={getStatusColor(!!contextResult.bodaccData)}
|
||||
variant="outlined"
|
||||
/>
|
||||
<Chip
|
||||
icon={getStatusIcon(!!contextResult.infogreffeData)}
|
||||
label="Infogreffe"
|
||||
color={getStatusColor(!!contextResult.infogreffeData) as any}
|
||||
color={getStatusColor(!!contextResult.infogreffeData)}
|
||||
variant="outlined"
|
||||
/>
|
||||
</Box>
|
||||
@ -135,7 +136,7 @@ export default function ContexteView() {
|
||||
<Typography variant="h6">Données cadastrales</Typography>
|
||||
<Chip
|
||||
label={contextResult.cadastreData ? 'Disponible' : 'Non disponible'}
|
||||
color={getStatusColor(!!contextResult.cadastreData) as any}
|
||||
color={getStatusColor(!!contextResult.cadastreData)}
|
||||
size="small"
|
||||
sx={{ ml: 2 }}
|
||||
/>
|
||||
@ -164,7 +165,7 @@ export default function ContexteView() {
|
||||
<Typography variant="h6">Données Géorisques</Typography>
|
||||
<Chip
|
||||
label={contextResult.georisquesData ? 'Disponible' : 'Non disponible'}
|
||||
color={getStatusColor(!!contextResult.georisquesData) as any}
|
||||
color={getStatusColor(!!contextResult.georisquesData)}
|
||||
size="small"
|
||||
sx={{ ml: 2 }}
|
||||
/>
|
||||
@ -193,7 +194,7 @@ export default function ContexteView() {
|
||||
<Typography variant="h6">Données Géofoncier</Typography>
|
||||
<Chip
|
||||
label={contextResult.geofoncierData ? 'Disponible' : 'Non disponible'}
|
||||
color={getStatusColor(!!contextResult.geofoncierData) as any}
|
||||
color={getStatusColor(!!contextResult.geofoncierData)}
|
||||
size="small"
|
||||
sx={{ ml: 2 }}
|
||||
/>
|
||||
@ -222,7 +223,7 @@ export default function ContexteView() {
|
||||
<Typography variant="h6">Données BODACC</Typography>
|
||||
<Chip
|
||||
label={contextResult.bodaccData ? 'Disponible' : 'Non disponible'}
|
||||
color={getStatusColor(!!contextResult.bodaccData) as any}
|
||||
color={getStatusColor(!!contextResult.bodaccData)}
|
||||
size="small"
|
||||
sx={{ ml: 2 }}
|
||||
/>
|
||||
@ -251,7 +252,7 @@ export default function ContexteView() {
|
||||
<Typography variant="h6">Données Infogreffe</Typography>
|
||||
<Chip
|
||||
label={contextResult.infogreffeData ? 'Disponible' : 'Non disponible'}
|
||||
color={getStatusColor(!!contextResult.infogreffeData) as any}
|
||||
color={getStatusColor(!!contextResult.infogreffeData)}
|
||||
size="small"
|
||||
sx={{ ml: 2 }}
|
||||
/>
|
||||
|
||||
@ -1,19 +1,6 @@
|
||||
import { useCallback, useState } from 'react'
|
||||
import { useDropzone } from 'react-dropzone'
|
||||
import {
|
||||
Box,
|
||||
Typography,
|
||||
Paper,
|
||||
List,
|
||||
ListItem,
|
||||
ListItemText,
|
||||
ListItemIcon,
|
||||
CircularProgress,
|
||||
Alert,
|
||||
Button,
|
||||
Chip,
|
||||
Grid,
|
||||
} from '@mui/material'
|
||||
import { Box, Typography, Paper, CircularProgress, Alert, Button, Chip, Grid } from '@mui/material'
|
||||
import {
|
||||
CloudUpload,
|
||||
CheckCircle,
|
||||
@ -22,7 +9,7 @@ import {
|
||||
Visibility,
|
||||
} from '@mui/icons-material'
|
||||
import { useAppDispatch, useAppSelector } from '../store'
|
||||
import { uploadDocument, setCurrentDocument } from '../store/documentSlice'
|
||||
import { uploadDocument } from '../store/documentSlice'
|
||||
import { Layout } from '../components/Layout'
|
||||
import { FilePreview } from '../components/FilePreview'
|
||||
import type { Document } from '../types'
|
||||
@ -156,7 +143,7 @@ export default function UploadView() {
|
||||
<Chip
|
||||
label={doc.status}
|
||||
size="small"
|
||||
color={getStatusColor(doc.status) as any}
|
||||
color={getStatusColor(doc.status) as 'success' | 'error' | 'warning' | 'default'}
|
||||
/>
|
||||
<Chip
|
||||
label={`${(doc.size / 1024 / 1024).toFixed(2)} MB`}
|
||||
|
||||
@ -1,25 +1,30 @@
|
||||
# Acte de Vente Immobilière
|
||||
|
||||
## Informations générales
|
||||
|
||||
- **Type** : Acte de vente
|
||||
- **Date** : 15 janvier 2024
|
||||
- **Lieu** : Paris
|
||||
|
||||
## Parties contractantes
|
||||
|
||||
- **Vendeur** : Jean Dupont
|
||||
- **Acheteur** : Marie Martin
|
||||
|
||||
## Objet de la vente
|
||||
|
||||
- **Bien** : Appartement
|
||||
- **Adresse** : 123 Rue de la Paix, 75001 Paris
|
||||
- **Surface** : 75 m²
|
||||
- **Prix** : 250 000 €
|
||||
|
||||
## Clauses particulières
|
||||
|
||||
1. Clause de garantie des vices cachés
|
||||
2. Clause de condition suspensive
|
||||
3. Clause de garantie d'éviction
|
||||
|
||||
## Signatures
|
||||
|
||||
- Jean Dupont : [Signature]
|
||||
- Marie Martin : [Signature]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user