...Человеческий поиск в разработке...
- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/grid/scrum/row/content/tags.php
- Класс: Bitrix\Tasks\Grid\Scrum\Row\Content\Tags
- Вызов: Tags::prepare
public function prepare(): array { $row = $this->getRowData(); $parameters = $this->getParameters(); $tags = [ 'items' => [], ]; $userId = (int)$parameters['USER_ID']; $user = []; if (array_key_exists($userId, $row['MEMBERS']['HEADS'])) { $user = $row['MEMBERS']['HEADS'][$userId]; } elseif (array_key_exists($userId, $row['MEMBERS']['MEMBERS'])) { $user = $row['MEMBERS']['MEMBERS'][$userId]; } if ($user['IS_OWNER'] === 'Y') { $tags['addButton'] = [ 'events' => [ 'click' => "BX.Tasks.Projects.ActionsController.onTagAddClick.bind(BX.Tasks.Projects.ActionsController, {$row['ID']})", ], ]; } if (!array_key_exists('TAGS', $row) || !is_array($row['TAGS'])) { return $tags; } foreach ($row['TAGS'] as $tag) { $encodedData = Json::encode(['TAGS' => $tag]); $selected = (isset($parameters['FILTER_DATA']['TAGS']) && $parameters['FILTER_DATA']['TAGS'] === $tag); $tags['items'][] = [ 'text' => $tag, 'active' => $selected, 'events' => [ 'click' => "BX.Tasks.Projects.ActionsController.onTagClick.bind(BX.Tasks.Projects.ActionsController, {$encodedData})", ], ]; } return $tags; }