MediaWiki:MakeMarcFieldHelpLink.js: mudanças entre as edições

De Wikincat
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
Linha 2: Linha 2:
function makeMarcFieldHelpLink() {
function makeMarcFieldHelpLink() {
const inputs = document.body.querySelectorAll(
const inputs = document.body.querySelectorAll(
'[mappingtemplate="BibRecord/tags"]',
'[mappingtemplate$="Record/tags"]',
);
);
inputs.forEach((elem) => {
inputs.forEach((elem) => {

Edição atual tal como às 16h23min de 22 de março de 2024

/* jshint esversion: 10 */
function makeMarcFieldHelpLink() {
  const inputs = document.body.querySelectorAll(
    '[mappingtemplate$="Record/tags"]',
  );
  inputs.forEach((elem) => {
    const marcFieldHelpLink = document.createElement('a');
    marcFieldHelpLink.setAttribute('target', '_blank');
    marcFieldHelpLink.innerText = '(?)';

    const marcFieldHelpLinkClass = elem
      .closest('table')
      .querySelector('.marcFieldHelpLink');
    marcFieldHelpLinkClass.innerHTML = '';
    marcFieldHelpLinkClass.appendChild(marcFieldHelpLink);

    // find the tag value from the chosen dropdown
    marcFieldHelpLinkClass.addEventListener('mouseover', (event) => {
      let tagFromDropdown = '';
      tagFromDropdown =
        event.target
          .closest('.instanceMain')
          .querySelector('.oo-ui-inputWidget-input')
          .getAttribute('title') || '00x';
      tagFromDropdown = tagFromDropdown.substring(0, 3);
      marcFieldHelpLink.setAttribute(
        'title',
        `Documentação do campo ${tagFromDropdown}`,
      );
      // build the URL
      if (
        window.location.href.match(/A\d{6}/) ||
        window.location.href.match(/AutRecord/)
      ) {
        marcFieldHelpLink.setAttribute(
          'href',
          `https://marc.febab.org/a${tagFromDropdown}`,
        );
      } else {
        marcFieldHelpLink.setAttribute(
          'href',
          `https://www.loc.gov/marc/bibliographic/bd${tagFromDropdown}.html`,
        );
      }
    });
  });
}