shopkod
2/6/2020 - 10:05 AM

Добавление группового действия в списке элементов lists.list

<?
$arResult["GRID_ACTION_PANEL"]["GROUPS"][0]["ITEMS"][] = [
  'TYPE' => \Bitrix\Main\Grid\Panel\Types::BUTTON,
  'ID' => "approve_button",
  'CLASS' => "apply",
  'TEXT' => 'СОГЛАСОВАТЬ',
  'ONCHANGE' => [
    [
      'ACTION' => \Bitrix\Main\Grid\Panel\Actions::CALLBACK,
      'CONFIRM' => true,
      'CONFIRM_APPLY_BUTTON' => 'Cогласовать',
      'CONFIRM_MESSAGE' => 'Подтвердите действие для отмеченных элементов',
      'CONFIRM_CANCEL_BUTTON' => 'Отменить',
      'DATA' => [
        [
          'JS' => 'BX.GridActions.approve();'
        ]
      ],
    ],
  ]
];
<script>
  BX.GridActions = {
  approve: function () {
    var gridObject = BX.Main.gridManager.getInstanceById('<?=$arResult["GRID_ID"]?>');
    var data = gridObject.getRows().getSelectedIds();

    BX.ajax.post(
      "/local/ajax/detergent_request/ajax.php?mode=approve",
      {
        iblock_id: <?= $arResult["IBLOCK_ID"] ?>,
        data: data,
        user: <?=$USER->GetId()?>
      },
      function (response) {
        response = BX.parseJSON(response);
        if (typeof response == 'object' && response != null) {
          if (response.msg && response.msg !== '') {
            alert(response.msg);
            return false;
          }
        }
      }
    );
    gridObject.reload();
  }
}  
</script>