From 61170ad9e7bd42ea74fed5d5fe5b7227e28a0cc2 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 13 Sep 2017 04:00:59 +0200 Subject: [PATCH] edit: toggle editor dynamically Replace predetermined ?edit mode by javascript activation link in header. Same results without page reload. --- edit.js | 28 +++++++++++++++++++++++++--- foot.inc.php | 10 ++-------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/edit.js b/edit.js index 6f9211e..0db4374 100644 --- a/edit.js +++ b/edit.js @@ -72,8 +72,30 @@ CKEDITOR.on('instanceCreated', function (event) { }); }); -var pagebody = document.getElementsByClassName('article')[0]; -pagebody.setAttribute('contenteditable', 'true'); + CKEDITOR.disableAutoInline = true; -document.body.className = 'edit'; +// add edit link to menu +var pagebody = document.getElementsByClassName('article')[0]; +if (pagebody) { + var editlink = document.createElement('a'); + editlink.style.cursor = 'pointer'; + editlink.appendChild(document.createTextNode('Wijzig')); + editlink.onclick = function (e) { + var toggled = editlink.style.fontWeight; + editlink.style.fontWeight = toggled ? '' : 'bold'; + pagebody.setAttribute('contenteditable', !toggled); + if (toggled) { + for (name in CKEDITOR.instances) { + CKEDITOR.instances[name].destroy() + } + } + else { + CKEDITOR.inline(pagebody); + pagebody.focus(); + } + document.body.className = toggled ? '' : 'edit'; + return false; + }; + document.querySelector('header ul').appendChild(editlink); +} diff --git a/foot.inc.php b/foot.inc.php index e2ac444..b3d6e6a 100755 --- a/foot.inc.php +++ b/foot.inc.php @@ -2,20 +2,14 @@ '.N; echo ''.N; - } echo ''.N; } -- 2.30.0