Refactor: Einführung einer handleEvent-Methode zur zentralen Verarbeitung von Socket.io-Events in mehreren Views

Änderung:
- In den Views StatusBar, BankView, BranchView, DirectorView, FamilyView, HealthView, HouseView und NobilityView wurde eine neue Methode `handleEvent` hinzugefügt, um die Verarbeitung von empfangenen Socket.io-Events zu zentralisieren.
- Die spezifischen Event-Handler wurden aktualisiert, um die `handleEvent`-Methode aufzurufen, was die Lesbarkeit und Wartbarkeit des Codes verbessert.

Diese Anpassung sorgt für eine konsistentere Handhabung von Socket.io-Events und erleichtert zukünftige Erweiterungen und Anpassungen der Event-Logik.
This commit is contained in:
Torsten Schulz (local)
2025-09-08 13:28:48 +02:00
parent fbe41e627b
commit aea624ae26
9 changed files with 100 additions and 17 deletions

View File

@@ -108,15 +108,15 @@ export default {
if (this.socket) {
this.socket.on('falukantUpdateStatus', (data) => {
console.log('📨 StatusBar: falukantUpdateStatus empfangen:', data);
this.fetchStatus();
this.handleEvent({ event: 'falukantUpdateStatus', ...data });
});
this.socket.on('stock_change', (data) => {
console.log('📨 StatusBar: stock_change empfangen:', data);
this.fetchStatus();
this.handleEvent({ event: 'stock_change', ...data });
});
this.socket.on('familychanged', (data) => {
console.log('📨 StatusBar: familychanged empfangen:', data);
this.fetchStatus();
this.handleEvent({ event: 'familychanged', ...data });
});
console.log('✅ StatusBar: Socket.io Events registriert');
} else {
@@ -124,6 +124,18 @@ export default {
setTimeout(() => this.setupSocketEvents(), 1000);
}
},
handleEvent(eventData) {
console.log('🔄 StatusBar: handleEvent aufgerufen mit:', eventData);
switch (eventData.event) {
case 'falukantUpdateStatus':
case 'stock_change':
case 'familychanged':
this.loadStatus();
break;
default:
console.log('⚠️ StatusBar: Unbekanntes Event:', eventData.event);
}
},
openPage(url, hasSubmenu = false) {
if (hasSubmenu) {
return;