mirror of
https://github.com/atom/atom.git
synced 2026-01-23 13:58:08 -05:00
Extract helpers to session-utils
This commit is contained in:
committed by
Nathan Sobo
parent
b5b408d134
commit
89192c2ee2
@@ -1,36 +1,20 @@
|
||||
require 'atom'
|
||||
require 'window'
|
||||
_ = require 'underscore'
|
||||
{createPeer, connectDocument} = require './session-utils'
|
||||
{createSite, Document} = require 'telepath'
|
||||
|
||||
window.setDimensions(x: 0, y: 0, width: 800, height: 800)
|
||||
atom.show()
|
||||
|
||||
Peer = require './peer'
|
||||
Guid = require 'guid'
|
||||
{createSite, Document} = require 'telepath'
|
||||
|
||||
peerJsSettings =
|
||||
host: 'ec2-54-218-51-127.us-west-2.compute.amazonaws.com'
|
||||
port: 8080
|
||||
|
||||
wireDocumentEvents = (connection, sharedDocument) ->
|
||||
sharedDocument.outputEvents.on 'changed', (event) ->
|
||||
console.log 'sending event', event
|
||||
connection.send(event)
|
||||
|
||||
connection.on 'data', (event) ->
|
||||
console.log 'receiving event', _.clone(event.targetPath)
|
||||
sharedDocument.handleInputEvent(event)
|
||||
|
||||
siteId = Guid.create().toString()
|
||||
peer = new Peer(siteId, peerJsSettings)
|
||||
peer = createPeer()
|
||||
{sessionId} = atom.getLoadSettings()
|
||||
connection = peer.connect(sessionId, reliable: true)
|
||||
connection.on 'open', ->
|
||||
console.log 'connection opened'
|
||||
connection.once 'data', (data) ->
|
||||
console.log 'received data', data
|
||||
atom.windowState = Document.deserialize(createSite(siteId), data)
|
||||
wireDocumentEvents(connection, atom.windowState)
|
||||
console.log 'received document'
|
||||
atom.windowState = Document.deserialize(createSite(peer.id), data)
|
||||
connectDocument(atom.windowState, connection)
|
||||
window.setUpEnvironment('editor')
|
||||
window.startEditorWindow()
|
||||
|
||||
@@ -1,46 +1,16 @@
|
||||
Peer = require './peer'
|
||||
Guid = require 'guid'
|
||||
Prompt = require './prompt'
|
||||
{createSite, Document} = require 'telepath'
|
||||
$ = require 'jquery'
|
||||
|
||||
peerJsSettings =
|
||||
host: 'ec2-54-218-51-127.us-west-2.compute.amazonaws.com'
|
||||
port: 8080
|
||||
|
||||
wireDocumentEvents = (connection, sharedDocument) ->
|
||||
sharedDocument.outputEvents.on 'changed', (event) ->
|
||||
console.log 'sending event', event
|
||||
connection.send(event)
|
||||
|
||||
connection.on 'data', (event) ->
|
||||
console.log 'receiving event', event
|
||||
sharedDocument.handleInputEvent(event)
|
||||
{createPeer, connectDocument} = require './session-utils'
|
||||
|
||||
startSession = ->
|
||||
id = Guid.create().toString()
|
||||
peer = new Peer(id, peerJsSettings)
|
||||
peer = createPeer()
|
||||
peer.on 'connection', (connection) ->
|
||||
connection.on 'open', ->
|
||||
console.log 'sending document', atom.getWindowState().serialize()
|
||||
connection.send(atom.getWindowState().serialize())
|
||||
wireDocumentEvents(connection, atom.getWindowState())
|
||||
id
|
||||
|
||||
joinSession = (id) ->
|
||||
siteId = Guid.create().toString()
|
||||
peer = new Peer(siteId, peerJsSettings)
|
||||
connection = peer.connect(id, reliable: true)
|
||||
connection.on 'open', ->
|
||||
console.log 'connection opened'
|
||||
connection.once 'data', (data) ->
|
||||
console.log 'received data', data
|
||||
remoteWindowState = Document.deserialize(createSite(siteId), data)
|
||||
window.remoteWindowState = remoteWindowState
|
||||
wireDocumentEvents(connection, remoteWindowState)
|
||||
rootView.remove()
|
||||
window.rootView = deserialize(remoteWindowState.get('rootView'))
|
||||
$('body').append(rootView)
|
||||
console.log 'sending document'
|
||||
windowState = atom.getWindowState()
|
||||
connection.send(windowState.serialize())
|
||||
connectDocument(windowState, connection)
|
||||
peer.id
|
||||
|
||||
module.exports =
|
||||
activate: ->
|
||||
|
||||
16
src/packages/collaboration/lib/session-utils.coffee
Normal file
16
src/packages/collaboration/lib/session-utils.coffee
Normal file
@@ -0,0 +1,16 @@
|
||||
Peer = require './peer'
|
||||
Guid = require 'guid'
|
||||
|
||||
module.exports =
|
||||
createPeer: ->
|
||||
id = Guid.create().toString()
|
||||
new Peer(id, host: 'ec2-54-218-51-127.us-west-2.compute.amazonaws.com', port: 8080)
|
||||
|
||||
connectDocument: (doc, connection) ->
|
||||
doc.outputEvents.on 'changed', (event) ->
|
||||
console.log 'sending event', event
|
||||
connection.send(event)
|
||||
|
||||
connection.on 'data', (event) ->
|
||||
console.log 'receiving event', event
|
||||
doc.handleInputEvent(event)
|
||||
Reference in New Issue
Block a user