* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Grid\Action\Bulk; use PrestaShop\PrestaShop\Core\Grid\Collection\AbstractCollection; /** * Class BulkActionCollection holds bulk action collection available for grid. * * @property BulkActionInterface[] $items */ final class BulkActionCollection extends AbstractCollection implements BulkActionCollectionInterface { /** * {@inheritdoc} */ public function add(BulkActionInterface $bulkAction) { $this->items[$bulkAction->getId()] = $bulkAction; return $this; } /** * {@inheritdoc} */ public function toArray() { $bulkActionsArray = []; foreach ($this->items as $bulkAction) { $bulkActionsArray[] = [ 'id' => $bulkAction->getId(), 'name' => $bulkAction->getName(), 'type' => $bulkAction->getType(), 'icon' => $bulkAction->getIcon(), 'options' => $bulkAction->getOptions(), ]; } return $bulkActionsArray; } }