make it all work
This commit is contained in:
parent
9ae28866d9
commit
a0efb2cac8
6 changed files with 302 additions and 326 deletions
|
@ -63,7 +63,7 @@ _Backbone.Map = Backbone.Model.extend({
|
||||||
this.on('saved', this.savedEvent)
|
this.on('saved', this.savedEvent)
|
||||||
},
|
},
|
||||||
savedEvent: function () {
|
savedEvent: function () {
|
||||||
Realtime.sendMapChange(this)
|
Realtime.updateMap(this)
|
||||||
},
|
},
|
||||||
authorizeToEdit: function (mapper) {
|
authorizeToEdit: function (mapper) {
|
||||||
if (mapper && (
|
if (mapper && (
|
||||||
|
@ -370,7 +370,7 @@ _Backbone.init = function () {
|
||||||
return node
|
return node
|
||||||
},
|
},
|
||||||
savedEvent: function () {
|
savedEvent: function () {
|
||||||
Realtime.sendTopicChange(this)
|
Realtime.updateTopic(this)
|
||||||
},
|
},
|
||||||
updateViews: function () {
|
updateViews: function () {
|
||||||
var onPageWithTopicCard = Active.Map || Active.Topic
|
var onPageWithTopicCard = Active.Map || Active.Topic
|
||||||
|
@ -549,7 +549,7 @@ _Backbone.init = function () {
|
||||||
return edge
|
return edge
|
||||||
},
|
},
|
||||||
savedEvent: function () {
|
savedEvent: function () {
|
||||||
Realtime.sendSynapseChange(this)
|
Realtime.updateSynapse(this)
|
||||||
},
|
},
|
||||||
updateViews: function () {
|
updateViews: function () {
|
||||||
this.updateCardView()
|
this.updateCardView()
|
||||||
|
|
|
@ -3,17 +3,16 @@ export const REQUEST_LIVE_MAPS = 'REQUEST_LIVE_MAPS'
|
||||||
export const JOIN_MAP = 'JOIN_MAP'
|
export const JOIN_MAP = 'JOIN_MAP'
|
||||||
export const LEAVE_MAP = 'LEAVE_MAP'
|
export const LEAVE_MAP = 'LEAVE_MAP'
|
||||||
export const CHECK_FOR_CALL = 'CHECK_FOR_CALL'
|
export const CHECK_FOR_CALL = 'CHECK_FOR_CALL'
|
||||||
export const ACCEPT_CALL = 'ACCEPT_CALL'
|
export const ACCEPT_CALL = 'ACCEPT_CALL'
|
||||||
export const DENY_CALL = 'DENY_CALL'
|
export const DENY_CALL = 'DENY_CALL'
|
||||||
export const DENY_INVITE = 'DENY_INVITE'
|
export const DENY_INVITE = 'DENY_INVITE'
|
||||||
export const INVITE_TO_JOIN = 'INVITE_TO_JOIN'
|
export const INVITE_TO_JOIN = 'INVITE_TO_JOIN'
|
||||||
export const INVITE_A_CALL = 'INVITE_A_CALL'
|
export const INVITE_A_CALL = 'INVITE_A_CALL'
|
||||||
export const JOIN_CALL = 'JOIN_CALL'
|
export const JOIN_CALL = 'JOIN_CALL'
|
||||||
export const LEAVE_CALL = 'LEAVE_CALL'
|
export const LEAVE_CALL = 'LEAVE_CALL'
|
||||||
export const REQUEST_MAPPER_INFO = 'REQUEST_MAPPER_INFO'
|
|
||||||
export const SEND_MAPPER_INFO = 'SEND_MAPPER_INFO'
|
export const SEND_MAPPER_INFO = 'SEND_MAPPER_INFO'
|
||||||
export const SEND_COORDS = 'SEND_COORDS'
|
export const SEND_COORDS = 'SEND_COORDS'
|
||||||
export const CREATE_MESSAGE = 'CREATE_MESSAGE'
|
export const CREATE_MESSAGE = 'CREATE_MESSAGE'
|
||||||
export const DRAG_TOPIC = 'DRAG_TOPIC'
|
export const DRAG_TOPIC = 'DRAG_TOPIC'
|
||||||
export const CREATE_TOPIC = 'CREATE_TOPIC'
|
export const CREATE_TOPIC = 'CREATE_TOPIC'
|
||||||
export const UPDATE_TOPIC = 'UPDATE_TOPIC'
|
export const UPDATE_TOPIC = 'UPDATE_TOPIC'
|
||||||
|
@ -23,7 +22,7 @@ export const CREATE_SYNAPSE = 'CREATE_SYNAPSE'
|
||||||
export const UPDATE_SYNAPSE = 'UPDATE_SYNAPSE'
|
export const UPDATE_SYNAPSE = 'UPDATE_SYNAPSE'
|
||||||
export const REMOVE_SYNAPSE = 'REMOVE_SYNAPSE'
|
export const REMOVE_SYNAPSE = 'REMOVE_SYNAPSE'
|
||||||
export const DELETE_SYNAPSE = 'DELETE_SYNAPSE'
|
export const DELETE_SYNAPSE = 'DELETE_SYNAPSE'
|
||||||
export const UPDATE_MAP = 'UPDATE_MAP'
|
export const UPDATE_MAP = 'UPDATE_MAP'
|
||||||
|
|
||||||
/* EVENTS RECEIVABLE */
|
/* EVENTS RECEIVABLE */
|
||||||
export const INVITED_TO_CALL = 'INVITED_TO_CALL'
|
export const INVITED_TO_CALL = 'INVITED_TO_CALL'
|
||||||
|
@ -53,4 +52,3 @@ export const MAP_UPDATED = 'MAP_UPDATED'
|
||||||
export const LIVE_MAPS_RECEIVED = 'LIVE_MAPS_RECEIVED'
|
export const LIVE_MAPS_RECEIVED = 'LIVE_MAPS_RECEIVED'
|
||||||
export const MAP_WENT_LIVE = 'MAP_WENT_LIVE'
|
export const MAP_WENT_LIVE = 'MAP_WENT_LIVE'
|
||||||
export const MAP_CEASED_LIVE = 'MAP_CEASED_LIVE'
|
export const MAP_CEASED_LIVE = 'MAP_CEASED_LIVE'
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
* - Metamaps.Synapses
|
* - Metamaps.Synapses
|
||||||
* - Metamaps.Topics
|
* - Metamaps.Topics
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import SimpleWebRTC from 'simplewebrtc'
|
import SimpleWebRTC from 'simplewebrtc'
|
||||||
|
|
||||||
|
@ -82,7 +83,7 @@ import {
|
||||||
liveMapsReceived,
|
liveMapsReceived,
|
||||||
mapWentLive,
|
mapWentLive,
|
||||||
mapCeasedLive
|
mapCeasedLive
|
||||||
} from './receivable'
|
} from './receivable'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
requestLiveMaps,
|
requestLiveMaps,
|
||||||
|
@ -96,7 +97,6 @@ import {
|
||||||
inviteACall,
|
inviteACall,
|
||||||
joinCall,
|
joinCall,
|
||||||
leaveCall,
|
leaveCall,
|
||||||
requestMapperInfo,
|
|
||||||
sendMapperInfo,
|
sendMapperInfo,
|
||||||
sendCoords,
|
sendCoords,
|
||||||
dragTopic,
|
dragTopic,
|
||||||
|
@ -111,10 +111,6 @@ import {
|
||||||
updateMap
|
updateMap
|
||||||
} from './sendable'
|
} from './sendable'
|
||||||
|
|
||||||
var socketReference = null
|
|
||||||
|
|
||||||
export const getSocket = () => socketReference
|
|
||||||
|
|
||||||
const Realtime = {
|
const Realtime = {
|
||||||
videoId: 'video-wrapper',
|
videoId: 'video-wrapper',
|
||||||
socket: null,
|
socket: null,
|
||||||
|
@ -133,10 +129,13 @@ const Realtime = {
|
||||||
self.addJuntoListeners()
|
self.addJuntoListeners()
|
||||||
|
|
||||||
self.socket = new SocketIoConnection({ url: Metamaps.Erb['REALTIME_SERVER']})
|
self.socket = new SocketIoConnection({ url: Metamaps.Erb['REALTIME_SERVER']})
|
||||||
socketReference = self.socket
|
|
||||||
|
setupSendables(self)
|
||||||
|
|
||||||
self.socket.on('connect', function () {
|
self.socket.on('connect', function () {
|
||||||
console.log('connected')
|
console.log('connected')
|
||||||
subscribeToEvents(self.socket)
|
subscribeToEvents(self, self.socket)
|
||||||
|
|
||||||
if (!self.disconnected) {
|
if (!self.disconnected) {
|
||||||
self.startActiveMap()
|
self.startActiveMap()
|
||||||
} else self.disconnected = false
|
} else self.disconnected = false
|
||||||
|
@ -233,7 +232,7 @@ const Realtime = {
|
||||||
if (Active.Map.authorizeToEdit(Active.Mapper)) {
|
if (Active.Map.authorizeToEdit(Active.Mapper)) {
|
||||||
self.turnOn()
|
self.turnOn()
|
||||||
self.setupSocket()
|
self.setupSocket()
|
||||||
self.setupSendables()
|
self.setupLocalSendables()
|
||||||
}
|
}
|
||||||
self.room.addMessages(new Metamaps.Backbone.MessageCollection(Metamaps.Messages), true)
|
self.room.addMessages(new Metamaps.Backbone.MessageCollection(Metamaps.Messages), true)
|
||||||
}
|
}
|
||||||
|
@ -271,11 +270,11 @@ const Realtime = {
|
||||||
},
|
},
|
||||||
setupSocket: function () {
|
setupSocket: function () {
|
||||||
var self = Realtime
|
var self = Realtime
|
||||||
// subscribe to rooms on the websocket?
|
// subscribe to rooms on the websocket?
|
||||||
self.checkForCall()
|
self.checkForCall()
|
||||||
self.newMapperNotify()
|
self.joinMap()
|
||||||
},
|
},
|
||||||
setupSendables: function () {
|
setupLocalSendables: function () {
|
||||||
var self = Realtime
|
var self = Realtime
|
||||||
|
|
||||||
// local event listeners that trigger events
|
// local event listeners that trigger events
|
||||||
|
@ -496,8 +495,11 @@ const Realtime = {
|
||||||
yLimit = Math.min(yLimit, yMax - compassDiameter)
|
yLimit = Math.min(yLimit, yMax - compassDiameter)
|
||||||
|
|
||||||
return {x: xLimit,y: yLimit}
|
return {x: xLimit,y: yLimit}
|
||||||
},
|
}
|
||||||
requestLiveMaps,
|
}
|
||||||
|
|
||||||
|
const setupSendables = Realtime => {
|
||||||
|
[requestLiveMaps,
|
||||||
joinMap,
|
joinMap,
|
||||||
leaveMap,
|
leaveMap,
|
||||||
checkForCall,
|
checkForCall,
|
||||||
|
@ -508,7 +510,6 @@ const Realtime = {
|
||||||
inviteACall,
|
inviteACall,
|
||||||
joinCall,
|
joinCall,
|
||||||
leaveCall,
|
leaveCall,
|
||||||
requestMapperInfo,
|
|
||||||
sendMapperInfo,
|
sendMapperInfo,
|
||||||
sendCoords,
|
sendCoords,
|
||||||
dragTopic,
|
dragTopic,
|
||||||
|
@ -520,67 +521,37 @@ const Realtime = {
|
||||||
updateSynapse,
|
updateSynapse,
|
||||||
removeSynapse,
|
removeSynapse,
|
||||||
deleteSynapse,
|
deleteSynapse,
|
||||||
updateMap
|
updateMap].forEach(sendable => Realtime[sendable.name] = sendable(Realtime, Realtime.socket))
|
||||||
}
|
}
|
||||||
|
|
||||||
const subscribeToEvents = socket => {
|
const subscribeToEvents = (Realtime, socket) => {
|
||||||
socket.on(INVITED_TO_CALL, invitedToCall)
|
socket.on(INVITED_TO_CALL, invitedToCall(Realtime))
|
||||||
socket.on(INVITED_TO_JOIN, invitedToJoin)
|
socket.on(INVITED_TO_JOIN, invitedToJoin(Realtime))
|
||||||
socket.on(CALL_ACCEPTED, callAccepted)
|
socket.on(CALL_ACCEPTED, callAccepted(Realtime))
|
||||||
socket.on(CALL_DENIED, callDenied)
|
socket.on(CALL_DENIED, callDenied(Realtime))
|
||||||
socket.on(INVITE_DENIED, inviteDenied)
|
socket.on(INVITE_DENIED, inviteDenied(Realtime))
|
||||||
socket.on(CALL_IN_PROGRESS, callInProgress)
|
socket.on(CALL_IN_PROGRESS, callInProgress(Realtime))
|
||||||
socket.on(CALL_STARTED, callStarted)
|
socket.on(CALL_STARTED, callStarted(Realtime))
|
||||||
socket.on(MAPPER_JOINED_CALL, mapperJoinedCall)
|
socket.on(MAPPER_JOINED_CALL, mapperJoinedCall(Realtime))
|
||||||
socket.on(MAPPER_LEFT_CALL, mapperLeftCall)
|
socket.on(MAPPER_LEFT_CALL, mapperLeftCall(Realtime))
|
||||||
socket.on(MAPPER_LIST_UPDATED, mapperListUpdated)
|
socket.on(MAPPER_LIST_UPDATED, mapperListUpdated(Realtime))
|
||||||
socket.on(PEER_COORDS_UPDATED, peerCoordsUpdated)
|
socket.on(PEER_COORDS_UPDATED, peerCoordsUpdated(Realtime))
|
||||||
socket.on(NEW_MAPPER, newMapper)
|
socket.on(NEW_MAPPER, newMapper(Realtime))
|
||||||
socket.on(LOST_MAPPER, lostMapper)
|
socket.on(LOST_MAPPER, lostMapper(Realtime))
|
||||||
socket.on(MESSAGE_CREATED, messageCreated)
|
socket.on(MESSAGE_CREATED, messageCreated(Realtime))
|
||||||
socket.on(TOPIC_DRAGGED, topicDragged)
|
socket.on(TOPIC_DRAGGED, topicDragged(Realtime))
|
||||||
socket.on(TOPIC_CREATED, topicCreated)
|
socket.on(TOPIC_CREATED, topicCreated(Realtime))
|
||||||
socket.on(TOPIC_UPDATED, topicUpdated)
|
socket.on(TOPIC_UPDATED, topicUpdated(Realtime))
|
||||||
socket.on(TOPIC_REMOVED, topicRemoved)
|
socket.on(TOPIC_REMOVED, topicRemoved(Realtime))
|
||||||
socket.on(TOPIC_DELETED, topicDeleted)
|
socket.on(TOPIC_DELETED, topicDeleted(Realtime))
|
||||||
socket.on(SYNAPSE_CREATED, synapseCreated)
|
socket.on(SYNAPSE_CREATED, synapseCreated(Realtime))
|
||||||
socket.on(SYNAPSE_UPDATED, synapseUpdated)
|
socket.on(SYNAPSE_UPDATED, synapseUpdated(Realtime))
|
||||||
socket.on(SYNAPSE_REMOVED, synapseRemoved)
|
socket.on(SYNAPSE_REMOVED, synapseRemoved(Realtime))
|
||||||
socket.on(SYNAPSE_DELETED, synapseDeleted)
|
socket.on(SYNAPSE_DELETED, synapseDeleted(Realtime))
|
||||||
socket.on(MAP_UPDATED, mapUpdated)
|
socket.on(MAP_UPDATED, mapUpdated(Realtime))
|
||||||
socket.on(LIVE_MAPS_RECEIVED, liveMapsReceived)
|
socket.on(LIVE_MAPS_RECEIVED, liveMapsReceived(Realtime))
|
||||||
socket.on(MAP_WENT_LIVE, mapWentLive)
|
socket.on(MAP_WENT_LIVE, mapWentLive(Realtime))
|
||||||
socket.on(MAP_CEASED_LIVE, mapCeasedLive)
|
socket.on(MAP_CEASED_LIVE, mapCeasedLive(Realtime))
|
||||||
}
|
|
||||||
|
|
||||||
const unsub = socket => {
|
|
||||||
socket.off(INVITED_TO_CALL)
|
|
||||||
socket.off(INVITED_TO_JOIN)
|
|
||||||
socket.off(CALL_ACCEPTED)
|
|
||||||
socket.off(CALL_DENIED)
|
|
||||||
socket.off(INVITE_DENIED)
|
|
||||||
socket.off(CALL_IN_PROGRESS)
|
|
||||||
socket.off(CALL_STARTED)
|
|
||||||
socket.off(MAPPER_JOINED_CALL)
|
|
||||||
socket.off(MAPPER_LEFT_CALL)
|
|
||||||
socket.off(MAPPER_LIST_UPDATED)
|
|
||||||
socket.off(PEER_COORDS_UPDATED)
|
|
||||||
socket.off(NEW_MAPPER)
|
|
||||||
socket.off(LOST_MAPPER)
|
|
||||||
socket.off(MESSAGE_CREATED)
|
|
||||||
socket.off(TOPIC_DRAGGED)
|
|
||||||
socket.off(TOPIC_CREATED)
|
|
||||||
socket.off(TOPIC_UPDATED)
|
|
||||||
socket.off(TOPIC_REMOVED)
|
|
||||||
socket.off(TOPIC_DELETED)
|
|
||||||
socket.off(SYNAPSE_CREATED)
|
|
||||||
socket.off(SYNAPSE_UPDATED)
|
|
||||||
socket.off(SYNAPSE_REMOVED)
|
|
||||||
socket.off(SYNAPSE_DELETED)
|
|
||||||
socket.off(MAP_UPDATED)
|
|
||||||
socket.off(LIVE_MAPS_RECEIVED)
|
|
||||||
socket.off(MAP_WENT_LIVE)
|
|
||||||
socket.off(MAP_CEASED_LIVE)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Realtime
|
export default Realtime
|
||||||
|
|
|
@ -7,10 +7,12 @@ import GlobalUI from '../GlobalUI'
|
||||||
import Control from '../Control'
|
import Control from '../Control'
|
||||||
import Map from '../Map'
|
import Map from '../Map'
|
||||||
import Mapper from '../Mapper'
|
import Mapper from '../Mapper'
|
||||||
import Realtime from './index'
|
import Topic from '../Topic'
|
||||||
var self = Realtime
|
import Synapse from '../Synapse'
|
||||||
|
import Util from '../Util'
|
||||||
|
import Visualize from '../Visualize'
|
||||||
|
|
||||||
export const synapseRemoved = data => {
|
export const synapseRemoved = self => data => {
|
||||||
var synapse = Metamaps.Synapses.get(data.mappableid)
|
var synapse = Metamaps.Synapses.get(data.mappableid)
|
||||||
if (synapse) {
|
if (synapse) {
|
||||||
var edge = synapse.get('edge')
|
var edge = synapse.get('edge')
|
||||||
|
@ -30,11 +32,11 @@ export const synapseRemoved = data => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const synapseDeleted = data => {
|
export const synapseDeleted = self => data => {
|
||||||
self.synapseRemoved(data)
|
self.synapseRemoved(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const synapseCreated = function (data) {
|
export const synapseCreated = self => data => {
|
||||||
var topic1, topic2, node1, node2, synapse, mapping, cancel, mapper
|
var topic1, topic2, node1, node2, synapse, mapping, cancel, mapper
|
||||||
|
|
||||||
|
|
||||||
|
@ -82,7 +84,7 @@ export const synapseCreated = function (data) {
|
||||||
waitThenRenderSynapse()
|
waitThenRenderSynapse()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const topicRemoved = function (data) {
|
export const topicRemoved = self => data => {
|
||||||
var topic = Metamaps.Topics.get(data.mappableid)
|
var topic = Metamaps.Topics.get(data.mappableid)
|
||||||
if (topic) {
|
if (topic) {
|
||||||
var node = topic.get('node')
|
var node = topic.get('node')
|
||||||
|
@ -93,11 +95,11 @@ export const topicRemoved = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const topicDeleted = function (data) {
|
export const topicDeleted = self => data => {
|
||||||
self.topicRemoved(data)
|
self.topicRemoved(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const topicCreated = function (data) {
|
export const topicCreated = self => data => {
|
||||||
var topic, mapping, mapper, cancel
|
var topic, mapping, mapper, cancel
|
||||||
|
|
||||||
function waitThenRenderTopic () {
|
function waitThenRenderTopic () {
|
||||||
|
@ -140,11 +142,11 @@ export const topicCreated = function (data) {
|
||||||
waitThenRenderTopic()
|
waitThenRenderTopic()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const messageCreated = function (data) {
|
export const messageCreated = self => data => {
|
||||||
self.room.addMessages(new Metamaps.Backbone.MessageCollection(data))
|
self.room.addMessages(new Metamaps.Backbone.MessageCollection(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mapUpdated = function (data) {
|
export const mapUpdated = self => data => {
|
||||||
var map = Active.Map
|
var map = Active.Map
|
||||||
var isActiveMap = map && data.mapId === map.id
|
var isActiveMap = map && data.mapId === map.id
|
||||||
if (isActiveMap) {
|
if (isActiveMap) {
|
||||||
|
@ -170,7 +172,7 @@ export const mapUpdated = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const topicUpdated = function (data) {
|
export const topicUpdated = self => data => {
|
||||||
var topic = Metamaps.Topics.get(data.topicId)
|
var topic = Metamaps.Topics.get(data.topicId)
|
||||||
if (topic) {
|
if (topic) {
|
||||||
var node = topic.get('node')
|
var node = topic.get('node')
|
||||||
|
@ -183,7 +185,7 @@ export const topicUpdated = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const synapseUpdated = function (data) {
|
export const synapseUpdated = self => data => {
|
||||||
var synapse = Metamaps.Synapses.get(data.synapseId)
|
var synapse = Metamaps.Synapses.get(data.synapseId)
|
||||||
if (synapse) {
|
if (synapse) {
|
||||||
// edge reset necessary because fetch causes model reset
|
// edge reset necessary because fetch causes model reset
|
||||||
|
@ -197,7 +199,7 @@ export const synapseUpdated = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const topicDragged = function (positions) {
|
export const topicDragged = self => positions => {
|
||||||
var topic
|
var topic
|
||||||
var node
|
var node
|
||||||
|
|
||||||
|
@ -211,13 +213,13 @@ export const topicDragged = function (positions) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const peerCoordsUpdated = function (data) {
|
export const peerCoordsUpdated = self => data => {
|
||||||
if (!self.mappersOnMap[data.userid]) return
|
if (!self.mappersOnMap[data.userid]) return
|
||||||
self.mappersOnMap[data.userid].coords = {x: data.usercoords.x,y: data.usercoords.y}
|
self.mappersOnMap[data.userid].coords = {x: data.usercoords.x,y: data.usercoords.y}
|
||||||
self.positionPeerIcon(data.userid)
|
self.positionPeerIcon(data.userid)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const lostMapper = function (data) {
|
export const lostMapper = self => data => {
|
||||||
// data.userid
|
// data.userid
|
||||||
// data.username
|
// data.username
|
||||||
delete self.mappersOnMap[data.userid]
|
delete self.mappersOnMap[data.userid]
|
||||||
|
@ -234,7 +236,7 @@ export const lostMapper = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mapperListUpdated = function (data) {
|
export const mapperListUpdated = self => data => {
|
||||||
// data.userid
|
// data.userid
|
||||||
// data.username
|
// data.username
|
||||||
// data.userimage
|
// data.userimage
|
||||||
|
@ -261,7 +263,7 @@ export const mapperListUpdated = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const newMapper = function (data) {
|
export const newMapper = self => data => {
|
||||||
// data.userid
|
// data.userid
|
||||||
// data.username
|
// data.username
|
||||||
// data.userimage
|
// data.userimage
|
||||||
|
@ -298,26 +300,26 @@ export const newMapper = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const callAccepted = function (userid) {
|
export const callAccepted = self => userid => {
|
||||||
var username = self.mappersOnMap[userid].name
|
var username = self.mappersOnMap[userid].name
|
||||||
GlobalUI.notifyUser('Conversation starting...')
|
GlobalUI.notifyUser('Conversation starting...')
|
||||||
self.joinCall()
|
self.joinCall()
|
||||||
self.room.chat.invitationAnswered(userid)
|
self.room.chat.invitationAnswered(userid)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const callDenied = function (userid) {
|
export const callDenied = self => userid => {
|
||||||
var username = self.mappersOnMap[userid].name
|
var username = self.mappersOnMap[userid].name
|
||||||
GlobalUI.notifyUser(username + " didn't accept your invitation")
|
GlobalUI.notifyUser(username + " didn't accept your invitation")
|
||||||
self.room.chat.invitationAnswered(userid)
|
self.room.chat.invitationAnswered(userid)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const inviteDenied = function (userid) {
|
export const inviteDenied = self => userid => {
|
||||||
var username = self.mappersOnMap[userid].name
|
var username = self.mappersOnMap[userid].name
|
||||||
GlobalUI.notifyUser(username + " didn't accept your invitation")
|
GlobalUI.notifyUser(username + " didn't accept your invitation")
|
||||||
self.room.chat.invitationAnswered(userid)
|
self.room.chat.invitationAnswered(userid)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const invitedToCall = function (inviter) {
|
export const invitedToCall = self => inviter => {
|
||||||
self.room.chat.sound.stop(self.soundId)
|
self.room.chat.sound.stop(self.soundId)
|
||||||
self.soundId = self.room.chat.sound.play('sessioninvite')
|
self.soundId = self.room.chat.sound.play('sessioninvite')
|
||||||
|
|
||||||
|
@ -329,7 +331,7 @@ export const invitedToCall = function (inviter) {
|
||||||
GlobalUI.notifyUser(notifyText, true)
|
GlobalUI.notifyUser(notifyText, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const invitedToJoin = function (inviter) {
|
export const invitedToJoin = self => inviter => {
|
||||||
self.room.chat.sound.stop(self.soundId)
|
self.room.chat.sound.stop(self.soundId)
|
||||||
self.soundId = self.room.chat.sound.play('sessioninvite')
|
self.soundId = self.room.chat.sound.play('sessioninvite')
|
||||||
|
|
||||||
|
@ -340,7 +342,7 @@ export const invitedToJoin = function (inviter) {
|
||||||
GlobalUI.notifyUser(notifyText, true)
|
GlobalUI.notifyUser(notifyText, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mapperJoinedCall = function (id) {
|
export const mapperJoinedCall = self => id => {
|
||||||
var mapper = self.mappersOnMap[id]
|
var mapper = self.mappersOnMap[id]
|
||||||
|
|
||||||
if (mapper) {
|
if (mapper) {
|
||||||
|
@ -355,7 +357,7 @@ export const mapperJoinedCall = function (id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mapperLeftCall = function (id) {
|
export const mapperLeftCall = self => id => {
|
||||||
var mapper = self.mappersOnMap[id]
|
var mapper = self.mappersOnMap[id]
|
||||||
if (mapper) {
|
if (mapper) {
|
||||||
if (self.inConversation) {
|
if (self.inConversation) {
|
||||||
|
@ -372,7 +374,7 @@ export const mapperLeftCall = function (id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const callInProgress = function () {
|
export const callInProgress = self => () => {
|
||||||
var notifyText = "There's a conversation happening, want to join?"
|
var notifyText = "There's a conversation happening, want to join?"
|
||||||
notifyText += ' <button type="button" class="toast-button button" onclick="Metamaps.Realtime.joinCall()">Yes</button>'
|
notifyText += ' <button type="button" class="toast-button button" onclick="Metamaps.Realtime.joinCall()">Yes</button>'
|
||||||
notifyText += ' <button type="button" class="toast-button button btn-no" onclick="Metamaps.GlobalUI.clearNotify()">No</button>'
|
notifyText += ' <button type="button" class="toast-button button btn-no" onclick="Metamaps.GlobalUI.clearNotify()">No</button>'
|
||||||
|
@ -380,7 +382,7 @@ export const callInProgress = function () {
|
||||||
self.room.conversationInProgress()
|
self.room.conversationInProgress()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const callStarted = function () {
|
export const callStarted = self => () => {
|
||||||
if (self.inConversation) return
|
if (self.inConversation) return
|
||||||
var notifyText = "There's a conversation starting, want to join?"
|
var notifyText = "There's a conversation starting, want to join?"
|
||||||
notifyText += ' <button type="button" class="toast-button button" onclick="Metamaps.Realtime.joinCall()">Yes</button>'
|
notifyText += ' <button type="button" class="toast-button button" onclick="Metamaps.Realtime.joinCall()">Yes</button>'
|
||||||
|
@ -389,3 +391,6 @@ export const callStarted = function () {
|
||||||
self.room.conversationInProgress()
|
self.room.conversationInProgress()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const liveMapsReceived = self => () => {}
|
||||||
|
export const mapWentLive = self => () => {}
|
||||||
|
export const mapCeasedLive = self => () => {}
|
||||||
|
|
|
@ -6,17 +6,16 @@ import {
|
||||||
JOIN_MAP,
|
JOIN_MAP,
|
||||||
LEAVE_MAP,
|
LEAVE_MAP,
|
||||||
CHECK_FOR_CALL,
|
CHECK_FOR_CALL,
|
||||||
ACCEPT_CALL,
|
ACCEPT_CALL,
|
||||||
DENY_CALL,
|
DENY_CALL,
|
||||||
DENY_INVITE,
|
DENY_INVITE,
|
||||||
INVITE_TO_JOIN,
|
INVITE_TO_JOIN,
|
||||||
INVITE_A_CALL,
|
INVITE_A_CALL,
|
||||||
JOIN_CALL,
|
JOIN_CALL,
|
||||||
LEAVE_CALL,
|
LEAVE_CALL,
|
||||||
REQUEST_MAPPER_INFO,
|
|
||||||
SEND_MAPPER_INFO,
|
SEND_MAPPER_INFO,
|
||||||
SEND_COORDS,
|
SEND_COORDS,
|
||||||
CREATE_MESSAGE,
|
CREATE_MESSAGE,
|
||||||
DRAG_TOPIC,
|
DRAG_TOPIC,
|
||||||
CREATE_TOPIC,
|
CREATE_TOPIC,
|
||||||
UPDATE_TOPIC,
|
UPDATE_TOPIC,
|
||||||
|
@ -26,19 +25,15 @@ import {
|
||||||
UPDATE_SYNAPSE,
|
UPDATE_SYNAPSE,
|
||||||
REMOVE_SYNAPSE,
|
REMOVE_SYNAPSE,
|
||||||
DELETE_SYNAPSE,
|
DELETE_SYNAPSE,
|
||||||
UPDATE_MAP
|
UPDATE_MAP
|
||||||
} from './events'
|
} from './events'
|
||||||
|
|
||||||
export const requestLiveMaps = function (self, socket) {
|
export const requestLiveMaps = (self, socket) => () => {
|
||||||
socket.emit(REQUEST_LIVE_MAPS)
|
socket.emit(REQUEST_LIVE_MAPS)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const checkForCall = function (self, socket) {
|
export const joinMap = (self, socket) => () => {
|
||||||
socket.emit(CHECK_FOR_CALL, { room: self.room.room, mapid: Active.Map.id })
|
socket.emit(JOIN_MAP, {
|
||||||
}
|
|
||||||
|
|
||||||
export const newMapperNotify = function (self, socket) {
|
|
||||||
socket.emit(NEW_MAPPER_NOTIFY, {
|
|
||||||
userid: Active.Mapper.id,
|
userid: Active.Mapper.id,
|
||||||
username: Active.Mapper.get('name'),
|
username: Active.Mapper.get('name'),
|
||||||
userimage: Active.Mapper.get('image'),
|
userimage: Active.Mapper.get('image'),
|
||||||
|
@ -47,7 +42,15 @@ export const newMapperNotify = function (self, socket) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const sendMapperInfo = (userid, self, socket) => {
|
export const leaveMap = (self, socket) => () => {
|
||||||
|
socket.emit(LEAVE_MAP)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const checkForCall = (self, socket) => () => {
|
||||||
|
socket.emit(CHECK_FOR_CALL, { room: self.room.room, mapid: Active.Map.id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const sendMapperInfo = (self, socket) => userid => {
|
||||||
// send this new mapper back your details, and the awareness that you've loaded the map
|
// send this new mapper back your details, and the awareness that you've loaded the map
|
||||||
var update = {
|
var update = {
|
||||||
userToNotify: userid,
|
userToNotify: userid,
|
||||||
|
@ -60,7 +63,7 @@ export const sendMapperInfo = (userid, self, socket) => {
|
||||||
socket.emit(SEND_MAPPER_INFO, update)
|
socket.emit(SEND_MAPPER_INFO, update)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const joinCall = function (self, socket) {
|
export const joinCall = (self, socket) => () => {
|
||||||
self.webrtc.off('readyToCall')
|
self.webrtc.off('readyToCall')
|
||||||
self.webrtc.once('readyToCall', function () {
|
self.webrtc.once('readyToCall', function () {
|
||||||
self.videoInitialized = true
|
self.videoInitialized = true
|
||||||
|
@ -83,7 +86,7 @@ export const joinCall = function (self, socket) {
|
||||||
self.room.chat.mapperJoinedCall(Active.Mapper.id)
|
self.room.chat.mapperJoinedCall(Active.Mapper.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const leaveCall = function (self, socket) {
|
export const leaveCall = (self, socket) => () => {
|
||||||
socket.emit(LEAVE_CALL, {
|
socket.emit(LEAVE_CALL, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
id: Active.Mapper.id
|
id: Active.Mapper.id
|
||||||
|
@ -102,7 +105,6 @@ export const leaveCall = function (self, socket) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const acceptCall = (self, socket) => userid => {
|
export const acceptCall = (self, socket) => userid => {
|
||||||
var self = Realtime
|
|
||||||
self.room.chat.sound.stop(self.soundId)
|
self.room.chat.sound.stop(self.soundId)
|
||||||
socket.emit(ACCEPT_CALL, {
|
socket.emit(ACCEPT_CALL, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
|
@ -114,7 +116,7 @@ export const acceptCall = (self, socket) => userid => {
|
||||||
GlobalUI.clearNotify()
|
GlobalUI.clearNotify()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const denyCall = (userid) => {
|
export const denyCall = (self, socket) => userid => {
|
||||||
self.room.chat.sound.stop(self.soundId)
|
self.room.chat.sound.stop(self.soundId)
|
||||||
socket.emit(DENY_CALL, {
|
socket.emit(DENY_CALL, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
|
@ -124,7 +126,7 @@ export const denyCall = (userid) => {
|
||||||
GlobalUI.clearNotify()
|
GlobalUI.clearNotify()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const denyInvite = (userid) => {
|
export const denyInvite = (self, socket) => userid => {
|
||||||
self.room.chat.sound.stop(self.soundId)
|
self.room.chat.sound.stop(self.soundId)
|
||||||
socket.emit(DENY_INVITE, {
|
socket.emit(DENY_INVITE, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
|
@ -134,7 +136,7 @@ export const denyInvite = (userid) => {
|
||||||
GlobalUI.clearNotify()
|
GlobalUI.clearNotify()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const inviteACall = function (userid) {
|
export const inviteACall = (self, socket) => userid => {
|
||||||
socket.emit(INVITE_A_CALL, {
|
socket.emit(INVITE_A_CALL, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
inviter: Active.Mapper.id,
|
inviter: Active.Mapper.id,
|
||||||
|
@ -144,7 +146,7 @@ export const inviteACall = function (userid) {
|
||||||
GlobalUI.clearNotify()
|
GlobalUI.clearNotify()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const inviteToJoin = function (userid) {
|
export const inviteToJoin = (self, socket) => userid => {
|
||||||
socket.emit(INVITE_TO_JOIN, {
|
socket.emit(INVITE_TO_JOIN, {
|
||||||
mapid: Active.Map.id,
|
mapid: Active.Map.id,
|
||||||
inviter: Active.Mapper.id,
|
inviter: Active.Mapper.id,
|
||||||
|
@ -153,7 +155,7 @@ export const inviteToJoin = function (userid) {
|
||||||
self.room.chat.invitationPending(userid)
|
self.room.chat.invitationPending(userid)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const sendCoords = function (coords) {
|
export const sendCoords = (self, socket) => coords => {
|
||||||
var map = Active.Map
|
var map = Active.Map
|
||||||
var mapper = Active.Mapper
|
var mapper = Active.Mapper
|
||||||
if (map.authorizeToEdit(mapper)) {
|
if (map.authorizeToEdit(mapper)) {
|
||||||
|
@ -166,41 +168,41 @@ export const sendCoords = function (coords) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const dragTopic = function (positions) {
|
export const dragTopic = (self, socket) => positions => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
positions.mapid = Active.Map.id
|
positions.mapid = Active.Map.id
|
||||||
socket.emit(DRAG_TOPIC, positions)
|
socket.emit(DRAG_TOPIC, positions)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updateTopic = function (topic) {
|
export const updateTopic = (self, socket) => topic => {
|
||||||
var data = {
|
var data = {
|
||||||
topicId: topic.id
|
topicId: topic.id
|
||||||
}
|
}
|
||||||
socket.emit(UPDATE_TOPIC, data)
|
socket.emit(UPDATE_TOPIC, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updateSynapse = function (synapse) {
|
export const updateSynapse = (self, socket) => synapse => {
|
||||||
var data = {
|
var data = {
|
||||||
synapseId: synapse.id
|
synapseId: synapse.id
|
||||||
}
|
}
|
||||||
socket.emit(UPDATE_SYNAPSE, data)
|
socket.emit(UPDATE_SYNAPSE, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updateMap = function (map) {
|
export const updateMap = (self, socket) => map => {
|
||||||
var data = {
|
var data = {
|
||||||
mapId: map.id
|
mapId: map.id
|
||||||
}
|
}
|
||||||
socket.emit(UPDATE_MAP, data)
|
socket.emit(UPDATE_MAP, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createMessage = function (data) {
|
export const createMessage = (self, socket) => data => {
|
||||||
var message = data.attributes
|
var message = data.attributes
|
||||||
message.mapid = Active.Map.id
|
message.mapid = Active.Map.id
|
||||||
socket.emit(CREATE_MESSAGE, message)
|
socket.emit(CREATE_MESSAGE, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createTopic = function (data) {
|
export const createTopic = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
data.mapperid = Active.Mapper.id
|
data.mapperid = Active.Mapper.id
|
||||||
data.mapid = Active.Map.id
|
data.mapid = Active.Map.id
|
||||||
|
@ -208,20 +210,20 @@ export const createTopic = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const deleteTopic = function (data) {
|
export const deleteTopic = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
socket.emit(DELETE_TOPIC, data)
|
socket.emit(DELETE_TOPIC, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const removeTopic = function (data) {
|
export const removeTopic = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
data.mapid = Active.Map.id
|
data.mapid = Active.Map.id
|
||||||
socket.emit(REMOVE_TOPIC, data)
|
socket.emit(REMOVE_TOPIC, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createSynapse = function (data) {
|
export const createSynapse = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
data.mapperid = Active.Mapper.id
|
data.mapperid = Active.Mapper.id
|
||||||
data.mapid = Active.Map.id
|
data.mapid = Active.Map.id
|
||||||
|
@ -229,14 +231,14 @@ export const createSynapse = function (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const deleteSynapse = function (data) {
|
export const deleteSynapse = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
data.mapid = Active.Map.id
|
data.mapid = Active.Map.id
|
||||||
socket.emit(DELETE_SYNAPSE, data)
|
socket.emit(DELETE_SYNAPSE, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const removeSynapse = function (data) {
|
export const removeSynapse = (self, socket) => data => {
|
||||||
if (Active.Map) {
|
if (Active.Map) {
|
||||||
data.mapid = Active.Map.id
|
data.mapid = Active.Map.id
|
||||||
socket.emit(REMOVE_SYNAPSE, data)
|
socket.emit(REMOVE_SYNAPSE, data)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
var
|
var
|
||||||
io = require('socket.io').listen(5001),
|
io = require('socket.io').listen(5001),
|
||||||
signalServer = require('./signal'),
|
signalServer = require('./signal'),
|
||||||
stunservers = [{"url": "stun:stun.l.google.com:19302"}]
|
stunservers = [{"url": "stun:stun.l.google.com:19302"}]
|
||||||
|
|
||||||
import {
|
import {
|
||||||
// server sendable, client receivable
|
// server sendable, client receivable
|
||||||
|
@ -38,17 +38,17 @@ import {
|
||||||
JOIN_MAP,
|
JOIN_MAP,
|
||||||
LEAVE_MAP,
|
LEAVE_MAP,
|
||||||
CHECK_FOR_CALL,
|
CHECK_FOR_CALL,
|
||||||
ACCEPT_CALL,
|
ACCEPT_CALL,
|
||||||
DENY_CALL,
|
DENY_CALL,
|
||||||
DENY_INVITE,
|
DENY_INVITE,
|
||||||
INVITE_TO_JOIN,
|
INVITE_TO_JOIN,
|
||||||
INVITE_A_CALL,
|
INVITE_A_CALL,
|
||||||
JOIN_CALL,
|
JOIN_CALL,
|
||||||
LEAVE_CALL,
|
LEAVE_CALL,
|
||||||
REQUEST_MAPPER_INFO,
|
REQUEST_MAPPER_INFO,
|
||||||
SEND_MAPPER_INFO,
|
SEND_MAPPER_INFO,
|
||||||
SEND_COORDS,
|
SEND_COORDS,
|
||||||
CREATE_MESSAGE,
|
CREATE_MESSAGE,
|
||||||
DRAG_TOPIC,
|
DRAG_TOPIC,
|
||||||
CREATE_TOPIC,
|
CREATE_TOPIC,
|
||||||
UPDATE_TOPIC,
|
UPDATE_TOPIC,
|
||||||
|
@ -58,208 +58,208 @@ import {
|
||||||
UPDATE_SYNAPSE,
|
UPDATE_SYNAPSE,
|
||||||
REMOVE_SYNAPSE,
|
REMOVE_SYNAPSE,
|
||||||
DELETE_SYNAPSE,
|
DELETE_SYNAPSE,
|
||||||
UPDATE_MAP
|
UPDATE_MAP
|
||||||
} from '../frontend/src/Metamaps/Realtime/events'
|
} from '../frontend/src/Metamaps/Realtime/events'
|
||||||
|
|
||||||
io.set('log', false)
|
io.set('log', false)
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
var livemaps = {}
|
var livemaps = {}
|
||||||
|
|
||||||
signalServer(io, stunservers)
|
signalServer(io, stunservers)
|
||||||
|
|
||||||
io.on('connection', function (socket) {
|
io.on('connection', function (socket) {
|
||||||
|
|
||||||
socket.on(REQUEST_LIVE_MAPS, function (activeUser) {
|
|
||||||
//constrain response to maps visible to user
|
|
||||||
var maps = Object.keys(livemaps).map(function(key) { return livemaps[key] })
|
|
||||||
socket.emit(LIVE_MAPS_RECEIVED, maps)
|
|
||||||
})
|
|
||||||
|
|
||||||
// this will ping a new person with awareness of who's already on the map
|
socket.on(REQUEST_LIVE_MAPS, function (activeUser) {
|
||||||
socket.on(SEND_MAPPER_INFO, function (data) {
|
//constrain response to maps visible to user
|
||||||
var existingUser = {
|
var maps = Object.keys(livemaps).map(function(key) { return livemaps[key] })
|
||||||
userid: data.userid,
|
socket.emit(LIVE_MAPS_RECEIVED, maps)
|
||||||
username: data.username,
|
})
|
||||||
userrealtime: data.userrealtime,
|
|
||||||
userinconversation: data.userinconversation,
|
|
||||||
userimage: data.userimage
|
|
||||||
}
|
|
||||||
//socket.broadcast.emit(data.userToNotify + '-' + data.mapid + '-UpdateMapperList', existingUser)
|
|
||||||
socket.broadcast.emit(MAPPER_LIST_UPDATED, existingUser)
|
|
||||||
})
|
|
||||||
|
|
||||||
// as a new mapper check whether there's a call in progress to join
|
// this will ping a new person with awareness of who's already on the map
|
||||||
socket.on(CHECK_FOR_CALL, function (data) {
|
socket.on(SEND_MAPPER_INFO, function (data) {
|
||||||
var socketsInRoom = io.sockets.clients(data.room)
|
var existingUser = {
|
||||||
//if (socketsInRoom.length) socket.emit('maps-' + data.mapid + '-callInProgress')
|
userid: data.userid,
|
||||||
if (socketsInRoom.length) socket.emit(CALL_IN_PROGRESS)
|
username: data.username,
|
||||||
})
|
userrealtime: data.userrealtime,
|
||||||
|
userinconversation: data.userinconversation,
|
||||||
// send the invitation to start a call
|
userimage: data.userimage
|
||||||
socket.on(INVITE_A_CALL, function (data) {
|
|
||||||
//socket.broadcast.emit(data.invited + '-' + data.mapid + '-invitedToCall', data.inviter)
|
|
||||||
socket.broadcast.emit(INVITED_TO_CALL, data.inviter)
|
|
||||||
})
|
|
||||||
|
|
||||||
// send an invitation to join a call in progress
|
|
||||||
socket.on(INVITE_TO_JOIN, function (data) {
|
|
||||||
//socket.broadcast.emit(data.invited + '-' + data.mapid + '-invitedToJoin', data.inviter)
|
|
||||||
socket.broadcast.emit(INVITED_TO_JOIN, data.inviter)
|
|
||||||
})
|
|
||||||
|
|
||||||
// send response back to the inviter
|
|
||||||
socket.on(ACCEPT_CALL, function (data) {
|
|
||||||
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-callAccepted', data.invited)
|
|
||||||
//socket.broadcast.emit('maps-' + data.mapid + '-callStarting')
|
|
||||||
socket.broadcast.emit(CALL_ACCEPTED, data.invited)
|
|
||||||
socket.broadcast.emit(CALL_STARTED)
|
|
||||||
})
|
|
||||||
|
|
||||||
socket.on(DENY_CALL, function (data) {
|
|
||||||
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-callDenied', data.invited)
|
|
||||||
socket.broadcast.emit(CALL_DENIED, data.invited)
|
|
||||||
})
|
|
||||||
socket.on(DENY_INVITE, function (data) {
|
|
||||||
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-inviteDenied', data.invited)
|
|
||||||
socket.broadcast.emit(INVITE_DENIED, data.invited)
|
|
||||||
})
|
|
||||||
socket.on(JOIN_CALL, function (data) {
|
|
||||||
//socket.broadcast.emit('maps-' + data.mapid + '-mapperJoinedCall', data.id)
|
|
||||||
socket.broadcast.emit(MAPPER_JOINED_CALL, data.id)
|
|
||||||
})
|
|
||||||
socket.on(LEAVE_CALL, function (data) {
|
|
||||||
//socket.broadcast.emit('maps-' + data.mapid + '-mapperLeftCall', data.id)
|
|
||||||
socket.broadcast.emit(MAPPER_LEFT_CALL, data.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
// this will ping everyone on a map that there's a person just joined the map
|
|
||||||
socket.on(NEW_MAPPER, function (data) {
|
|
||||||
|
|
||||||
if (!livemaps[data.mapid]) {
|
|
||||||
livemaps[data.mapid] = data.map // { name: '', desc: '', numTopics: '' }
|
|
||||||
livemaps[data.mapid].mapper_count = 1
|
|
||||||
io.sockets.emit(MAP_WENT_LIVE, livemaps[data.mapid])
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
livemaps[data.mapid].mapper_count++
|
|
||||||
}
|
|
||||||
|
|
||||||
socket.set('mapid', data.mapid)
|
|
||||||
socket.set('userid', data.userid)
|
|
||||||
socket.set('username', data.username)
|
|
||||||
|
|
||||||
var newUser = {
|
|
||||||
userid: data.userid,
|
|
||||||
username: data.username,
|
|
||||||
userimage: data.userimage
|
|
||||||
}
|
|
||||||
|
|
||||||
//socket.broadcast.emit('maps-' + data.mapid + '-newmapper', newUser)
|
|
||||||
socket.broadcast.emit(NEW_MAPPER, newUser)
|
|
||||||
})
|
|
||||||
|
|
||||||
var end = function () {
|
|
||||||
|
|
||||||
var socketUserName, socketUserID
|
|
||||||
socket.get('userid', function (err, id) {
|
|
||||||
socketUserID = id
|
|
||||||
})
|
|
||||||
socket.get('username', function (err, name) {
|
|
||||||
socketUserName = name
|
|
||||||
})
|
|
||||||
var data = {
|
|
||||||
username: socketUserName,
|
|
||||||
userid: socketUserID
|
|
||||||
}
|
|
||||||
socket.get('mapid', function (err, mapid) {
|
|
||||||
if (livemaps[mapid] && livemaps[mapid].mapper_count == 1) {
|
|
||||||
delete livemaps[mapid]
|
|
||||||
io.sockets.emit(MAP_CEASED_LIVE, { id: mapid })
|
|
||||||
}
|
|
||||||
else if (livemaps[mapid]) {
|
|
||||||
livemaps[mapid].mapper_count--
|
|
||||||
}
|
|
||||||
// scope by map
|
|
||||||
socket.broadcast.emit(LOST_MAPPER, data)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
// this will ping everyone on a map that there's a person just left the map
|
//socket.broadcast.emit(data.userToNotify + '-' + data.mapid + '-UpdateMapperList', existingUser)
|
||||||
socket.on('disconnect', end)
|
socket.broadcast.emit(MAPPER_LIST_UPDATED, existingUser)
|
||||||
socket.on('endMapperNotify', end)
|
})
|
||||||
|
|
||||||
socket.on(SEND_COORDS, function (data) {
|
// as a new mapper check whether there's a call in progress to join
|
||||||
var peer = {
|
socket.on(CHECK_FOR_CALL, function (data) {
|
||||||
userid: data.userid,
|
var socketsInRoom = io.sockets.clients(data.room)
|
||||||
usercoords: data.usercoords
|
//if (socketsInRoom.length) socket.emit('maps-' + data.mapid + '-callInProgress')
|
||||||
}
|
if (socketsInRoom.length) socket.emit(CALL_IN_PROGRESS)
|
||||||
|
})
|
||||||
|
|
||||||
//socket.broadcast.emit('maps-' + data.mapid + '-updatePeerCoords', peer)
|
// send the invitation to start a call
|
||||||
socket.broadcast.emit(PEER_COORDS_UPDATED, peer)
|
socket.on(INVITE_A_CALL, function (data) {
|
||||||
|
//socket.broadcast.emit(data.invited + '-' + data.mapid + '-invitedToCall', data.inviter)
|
||||||
|
socket.broadcast.emit(INVITED_TO_CALL, data.inviter)
|
||||||
|
})
|
||||||
|
|
||||||
|
// send an invitation to join a call in progress
|
||||||
|
socket.on(INVITE_TO_JOIN, function (data) {
|
||||||
|
//socket.broadcast.emit(data.invited + '-' + data.mapid + '-invitedToJoin', data.inviter)
|
||||||
|
socket.broadcast.emit(INVITED_TO_JOIN, data.inviter)
|
||||||
|
})
|
||||||
|
|
||||||
|
// send response back to the inviter
|
||||||
|
socket.on(ACCEPT_CALL, function (data) {
|
||||||
|
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-callAccepted', data.invited)
|
||||||
|
//socket.broadcast.emit('maps-' + data.mapid + '-callStarting')
|
||||||
|
socket.broadcast.emit(CALL_ACCEPTED, data.invited)
|
||||||
|
socket.broadcast.emit(CALL_STARTED)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(DENY_CALL, function (data) {
|
||||||
|
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-callDenied', data.invited)
|
||||||
|
socket.broadcast.emit(CALL_DENIED, data.invited)
|
||||||
|
})
|
||||||
|
socket.on(DENY_INVITE, function (data) {
|
||||||
|
//socket.broadcast.emit(data.inviter + '-' + data.mapid + '-inviteDenied', data.invited)
|
||||||
|
socket.broadcast.emit(INVITE_DENIED, data.invited)
|
||||||
|
})
|
||||||
|
socket.on(JOIN_CALL, function (data) {
|
||||||
|
//socket.broadcast.emit('maps-' + data.mapid + '-mapperJoinedCall', data.id)
|
||||||
|
socket.broadcast.emit(MAPPER_JOINED_CALL, data.id)
|
||||||
|
})
|
||||||
|
socket.on(LEAVE_CALL, function (data) {
|
||||||
|
//socket.broadcast.emit('maps-' + data.mapid + '-mapperLeftCall', data.id)
|
||||||
|
socket.broadcast.emit(MAPPER_LEFT_CALL, data.id)
|
||||||
|
})
|
||||||
|
|
||||||
|
// this will ping everyone on a map that there's a person just joined the map
|
||||||
|
socket.on(JOIN_MAP, function (data) {
|
||||||
|
|
||||||
|
if (!livemaps[data.mapid]) {
|
||||||
|
livemaps[data.mapid] = data.map // { name: '', desc: '', numTopics: '' }
|
||||||
|
livemaps[data.mapid].mapper_count = 1
|
||||||
|
io.sockets.emit(MAP_WENT_LIVE, livemaps[data.mapid])
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
livemaps[data.mapid].mapper_count++
|
||||||
|
}
|
||||||
|
|
||||||
|
socket.set('mapid', data.mapid)
|
||||||
|
socket.set('userid', data.userid)
|
||||||
|
socket.set('username', data.username)
|
||||||
|
|
||||||
|
var newUser = {
|
||||||
|
userid: data.userid,
|
||||||
|
username: data.username,
|
||||||
|
userimage: data.userimage
|
||||||
|
}
|
||||||
|
|
||||||
|
//socket.broadcast.emit('maps-' + data.mapid + '-newmapper', newUser)
|
||||||
|
socket.broadcast.emit(NEW_MAPPER, newUser)
|
||||||
|
})
|
||||||
|
|
||||||
|
var end = function () {
|
||||||
|
|
||||||
|
var socketUserName, socketUserID
|
||||||
|
socket.get('userid', function (err, id) {
|
||||||
|
socketUserID = id
|
||||||
})
|
})
|
||||||
|
socket.get('username', function (err, name) {
|
||||||
socket.on(DRAG_TOPIC, function (data) {
|
socketUserName = name
|
||||||
var mapId = data.mapid
|
|
||||||
delete data.mapid
|
|
||||||
|
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-topicDrag', data)
|
|
||||||
socket.broadcast.emit(TOPIC_DRAGGED, data)
|
|
||||||
})
|
})
|
||||||
|
var data = {
|
||||||
socket.on(CREATE_MESSAGE, function (data) {
|
username: socketUserName,
|
||||||
var mapId = data.mapid
|
userid: socketUserID
|
||||||
delete data.mapid
|
}
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-newMessage', data)
|
socket.get('mapid', function (err, mapid) {
|
||||||
socket.broadcast.emit(MESSAGE_CREATED, data)
|
if (livemaps[mapid] && livemaps[mapid].mapper_count == 1) {
|
||||||
|
delete livemaps[mapid]
|
||||||
|
io.sockets.emit(MAP_CEASED_LIVE, { id: mapid })
|
||||||
|
}
|
||||||
|
else if (livemaps[mapid]) {
|
||||||
|
livemaps[mapid].mapper_count--
|
||||||
|
}
|
||||||
|
// scope by map
|
||||||
|
socket.broadcast.emit(LOST_MAPPER, data)
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
// this will ping everyone on a map that there's a person just left the map
|
||||||
|
socket.on('disconnect', end)
|
||||||
|
socket.on(LEAVE_MAP, end)
|
||||||
|
|
||||||
socket.on(CREATE_TOPIC, function (data) {
|
socket.on(SEND_COORDS, function (data) {
|
||||||
var mapId = data.mapid
|
var peer = {
|
||||||
delete data.mapid
|
userid: data.userid,
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-newTopic', data)
|
usercoords: data.usercoords
|
||||||
socket.broadbast.emit(TOPIC_CREATED, data)
|
}
|
||||||
})
|
|
||||||
|
|
||||||
socket.on(UPDATE_TOPIC, function (data) {
|
//socket.broadcast.emit('maps-' + data.mapid + '-updatePeerCoords', peer)
|
||||||
socket.broadcast.emit(TOPIC_UPDATED, data)
|
socket.broadcast.emit(PEER_COORDS_UPDATED, peer)
|
||||||
})
|
})
|
||||||
|
|
||||||
socket.on(REMOVE_TOPIC, function (data) {
|
socket.on(DRAG_TOPIC, function (data) {
|
||||||
var mapId = data.mapid
|
var mapId = data.mapid
|
||||||
delete data.mapid
|
delete data.mapid
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-removeTopic', data)
|
|
||||||
socket.broadcast.emit(TOPIC_REMOVED, data)
|
|
||||||
})
|
|
||||||
|
|
||||||
socket.on(DELETE_TOPIC, function (data) {
|
//socket.broadcast.emit('maps-' + mapId + '-topicDrag', data)
|
||||||
socket.broadcast.emit(TOPIC_DELETED, data)
|
socket.broadcast.emit(TOPIC_DRAGGED, data)
|
||||||
})
|
})
|
||||||
|
|
||||||
socket.on(CREATE_SYNAPSE, function (data) {
|
socket.on(CREATE_MESSAGE, function (data) {
|
||||||
var mapId = data.mapid
|
var mapId = data.mapid
|
||||||
delete data.mapid
|
delete data.mapid
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-newSynapse', data)
|
//socket.broadcast.emit('maps-' + mapId + '-newMessage', data)
|
||||||
socket.broadcast.emit(SYNAPSE_CREATED, data)
|
socket.broadcast.emit(MESSAGE_CREATED, data)
|
||||||
})
|
})
|
||||||
|
|
||||||
socket.on(UPDATE_SYNAPSE, function (data) {
|
socket.on(CREATE_TOPIC, function (data) {
|
||||||
socket.broadcast.emit(SYNAPSE_UPDATED, data)
|
var mapId = data.mapid
|
||||||
})
|
delete data.mapid
|
||||||
|
//socket.broadcast.emit('maps-' + mapId + '-newTopic', data)
|
||||||
|
socket.broadcast.emit(TOPIC_CREATED, data)
|
||||||
|
})
|
||||||
|
|
||||||
socket.on(REMOVE_SYNAPSE, function (data) {
|
socket.on(UPDATE_TOPIC, function (data) {
|
||||||
var mapId = data.mapid
|
socket.broadcast.emit(TOPIC_UPDATED, data)
|
||||||
delete data.mapid
|
})
|
||||||
//socket.broadcast.emit('maps-' + mapId + '-removeSynapse', data)
|
|
||||||
socket.broadcast.emit(SYNAPSE_REMOVED, data)
|
|
||||||
})
|
|
||||||
|
|
||||||
socket.on(DELETE_SYNAPSE, function (data) {
|
socket.on(REMOVE_TOPIC, function (data) {
|
||||||
//socket.broadcast.emit('deleteSynapseFromServer', data)
|
var mapId = data.mapid
|
||||||
socket.broadcast.emit(SYNAPSE_DELETED, data)
|
delete data.mapid
|
||||||
})
|
//socket.broadcast.emit('maps-' + mapId + '-removeTopic', data)
|
||||||
|
socket.broadcast.emit(TOPIC_REMOVED, data)
|
||||||
|
})
|
||||||
|
|
||||||
socket.on(UPDATE_MAP, function (data) {
|
socket.on(DELETE_TOPIC, function (data) {
|
||||||
socket.broadcast.emit(MAP_UPDATED, data)
|
socket.broadcast.emit(TOPIC_DELETED, data)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(CREATE_SYNAPSE, function (data) {
|
||||||
|
var mapId = data.mapid
|
||||||
|
delete data.mapid
|
||||||
|
//socket.broadcast.emit('maps-' + mapId + '-newSynapse', data)
|
||||||
|
socket.broadcast.emit(SYNAPSE_CREATED, data)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(UPDATE_SYNAPSE, function (data) {
|
||||||
|
socket.broadcast.emit(SYNAPSE_UPDATED, data)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(REMOVE_SYNAPSE, function (data) {
|
||||||
|
var mapId = data.mapid
|
||||||
|
delete data.mapid
|
||||||
|
//socket.broadcast.emit('maps-' + mapId + '-removeSynapse', data)
|
||||||
|
socket.broadcast.emit(SYNAPSE_REMOVED, data)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(DELETE_SYNAPSE, function (data) {
|
||||||
|
//socket.broadcast.emit('deleteSynapseFromServer', data)
|
||||||
|
socket.broadcast.emit(SYNAPSE_DELETED, data)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on(UPDATE_MAP, function (data) {
|
||||||
|
socket.broadcast.emit(MAP_UPDATED, data)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue