- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/grid/task/row/cellaction.php
- Класс: Bitrix\Tasks\Grid\Task\Row\CellAction
- Вызов: CellAction::prepare
public function prepare(): array
{
$taskId = $this->rowData['ID'];
$cellActions = [
'TITLE' => [],
];
if ($this->parameters['CAN_USE_PIN'])
{
if ($groupId = $this->parameters['GROUP_ID'])
{
$isPinned = (
array_key_exists('IS_PINNED_IN_GROUP', $this->rowData)
&& $this->rowData['IS_PINNED_IN_GROUP'] === 'Y'
);
}
else
{
$isPinned = ($this->rowData['IS_PINNED'] === 'Y');
}
$cellActions['TITLE'][] = [
'class' => [
Grid\CellActions::PIN,
($isPinned ? Grid\CellActionState::ACTIVE : Grid\CellActionState::SHOW_BY_HOVER),
],
'events' => [
'click' => "BX.Tasks.GridActions.changePin.bind(BX.Tasks.GridActions, {$taskId}, {$groupId})",
],
];
}
$cellActions['TITLE'][] = [
'class' => [
Grid\CellActions::MUTE,
(($this->rowData['IS_MUTED'] ?? '') === 'Y' ? Grid\CellActionState::ACTIVE : Grid\CellActionState::SHOW_BY_HOVER),
],
'events' => [
'click' => "BX.Tasks.GridActions.changeMute.bind(BX.Tasks.GridActions, {$taskId})",
],
];
return $cellActions;
}