После инициализации редактор не растягивается вместе с полем
tormozit opened this issue · 9 comments
Нагляднее всего смотреть этот баг в обычной форме в обычном приложении. Открыть форму и пока окно формы маленькое, вставить туда большой текст. Затем максимизировать окно формы. При этом область редактора не растягивается вместе с полем.
Консоль кода HTML.zip
В файле editor.js нужно исправить autolayout : true в конце файла.
Много раз писал автору что это вызывает неудобства, ссылается что microsoft не рекомендует вкл. растягивание по содержимому.
Хотелось бы более подробной информации, включая как можно исправить эту проблему.
Нашел решение проблемы тут https://stackoverflow.com/questions/47017753/monaco-editor-dynamically-resizable . Нужно в параметрах вызова функции создания редактора monaco.editor.create указать параметр automaticLayout: true
editor = monaco.editor.create(document.getElementById("container"), {
...
automaticLayout: true // the important part
});
Но у меня все еще отображается бесполезная правая штатная полоса прокрутки и иногда нижняя штатная.
Если окно обычной формы 1С максимизировать или восстановить, то штатные полосы прокрутки появляются обе сразу и полос прокрутки редактора становится не видно, пока штатные полосы прокрутки не сдвинешь в крайние положения.
Штатные полосы прокрутки убрал через добавление
body {
overflow: hidden;
}
В файл decorations.css
Думаю нужно в поставке также предусмотреть решение этой проблемы хотя бы как опцию. Уверен, большинство будут об нее спотыкаться. Это даже по обсуждениям Monaco видно.
Вот что написано в API monaco.
Установить automaticLayout можно только при инициализации, его нельзя обновить после загрузки редактора. Специально для того, чтобы можно было добавлять свои опции введена фиктивная опция customOptions. Перед загрузкой исходников в поле HTML-документа её можно заменить на что угодно, в том числе и на automaticLayout
Принято. Сделаю динамическую замену в файлах.