- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/workgrouplist.php
- Класс: BitrixSocialnetworkComponentWorkgroupList
- Вызов: WorkgroupList::getCellActions
static function getCellActions(
WorkgroupListRuntimeFieldsManager $runtimeFieldsManager,
$params
): array
{
$gridId = (string)($params['GRID_ID'] ?? '');
$groupFields = ($params['GROUP'] ?? null);
if (
!$groupFields
|| $gridId === ''
)
{
return [];
}
$runtimeFields = $runtimeFieldsManager->get();
$entityManager = new EntityManager([
'queryInitAlias' => $params['QUERY_INIT_ALIAS'],
]);
$group = $entityManager->wakeUpWorkgroupEntityObject($groupFields);
if (!$group)
{
return [];
}
$groupId = (int)$group->get('ID');
$pin = [];
if (in_array('PIN', $runtimeFields, true))
{
$pinEntity = $entityManager->wakeUpPinEntityObject($groupFields);
$isPinned = ($pinEntity !== null);
$pin = [
'class' => [
GridCellActions::PIN,
($isPinned ? GridCellActionState::ACTIVE : GridCellActionState::SHOW_BY_HOVER),
],
'events' => [
'click' => 'BX.Socialnetwork.UI.Grid.ActionController
.changePin.bind(BX.Socialnetwork.UI.Grid.ActionController, ' . $groupId . ')',
],
];
}
return [
'NAME' => [
$pin,
],
];
}