Мы используем Monaco Editor , чтобы наши пользователи могли редактировать некоторые файлы.
В этих файлах пользователю разрешено редактировать только определенные c разделы. Не существует встроенного способа объяснить редактору, что доступен для редактирования только определенный диапазон c (см. Проблемы # 874 и # 953 в их репо), поэтому мы используем хак отмены, описанный в комментарии к # 874 :
, мы добавляем слушателя на model.onDidChangeContent
, который в основном делает:
if ( outsideEditable(changes[0].range) ){
editor.trigger('someID', 'undo');
return;
}
Вопрос
Код вставлен на onDidChangeContent()
, который срабатывает после изменение было применено.
Есть ли событие, которое запускается перед изменение применяется, и это может позволить:
- либо отменить изменение,
- , либо изменить изменение (например: применить только ту часть, которая попадает в редактируемая часть), которая будет применяться?