diff --git a/src/CodeMirror.js b/src/CodeMirror.js index df244d1..75e6ef1 100644 --- a/src/CodeMirror.js +++ b/src/CodeMirror.js @@ -3,58 +3,59 @@ import CodeMirror from 'codemirror'; // Make CodeMirror available globally so the modes' can register themselves. -window.CodeMirror = CodeMirror +window.CodeMirror = CodeMirror; -if (!CodeMirror.modeURL) CodeMirror.modeURL = 'lib/codemirror/mode/%N/%N.js'; +if (!CodeMirror.modeURL) CodeMirror.modeURL = '/lib/codemirror/mode/%N/%N.js'; -var loading = {} +var loading = {}; function splitCallback(cont, n) { - var countDown = n + var countDown = n; return function () { - if (--countDown === 0) cont() - } + if (--countDown === 0) cont(); + }; } function ensureDeps(mode, cont) { - var deps = CodeMirror.modes[mode].dependencies - if (!deps) return cont() - var missing = [] + var deps = CodeMirror.modes[mode].dependencies; + if (!deps) return cont(); + var missing = []; for (var i = 0; i < deps.length; ++i) { - if (!CodeMirror.modes.hasOwnProperty(deps[i])) missing.push(deps[i]) + if (!CodeMirror.modes.hasOwnProperty(deps[i])) missing.push(deps[i]); } - if (!missing.length) return cont() - var split = splitCallback(cont, missing.length) - for (i = 0; i < missing.length; ++i) CodeMirror.requireMode(missing[i], split) + if (!missing.length) return cont(); + var split = splitCallback(cont, missing.length); + for (i = 0; i < missing.length; ++i) + CodeMirror.requireMode(missing[i], split); } CodeMirror.requireMode = function (mode, cont) { - if (typeof mode !== 'string') mode = mode.name - if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont) - if (loading.hasOwnProperty(mode)) return loading[mode].push(cont) + if (typeof mode !== 'string') mode = mode.name; + if (CodeMirror.modes.hasOwnProperty(mode)) return ensureDeps(mode, cont); + if (loading.hasOwnProperty(mode)) return loading[mode].push(cont); - var file = CodeMirror.modeURL.replace(/%N/g, mode) + var file = CodeMirror.modeURL.replace(/%N/g, mode); - var script = document.createElement('script') - script.src = file - var others = document.getElementsByTagName('script')[0] - var list = loading[mode] = [cont] + var script = document.createElement('script'); + script.src = file; + var others = document.getElementsByTagName('script')[0]; + var list = (loading[mode] = [cont]); CodeMirror.on(script, 'load', function () { ensureDeps(mode, function () { - for (var i = 0; i < list.length; ++i) list[i]() - }) - }) + for (var i = 0; i < list.length; ++i) list[i](); + }); + }); - others.parentNode.insertBefore(script, others) -} + others.parentNode.insertBefore(script, others); +}; CodeMirror.autoLoadMode = function (instance, mode) { - if (CodeMirror.modes.hasOwnProperty(mode)) return + if (CodeMirror.modes.hasOwnProperty(mode)) return; CodeMirror.requireMode(mode, function () { - instance.setOption('mode', instance.getOption('mode')) - }) -} + instance.setOption('mode', instance.getOption('mode')); + }); +}; -export default CodeMirror +export default CodeMirror; diff --git a/src/components/CodeEditor.jsx b/src/components/CodeEditor.jsx index 20fd385..dfc614c 100644 --- a/src/components/CodeEditor.jsx +++ b/src/components/CodeEditor.jsx @@ -44,18 +44,18 @@ window.MonacoEnvironment = { getWorkerUrl(moduleId, label) { switch (label) { case 'html': - return 'lib/monaco/workers/html.worker.bundle.js'; + return '/lib/monaco/workers/html.worker.bundle.js'; case 'json': - return 'lib/monaco/workers/json.worker.bundle.js'; + return '/lib/monaco/workers/json.worker.bundle.js'; case 'css': case 'scss': case 'less': - return 'lib/monaco/workers/css.worker.bundle.js'; + return '/lib/monaco/workers/css.worker.bundle.js'; case 'typescript': case 'javascript': - return 'lib/monaco/workers/ts.worker.bundle.js'; + return '/lib/monaco/workers/ts.worker.bundle.js'; default: - return 'lib/monaco/workers/editor.worker.bundle.js'; + return '/lib/monaco/workers/editor.worker.bundle.js'; } } }; @@ -235,9 +235,9 @@ export default class CodeEditor extends Component { if (this.props.type === 'monaco') { if (!monacoDepsDeferred) { monacoDepsDeferred = deferred(); - loadCss({ url: 'lib/monaco/monaco.css', id: 'monaco-css' }); + loadCss({ url: '/lib/monaco/monaco.css', id: 'monaco-css' }); import( - /* webpackChunkName: "monaco" */ '../lib/monaco/monaco.bundle.js' + /* webpackChunkName: "monaco" */ '/lib/monaco/monaco.bundle.js' ).then(() => { monacoDepsDeferred.resolve(); }); diff --git a/src/components/ContentWrap.jsx b/src/components/ContentWrap.jsx index 2ec2452..fe4fcf0 100644 --- a/src/components/ContentWrap.jsx +++ b/src/components/ContentWrap.jsx @@ -341,7 +341,7 @@ export default class ContentWrap extends Component { // Replace correct css file in LINK tags's href if (prefs.editorTheme) { - window.editorThemeLinkTag.href = `lib/codemirror/theme/${prefs.editorTheme}.css`; + window.editorThemeLinkTag.href = `/lib/codemirror/theme/${prefs.editorTheme}.css`; } window.fontStyleTag.textContent = diff --git a/src/components/ContentWrapFiles.jsx b/src/components/ContentWrapFiles.jsx index c89f873..1f76771 100644 --- a/src/components/ContentWrapFiles.jsx +++ b/src/components/ContentWrapFiles.jsx @@ -54,12 +54,10 @@ export default class ContentWrapFiles extends Component { // `clearConsole` is on window because it gets called from inside iframe also. window.clearConsole = this.clearConsole.bind(this); - this.consoleHeaderDblClickHandler = this.consoleHeaderDblClickHandler.bind( - this - ); - this.clearConsoleBtnClickHandler = this.clearConsoleBtnClickHandler.bind( - this - ); + this.consoleHeaderDblClickHandler = + this.consoleHeaderDblClickHandler.bind(this); + this.clearConsoleBtnClickHandler = + this.clearConsoleBtnClickHandler.bind(this); this.toggleConsole = this.toggleConsole.bind(this); this.evalConsoleExpr = this.evalConsoleExpr.bind(this); } @@ -259,7 +257,7 @@ export default class ContentWrapFiles extends Component { obj[file.path] = '