MediaWiki:Common.js: различия между версиями

Материал из ЮУГМУ Вики
Нет описания правки
Нет описания правки
 
(не показано 78 промежуточных версий этого же участника)
Строка 1: Строка 1:
document.addEventListener("DOMContentLoaded", function() {
// Get the select element and the forms
  const node = document.getElementById("content");
var currentPageHref = decodeURI(window.location.href);
  const content = document.createElement("ul");
var test = 'Вики-энциклопедия_университета:Главная';
  content.classList.add("custom-top-menu");
if (currentPageHref .indexOf(test) > -1) {
var forms = document.querySelectorAll('.createbox');
var select = document.createElement('select');
select.id = 'select-template';
select.className = 'mw-ui-input mw-ui-input-inline mw-inputbox-centered';


  const items = [
    {
      href: "/wiki/Вики-энциклопедия_университета",
      title: "Главная",
      text: "Главная",
      spanText: "Главная"
    },
    {
      href: "/wiki/Правила",
      title: "Правила",
      text: "Правила",
      spanText: "Правила"
    },
    {
      href: "/wiki/Служебная:Все_страницы",
      title: "Все страницы",
      text: "Статьи",
      spanText: "Статьи"
    },
    {
      href: "/wiki/Служебная:Свежие_правки",
      title: "Свежие правки",
      text: "История правок",
      spanText: "История правок"
    },
    {
      href: "/wiki/Инструкции",
      title: "Инструкции",
      text: "Инструкции",
      spanText: "Инструкции"
    },
    {
      href: "/wiki/Контакты",
      title: "Заголовок 2",
      text: "Контакты",
      spanText: "Контакты"
    }
  ];


   items.forEach((item) => {
// Create the select options
    const li = document.createElement("li");
var options = [
    const a = document.createElement("a");
  { value: 'Шаблон:Личность', text: 'Шаблон: Личность' },
    a.href = item.href;
  { value: 'Шаблон:Структура', text: 'Шаблон: Структура' },
    a.title = item.title;
   { value: 'Шаблон:Событие', text: 'Шаблон: Событие' }
    a.textContent = item.text;
];
    const span = document.createElement("span");
var opt;
    span.textContent = item.spanText;
for (var i = 0; i < options.length; i++) {
    a.appendChild(span);
  opt = document.createElement('option');
     li.appendChild(a);
  opt.value = options[i].value;
     content.appendChild(li);
  opt.text = options[i].text;
  });
  select.appendChild(opt);
}
 
// Add event listener to the select element
select.addEventListener('change', function(e) {
  var value = e.target.value;
 
  var form;
  for (var i = 0; i < forms.length; i++) {
     form = forms[i];
     var preloadInput = form.querySelector('input[name="preload"]');


  node.parentNode.insertBefore(content, node);
     if (preloadInput) {
     var currentPageHref = decodeURI(window.location.href);
      preloadInput.value = value;
    var links = document.querySelectorAll('.custom-top-menu a');
    links.forEach(function(link) {
    var linkhref = link.getAttribute('href').trim();
    console.log(currentPageHref + '=' + linkhref);
    if (currentPageHref.indexOf(linkhref) > -1) {
        link.closest('li').classList.add('a-current');
     }
     }
  }
});
});
});
var form = document.querySelector('.createbox');
form.insertBefore(select, form.querySelector('input[name="veaction"]'));
}

Текущая версия от 16:31, 19 мая 2024

// Get the select element and the forms
var currentPageHref = decodeURI(window.location.href);
var test = 'Вики-энциклопедия_университета:Главная';
if (currentPageHref .indexOf(test) > -1) {
var forms = document.querySelectorAll('.createbox');
var select = document.createElement('select');
select.id = 'select-template';
select.className = 'mw-ui-input mw-ui-input-inline mw-inputbox-centered';


// Create the select options
var options = [
  { value: 'Шаблон:Личность', text: 'Шаблон: Личность' },
  { value: 'Шаблон:Структура', text: 'Шаблон: Структура' },
  { value: 'Шаблон:Событие', text: 'Шаблон: Событие' }
];
var opt;
for (var i = 0; i < options.length; i++) {
  opt = document.createElement('option');
  opt.value = options[i].value;
  opt.text = options[i].text;
  select.appendChild(opt);
}

// Add event listener to the select element
select.addEventListener('change', function(e) {
  var value = e.target.value;

  var form;
  for (var i = 0; i < forms.length; i++) {
    form = forms[i];
    var preloadInput = form.querySelector('input[name="preload"]');

    if (preloadInput) {
      preloadInput.value = value;
    }
  }
});
var form = document.querySelector('.createbox');
form.insertBefore(select, form.querySelector('input[name="veaction"]'));
}