mirror of
https://github.com/atom/atom.git
synced 2026-01-23 13:58:08 -05:00
pane storage is super simple now.
This commit is contained in:
@@ -26,33 +26,33 @@ class Project extends Pane
|
||||
if File.isDirectory filename
|
||||
@reload filename
|
||||
else
|
||||
openedPaths = @storage('openedPaths') ? []
|
||||
openedPaths = @get 'openedPaths', []
|
||||
if not _.include openedPaths, filename
|
||||
openedPaths.push filename
|
||||
@storage('openedPaths', openedPaths)
|
||||
@set 'openedPaths', openedPaths
|
||||
|
||||
@editor.ace.on 'close', ({filename}) =>
|
||||
if File.isFile filename
|
||||
openedPaths = @storage('openedPaths') ? []
|
||||
openedPaths = @get 'openedPaths', []
|
||||
openedPaths = _.without openedPaths, filename
|
||||
@storage('openedPaths', openedPaths)
|
||||
@set 'openedPaths', openedPaths
|
||||
|
||||
@editor.ace.on 'loaded', =>
|
||||
# Reopen files (remove ones that no longer exist)
|
||||
openedPaths = @storage('openedPaths') ? []
|
||||
openedPaths = @get 'openedPaths', []
|
||||
for path in openedPaths
|
||||
if File.isFile path
|
||||
@editor.open path
|
||||
else if not File.exists path
|
||||
openedPaths = _.without openedPaths, path
|
||||
@storage('openedPaths', openedPaths)
|
||||
@set 'openedPaths', openedPaths
|
||||
|
||||
$('#project li').live 'click', (event) =>
|
||||
$('#project .active').removeClass 'active'
|
||||
el = $(event.currentTarget)
|
||||
path = decodeURIComponent el.attr 'path'
|
||||
if File.isDirectory path
|
||||
openedPaths = @storage('openedPaths') ? []
|
||||
openedPaths = @get 'openedPaths', []
|
||||
if el.hasClass 'open'
|
||||
openedPaths = _.without openedPaths, path
|
||||
el.removeClass 'open'
|
||||
@@ -63,7 +63,7 @@ class Project extends Pane
|
||||
list = @createList path
|
||||
el.append list
|
||||
|
||||
@storage('openedPaths', openedPaths)
|
||||
@set 'openedPaths', openedPaths
|
||||
else
|
||||
el.addClass 'active'
|
||||
activeWindow.open path
|
||||
@@ -89,7 +89,7 @@ class Project extends Pane
|
||||
type = if File.isDirectory path then 'dir' else 'file'
|
||||
encodedPath = encodeURIComponent path
|
||||
listItem = $("<li class='#{type}' path='#{encodedPath}'>#{filename}</li>")
|
||||
openedPaths = @storage('openedPaths') ? []
|
||||
openedPaths = @get 'openedPaths', []
|
||||
if _.include(openedPaths, path) and type == 'dir'
|
||||
listItem.append @createList path
|
||||
listItem.addClass "open"
|
||||
|
||||
@@ -27,20 +27,28 @@ class Pane
|
||||
|
||||
@initialize options
|
||||
|
||||
storage: (key, value) ->
|
||||
get: (key, defaultValue) ->
|
||||
try
|
||||
object = JSON.parse(localStorage[@storageNamespace()] ? "{}")
|
||||
catch error
|
||||
error.message += "\n#{key}: #{value}"
|
||||
error.message += "\nGetting #{key}"
|
||||
console.log(error)
|
||||
|
||||
if value?
|
||||
# Putting data in
|
||||
object[key] = value
|
||||
localStorage[@storageNamespace()] = JSON.stringify(object)
|
||||
object[key] ? defaultValue
|
||||
|
||||
set: (key, value) ->
|
||||
try
|
||||
object = JSON.parse(localStorage[@storageNamespace()] ? "{}")
|
||||
catch error
|
||||
error.message += "\nSetting #{key}: #{value}"
|
||||
console.log(error)
|
||||
|
||||
# Putting data in
|
||||
if value == undefined
|
||||
delete object[key]
|
||||
else
|
||||
# Getting data out
|
||||
object[key]
|
||||
object[key] = value
|
||||
localStorage[@storageNamespace()] = JSON.stringify(object)
|
||||
|
||||
toggle: ->
|
||||
if @showing
|
||||
|
||||
Reference in New Issue
Block a user