6202
редагування
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 309: | Рядок 309: | ||
} | } | ||
}); | }); | ||
}); | |||
// ================================================== | |||
// БЛОКУВАННЯ MINERVA SEARCH OVERLAY (ДЕСКТОП) | |||
// ================================================== | |||
$(function() { | |||
// Тільки для десктопа | |||
if ($(window).width() <= 768) return; | |||
var $searchInput = $('#searchInput'); | |||
if ($searchInput.length === 0) return; | |||
// Затримка щоб DOM завантажився | |||
setTimeout(function() { | |||
// Змінюємо placeholder | |||
$searchInput.attr('placeholder', 'Пошук...'); | |||
// Клонуємо input щоб прибрати всі event listeners | |||
var $newInput = $searchInput.clone(false); | |||
$searchInput.replaceWith($newInput); | |||
$searchInput = $newInput; | |||
// Прибираємо readonly і класи тригера | |||
$searchInput.prop('readonly', false); | |||
$searchInput.removeAttr('readonly'); | |||
$searchInput.removeClass('skin-minerva-search-trigger'); | |||
// При фокусі - блокуємо overlay | |||
$searchInput.on('focus click', function(e) { | |||
e.stopPropagation(); | |||
// Прибираємо overlay класи з body | |||
$('body').removeClass('overlay-enabled search-enabled'); | |||
// Видаляємо overlay елементи | |||
$('.overlay, .search-overlay').hide(); | |||
// Прибираємо hash | |||
if (window.location.hash === '#/search') { | |||
history.replaceState(null, null, window.location.pathname); | |||
} | |||
}); | |||
// При Enter - перехід на сторінку пошуку | |||
$searchInput.on('keydown', function(e) { | |||
if (e.which === 13 || e.keyCode === 13) { | |||
e.preventDefault(); | |||
var query = $(this).val().trim(); | |||
if (query) { | |||
window.location.href = '/index.php?title=Спеціальна:Пошук&search=' + encodeURIComponent(query); | |||
} | |||
return false; | |||
} | |||
}); | |||
}, 100); | |||
// Блокуємо hashchange на #/search | |||
$(window).on('hashchange', function(e) { | |||
if (window.location.hash === '#/search') { | |||
e.preventDefault(); | |||
history.replaceState(null, null, window.location.pathname); | |||
$('body').removeClass('overlay-enabled search-enabled'); | |||
$('.overlay, .search-overlay').hide(); | |||
} | |||
}); | |||
// Перевіряємо hash при завантаженні | |||
if (window.location.hash === '#/search') { | |||
history.replaceState(null, null, window.location.pathname); | |||
} | |||
}); | }); | ||