ace: Lint and simplify script strings

working-ace-patch
Richard Hansen 2021-02-26 01:09:19 -05:00
parent 3d5d83890a
commit 0e7f4aff52
1 changed files with 25 additions and 29 deletions

View File

@ -196,21 +196,20 @@ const Ace2Editor = function () {
pushStyleTagsFor(iframeHTML, includedCSS); pushStyleTagsFor(iframeHTML, includedCSS);
iframeHTML.push(`<script type="text/javascript" src="../static/js/require-kernel.js?v=${clientVars.randomVersionString}"></script>`); iframeHTML.push(`<script type="text/javascript" src="../static/js/require-kernel.js?v=${clientVars.randomVersionString}"></script>`);
iframeHTML.push(scriptTag(` iframeHTML.push(scriptTag(`(() => {
require.setRootURI("../javascripts/src"); const require = window.require;
require.setLibraryURI("../javascripts/lib"); require.setRootURI('../javascripts/src');
require.setGlobalKeyPath("require"); require.setLibraryURI('../javascripts/lib');
require.setGlobalKeyPath('require');
var plugins = require("ep_etherpad-lite/static/js/pluginfw/client_plugins"); window.plugins = require('ep_etherpad-lite/static/js/pluginfw/client_plugins');
plugins.adoptPluginsFromAncestorsOf(window); window.plugins.adoptPluginsFromAncestorsOf(window);
$ = jQuery = require("ep_etherpad-lite/static/js/rjquery").jQuery; // Expose jQuery #HACK window.$ = window.jQuery = require('ep_etherpad-lite/static/js/rjquery').jQuery;
var Ace2Inner = require("ep_etherpad-lite/static/js/ace2_inner"); window.Ace2Inner = require('ep_etherpad-lite/static/js/ace2_inner');
plugins.ensure(function () { window.plugins.ensure(() => { window.Ace2Inner.init(); });
Ace2Inner.init(); })()`));
});
`));
iframeHTML.push('<style type="text/css" title="dynamicsyntax"></style>'); iframeHTML.push('<style type="text/css" title="dynamicsyntax"></style>');
@ -226,29 +225,26 @@ const Ace2Editor = function () {
gt.ChildAccessibleAce2Editor = Ace2Editor; gt.ChildAccessibleAce2Editor = Ace2Editor;
const outerScript = ` const outerScript = `
editorId = ${JSON.stringify(info.id)}; window.editorInfo = parent.ChildAccessibleAce2Editor.registry[${JSON.stringify(info.id)}];
editorInfo = parent.ChildAccessibleAce2Editor.registry[editorId]; window.onload = () => {
window.onload = function () {
window.onload = null; window.onload = null;
setTimeout(function () { setTimeout(() => {
var iframe = document.createElement("IFRAME"); const iframe = document.createElement('iframe');
iframe.name = "ace_inner"; iframe.name = 'ace_inner';
iframe.title = "pad"; iframe.title = 'pad';
iframe.scrolling = "no"; iframe.scrolling = 'no';
var outerdocbody = document.getElementById("outerdocbody");
iframe.frameBorder = 0; iframe.frameBorder = 0;
iframe.allowTransparency = true; // for IE iframe.allowTransparency = true; // for IE
outerdocbody.insertBefore(iframe, outerdocbody.firstChild);
iframe.ace_outerWin = window; iframe.ace_outerWin = window;
readyFunc = function () { document.body.insertBefore(iframe, document.body.firstChild);
editorInfo.onEditorReady(); window.readyFunc = () => {
readyFunc = null; delete window.readyFunc;
editorInfo = null; window.editorInfo.onEditorReady();
delete window.editorInfo;
}; };
var doc = iframe.contentWindow.document; const doc = iframe.contentWindow.document;
doc.open(); doc.open();
var text = (${JSON.stringify(iframeHTML.join('\n'))}); doc.write(${JSON.stringify(iframeHTML.join('\n'))});
doc.write(text);
doc.close(); doc.close();
}, 0); }, 0);
} }