5441
редагування
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
// ================================================== | |||
// RANDOM ARTICLES | |||
// ================================================== | |||
$(document).ready(function() { | $(document).ready(function() { | ||
var apiUrl = mw.config.get('wgScriptPath') + '/api.php'; | var apiUrl = mw.config.get('wgScriptPath') + '/api.php'; | ||
| Рядок 120: | Рядок 26: | ||
}); | }); | ||
// L- | // ================================================== | ||
// L-BOX NAVIGATION | |||
// ================================================== | |||
$(function() { | $(function() { | ||
var items = $('.l-box-item'); | var items = $('.l-box-item'); | ||
| Рядок 146: | Рядок 54: | ||
var el = document.getElementById(target); | var el = document.getElementById(target); | ||
if (el) { | if (el) { | ||
scrollTo = $(el).offset().top - | scrollTo = $(el).offset().top - 100; | ||
} | } | ||
} | } | ||
| Рядок 154: | Рядок 62: | ||
$(window).on('scroll', function() { | $(window).on('scroll', function() { | ||
var scrollPos = $(window).scrollTop() + | var scrollPos = $(window).scrollTop() + 120; | ||
var current = null; | var current = null; | ||
| Рядок 173: | Рядок 81: | ||
}); | }); | ||
// | // ================================================== | ||
// PROFILE ICONS | |||
// ================================================== | |||
$(document).ready(function() { | $(document).ready(function() { | ||
$('.profile-icon').each(function() { | $('.profile-icon').each(function() { | ||
| Рядок 201: | Рядок 111: | ||
var $body = $('body'); | var $body = $('body'); | ||
// Змінюємо placeholder | // Невелика затримка щоб DOM повністю завантажився | ||
setTimeout(function() { | |||
// Змінюємо placeholder | |||
$searchInput.attr('placeholder', 'Пошук...'); | |||
// Прибираємо readonly | |||
$searchInput.prop('readonly', false); | |||
$searchInput.removeAttr('readonly'); | |||
// Прибираємо класи тригера | |||
$searchInput.removeClass('skin-minerva-search-trigger'); | |||
// Прибираємо | // Прибираємо всі обробники подій з input | ||
$ | $searchInput.off(); | ||
// | // Блокуємо overlay при кліку/фокусі | ||
$('.overlay, .search-overlay'). | $searchInput.on('click focus', function(e) { | ||
e.stopPropagation(); | |||
e.stopImmediatePropagation(); | |||
// Прибираємо overlay класи | |||
$body.removeClass('overlay-enabled search-enabled'); | |||
// Ховаємо overlay | |||
$('.overlay, .search-overlay').remove(); | |||
// Прибираємо hash | |||
if (window.location.hash === '#/search') { | |||
history.replaceState(null, null, window.location.pathname); | |||
} | |||
// Фокус на input | |||
$(this).focus(); | |||
}); | |||
// При введенні тексту | |||
$searchInput.on('input', function(e) { | |||
$body.removeClass('overlay-enabled search-enabled'); | |||
$('.overlay, .search-overlay').remove(); | |||
}); | |||
// При Enter - перехід на сторінку пошуку | |||
$searchInput.on('keydown', function(e) { | |||
if (e.which === 13 || e.keyCode === 13) { | |||
e.preventDefault(); | |||
e.stopPropagation(); | |||
var query = $(this).val().trim(); | |||
if (query) { | |||
window.location.href = '/index.php?title=Спеціальна:Пошук&search=' + encodeURIComponent(query); | |||
} | |||
return false; | |||
} | } | ||
} | }); | ||
}); | |||
}, 50); | |||
// | // MutationObserver - блокуємо overlay класи на body | ||
var observer = new MutationObserver(function(mutations) { | var observer = new MutationObserver(function(mutations) { | ||
mutations.forEach(function(mutation) { | mutations.forEach(function(mutation) { | ||
if (mutation.attributeName === 'class') { | if (mutation.attributeName === 'class') { | ||
if ($body.hasClass('overlay-enabled')) { | if ($body.hasClass('overlay-enabled')) { | ||
$body.removeClass('overlay-enabled'); | $body.removeClass('overlay-enabled search-enabled'); | ||
$('.overlay, .search-overlay').remove(); | |||
// Прибираємо hash | |||
if (window.location.hash === '#/search') { | |||
history.replaceState(null, null, window.location.pathname); | |||
} | |||
} | } | ||
} | } | ||
| Рядок 257: | Рядок 186: | ||
observer.observe(document.body, { attributes: true }); | observer.observe(document.body, { attributes: true }); | ||
// Блокуємо hashchange | // Блокуємо hashchange на #/search | ||
$(window).on('hashchange', function() { | $(window).on('hashchange', function(e) { | ||
if (window.location.hash === '#/search') { | if (window.location.hash === '#/search') { | ||
e.preventDefault(); | |||
history.replaceState(null, null, window.location.pathname); | history.replaceState(null, null, window.location.pathname); | ||
$body.removeClass('overlay-enabled'); | $body.removeClass('overlay-enabled search-enabled'); | ||
$('.overlay, .search-overlay'). | $('.overlay, .search-overlay').remove(); | ||
} | } | ||
}); | }); | ||
// Перевіряємо hash при завантаженні | |||
if (window.location.hash === '#/search') { | |||
history.replaceState(null, null, window.location.pathname); | |||
} | |||
}); | }); | ||