MediaWiki:Common.js: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки Метки: ручная отмена отменено |
Shihov (обсуждение | вклад) Нет описания правки Метка: отменено |
||
| Строка 104: | Строка 104: | ||
callback(false); | callback(false); | ||
} | } | ||
} | } | ||
| Строка 137: | Строка 119: | ||
console.log("Начинаем поиск категории для текущей страницы:", currentPageTitle); | console.log("Начинаем поиск категории для текущей страницы:", currentPageTitle); | ||
let found = false; | |||
let searchTimeout = setTimeout(() => { | |||
if (!found) { | |||
console.log("Категория не найдена за 100мс, подменяем на `Категория:Начало`..."); | |||
currentPageTitle = "Категория:Начало"; | |||
} | searchAndExpandCategory(currentPageTitle); | ||
} | |||
}, 100); | |||
function searchAndExpandCategory(title) { | |||
function | if (scrollToCategory(title)) { | ||
if ( | found = true; | ||
clearTimeout(searchTimeout); | |||
return; | return; | ||
} | } | ||
var $ | var $categoryItems = $('#p-categorytree-portlet .CategoryTreeItem'); | ||
var index = 0; | |||
if ( | |||
function processNext() { | |||
if (index >= $categoryItems.length) { | |||
console.log("Категория не найдена, подменяем на `Категория:Начало`..."); | |||
searchAndExpandCategory("Категория:Начало"); | |||
return; | |||
} | } | ||
}); | |||
var $item = $($categoryItems[index]); | |||
expandAndFindCategory($item, function(foundItem) { | |||
if (!foundItem) { | |||
index++; | |||
processNext(); | |||
} | |||
}); | |||
} | |||
processNext(); | |||
} | } | ||
searchAndExpandCategory(currentPageTitle); | |||
} | } | ||