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:
@@ -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é
|
||||||
|
|||||||
15
renderer.js
15
renderer.js
@@ -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');
|
||||||
|
|||||||
Reference in New Issue
Block a user