Serialize docks

This commit is contained in:
Matthew Dapena-Tretter
2017-03-09 11:26:48 -08:00
parent bf39947eee
commit 3ff830102f
3 changed files with 33 additions and 2 deletions

View File

@@ -304,6 +304,24 @@ module.exports = class Dock {
return initialSize == null ? DEFAULT_INITIAL_SIZE : initialSize
}
serialize () {
return {
deserializer: 'Dock',
size: this.state.size,
paneContainer: this.paneContainer.serialize(),
open: this.state.open
}
}
deserialize (serialized, deserializerManager) {
this.paneContainer.deserialize(serialized.paneContainer, deserializerManager)
this.setState({
size: serialized.size,
// If no items could be deserialized, we don't want to show the dock (even if it was open last time)
open: serialized.open && (this.paneContainer.getPaneItems().length > 0)
})
}
// PaneContainer-delegating methods
getPanes () {