MediaWiki:IndicatorsHint.js

De Wikincat
Revisão de 16h19min de 22 de março de 2024 por Jaider.ferreira (discussão | contribs)
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 setIndOptions(event, ind) {
  const { target } = event;
  let tagFromDropdown = '';
  tagFromDropdown =
    target
      .closest('.instanceMain')
      .querySelector('[mappingtemplate$="Record/tags"]')
      .getAttribute('title') ?? '   ';
  tagFromDropdown = tagFromDropdown.substring(0, 3);

  if (tagFromDropdown in indicatorsByTags) {
    target.innerHTML = '';
    const indArr = indicatorsByTags[tagFromDropdown][ind] ?? ['# - Indefinido'];

    for (let i = 0; i < indArr.length; i += 1) {
      const option = document.createElement('option');
      option.setAttribute('value', indArr[i][0]);
      option.innerText = indArr[i];
      target.appendChild(option);
    }
  } else {
    target.innerHTML = '';
    const option = document.createElement('option');
    option.setAttribute('value', '#');
    option.innerText = '# - Indefinido';
    target.appendChild(option);
  }
}

function setIndicators() {
  const inds1 = document.body.querySelectorAll('[origname="Field[ind1]"');
  const inds2 = document.body.querySelectorAll('[origname="Field[ind2]"');
  inds1.forEach((ind1Elem) => {
    ind1Elem.addEventListener('focusin', (event) => {
      setIndOptions(event, 'ind1');
    });
  });
  inds2.forEach((elem) => {
    elem.addEventListener('focusin', (event) => {
      setIndOptions(event, 'ind2');
    });
  });
}