- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/grid/panel/groupaction.php
- Класс: BitrixIblockGridPanelGroupAction
- Вызов: GroupAction::actionElementWorkflowStatusPanel
protected function actionElementWorkflowStatusPanel(array $params = []): ?array
{
if (!Loader::includeModule('workflow'))
{
return null;
}
$name = (isset($params['NAME']) && $params['NAME'] !== ''
? $params['NAME']
: Loc::getMessage('IBLOCK_GRID_PANEL_ACTION_ELEMENT_WORKFLOW_STATUS')
);
$statusList = [];
$iterator = CWorkflowStatus::getDropDownList('N', 'desc');
while ($row = $iterator->Fetch())
{
$statusList[] = [
'NAME' => $row['REFERENCE'],
'VALUE' => $row['REFERENCE_ID'],
];
}
unset($row, $iterator);
if (empty($statusList))
{
return null;
}
$params['APPLY_BUTTON_ID'] = 'send_workflow_status';
$data = [];
$data[] = [
'TYPE' => MainGridPanelTypes::DROPDOWN,
'ID' => $this->getElementId('workflow_status'),
'NAME' => 'wf_status_id',
'ITEMS' => $statusList,
];
if ($this->isUiGrid())
{
$data[] = $this->getApplyButton($params);
}
return [
'name' => $name,
'type' => 'multicontrol',
'action' => [
[
'ACTION' => MainGridPanelActions::RESET_CONTROLS,
],
[
'ACTION' => MainGridPanelActions::CREATE,
'DATA' => $data,
],
],
];
}