overleaf/services/web/public/coffee/app/ide/connection/ConnectionManager.coffee
2014-06-24 15:31:44 +01:00

35 lines
No EOL
949 B
CoffeeScript

define [], () ->
class ConnectionManager
constructor: (@ide, @$scope) ->
@ide.socket = io.connect null,
reconnect: false
"force new connection": true
@ide.socket.on "connect", () =>
@$scope.$apply () =>
@$scope.state.load_progress = 80
joinProject = () =>
@ide.socket.emit 'joinProject', {
project_id: @ide.project_id
}, (err, project, permissionsLevel, protocolVersion) =>
if @$scope.protocolVersion? and @$scope.protocolVersion != protocolVersion
location.reload(true)
@$scope.$apply () =>
@$scope.protocolVersion = protocolVersion
@$scope.project = project
@$scope.state.load_progress = 100
@$scope.state.loading = false
@$scope.$emit "project:joined"
setTimeout(joinProject, 100)
reconnectImmediately: () ->
console.log "RECONNECT IMMEDIATELY STUB"
@disconnect()
#@tryReconnect()
disconnect: () ->
@socket.disconnect()