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
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
/*jshint esversion: 8 */
/* jshint esversion: 10 */
let tag = '';
let tagFromDropdown = '';

function makeMarcFieldHelpLink() {
function makeMarcFieldHelpLink() {
const tagInputs = document.body.querySelectorAll('.tagInput');
const inputs = document.body.querySelectorAll(
'[mappingtemplate$="Record/tags"]',
tagInputs.forEach((elem) => {
);
inputs.forEach((elem) => {
const marcFieldHelpLink = document.createElement('a');
const marcFieldHelpLink = document.createElement('a');
marcFieldHelpLink.setAttribute('target', '_blank');
marcFieldHelpLink.setAttribute('target', '_blank');
Linha 18: Linha 17:
// find the tag value from the chosen dropdown
// find the tag value from the chosen dropdown
marcFieldHelpLinkClass.addEventListener('mouseover', (event) => {
marcFieldHelpLinkClass.addEventListener('mouseover', (event) => {
let tagFromDropdown = '';
tagFromDropdown =
tagFromDropdown =
event.target
event.target
Linha 35: Linha 35:
marcFieldHelpLink.setAttribute(
marcFieldHelpLink.setAttribute(
'href',
'href',
`http://marc.febab.org/a${tagFromDropdown}`,
`https://marc.febab.org/a${tagFromDropdown}`,
);
);
} else {
} else {

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`,
        );
      }
    });
  });
}