From 501a6b7d1174e97e1b337eee48608d802279ea67 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki & Nathan Sobo Date: Mon, 22 Jul 2013 19:58:27 -0700 Subject: [PATCH] Add site global used to create all telepath documents --- src/app/atom.coffee | 3 +-- src/app/display-buffer.coffee | 2 +- src/app/edit-session.coffee | 2 +- src/app/pane-axis.coffee | 2 +- src/app/pane-container.coffee | 2 +- src/app/pane.coffee | 2 +- src/app/project.coffee | 2 +- src/app/root-view.coffee | 2 +- src/app/text-buffer.coffee | 8 ++++---- src/app/tokenized-buffer.coffee | 2 +- src/app/window.coffee | 1 + src/packages/collaboration/lib/guest-session.coffee | 4 ++-- src/packages/collaboration/lib/host-session.coffee | 2 +- vendor/telepath | 2 +- 14 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/app/atom.coffee b/src/app/atom.coffee index 410ed17a0..5de620235 100644 --- a/src/app/atom.coffee +++ b/src/app/atom.coffee @@ -275,8 +275,7 @@ window.atom = console.warn "Error parsing window state: #{windowStatePath}", error.stack, error windowState ?= {} - site = telepath.createSite(1) - telepath.Document.deserialize(windowState, {site}) ? telepath.Document.create({}, {site}) + site.deserializeDocument(windowState) ? site.createDocument({}) saveWindowState: -> windowStateJson = JSON.stringify(@getWindowState().serialize()) diff --git a/src/app/display-buffer.coffee b/src/app/display-buffer.coffee index 1a672072a..2ea5efcfc 100644 --- a/src/app/display-buffer.coffee +++ b/src/app/display-buffer.coffee @@ -36,7 +36,7 @@ class DisplayBuffer {@buffer, softWrapColumn} = optionsOrState @id = guid.create().toString() @tokenizedBuffer = new TokenizedBuffer(optionsOrState) - @state = telepath.create + @state = site.createDocument deserializer: @constructor.name id: @id tokenizedBuffer: @tokenizedBuffer.getState() diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index 47bcf033d..d09b2a68c 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -52,7 +52,7 @@ class EditSession {buffer, displayBuffer, tabLength, softTabs, softWrap, suppressCursorCreation} = optionsOrState @id = guid.create().toString() displayBuffer ?= new DisplayBuffer({buffer, tabLength}) - @state = telepath.Document.create + @state = site.createDocument deserializer: 'EditSession' version: @constructor.version id: @id diff --git a/src/app/pane-axis.coffee b/src/app/pane-axis.coffee index 65ff9dceb..a7abd8e5c 100644 --- a/src/app/pane-axis.coffee +++ b/src/app/pane-axis.coffee @@ -15,7 +15,7 @@ class PaneAxis extends View @state = args[0] @state.get('children').each (child, index) => @addChild(deserialize(child), index, updateState: false) else - @state = telepath.create(deserializer: @className(), children: []) + @state = site.createDocument(deserializer: @className(), children: []) @addChild(child) for child in args @state.get('children').on 'changed', ({index, inserted, removed, site}) => diff --git a/src/app/pane-container.coffee b/src/app/pane-container.coffee index 890d0d8f4..acfaf4db2 100644 --- a/src/app/pane-container.coffee +++ b/src/app/pane-container.coffee @@ -23,7 +23,7 @@ class PaneContainer extends View @state = state @setRoot(deserialize(@state.get('root'))) else - @state = telepath.create(deserializer: 'PaneContainer') + @state = site.createDocument(deserializer: 'PaneContainer') @state.on 'changed', ({key, newValue, site}) => return if site is @state.site.id diff --git a/src/app/pane.coffee b/src/app/pane.coffee index 0e8d523a7..676a07710 100644 --- a/src/app/pane.coffee +++ b/src/app/pane.coffee @@ -32,7 +32,7 @@ class Pane extends View @items = _.compact(@state.get('items').map (item) -> deserialize(item)) else @items = args - @state = telepath.Document.create + @state = site.createDocument deserializer: 'Pane' items: @items.map (item) -> item.getState?() ? item.serialize() diff --git a/src/app/project.coffee b/src/app/project.coffee index 3e590ce43..4885154b9 100644 --- a/src/app/project.coffee +++ b/src/app/project.coffee @@ -69,7 +69,7 @@ class Project if buffer = deserialize(bufferState, project: this) @addBuffer(buffer, updateState: false) else - @state = telepath.Document.create(deserializer: @constructor.name, version: @constructor.version, buffers: []) + @state = site.createDocument(deserializer: @constructor.name, version: @constructor.version, buffers: []) @setPath(pathOrState) @state.get('buffers').on 'changed', ({inserted, removed, index, site}) => diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index f2b222a96..f6e51137d 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -45,7 +45,7 @@ class RootView extends View panes = deserialize(state.get('panes')) else panes = new PaneContainer - @state = telepath.create + @state = site.createDocument deserializer: @constructor.name version: @constructor.version panes: panes.getState() diff --git a/src/app/text-buffer.coffee b/src/app/text-buffer.coffee index a85091bfe..d968b4736 100644 --- a/src/app/text-buffer.coffee +++ b/src/app/text-buffer.coffee @@ -43,9 +43,9 @@ class TextBuffer @id = @state.get('id') else {@project, filePath, initialText} = optionsOrState - @text = telepath.Document.create(initialText, shareStrings: true) if initialText + @text = site.createDocument(initialText, shareStrings: true) if initialText @id = guid.create().toString() - @state = telepath.Document.create + @state = site.createDocument id: @id deserializer: @constructor.name version: @constructor.version @@ -55,10 +55,10 @@ class TextBuffer if @text @updateCachedDiskContents() else - @text = telepath.Document.create('', shareStrings: true) + @text = site.createDocument('', shareStrings: true) @reload() if fsUtils.exists(filePath) else - @text ?= telepath.Document.create('', shareStrings: true) + @text ?= site.createDocument('', shareStrings: true) @state.set('text', @text) @text.on 'changed', @handleTextChange diff --git a/src/app/tokenized-buffer.coffee b/src/app/tokenized-buffer.coffee index e4e28a10a..0e33b7c48 100644 --- a/src/app/tokenized-buffer.coffee +++ b/src/app/tokenized-buffer.coffee @@ -31,7 +31,7 @@ class TokenizedBuffer @buffer = project.bufferForId(optionsOrState.get('bufferId')) else { @buffer, tabLength } = optionsOrState - @state = telepath.create + @state = site.createDocument deserializer: @constructor.name bufferId: @buffer.id tabLength: tabLength ? 2 diff --git a/src/app/window.coffee b/src/app/window.coffee index cd6a71993..3d9901f17 100644 --- a/src/app/window.coffee +++ b/src/app/window.coffee @@ -20,6 +20,7 @@ windowEventHandler = null # This method is called in any window needing a general environment, including specs window.setUpEnvironment = (windowMode) -> + window.site = new telepath.Site(1) atom.windowMode = windowMode window.resourcePath = remote.getCurrentWindow().loadSettings.resourcePath diff --git a/src/packages/collaboration/lib/guest-session.coffee b/src/packages/collaboration/lib/guest-session.coffee index 21c34facb..5dadc5da6 100644 --- a/src/packages/collaboration/lib/guest-session.coffee +++ b/src/packages/collaboration/lib/guest-session.coffee @@ -31,8 +31,8 @@ class GuestSession @createTelepathDocument(data, connection) createTelepathDocument: (data, connection) -> - doc = telepath.Document.deserialize(data.doc, site: telepath.createSite(@getId())) - + window.site = new telepath.Site(@getId()) + doc = window.site.deserializeDocument(data.doc) servers = null mediaConnection = new webkitRTCPeerConnection(servers) diff --git a/src/packages/collaboration/lib/host-session.coffee b/src/packages/collaboration/lib/host-session.coffee index 305ad2a0d..3553bb03b 100644 --- a/src/packages/collaboration/lib/host-session.coffee +++ b/src/packages/collaboration/lib/host-session.coffee @@ -35,7 +35,7 @@ class HostSession navigator.webkitGetUserMedia constraints, success, console.error @peer = createPeer() - @doc = telepath.Document.create({}, site: telepath.createSite(@getId())) + @doc = site.createDocument({}) @doc.set('windowState', atom.windowState) patrick.snapshot project.getPath(), (error, repoSnapshot) => if error? diff --git a/vendor/telepath b/vendor/telepath index c1b07c504..8ce1bbfaa 160000 --- a/vendor/telepath +++ b/vendor/telepath @@ -1 +1 @@ -Subproject commit c1b07c50444a3e5f617ae45699b2140db74b3537 +Subproject commit 8ce1bbfaa3a65650dad5e750bd465b9f96a2f43e