private function getFullList(): array
{
$actionList = [];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_CHOOSE_ACTION'),
'VALUE' => self::ACTION_NONE,
'ONCHANGE' => [
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction(null)"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_PING'),
'VALUE' => self::ACTION_PING,
'ONCHANGE' => [
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('ping')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_COMPLETE'),
'VALUE' => self::ACTION_COMPLETE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('complete')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_SET_DEADLINE'),
'VALUE' => self::ACTION_SET_DEADLINE,
'ONCHANGE' => [
[
'ACTION' => Actions::CREATE,
'DATA' => [
[
'TYPE' => Types::DATE,
'ID' => 'action_set_deadline',
'NAME' => 'ACTION_SET_DEADLINE',
'VALUE' => '',
'TIME' => true,
],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('setdeadline')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_MOVE_DEADLINE_RIGHT'),
'VALUE' => self::ACTION_ADJUST_DEADLINE,
'ONCHANGE' => $this->getMoveDeadlineConfig(),
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_MOVE_DEADLINE_LEFT'),
'VALUE' => self::ACTION_SUBSTRACT_DEADLINE,
'ONCHANGE' => $this->getMoveDeadlineConfig(),
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_SET_TASK_CONTROL_V2'),
'VALUE' => self::ACTION_SET_TASK_CONTROL,
'ONCHANGE' => [
[
'ACTION' => Actions::CREATE,
'DATA' => [
[
'TYPE' => Types::DROPDOWN,
'ID' => 'action_set_task_control',
'NAME' => 'value',
'ITEMS' => [
[
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_SET_TASK_CONTROL_YES'),
'VALUE' => 'N',
],
[
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_SET_TASK_CONTROL_NO'),
'VALUE' => 'Y',
],
],
],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('settaskcontrol')"],
],
],
],
];
$roles = $this->getRoles();
foreach ($roles as $role)
{
$key = $role['KEY'];
$actionList[] = [
'NAME' => $role['NAME'],
'VALUE' => $role['VALUE'],
'ONCHANGE' => [
[
'ACTION' => Actions::CREATE,
'DATA' => [
[
'TYPE' => Types::TEXT,
'ID' => "action_set_{$key}_text",
'NAME' => "{$key}Text",
'VALUE' => '',
'SIZE' => 1,
],
[
'TYPE' => Types::HIDDEN,
'ID' => "action_set_{$key}",
'NAME' => "{$key}Id",
'VALUE' => '',
'SIZE' => 1,
],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.initPopupBalloon('user','action_set_{$key}_text','action_set_{$key}');"],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('changeuser')"],
],
],
],
];
}
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_MUTE'),
'VALUE' => self::ACTION_MUTE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('mute')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_UNMUTE'),
'VALUE' => self::ACTION_UNMUTE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('unmute')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_ADD_FAVORITE'),
'VALUE' => self::ACTION_ADD_FAVORITE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('addtofavorite')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_DELETE_FAVORITE'),
'VALUE' => self::ACTION_REMOVE_FAVORITE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('removefromfavorite')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_SET_GROUP'),
'VALUE' => self::ACTION_SET_GROUP,
'ONCHANGE' => [
[
'ACTION' => Actions::CREATE,
'DATA' => [
[
'TYPE' => Types::TEXT,
'ID' => 'action_set_group_search',
'NAME' => 'ACTION_SET_GROUP_SEARCH',
],
[
'TYPE' => Types::HIDDEN,
'ID' => 'action_set_group_id',
'NAME' => 'groupId',
],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.initPopupBalloon('group','action_set_group_search','action_set_group_id');"],
],
],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('setgroup')"],
],
],
],
];
$actionList[] = [
'NAME' => Loc::getMessage('TASKS_LIST_GROUP_ACTION_REMOVE'),
'VALUE' => self::ACTION_DELETE,
'ONCHANGE' => [
['ACTION' => Actions::RESET_CONTROLS],
[
'ACTION' => Actions::CALLBACK,
'DATA' => [
['JS' => "BX.Tasks.GridActions.setCurrentGroupAction('delete')"],
],
],
],
];
return $actionList;
}