MediaWiki:MARCexporter.js

De Wikincat
Revisão de 10h42min de 6 de maio de 2024 por Jaider.ferreira (discussão | contribs) (Criou página com '→‎jshint esversion: 10: (function () { // Função que gera o arquivo ISO function download(filename, content) { const element = document.createElement('a'); element.setAttribute( 'href', `data:application/marc;charset=utf-8,${encodeURIComponent(content)}`, ); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element)...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/* jshint esversion: 10 */
(function () {
  // Função que gera o arquivo ISO
  function download(filename, content) {
    const element = document.createElement('a');
    element.setAttribute(
      'href',
      `data:application/marc;charset=utf-8,${encodeURIComponent(content)}`,
    );
    element.setAttribute('download', filename);
    element.style.display = 'none';
    document.body.appendChild(element);
    element.click();
    document.body.removeChild(element);
  }

  // Se tiver uma div "isoFormat" na página/documento...
  const isoFormat = document.getElementById('isoFormat');
  if (isoFormat) {
    const content = isoFormat.textContent;
    // eslint-disable-next-line no-control-regex
    const filename = `${content.split(/\x1D/).length - 1}_records.mrc`;

    const downloadButton = document.getElementById('downloadButton');
    downloadButton.removeAttribute('style');
    downloadButton.setAttribute(
      'value',
      `Exportar ${content.split(/\x1D/).length - 1} registros`,
    );

    // Ao clicar no botão "downloadButton", chama a função download() abaixo
    document
      .getElementById('downloadButton')
      .addEventListener('click', () => download(filename, content), false);
  }
})();