27 lines
1.1 KiB
JavaScript
27 lines
1.1 KiB
JavaScript
function rebuildIndex() {
|
|
openModal({ title: 'Rebuilding search index…', body: 'Walking the wiki tree.' });
|
|
fetch('/_reindex', { method: 'POST' })
|
|
.then(function (resp) {
|
|
if (!resp.ok) throw new Error('rebuild failed: ' + resp.status);
|
|
window.location.href = window.location.href;
|
|
})
|
|
.catch(function (err) {
|
|
closeModal();
|
|
openModal({ title: 'Rebuild failed', body: String(err), confirm: { label: 'OK' } });
|
|
});
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
wireDropdown(document.querySelector('[data-action="actions-drop"]'));
|
|
|
|
// Focus the search input on results pages so Tab steps directly into the
|
|
// first match — the input sits immediately before the results in DOM
|
|
// order, so the natural tab sequence is input → first result → next, …
|
|
var input = document.querySelector('.search-input');
|
|
if (input && input.value) {
|
|
input.focus();
|
|
var end = input.value.length;
|
|
try { input.setSelectionRange(end, end); } catch (e) {}
|
|
}
|
|
});
|