MediaWiki:IndicatorsHint.js: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
/* jshint esversion: 10 */ |
/* jshint esversion: 10 */ |
||
const indicatorsByTags = { |
|||
'022': { |
|||
ind1: [ |
|||
'# - Nível não especificado', |
|||
'0 - Recurso contínuo de interesse internacional', |
|||
'1 - Recurso contínuo sem interesse internacional', |
|||
], |
|||
}, |
|||
'041': { |
|||
ind1: [ |
|||
'# - Informação não fornecida', |
|||
'0 - Não é tradução/não inclui tradução', |
|||
'1 - É ou inclui tradução', |
|||
], |
|||
ind2: [ |
|||
'# - Código MARC para idiomas', |
|||
'7 - Fonte especificada no subcampo $2', |
|||
], |
|||
}, |
|||
'045': { |
|||
ind1: [ |
|||
'# - subcampos $b ou $c não estão presentes', |
|||
'0 - data/período únicos', |
|||
'1 - data/período múltiplos', |
|||
'2 - extensão de datas/períodos', |
|||
], |
|||
}, |
|||
'080': { |
|||
ind1: ['# - Informação não fornecida', '0 - Completa', '1 - Abreviada'], |
|||
}, |
|||
'082': { |
|||
ind1: [ |
|||
'0 - Edição completa', |
|||
'1 - Edição abreviada', |
|||
'7 - Outra edição especificada no subcampo $2', |
|||
], |
|||
ind2: [ |
|||
'# - Informação não fornecida', |
|||
'0 - Atribuído pela LC', |
|||
'4 - Atribuído por outra agência', |
|||
], |
|||
}, |
|||
100: { |
|||
ind1: ['1 - Sobrenome', '0 - Prenome', '3 - Nome de família'], |
|||
}, |
|||
245: { |
|||
ind1: [ |
|||
'0 - Entrada principal para o título (sem entrada principal para uma autoria)', |
|||
'1 - Entrada secundária para o título (entrada principal para uma autoria)', |
|||
], |
|||
ind2: [ |
|||
'0 - Caracteres a serem desprezados', |
|||
'1 - Caracteres a serem desprezados', |
|||
'2 - Caracteres a serem desprezados', |
|||
'3 - Caracteres a serem desprezados', |
|||
'4 - Caracteres a serem desprezados', |
|||
'5 - Caracteres a serem desprezados', |
|||
'6 - Caracteres a serem desprezados', |
|||
'7 - Caracteres a serem desprezados', |
|||
'8 - Caracteres a serem desprezados', |
|||
'9 - Caracteres a serem desprezados', |
|||
], |
|||
}, |
|||
260: { |
|||
ind1: [ |
|||
'# - Não se aplica/nenhuma informação fornecida/editor mais antigo', |
|||
'2 - Editor intermediário', |
|||
'3 - Editor atual', |
|||
], |
|||
}, |
|||
650: { |
|||
ind1: [ |
|||
'# - Nenhuma informação fornecida', |
|||
'0 - Nível não especificado', |
|||
'1 - Primário', |
|||
'2 - Secundário', |
|||
], |
|||
ind2: [ |
|||
'4 - Fonte não especificada', |
|||
'0 - Library of Congress Subject Headings (LCSH)', |
|||
"1 - LC subject headings for children's literature", |
|||
'2 - Medical Subject Headings', |
|||
'3 - National Agricultural Library subject authority file', |
|||
'5 - Canadian Subject Headings', |
|||
'6 - Répertoire de vedettes-matière', |
|||
'7 - Fonte especificada no subcampo 2', |
|||
], |
|||
}, |
|||
700: { |
|||
ind1: ['1 - Sobrenome', '0 - Prenome', '3 - Nome de família'], |
|||
ind2: ['# - Nenhuma informação fornecida', '2 - Entrada analítica'], |
|||
}, |
|||
}; |
|||
function setIndOptions(event, ind) { |
function setIndOptions(event, ind) { |
||
const { target } = event; |
const { target } = event; |
Edição das 22h49min de 20 de março de 2024
/* jshint esversion: 10 */
function setIndOptions(event, ind) {
const { target } = event;
let tagFromDropdown = '';
tagFromDropdown =
target
.closest('.instanceMain')
.querySelector('[mappingtemplate="BibRecord/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');
});
});
}