Fix deltas referring to last system saved

If a system is added, it is added to treema at the end of the list of systems. Treema then raises it's changed event resulting in this order being set on the level. The next time a system is added, the first system is in it's correct position and so the delta shows it as moving. This changes ensures we save the correct order in the first instance.
This commit is contained in:
dpen2000 2014-04-19 19:30:17 -04:00
parent 044556e5a4
commit de69f740e4

View file

@ -59,12 +59,7 @@ module.exports = class SystemsTabView extends View
unless systems.length unless systems.length
systems = @buildDefaultSystems() systems = @buildDefaultSystems()
insertedDefaults = true insertedDefaults = true
systems = @getSortedByName systems
systemModels = @supermodel.getModels LevelSystem
systemModelMap = {}
systemModelMap[sys.get('original')] = sys.get('name') for sys in systemModels
systems = _.sortBy systems, (sys) -> systemModelMap[sys.original]
treemaOptions = treemaOptions =
# TODO: somehow get rid of the + button, or repurpose it to open the LevelSystemAddView instead # TODO: somehow get rid of the + button, or repurpose it to open the LevelSystemAddView instead
supermodel: @supermodel supermodel: @supermodel
@ -84,7 +79,14 @@ module.exports = class SystemsTabView extends View
@onSystemsChanged() if insertedDefaults @onSystemsChanged() if insertedDefaults
onSystemsChanged: (e) => onSystemsChanged: (e) =>
@level.set 'systems', @systemsTreema.data systems = @getSortedByName @systemsTreema.data
@level.set 'systems', systems
getSortedByName: (systems) =>
systemModels = @supermodel.getModels LevelSystem
systemModelMap = {}
systemModelMap[sys.get('original')] = sys.get('name') for sys in systemModels
_.sortBy systems, (sys) -> systemModelMap[sys.original]
onSystemSelected: (e, selected) => onSystemSelected: (e, selected) =>
selected = if selected.length > 1 then selected[0].getLastSelectedTreema() else selected[0] selected = if selected.length > 1 then selected[0].getLastSelectedTreema() else selected[0]