- Модуль: 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');
?>
}
//endregion
//region User Selectors
if(!empty($userSelectors))
{
$componentName = "{$filterId}_FILTER_USER";
$APPLICATION->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')
);
?>
}
}