|
|
@@ -15,18 +15,19 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
toolbar: 'undo redo | styleselect | bold italic | bullist numlist | alignleft aligncenter alignright alignjustify | outdent indent | link image media table | code',
|
|
|
menubar: 'file edit view insert format tools table help',
|
|
|
contextmenu: 'table',
|
|
|
- images_upload_url: '/admin/upload.php',
|
|
|
+ images_upload_url: '/editor/uploads/',
|
|
|
automatic_uploads: true,
|
|
|
file_picker_types: 'image',
|
|
|
images_reuse_filename: true,
|
|
|
paste_as_text: true,
|
|
|
setup: function (editor) {
|
|
|
- editor.on('SaveContent', function (e) {
|
|
|
- e.content = e.content.replace(/<img([^>]*?)src=/g, '<img$1class="lazy" data-src=');
|
|
|
- });
|
|
|
-
|
|
|
- editor.on('BeforeSetContent', function (e) {
|
|
|
- e.content = e.content.replace(/<img([^>]*?)src=/g, '<img$1class="lazy" data-src=');
|
|
|
+ editor.on('GetContent', function (e) {
|
|
|
+ e.content = e.content.replace(/<img([^>]*?)>/g, function(match, attrs) {
|
|
|
+ if (!attrs.includes('loading=')) {
|
|
|
+ return match.replace('>', ' loading="lazy">');
|
|
|
+ }
|
|
|
+ return match;
|
|
|
+ });
|
|
|
});
|
|
|
},
|
|
|
table_default_attributes: {
|
|
|
@@ -46,7 +47,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
const formData = new FormData();
|
|
|
formData.append('file', file);
|
|
|
|
|
|
- fetch('/admin/upload.php', {
|
|
|
+ fetch('/editor/uploads/', {
|
|
|
method: 'POST',
|
|
|
body: formData
|
|
|
})
|
|
|
@@ -342,34 +343,4 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
updateOrderNumbers();
|
|
|
}, 10);
|
|
|
};
|
|
|
-});
|
|
|
-
|
|
|
-// Page selector functionality
|
|
|
-const pageSelect = document.getElementById('page-select');
|
|
|
-if (pageSelect) {
|
|
|
- pageSelect.addEventListener('change', function () {
|
|
|
- const selected = this.value;
|
|
|
- const blocks = document.querySelectorAll('.page-block');
|
|
|
-
|
|
|
- blocks.forEach(block => {
|
|
|
- if (block.classList.contains(selected)) {
|
|
|
- block.style.display = 'block';
|
|
|
- } else {
|
|
|
- block.style.display = 'none';
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-// Tab switching functionality
|
|
|
-function switchTab(tabName) {
|
|
|
- const contents = document.querySelectorAll('.tab-content');
|
|
|
- contents.forEach(content => content.classList.remove('active'));
|
|
|
-
|
|
|
- const tabs = document.querySelectorAll('.tab');
|
|
|
- tabs.forEach(tab => tab.classList.remove('active'));
|
|
|
-
|
|
|
- document.getElementById(tabName + '-tab').classList.add('active');
|
|
|
-
|
|
|
- event.target.classList.add('active');
|
|
|
-}
|
|
|
+});
|