Website Summary Files Commits Branches @commit @diff @stats
path: root / scripts / services / socketService.js
diff options
context:
space:
mode:
Commita28a5052313f0921865d0eb2632fb41c16a60367 (patch)
Author
 ivaylo.zhelev <ivaylo.zhelev@solarwinds.com>
2021-02-28 14:24:18 +0200
Committer
 ivaylo.zhelev <ivaylo.zhelev@solarwinds.com>
2021-02-28 14:24:18 +0200
Filesa39c5c61b1ee6db75872fde46bb364c1e968ecba /scripts/services/socketService.js
pusg-front-end-main.tar
pusg-front-end-main.tar.gz
pusg-front-end-main.zip
Parenta9863b87c9ccd4d10fdcd6849436d6a50fae243e (diff)
Introduced Cached messages and Refresh Login HEAD main
* Added Welcome Message * Added Refresh Login when returning from Game * Killed Home Session when starting new game * Moved functionality from Socket Service to respective classes (refactoring)
1 files changed, 10 insertions, 23 deletions
-rw-r--r--scripts/services/socketService.js33
diff --git a/scripts/services/socketService.js b/scripts/services/socketService.js
index 186ac3b..b2153f2 100644
--- a/scripts/services/socketService.js
+++ b/scripts/services/socketService.js
@@ -23,8 +23,7 @@ class SocketService {
});
this.gameConnection.on('StartGame', ([color]) => {
- window.location.hash = '#/play';
- app.config.USER.COLOR = color;
+ app.eventService.triggerEvent('GameStart', color)
});
this.gameConnection.on('OtherUp', () => {
@@ -73,39 +72,26 @@ class SocketService {
.build();
}
+ disconnectHome() {
+ this.homeConnection.stop();
+ this.homeConnection = null;
+ }
+
initHomeReceivers() {
this.homeConnection.on('OnConnected', ([message]) => {
console.log(message);
});
this.homeConnection.on('OnLoggedIn', (users) => {
- users.forEach(user => {
- if(!app.htmlService.getElement(`#${user}`)) {
- const userNode = app.htmlService
- .getElementFromTemplate('user', {
- user: user,
- });
-
- app.htmlService.attachElement(app.htmlService.createElement(userNode), '.participants');
- }
- });
+ app.eventService.triggerEvent('OnLoggedIn', users);
});
this.homeConnection.on('OnLoggedOut', (users) => {
- users.forEach(user => {
- app.htmlService.getElement(`#${user}`).remove();
- });
+ app.eventService.triggerEvent('OnLoggedOut', users);
});
this.homeConnection.on('ReceiveMessage', ([user, message]) => {
- const messageNode = app.htmlService
- .getElementFromTemplate('message', {
- user: user,
- message: message
- });
-
- app.htmlService.attachElement(app.htmlService.createElement(messageNode)
- , '.history-messages');
+ app.eventService.triggerEvent('OnReceiveMessage', [user, message]);
});
}
@@ -130,6 +116,7 @@ class SocketService {
send(location, method, ...args) {
if(location === 'home') {
+ console.log(this.homeConnection);
this.homeConnection?.invoke(method, ...args);
}
if(location === 'game') {