- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/sender/gridpanel.php
- Класс: Bitrix\Crm\Integration\Sender\GridPanel
- Вызов: GridPanel::getActionAddToSegment
static function getActionAddToSegment(array $applyButton, $gridManagerID)
{
self::includeJsLibs();
$segments = array_map(
function ($segment)
{
return ['NAME' => $segment['NAME'], 'VALUE' => $segment['ID']];
},
Sender\Entity\Segment::getList([
'select' => ['ID', 'NAME'],
'filter' => ['=HIDDEN' => 'N'],
'order' => ['ID' => 'DESC']
])->fetchAll()
);
$segments = array_merge(
[[
'NAME' => Loc::getMessage('CRM_INTEGRATION_SENDER_GRID_PANEL_ADD_NEW_SEGMENT'),
'VALUE' => '',
]],
$segments
);
$id = 'sender_segment_add';
return [
'NAME' => Loc::getMessage('CRM_INTEGRATION_SENDER_GRID_PANEL_ACTION_SEGMENT_ADD'),
'VALUE' => $id,
'ONCHANGE' => [
[
'ACTION' => Grid\Panel\Actions::CREATE,
'DATA' => [
[
'TYPE' => Grid\Panel\Types::DROPDOWN,
'ID' => 'sender_segment_list',
'NAME' => 'SENDER_SEGMENT_ID',
'ITEMS' => $segments
],
[
'TYPE' => Grid\Panel\Types::HIDDEN,
'ID' => 'sender_path_to_segment_edit',
'NAME' => 'SENDER_PATH_TO_SEGMENT_EDIT',
'VALUE' => self::getPathToEditSegment(),
],
$applyButton
]
],
[
'ACTION' => Grid\Panel\Actions::CALLBACK,
'DATA' => [['JS' => "BX.CrmUIGridExtension.processActionChange('{$gridManagerID}', '{$id}')"]]
]
]
];
}