nieuws: include admin edit javascript on subpages
[minimedit.git] / nieuws / edit.js
index 13ca8da917203f42f2bcdb19a8411e44b746e191..0061b025a315b61608a034178177ead4ea1a1236 100644 (file)
@@ -1,18 +1,19 @@
-var editlink = document.createElement('a');
-editlink.className = 'nav';
-editlink.appendChild(document.createTextNode('Nieuw artikel'));
-editlink.onclick = function () {
-       var today = new Date().toJSON().slice(0, 10);
-       var input = prompt('Artikelnaam (plaatsingsdatum en paginatitel)', today + ' ');
-       if (!input) return false;
-       if (!/^\d{4}-\d\d-\d\d[- :]+\S/.test(input)) {
-               alert('Artikelnaam moet beginnen met een datum in de vorm jaar-mm-dd.');
-               return false;
+document.addEventListener('DOMContentLoaded', () => {
+       var overview = document.getElementById('news');
+       if (overview) {
+               var editlink = document.createElement('a');
+               editlink.className = 'nav';
+               editlink.appendChild(document.createTextNode('Nieuw artikel'));
+               editlink.onclick = function () {
+                       var today = new Date().toJSON().slice(0, 10).split('-');
+                       var input = prompt('Paginalink (beknopte titel)', '');
+                       if (!input) return false;
+                       var url = today[0] + '/' + today[1] + '-' + today[2] + '-' +
+                               input.toLowerCase().replace(/[^a-z0-9]+/g, '-').trim();
+                       var title = encodeURIComponent(input.trim());
+                       window.location = window.location.pathname+'/'+url+'?edit='+title+'#edit';
+                       return false;
+               };
+               overview.appendChild(editlink);
        }
-       var url = input.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim()
-                                  .replace(/ /g, '-').replace('-', '/');
-       var title = encodeURIComponent(input.substr(11).trim());
-       window.location = '/nieuws/'+url+'?edit='+title+'#edit';
-       return false;
-};
-document.getElementById('news').appendChild(editlink);
+});