mirror of
https://github.com/atom/atom.git
synced 2026-02-14 16:45:14 -05:00
Rename deserializeView to deserialize
In additional, rename `registerViewClass(es)` to `registerDeserializer(s)`. This moves us to a situation where any kind of object may want to be deserialized, not just views.
This commit is contained in:
@@ -12,6 +12,8 @@ fs = require 'fs'
|
||||
|
||||
module.exports =
|
||||
class EditSession
|
||||
registerDeserializer(this)
|
||||
|
||||
@deserialize: (state, project) ->
|
||||
if fs.exists(state.buffer)
|
||||
session = project.buildEditSessionForPath(state.buffer)
|
||||
@@ -62,6 +64,7 @@ class EditSession
|
||||
@off()
|
||||
|
||||
serialize: ->
|
||||
deserializer: 'EditSession'
|
||||
buffer: @buffer.getPath()
|
||||
scrollTop: @getScrollTop()
|
||||
scrollLeft: @getScrollLeft()
|
||||
|
||||
@@ -95,7 +95,7 @@ class Editor extends View
|
||||
|
||||
serialize: ->
|
||||
@saveScrollPositionForActiveEditSession()
|
||||
viewClass: "Editor"
|
||||
deserializer: "Editor"
|
||||
editSessions: @editSessions.map (session) -> session.serialize()
|
||||
activeEditSessionIndex: @getActiveEditSessionIndex()
|
||||
isFocused: @isFocused
|
||||
|
||||
@@ -4,14 +4,14 @@ $ = require 'jquery'
|
||||
module.exports =
|
||||
class PaneGrid extends View
|
||||
@deserialize: ({children}) ->
|
||||
childViews = children.map (child) -> deserializeView(child)
|
||||
childViews = children.map (child) -> deserialize(child)
|
||||
new this(childViews)
|
||||
|
||||
initialize: (children=[]) ->
|
||||
@append(children...)
|
||||
|
||||
serialize: ->
|
||||
viewClass: @className()
|
||||
deserializer: @className()
|
||||
children: @childViewStates()
|
||||
|
||||
childViewStates: ->
|
||||
|
||||
@@ -9,10 +9,10 @@ class Pane extends View
|
||||
@subview 'wrappedView', wrappedView if wrappedView
|
||||
|
||||
@deserialize: ({wrappedView}) ->
|
||||
new Pane(deserializeView(wrappedView))
|
||||
new Pane(deserialize(wrappedView))
|
||||
|
||||
serialize: ->
|
||||
viewClass: "Pane"
|
||||
deserializer: "Pane"
|
||||
wrappedView: @wrappedView?.serialize()
|
||||
|
||||
adjustDimensions: -> # do nothing
|
||||
|
||||
@@ -13,7 +13,7 @@ PaneRow = require 'pane-row'
|
||||
|
||||
module.exports =
|
||||
class RootView extends View
|
||||
registerViewClasses(this, Pane, PaneRow, PaneColumn, Editor)
|
||||
registerDeserializers(this, Pane, PaneRow, PaneColumn, Editor)
|
||||
|
||||
@configDefaults:
|
||||
ignoredNames: [".git", ".svn", ".DS_Store"]
|
||||
@@ -34,7 +34,7 @@ class RootView extends View
|
||||
atom.atomPackageStates = packageStates ? {}
|
||||
|
||||
rootView = new RootView(projectOrPathToOpen, suppressOpen: true)
|
||||
rootView.setRootPane(deserializeView(panesViewState)) if panesViewState
|
||||
rootView.setRootPane(deserialize(panesViewState)) if panesViewState
|
||||
rootView
|
||||
|
||||
title: null
|
||||
|
||||
@@ -10,7 +10,7 @@ require 'jquery-extensions'
|
||||
require 'underscore-extensions'
|
||||
require 'space-pen-extensions'
|
||||
|
||||
registeredViewClasses = {}
|
||||
deserializers = {}
|
||||
|
||||
windowAdditions =
|
||||
rootViewParentSelector: 'body'
|
||||
@@ -104,15 +104,14 @@ windowAdditions =
|
||||
onerror: ->
|
||||
atom.showDevTools()
|
||||
|
||||
registerViewClass: (viewClass) ->
|
||||
registerViewClasses(viewClass)
|
||||
registerDeserializers: (args...) ->
|
||||
registerDeserializer(arg) for arg in args
|
||||
|
||||
registerViewClasses: (viewClasses...) ->
|
||||
for viewClass in viewClasses
|
||||
registeredViewClasses[viewClass.name] = viewClass
|
||||
registerDeserializer: (klass) ->
|
||||
deserializers[klass.name] = klass
|
||||
|
||||
deserializeView: (viewState) ->
|
||||
registeredViewClasses[viewState.viewClass]?.deserialize(viewState)
|
||||
deserialize: (state) ->
|
||||
deserializers[state.deserializer]?.deserialize(state)
|
||||
|
||||
measure: (description, fn) ->
|
||||
start = new Date().getTime()
|
||||
|
||||
Reference in New Issue
Block a user