2015-06-23 2 views
0

Я пишу одностраничное приложение, которое объединяет дерево и редактор Ace для редактирования XML. Дерево (сделано с JSTree) создается рекурсивно из разных путей к файлу. Когда нажимается правильный узел, вызов ajax извлекает XML и устанавливает значение редактора Ace. Затем XML можно отредактировать, а затем сохранить POSTED.Отключить кэширование для редактора Ace

Моя проблема заключается в том, что если пользователь нажимает CTRL + Z, и в текущем XML для изменений не осталось изменений, значение Ace Editor будет установлено на значение предыдущего файла. На данный момент неправильный узел теперь выделен в дереве, и редактор отображает «неправильные» данные.

Можно ли отключить кеширование в редакторе туза или его DIV? Я хочу сохранить возможность CTRL + Z, чтобы отменить изменения в текущем файле, но хочу, чтобы это очищалось/обновлялось каждый раз, когда новый файл загружается в редактор.

Благодарим вас за ввод!

ответ

0

вызова editor.session.setValue сбрасывает UndoManager, но в этом случае лучше использовать новый сеанс вместо

var oldSession = editor.session 
var session = ace.createEditSession("text") 
editor.setSession(session) 

вы можете либо сохранить старую сессию, чтобы восстановить положение прокрутки и т.д. при открытии этого файла или позвоните

oldSession.destroy() 

, чтобы уничтожить его.

Смежные вопросы