You've already forked bsl_console
mirror of
https://github.com/salexdv/bsl_console.git
synced 2025-07-03 00:47:14 +02:00
Уничтожение редактора при вызове режима сравнения #275
This commit is contained in:
@ -591,7 +591,6 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
|
|
||||||
compare = function (text, sideBySide, highlight, markLines = true) {
|
compare = function (text, sideBySide, highlight, markLines = true) {
|
||||||
|
|
||||||
document.getElementById("container").innerHTML = '';
|
|
||||||
let language_id = getCurrentLanguageId();
|
let language_id = getCurrentLanguageId();
|
||||||
let currentTheme = getCurrentThemeName();
|
let currentTheme = getCurrentThemeName();
|
||||||
let previous_options = getActiveEditor().getRawOptions();
|
let previous_options = getActiveEditor().getRawOptions();
|
||||||
@ -614,6 +613,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
let originalModel = originalText ? monaco.editor.createModel(originalText) : monaco.editor.createModel(editor.getModel().getValue());
|
let originalModel = originalText ? monaco.editor.createModel(originalText) : monaco.editor.createModel(editor.getModel().getValue());
|
||||||
let modifiedModel = monaco.editor.createModel(text);
|
let modifiedModel = monaco.editor.createModel(text);
|
||||||
originalText = originalModel.getValue();
|
originalText = originalModel.getValue();
|
||||||
|
disposeEditor();
|
||||||
editor = monaco.editor.createDiffEditor(document.getElementById("container"), {
|
editor = monaco.editor.createDiffEditor(document.getElementById("container"), {
|
||||||
theme: currentTheme,
|
theme: currentTheme,
|
||||||
language: language_id,
|
language: language_id,
|
||||||
@ -672,6 +672,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
disposeEditor();
|
||||||
createEditor(language_id, originalText, currentTheme);
|
createEditor(language_id, originalText, currentTheme);
|
||||||
initEditorEventListenersAndProperies();
|
initEditorEventListenersAndProperies();
|
||||||
originalText = '';
|
originalText = '';
|
||||||
@ -1670,6 +1671,26 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
// #region non-public functions
|
// #region non-public functions
|
||||||
|
function disposeEditor() {
|
||||||
|
|
||||||
|
if (editor) {
|
||||||
|
|
||||||
|
if (editor.navi) {
|
||||||
|
editor.getOriginalEditor().getModel().dispose();
|
||||||
|
editor.getOriginalEditor().dispose();
|
||||||
|
editor.getModifiedEditor().getModel().dispose();
|
||||||
|
editor.getModifiedEditor().dispose();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
editor.getModel().dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
editor.dispose();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function generateSnippetEvent(e) {
|
function generateSnippetEvent(e) {
|
||||||
|
|
||||||
if (e.source == 'snippet') {
|
if (e.source == 'snippet') {
|
||||||
|
Reference in New Issue
Block a user