From de69f740e47d9445cd752d521e65f60303e70035 Mon Sep 17 00:00:00 2001 From: dpen2000 Date: Sat, 19 Apr 2014 19:30:17 -0400 Subject: [PATCH] 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. --- app/views/editor/level/systems_tab_view.coffee | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/views/editor/level/systems_tab_view.coffee b/app/views/editor/level/systems_tab_view.coffee index e3f4fa626..390eda945 100644 --- a/app/views/editor/level/systems_tab_view.coffee +++ b/app/views/editor/level/systems_tab_view.coffee @@ -59,12 +59,7 @@ module.exports = class SystemsTabView extends View unless systems.length systems = @buildDefaultSystems() insertedDefaults = true - - systemModels = @supermodel.getModels LevelSystem - systemModelMap = {} - systemModelMap[sys.get('original')] = sys.get('name') for sys in systemModels - systems = _.sortBy systems, (sys) -> systemModelMap[sys.original] - + systems = @getSortedByName systems treemaOptions = # TODO: somehow get rid of the + button, or repurpose it to open the LevelSystemAddView instead supermodel: @supermodel @@ -84,7 +79,14 @@ module.exports = class SystemsTabView extends View @onSystemsChanged() if insertedDefaults 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) => selected = if selected.length > 1 then selected[0].getLastSelectedTreema() else selected[0]