34 protected $_template =
'Magento_Backend::widget/grid/massaction_extended.phtml';
57 \
Magento\Backend\Helper\Data $backendData,
60 $this->_jsonEncoder = $jsonEncoder;
61 $this->_backendData = $backendData;
62 parent::__construct($context,
$data);
73 $this->setErrorText($this->
escapeHtml(
__(
'An item needs to be selected. Select and try again.')));
94 $this->_items[$itemId] = $this->
getLayout()->createBlock(
104 if ($this->_items[$itemId]->getAdditional()) {
105 $this->_items[$itemId]->setAdditionalActionBlock($this->_items[$itemId]->getAdditional());
106 $this->_items[$itemId]->unsAdditional();
120 if (isset($this->_items[$itemId])) {
121 return $this->_items[$itemId];
149 return $this->_jsonEncoder->encode(
$result);
179 return $this->
getData(
'form_field_name') ? $this->
getData(
'form_field_name') :
'massaction';
220 $selected = explode(
',', $selected);
221 return join(
',', $selected);
234 $selected = explode(
',', $selected);
255 return " {$this->getJsObjectName()} = new varienGridMassaction('{$this->getHtmlId()}', " .
256 "{$this->getGridJsObjectName()}, '{$this->getSelectedJson()}'" .
257 ", '{$this->getFormFieldNameInternal()}', '{$this->getFormFieldName()}');" .
258 "{$this->getJsObjectName()}.setItems({$this->getItemsJson()}); " .
259 "{$this->getJsObjectName()}.setGridIds('{$this->getGridIdsJson()}');" .
260 ($this->getUseAjax() ?
"{$this->getJsObjectName()}.setUseAjax(true);" :
'') .
261 ($this->
getUseSelectAll() ?
"{$this->getJsObjectName()}.setUseSelectAll(true);" :
'') .
262 "{$this->getJsObjectName()}.errorText = '{$this->getErrorText()}';" .
"\n" .
263 "window.{$this->getJsObjectName()} = {$this->getJsObjectName()};";
269 public function getGridIdsJson()
276 $allIdsCollection = clone $this->
getParentBlock()->getCollection();
278 if ($this->getMassactionIdField()) {
279 $massActionIdField = $this->getMassactionIdField();
281 $massActionIdField = $this->
getParentBlock()->getMassactionIdField();
284 $gridIds = $allIdsCollection->setPageSize(0)->getColumnValues($massActionIdField);
286 if (!empty($gridIds)) {
287 return join(
",", $gridIds);
308 if (isset($this->_items[$itemId])) {
309 unset($this->_items[$itemId]);
323 return $this->
_getData(
'use_select_all') ===
null || $this->
_getData(
'use_select_all');
334 $this->
setData(
'use_select_all', (
bool)$flag);
getData($key='', $index=null)
escapeHtml($data, $allowedTags=null)
setData($key, $value=null)