upd: view.websocket (now managing 'add', 'del', 'upd')
This commit is contained in:
parent
cddb82a8b5
commit
ab1b3080c7
|
@ -15,27 +15,50 @@ window.wsc_emergency = wsc.channel('emergency/31').listen(function(msg, err){
|
|||
if( typeof msg.error != 'boolean' || msg.error !== false )
|
||||
return infobox.show('Erreur de connexion WebSocket@emergency', 'warning', 3000);
|
||||
|
||||
/* (3) If no message -> exit */
|
||||
if( msg.data == null )
|
||||
return;
|
||||
/* (3) If message(s) to add */
|
||||
if( msg.add != null ){
|
||||
|
||||
/* (4) Play sound if 1msg received + not already on page */
|
||||
// {1} Play sound if 1msg received + not already on page //
|
||||
// note: 1msg means a new message but not the page load past buffer
|
||||
if( msg.data.length == 1 && router.app.$route.path != '/emergency' )
|
||||
if( msg.add.length == 1 && router.app.$route.path != '/emergency' )
|
||||
( new Audio('https://notificationsounds.com/message-tones/communication-channel-519/download/mp3') ).play();
|
||||
|
||||
/* (5) Add messages to stack */
|
||||
gstore.data.notif.emergency.data = gstore.data.notif.emergency.data.concat( msg.data );
|
||||
// {2} Add messages to stack //
|
||||
gstore.data.notif.emergency.data = gstore.data.notif.emergency.data.concat( msg.add );
|
||||
|
||||
/* (6) Add notification count if not already on page */
|
||||
// {3} Add notification count if not already on page //
|
||||
if( router.app.$route.path != '/emergency' )
|
||||
gstore.data.notif.emergency.count += msg.data.length;
|
||||
gstore.data.notif.emergency.count += msg.add.length;
|
||||
|
||||
/* (7) Remove loader */
|
||||
}
|
||||
|
||||
/* (4) If message(s) to del */
|
||||
if( msg.del != null ){
|
||||
|
||||
// {1} Rem messages from stack //
|
||||
for( var id of msg.del )
|
||||
if( gstore.data.notif.emergency.data[id] != null )
|
||||
delete gstore.data.notif.emergency.data[id];
|
||||
|
||||
}
|
||||
|
||||
/* (5) If message(s) to update */
|
||||
if( msg.upd != null ){
|
||||
|
||||
// {1} Update messages in stack //
|
||||
for( var id of msg.upd )
|
||||
if( gstore.data.notif.emergency.data[id] != null )
|
||||
gstore.data.notif.emergency.data[id] = msg.upd[id];
|
||||
|
||||
}
|
||||
|
||||
/* (6) Remove loader */
|
||||
gstore.data.msg_pending.emergency = false;
|
||||
|
||||
}).send({name: _SERVER.session.name});
|
||||
|
||||
|
||||
|
||||
/* (2) Event channel
|
||||
---------------------------------------------------------*/
|
||||
window.wsc_event = wsc.channel('event/31').listen(function(msg, err){
|
||||
|
@ -48,28 +71,51 @@ window.wsc_event = wsc.channel('event/31').listen(function(msg, err){
|
|||
if( typeof msg.error != 'boolean' || msg.error !== false )
|
||||
return infobox.show('Erreur de connexion WebSocket@event', 'warning', 3000);
|
||||
|
||||
/* (3) If no message -> exit */
|
||||
if( msg.data == null )
|
||||
return;
|
||||
/* (3) If message(s) to add */
|
||||
if( msg.add != null ){
|
||||
|
||||
/* (4) Play sound if 1msg received + not already on page */
|
||||
// {1} Play sound if 1msg received + not already on page //
|
||||
// note: 1msg means a new message but not the page load past buffer
|
||||
if( msg.data.length == 1 && router.app.$route.path != '/event' )
|
||||
if( msg.add.length == 1 && router.app.$route.path != '/event' )
|
||||
( new Audio('https://notificationsounds.com/message-tones/communication-channel-519/download/mp3') ).play();
|
||||
|
||||
/* (5) Add messages to stack */
|
||||
gstore.data.notif.event.data = gstore.data.notif.event.data.concat( msg.data );
|
||||
// {2} Add messages to stack //
|
||||
gstore.data.notif.event.data = gstore.data.notif.event.data.concat( msg.add );
|
||||
|
||||
/* (6) Add notification count if not already on page */
|
||||
// {3} Add notification count if not already on page //
|
||||
if( router.app.$route.path != '/event' )
|
||||
gstore.data.notif.event.count += msg.data.length;
|
||||
gstore.data.notif.event.count += msg.add.length;
|
||||
|
||||
/* (7) Remove loader */
|
||||
}
|
||||
|
||||
/* (4) If message(s) to del */
|
||||
if( msg.del != null ){
|
||||
|
||||
// {1} Rem messages from stack //
|
||||
for( var id of msg.del )
|
||||
if( gstore.data.notif.event.data[id] != null )
|
||||
delete gstore.data.notif.event.data[id];
|
||||
|
||||
}
|
||||
|
||||
/* (5) If message(s) to update */
|
||||
if( msg.upd != null ){
|
||||
|
||||
// {1} Update messages in stack //
|
||||
for( var id of msg.upd )
|
||||
if( gstore.data.notif.event.data[id] != null )
|
||||
gstore.data.notif.event.data[id] = msg.upd[id];
|
||||
|
||||
}
|
||||
|
||||
/* (6) Remove loader */
|
||||
gstore.data.msg_pending.event = false;
|
||||
|
||||
|
||||
}).send({name: _SERVER.session.name});
|
||||
|
||||
|
||||
|
||||
/* (3) Message channel
|
||||
---------------------------------------------------------*/
|
||||
window.wsc_chat = wsc.channel('chat').listen(function(msg, err){
|
||||
|
|
Loading…
Reference in New Issue