feat: Tri alphabétique des onglets de centres (v1.2.6)

- Les onglets sont maintenant triés par ordre alphabétique du code
- Utilisation de localeCompare() avec locale français
- Gestion correcte des codes avec nombres (ACR2 avant ACR10)
- Ordre prévisible et cohérent indépendant du serveur
- Premier onglet sélectionné = premier alphabétiquement
This commit is contained in:
Pierre Marx
2025-09-04 15:46:44 -04:00
parent 6ad4cb9b54
commit f0b407d4b8
2 changed files with 31 additions and 3 deletions

View File

@@ -1,5 +1,24 @@
# Changelog - SimpleConnect Electron # Changelog - SimpleConnect Electron
## [1.2.6] - 2025-09-04
### Ajouté
- **Tri alphabétique des onglets** : Organisation logique des centres
- Les onglets sont maintenant triés par ordre alphabétique du code centre
- Utilisation de `localeCompare()` avec locale français
- Option `numeric: true` pour gérer correctement les codes avec nombres (ACR2 avant ACR10)
### Modifié
- **Ordre d'affichage des centres** : Prévisible et cohérent
- Indépendant de l'ordre retourné par SignalR
- Premier onglet sélectionné = premier alphabétiquement
- Plus facile de retrouver un centre spécifique
### Technique
- Création d'une copie triée avec `[...currentCentres].sort()`
- Tri appliqué dans `initializeCenters()` et `showMainPage()`
- Préservation du tableau original pour les autres fonctionnalités
## [1.2.5] - 2025-09-04 ## [1.2.5] - 2025-09-04
### Corrigé ### Corrigé

View File

@@ -286,9 +286,13 @@ function showMainPage() {
initializeCenters(); initializeCenters();
updateStatus('available'); updateStatus('available');
// Sélectionner automatiquement le premier centre/onglet // Sélectionner automatiquement le premier centre/onglet (après tri alphabétique)
if (currentCentres.length > 0) { if (currentCentres.length > 0) {
selectCenter(currentCentres[0].id); // Trier pour obtenir le premier alphabétiquement
const sortedCentres = [...currentCentres].sort((a, b) => {
return a.id.localeCompare(b.id, 'fr', { numeric: true });
});
selectCenter(sortedCentres[0].id);
} }
} }
@@ -301,8 +305,13 @@ function initializeCenters() {
centerTabs.innerHTML = ''; centerTabs.innerHTML = '';
webviewContainer.innerHTML = ''; webviewContainer.innerHTML = '';
// Trier les centres par ordre alphabétique du code (id)
const sortedCentres = [...currentCentres].sort((a, b) => {
return a.id.localeCompare(b.id, 'fr', { numeric: true });
});
// Créer les onglets et webviews // Créer les onglets et webviews
currentCentres.forEach(centre => { sortedCentres.forEach(centre => {
// Onglet // Onglet
const tab = document.createElement('div'); const tab = document.createElement('div');