- Модуль: mobile
- Путь к файлу: ~/bitrix/modules/mobile/lib/tab/manager.php
- Класс: BitrixMobileTabManager
- Вызов: Manager::resolveTabs
private function resolveTabs($config, $required = [])
{
$result = array_keys($required);
$unchangeable = is_array($this->config["unchangeable"]) ? $this->config["unchangeable"] : [];
$configKeys = array_diff(array_keys($config), $result);
$sorts = array_merge($required, $config, $unchangeable);
$tabs = array_reduce($configKeys, function ($result, $tabId) {
if (count($result) < Manager::maxCount)
{
$result[] = $tabId;
}
return $result;
}, $result);
$result = array_filter($sorts, function ($tabId) use ($tabs) {
return in_array($tabId, $tabs) && $this->getTabAvailabilityState($tabId);
}, ARRAY_FILTER_USE_KEY);
asort($result);
return $result;
}