From d5130d0d5a9a84625522a4dedbbdacde8d27c952 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Fri, 26 Feb 2021 01:44:38 -0500 Subject: [PATCH] ace: Factor out duplicated `$$INCLUDE_CSS` code --- src/static/js/ace.js | 53 ++++++++++++++------------------------------ 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/src/static/js/ace.js b/src/static/js/ace.js index 42a61839e..e550a902b 100644 --- a/src/static/js/ace.js +++ b/src/static/js/ace.js @@ -162,31 +162,29 @@ const Ace2Editor = function () { doneFunc(); }; + // calls to these functions ($$INCLUDE_...) are replaced when this file is processed + // and compressed, putting the compressed code from the named file directly into the + // source here. + // these lines must conform to a specific format because they are passed by the build script: + const includedCSS = []; + const $$INCLUDE_CSS = (filename) => { includedCSS.push(filename); }; + $$INCLUDE_CSS('../static/css/iframe_editor.css'); + $$INCLUDE_CSS(`../static/css/pad.css?v=${clientVars.randomVersionString}`); + includedCSS.push(...hooks.callAll('aceEditorCSS').map((path) => { + if (path.match(/\/\//)) { // Allow urls to external CSS - http(s):// and //some/path.css + return path; + } + return `../static/plugins/${path}`; + })); + $$INCLUDE_CSS( + `../static/skins/${clientVars.skinName}/pad.css?v=${clientVars.randomVersionString}`); + const doctype = ''; const iframeHTML = []; iframeHTML.push(doctype); iframeHTML.push(``); - - // calls to these functions ($$INCLUDE_...) are replaced when this file is processed - // and compressed, putting the compressed code from the named file directly into the - // source here. - // these lines must conform to a specific format because they are passed by the build script: - let includedCSS = []; - let $$INCLUDE_CSS = (filename) => { includedCSS.push(filename); }; - $$INCLUDE_CSS('../static/css/iframe_editor.css'); - $$INCLUDE_CSS(`../static/css/pad.css?v=${clientVars.randomVersionString}`); - let additionalCSS = hooks.callAll('aceEditorCSS').map((path) => { - if (path.match(/\/\//)) { // Allow urls to external CSS - http(s):// and //some/path.css - return path; - } - return `../static/plugins/${path}`; - }); - includedCSS = includedCSS.concat(additionalCSS); - $$INCLUDE_CSS( - `../static/skins/${clientVars.skinName}/pad.css?v=${clientVars.randomVersionString}`); - pushStyleTagsFor(iframeHTML, includedCSS); iframeHTML.push(``); @@ -246,23 +244,6 @@ const Ace2Editor = function () { const outerHTML = [doctype, ``]; - - includedCSS = []; - $$INCLUDE_CSS = (filename) => { includedCSS.push(filename); }; - $$INCLUDE_CSS('../static/css/iframe_editor.css'); - $$INCLUDE_CSS(`../static/css/pad.css?v=${clientVars.randomVersionString}`); - - - additionalCSS = hooks.callAll('aceEditorCSS').map((path) => { - if (path.match(/\/\//)) { // Allow urls to external CSS - http(s):// and //some/path.css - return path; - } - return `../static/plugins/${path}`; - }); - includedCSS = includedCSS.concat(additionalCSS); - $$INCLUDE_CSS( - `../static/skins/${clientVars.skinName}/pad.css?v=${clientVars.randomVersionString}`); - pushStyleTagsFor(outerHTML, includedCSS); // bizarrely, in FF2, a file with no "external" dependencies won't finish loading properly