1/** 2 * Attach editing button to editable diagrams 3 */ 4document.addEventListener('DOMContentLoaded', () => { 5 // check if the current page is editable by the current user 6 if (!document.querySelector('head link[rel="edit"]')) return; 7 8 document.querySelectorAll('object.diagrams-svg[data-pos]').forEach(embed => { 9 const button = document.createElement('button'); 10 button.className = 'diagrams-btn'; 11 button.innerText = LANG.plugins.diagrams.editButton; 12 button.addEventListener('click', event => { 13 event.preventDefault(); 14 const diagramsEditor = new DiagramsEditor(() => { 15 window.location.reload(); 16 }); 17 diagramsEditor.editEmbed( 18 JSINFO.id, 19 parseInt(embed.getAttribute('data-pos')), 20 parseInt(embed.getAttribute('data-len')) 21 ); 22 }); 23 24 embed.parentNode.appendChild(button); 25 }); 26}); 27