MediaWiki:NormalizeMarcData.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 39: Linha 39:
instanceMains.forEach((instanceMain) => {
instanceMains.forEach((instanceMain) => {
function transform(string) {
function transform(string) {
originalString = string;
const originalString = string;
return (
return (
originalString
originalString

Edição das 18h33min de 10 de outubro de 2024

/* 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, ' ')
          // 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);
    });
  });
}