/** * WP Multi Wiki – AJAX Search Script */ (function ($) { 'use strict'; $(document).ready(function () { $('.wmw-search-widget').each(function () { var $widget = $(this); var $input = $widget.find('.wmw-search-input'); var $results = $widget.find('.wmw-search-results'); var $clear = $widget.find('.wmw-search-clear'); var wikiId = parseInt($widget.data('wiki-id'), 10) || 0; var timer = null; // ── Input handler ───────────────────────────────────────────────── $input.on('input', function () { clearTimeout(timer); var term = $input.val().trim(); if (term.length < 2) { closeResults(); $clear.hide(); return; } $clear.show(); timer = setTimeout(function () { doSearch(term); }, 280); }); // ── Clear button ────────────────────────────────────────────────── $clear.on('click', function () { $input.val('').trigger('input').focus(); }); // ── Close on outside click ──────────────────────────────────────── $(document).on('click.wmw', function (e) { if (!$widget.is(e.target) && !$widget.has(e.target).length) { closeResults(); } }); // ── Keyboard: escape closes ─────────────────────────────────────── $input.on('keydown', function (e) { if (e.key === 'Escape') closeResults(); }); function doSearch(term) { $results.html('