edit/page: describe hotkey letter in save plugin
[minimedit.git] / edit / page.js
index 45d9e644cb9c28c4ede56d46f62b575bdb6813a4..76328355a92a3bd195dfc9e974d1b33282f5175f 100644 (file)
@@ -57,7 +57,7 @@ CKEDITOR.plugins.add('inlinesave', {
                                ajaxpost.send(data);
                        },
                });
-               editor.setKeystroke(CKEDITOR.CTRL + 83 /*S*/, 'inlinesave');
+               editor.setKeystroke(CKEDITOR.CTRL + 'S'.charCodeAt(0), 'inlinesave');
                editor.ui.addButton( 'Inlinesave', {
                        command: 'inlinesave',
                        label: editor.lang.save.toolbar,
@@ -119,11 +119,20 @@ CKEDITOR.on('instanceCreated', function (event) {
                var config = editor.config;
                config.language = 'nl';
                config.extraPlugins = 'inlinesave,placeholder,image2,uploadimage';
-               config.allowedContent = true;
+               config.removePlugins = 'image,exportpdf'; // conflicts with imag2
+               config.allowedContent = {
+                       $1: {
+                               elements: CKEDITOR.dtd,
+                               attributes: true,
+                               styles: true,
+                               classes: true,
+                       },
+               };
+               config.disallowedContent = 'img[width,height]';
                config.entities = false; // keep unicode
-               config.filebrowserImageUploadUrl = '/edit/page?output=ckescript';
-               config.uploadUrl = '/edit/page?output=ckjson';
+               config.filebrowserImageUploadUrl = '/edit/page?output=ckjson';
                config.image2_alignClasses = ['left', 'center', 'right'];
+               config.image2_prefillDimensions = false;
                config.image2_disableResizer = true;
                config.stylesSet = [
                        { name: 'Paginakop', element: 'h2' },
@@ -146,7 +155,7 @@ CKEDITOR.on('instanceCreated', function (event) {
                        { name: 'Uitgelogd', element: 'span', attributes: { 'class': 'logout' } },
                ];
                config.pasteFilter = pastefilter;
-               config.contentsCss = document.styleSheets[0].href;
+               config.contentsCss = [...document.styleSheets].map(e => e.href).filter(Boolean);
                config.toolbar = [
                        ['Inlinesave', '-', 'Undo', 'Redo'],
                        ['Styles', 'Bold', 'Italic', 'Link'],
@@ -175,8 +184,12 @@ CKEDITOR.on('instanceCreated', function (event) {
 
 if (pagebody) {
        // add edit link to menu
-       var editlink = document.querySelector('a[href="#edit"]');
-       if (editlink)
+       var editdiv = document.querySelector('header .login > p');
+       if (!editdiv) return;
+       var editlink = editdiv.appendChild(document.createElement('a'));
+       editlink.append('\u270D');
+       editlink.className = 'icon icon-edit';
+       editlink.href = '#edit';
        editlink.onclick = function (e) {
                editlink.style.fontWeight = 'bold';
                editlink.href = '';
@@ -202,6 +215,7 @@ if (pagebody) {
 
 }
 
+var ckesrc = document.currentScript.getAttribute('data-ckesrc');
 document.addEventListener('DOMContentLoaded', function (e) {
        pagebody = editorcontents().cloneNode(true);
        var editorinc = document.createElement('script');