You are here

public function WishlistUserForm::removeItem in Commerce Wishlist 8.3

Submit callback for the "Remove" button.

File

src/Form/WishlistUserForm.php, line 306

Class

WishlistUserForm
Provides the wishlist user form.

Namespace

Drupal\commerce_wishlist\Form

Code

public function removeItem(array $form, FormStateInterface $form_state) {

  /** @var \Drupal\commerce_wishlist\Entity\WishlistInterface $wishlist */
  $wishlist = $this->entity;
  $triggering_element = $form_state
    ->getTriggeringElement();
  $wishlist_item_storage = $this->entityTypeManager
    ->getStorage('commerce_wishlist_item');

  /** @var \Drupal\commerce_wishlist\Entity\WishlistItemInterface $wishlist_item */
  $wishlist_item = $wishlist_item_storage
    ->load($triggering_element['#item_id']);
  $this->wishlistManager
    ->removeWishlistItem($wishlist, $wishlist_item);
  $this
    ->messenger()
    ->addStatus($this
    ->t('@entity has been removed from your wishlist.', [
    '@entity' => $wishlist_item
      ->label(),
  ]));
  $form_state
    ->setRebuild(TRUE);
}