...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/ui/tools/toolbar.php
- Класс: Bitrix\Crm\UI\Tools\ToolBar
- Вызов: ToolBar::mapItems
static function mapItems(array $inputItems, string $toolbarId = null, array $params = []): array
{
$inputItems = array_filter($inputItems);
if (empty($inputItems))
{
return [];
}
$result = array_map(static function ($item)
{
$item = array_change_key_case($item);
if (isset($item['separator']))
{
$item['delimiter'] = $item['separator'];
unset($item['separator']);
}
if (isset($item['name']))
{
$item['html'] = htmlspecialcharsbx($item['name']);
unset($item['name']);
if (isset($item['counter']) && $item['counter'] > 0)
{
$item['html'] = sprintf(
'%s
',
$item['html'],
$item['counter']
);
}
}
if (isset($item['link']))
{
$item['href'] = $item['link'];
unset($item['link']);
}
if (isset($item['url']))
{
$item['href'] = $item['url'];
unset($item['url']);
}
if (isset($item['onclick']))
{
$item['onclick'] = new JsCode($item['onclick']);
}
if (isset($item['jsevent']))
{
$item['onclick'] = new JsEvent($item['jsevent']);
}
if (isset($item['class_name']))
{
$item['className'] = htmlspecialcharsbx($item['class_name']);
}
if (isset($item['items']))
{
$item['items'] = self::mapItems($item['items']);
}
return $item;
}, $inputItems);
if (isset($toolbarId) && in_array($toolbarId, self::KANBAN_SETTINGS_TOOLBAR_IDS))
{
Container::getInstance()->getLocalization()->loadKanbanMessages();
[$prefix, $entityName] = explode('_', $toolbarId);
$entityTypeId = CCrmOwnerType::ResolveID($entityName);
$isKanbanView = self::isCurrentViewKanbanView($entityTypeId);
$factory = Container::getInstance()->getFactory($entityTypeId);
if ($factory && $factory->isCategoriesEnabled())
{
$isKanbanView = $isKanbanView && !is_null($params['CATEGORY_ID'] ?? null);
}
if (!empty($entityTypeId) && $isKanbanView)
{
$result = array_merge([self::getKanbanSettings()], $result);
}
}
return $result;
}