1*7cb424c9SSioc de Narffunction addBtnActionMdimport($btn, props, edid) { 2*7cb424c9SSioc de Narf $btn.click(function() { 3*7cb424c9SSioc de Narf var fileInput = document.createElement('input'); 4*7cb424c9SSioc de Narf fileInput.type = 'file'; 5*7cb424c9SSioc de Narf fileInput.accept = '.md,.txt,text/markdown,text/plain'; 6*7cb424c9SSioc de Narf fileInput.style.display = 'none'; 7*7cb424c9SSioc de Narf 8*7cb424c9SSioc de Narf fileInput.onchange = function(event) { 9*7cb424c9SSioc de Narf var file = event.target.files[0]; 10*7cb424c9SSioc de Narf if (!file) return; 11*7cb424c9SSioc de Narf 12*7cb424c9SSioc de Narf var reader = new FileReader(); 13*7cb424c9SSioc de Narf reader.onload = function(e) { 14*7cb424c9SSioc de Narf var content = e.target.result; 15*7cb424c9SSioc de Narf 16*7cb424c9SSioc de Narf fetch('lib/plugins/mdimport/convert.php', { 17*7cb424c9SSioc de Narf method: 'POST', 18*7cb424c9SSioc de Narf headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, 19*7cb424c9SSioc de Narf body: 'content=' + encodeURIComponent(content) 20*7cb424c9SSioc de Narf }) 21*7cb424c9SSioc de Narf .then(response => response.text()) 22*7cb424c9SSioc de Narf .then(convertedContent => { 23*7cb424c9SSioc de Narf insertAtCarret(edid, convertedContent); 24*7cb424c9SSioc de Narf }) 25*7cb424c9SSioc de Narf .catch(error => { 26*7cb424c9SSioc de Narf console.error('Conversion error:', error); 27*7cb424c9SSioc de Narf alert('Error converting file.'); 28*7cb424c9SSioc de Narf }); 29*7cb424c9SSioc de Narf }; 30*7cb424c9SSioc de Narf reader.readAsText(file); 31*7cb424c9SSioc de Narf }; 32*7cb424c9SSioc de Narf 33*7cb424c9SSioc de Narf document.body.appendChild(fileInput); 34*7cb424c9SSioc de Narf fileInput.click(); 35*7cb424c9SSioc de Narf document.body.removeChild(fileInput); 36*7cb424c9SSioc de Narf return false; 37*7cb424c9SSioc de Narf }); 38*7cb424c9SSioc de Narf return 'mdimport'; 39*7cb424c9SSioc de Narf} 40