diff --git a/src/components/CodeEditor.jsx b/src/components/CodeEditor.jsx index 6549806..a30174b 100644 --- a/src/components/CodeEditor.jsx +++ b/src/components/CodeEditor.jsx @@ -181,7 +181,9 @@ export default class CodeEditor extends Component { async loadDeps() { if (this.props.type === 'monaco' && !isMonacoDepsLoaded) { - loadCss('lib/monaco/monaco.css'); + if (!$('#monaco-css')) { + loadCss({ url: 'lib/monaco/monaco.css', id: 'monaco-css' }); + } return import(/* webpackChunkName: "monaco" */ '../lib/monaco/monaco.bundle.js').then( () => { isMonacoDepsLoaded = true; diff --git a/src/utils.js b/src/utils.js index 1eb1fc9..6399456 100644 --- a/src/utils.js +++ b/src/utils.js @@ -305,11 +305,14 @@ export function loadJS(src) { return d.promise; } -export function loadCss(src) { +export function loadCss({ url, id }) { var d = deferred(); var style = window.document.createElement('link'); - style.setAttribute('href', src); + style.setAttribute('href', url); style.setAttribute('rel', 'stylesheet'); + if (id) { + style.setAttribute('id', id); + } document.head.appendChild(style); style.onload = function() { d.resolve();