MediaWiki:NormalizeMarcData.js
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 rmCarriageReturn() {
const textareas = document.body.querySelectorAll('textarea');
textareas.forEach((textarea) => {
const element = textarea;
element.value = element.value.replace(' ', '');
});
}
function rmHtmlTags() {
const textareas = document.body.querySelectorAll('textarea');
textareas.forEach((textarea) => {
const element = textarea;
element.value = element.value.replace(
/<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>/g,
'',
);
});
}
function rmTxtFromHiddenFields() {
const spans = document.body.querySelectorAll('span.hiddenByPF');
spans.forEach((elem) => {
elem.querySelectorAll('.input.oo-ui-inputWidget-input').forEach((input) => {
const element = input;
element.value = '';
});
elem.querySelectorAll('textarea').forEach((input) => {
const element = input;
element.value = '';
});
});
}
function normalizeInput() {
const instanceMains = document.body.querySelectorAll(
'.instanceMain div table',
);
instanceMains.forEach((instanceMain) => {
function transform(string) {
const originalString = string;
return (
originalString
// "$a Bar \n$b Baz" > " $a Bar $b Baz"
.replace(/\s*(\$[a-z0-8])\s*/g, ' $1 ')
// "$a Bar\nFoo" > "$a Bar Foo" ou "$a Bar Foo" > "$a Bar Foo"
.replace(/\n|\s\s+|\t/g, ' ')
// "$aBar $bBaz" > "$a Bar $b Baz"
.replace(/(\$[a-z0-9])([^\s])/g, '$1 $2')
// replace "|" by "%7C" (Ex.: http://viaf.org/processed/WKP|Q2484404)
.replace('|', '%7C')
// remove consecutive spaces
.replace(/ +(?= )/g, '')
);
}
instanceMain
.querySelectorAll('.oo-ui-inputWidget-input')
.forEach((input) => {
const normalizedInput = input;
normalizedInput.value = transform(normalizedInput.value);
});
instanceMain.querySelectorAll('textarea').forEach((textarea) => {
const normalizedInput = textarea;
normalizedInput.value = transform(normalizedInput.value);
});
});
}