fixed undo manager to not remove all code

This commit is contained in:
Dominik Kundel 2014-08-11 21:34:02 +02:00
parent 14f96a7eac
commit d2c63f4b98

View file

@ -3,6 +3,7 @@ template = require 'templates/play/level/tome/spell'
{me} = require 'lib/auth' {me} = require 'lib/auth'
filters = require 'lib/image_filter' filters = require 'lib/image_filter'
Range = ace.require('ace/range').Range Range = ace.require('ace/range').Range
UndoManager = ace.require('ace/undomanager').UndoManager
Problem = require './Problem' Problem = require './Problem'
SpellDebugView = require './SpellDebugView' SpellDebugView = require './SpellDebugView'
SpellToolbarView = require './SpellToolbarView' SpellToolbarView = require './SpellToolbarView'
@ -175,6 +176,7 @@ module.exports = class SpellView extends CocoView
fillACE: -> fillACE: ->
@ace.setValue @spell.source @ace.setValue @spell.source
@aceSession.setUndoManager(new UndoManager())
@ace.clearSelection() @ace.clearSelection()
addZatannaSnippets: (e) -> addZatannaSnippets: (e) ->
@ -209,6 +211,7 @@ module.exports = class SpellView extends CocoView
@loaded = false @loaded = false
@previousSource = @ace.getValue() @previousSource = @ace.getValue()
@ace.setValue('') @ace.setValue('')
@aceSession.setUndoManager(new UndoManager())
fireURL = 'https://codecombat.firebaseio.com/' + @spell.pathComponents.join('/') fireURL = 'https://codecombat.firebaseio.com/' + @spell.pathComponents.join('/')
@fireRef = new Firebase fireURL @fireRef = new Firebase fireURL
firepadOptions = userId: me.id firepadOptions = userId: me.id
@ -223,6 +226,7 @@ module.exports = class SpellView extends CocoView
@spell.source = firepadSource @spell.source = firepadSource
else else
@ace.setValue @previousSource @ace.setValue @previousSource
@aceSession.setUndoManager(new UndoManager())
@ace.clearSelection() @ace.clearSelection()
@onAllLoaded() @onAllLoaded()
@ -303,6 +307,7 @@ module.exports = class SpellView extends CocoView
@firepad.setText source @firepad.setText source
else else
@ace.setValue source @ace.setValue source
@aceSession.setUndoManager(new UndoManager())
@eventsSuppressed = false @eventsSuppressed = false
try try
@ace.resize true # hack: @ace may not have updated its text properly, so we force it to refresh @ace.resize true # hack: @ace may not have updated its text properly, so we force it to refresh