• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/ui/helper.php
  • Класс: BitrixVoximplantUiHelper
  • Вызов: Helper::renderCustomSelectors
static function renderCustomSelectors($filterId, array $filterDefinition)
{
	global $APPLICATION;
	Extension::load("voximplant.common");

	$entitySelectors = array();
	$userSelectors = array();
	foreach($filterDefinition as $filterItem)
	{
		if(!(isset($filterItem['type'])
			&& $filterItem['type'] === 'custom_entity'
			&& isset($filterItem['selector'])
			&& is_array($filterItem['selector']))
		)
		{
			continue;
		}

		$selector = $filterItem['selector'];

		$selectorType = isset($selector['TYPE']) ? $selector['TYPE'] : '';
		$selectorData = isset($selector['DATA']) && is_array($selector['DATA']) ? $selector['DATA'] : null;

		if(empty($selectorData))
		{
			continue;
		}

		if($selectorType === 'crm_entity')
		{
			$entitySelectors[] = $selectorData;
		}
		else if($selectorType === 'user')
		{
			$userSelectors[] = $selectorData;
		}
	}

	//region CRM Entity Selectors
	if(!empty($entitySelectors) && Loader::includeModule('crm'))
	{
		Asset::getInstance()->addJs('/bitrix/js/crm/common.js');
		Asset::getInstance()->addJs('/bitrix/js/crm/crm.js');
		Asset::getInstance()->addJs('/bitrix/js/crm/interface_grid.js');

		BitrixMainUIExtension::load('ui.fonts.opensans');
		Asset::getInstance()->addCss('/bitrix/js/crm/css/crm.css');
		?>IncludeComponent(
			'bitrix:intranet.user.selector.new',
			'',
			array(
				'MULTIPLE' => 'N',
				'NAME' => $componentName,
				'INPUT_NAME' => mb_strtolower($componentName),
				'SHOW_EXTRANET_USERS' => 'NONE',
				'POPUP' => 'Y',
				'SITE_ID' => SITE_DIR,
				'NAME_TEMPLATE' => CSite::GetNameFormat()
			),
			null,
			array('HIDE_ICONS' => 'Y')
		);
		?>