mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-13 22:49:51 -04:00
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:
parent
044556e5a4
commit
de69f740e4
1 changed files with 9 additions and 7 deletions
|
@ -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]
|
||||
|
|
Loading…
Reference in a new issue