Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DeleteButton.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
22 {
26  private $request;
27 
31  private $urlBuilder;
32 
36  private $escaper;
37 
41  private $confirmationMessage;
42 
46  private $idFieldName;
47 
51  private $deleteRoutePath;
52 
56  private $sortOrder;
57 
67  public function __construct(
68  RequestInterface $request,
69  UrlInterface $urlBuilder,
70  Escaper $escaper,
71  string $confirmationMessage,
72  string $idFieldName,
73  string $deleteRoutePath,
74  int $sortOrder
75  ) {
76  $this->request = $request;
77  $this->urlBuilder = $urlBuilder;
78  $this->escaper = $escaper;
79  $this->confirmationMessage = $confirmationMessage;
80  $this->idFieldName = $idFieldName;
81  $this->deleteRoutePath = $deleteRoutePath;
82  $this->sortOrder = $sortOrder;
83  }
84 
88  public function getButtonData()
89  {
90  $data = [];
91  $fieldId = $this->escaper->escapeJs($this->escaper->escapeHtml($this->request->getParam($this->idFieldName)));
92  if (null !== $fieldId) {
93  $url = $this->urlBuilder->getUrl($this->deleteRoutePath);
94  $escapedMessage = $this->escaper->escapeJs($this->escaper->escapeHtml($this->confirmationMessage));
95  $data = [
96  'label' => __('Delete'),
97  'class' => 'delete',
98  'on_click' => "deleteConfirm('{$escapedMessage}', '{$url}', {data:{{$this->idFieldName}:{$fieldId}}})",
99  'sort_order' => $this->sortOrder,
100  ];
101  }
102  return $data;
103  }
104 }
__()
Definition: __.php:13
$fieldId
Definition: element.phtml:16
__construct(RequestInterface $request, UrlInterface $urlBuilder, Escaper $escaper, string $confirmationMessage, string $idFieldName, string $deleteRoutePath, int $sortOrder)