From a7fc159353883d38e5084d8fc2c3d6e773952a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 19 Feb 2022 11:35:47 -0500 Subject: [PATCH] fix: ace --- public/src/admin/appearance/customise.js | 50 +++++++++--------------- public/src/admin/settings/email.js | 2 +- public/src/modules/ace-editor.js | 2 +- webpack.common.js | 1 + 4 files changed, 22 insertions(+), 33 deletions(-) diff --git a/public/src/admin/appearance/customise.js b/public/src/admin/appearance/customise.js index 5744eeaf02..25ed9430ec 100644 --- a/public/src/admin/appearance/customise.js +++ b/public/src/admin/appearance/customise.js @@ -1,6 +1,6 @@ 'use strict'; -define('admin/appearance/customise', ['admin/settings', 'ace-editor'], function (Settings, ace) { +define('admin/appearance/customise', ['admin/settings', 'ace/ace'], function (Settings, ace) { const Customise = {}; Customise.init = function () { @@ -9,36 +9,9 @@ define('admin/appearance/customise', ['admin/settings', 'ace-editor'], function $('#customJS').text($('#customJS-holder').val()); $('#customHTML').text($('#customHTML-holder').val()); - const customCSS = ace.edit('customCSS'); - const customJS = ace.edit('customJS'); - const customHTML = ace.edit('customHTML'); - - customCSS.setTheme('ace/theme/twilight'); - customCSS.getSession().setMode('ace/mode/less'); - - customCSS.on('change', function () { - app.flags = app.flags || {}; - app.flags._unsaved = true; - $('#customCSS-holder').val(customCSS.getValue()); - }); - - customJS.setTheme('ace/theme/twilight'); - customJS.getSession().setMode('ace/mode/javascript'); - - customJS.on('change', function () { - app.flags = app.flags || {}; - app.flags._unsaved = true; - $('#customJS-holder').val(customJS.getValue()); - }); - - customHTML.setTheme('ace/theme/twilight'); - customHTML.getSession().setMode('ace/mode/html'); - - customHTML.on('change', function () { - app.flags = app.flags || {}; - app.flags._unsaved = true; - $('#customHTML-holder').val(customHTML.getValue()); - }); + initACE('customCSS', 'less', '#customCSS-holder'); + initACE('customJS', 'javascript', '#customJS-holder'); + initACE('customHTML', 'html', '#customHTML-holder'); $('#save').on('click', function () { if ($('#enableLiveReload').is(':checked')) { @@ -48,5 +21,20 @@ define('admin/appearance/customise', ['admin/settings', 'ace-editor'], function }); }; + function initACE(aceElementId, mode, holder) { + var editorEl = ace.edit(aceElementId, { + mode: 'ace/mode/' + mode, + theme: 'ace/theme/twilight', + maxLines: 30, + minLines: 30, + fontSize: 14, + }); + editorEl.on('change', function () { + app.flags = app.flags || {}; + app.flags._unsaved = true; + $(holder).val(editorEl.getValue()); + }); + } + return Customise; }); diff --git a/public/src/admin/settings/email.js b/public/src/admin/settings/email.js index 663b564e83..20f5d8587d 100644 --- a/public/src/admin/settings/email.js +++ b/public/src/admin/settings/email.js @@ -1,7 +1,7 @@ 'use strict'; -define('admin/settings/email', ['alerts', 'admin/settings', 'ace-editor'], function (ace, alerts) { +define('admin/settings/email', ['ace/ace', 'alerts', 'admin/settings'], function (ace, alerts) { const module = {}; let emailEditor; diff --git a/public/src/modules/ace-editor.js b/public/src/modules/ace-editor.js index 322878fe44..7c88771a9f 100644 --- a/public/src/modules/ace-editor.js +++ b/public/src/modules/ace-editor.js @@ -1,4 +1,4 @@ -import ace from 'ace-builds'; +export * from 'ace-builds'; // only import the modes and theme we use import 'ace-builds/src-noconflict/mode-javascript'; diff --git a/webpack.common.js b/webpack.common.js index 83f1c6e66b..eca504a9c8 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -52,6 +52,7 @@ module.exports = { Chart: path.resolve(__dirname, 'node_modules/chart.js'), Sortable: path.resolve(__dirname, 'node_modules/sortablejs'), 'jquery-ui/widgets': path.resolve(__dirname, 'node_modules/jquery-ui/ui/widgets'), + 'ace/ace': path.resolve(__dirname, 'build/public/src/modules/ace-editor.js'), }, }, };