Widget:Autofill

From The Observatory
<script>
const button = document.querySelector('#autofill');
button.addEventListener('click', function () {
   // Disable button during request
   button.disabled = true;
   button.textContent = 'Loading...';
   // Extract ea-title from URL query string
   const urlParams = new URLSearchParams(window.location.search);
   const eaTitle = urlParams.get('ea-title') || ;
   // Build the template string using ea-title as a parameter
   const templateCall = `No contact email addresses were found. Please ensure that each author has a user account with a valid email address or a notification contact.}`;
   
   // Use MediaWiki API to expand the template
   const params = new URLSearchParams({
       action: 'expandtemplates',
       format: 'json',
       text: templateCall,
       prop: 'wikitext'
   });
   fetch(mw.util.wikiScript('api') + '?' + params.toString(), {
       method: 'GET',
       credentials: 'same-origin',
       headers: {
           'Accept': 'application/json'
       }
   })
   .then(response => response.json())
   .then(data => {
       const expanded = data?.expandtemplates?.wikitext || ;
       const textarea = document.querySelector('textarea[name="ea-to"]');
       if (textarea) {
           textarea.value = expanded;
       } else {
           console.warn('Textarea not found: textarea[name="ea-to"]');
       }
   })
   .catch(error => {
       console.error('Error expanding template:', error);
       alert('Failed to load template content.');
   })
   .finally(() => {
       button.disabled = false;
       button.textContent = 'Autofill';
   });
});
</script>