Интеграция GoldenLayout и CodeMirror
Я пытаюсь разместить текстовую область CodeMirror внутри компонента GoldenLayout без хороших результатов. Мой код выглядит так:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Fail...</title>
</head>
<body>
<script src="./jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="https://golden-layout.com/files/latest/js/goldenlayout.min.js"></script>
<link type="text/css" rel="stylesheet" href="https://golden-layout.com/files/latest/css/goldenlayout-base.css" />
<link type="text/css" rel="stylesheet" href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css" />
<script src="lib/codemirror.js"></script>
<link rel="stylesheet" href="lib/codemirror.css">
<script src="mode/javascript/javascript.js"></script>
<script>
const x = document.createElement("TEXTAREA");
x.setAttribute("id", "myTextArea");
var config = {
settings:{
hasHeaders: true,
constrainDragToContainer: true,
reorderEnabled: false,
selectionEnabled: false,
popoutWholeStack: false,
blockedPopoutsThrowError: true,
closePopoutsOnUnload: true,
showPopoutIcon: false,
showMaximiseIcon: false,
showCloseIcon: false
},
content: [{
type: 'row',
content:[{
type: 'component',
isClosable: false,
componentName: 'testComponent1',
componentState: { label: 'test' }
}]
}]
};
var myLayout = new GoldenLayout( config );
myLayout.registerComponent( 'testComponent1', function( container, componentState ){
container.getElement().append( x );
});
myLayout.init();
var myCodeMirror = CodeMirror.fromTextArea(x);
</script>
</body>
</html>
В консоли я получил эту ошибку:
TypeError: textarea.parentNode is null
codemirror.js:9556:41
Не могли бы вы помочь мне разобраться с этим, как сделать стыкуемое кодовое зеркало с goldenlayout (я пробовал разные идеи, это окончательная версия, когда я сдался)?