• Модуль: 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;
}