Massaction.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
  7. /**
  8. * Grid widget column renderer massaction
  9. *
  10. * @api
  11. * @deprecated 100.2.0 in favour of UI component implementation
  12. * @since 100.0.2
  13. */
  14. class Massaction extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Checkbox
  15. {
  16. /**
  17. * @var int
  18. */
  19. protected $_defaultWidth = 20;
  20. /**
  21. * Render header of the row
  22. *
  23. * @return string
  24. */
  25. public function renderHeader()
  26. {
  27. return '&nbsp;';
  28. }
  29. /**
  30. * Render HTML properties
  31. *
  32. * @return string
  33. */
  34. public function renderProperty()
  35. {
  36. $out = parent::renderProperty();
  37. $out = preg_replace('/class=".*?"/i', '', $out);
  38. $out .= ' class="a-center"';
  39. return $out;
  40. }
  41. /**
  42. * Returns HTML of the object
  43. *
  44. * @param \Magento\Framework\DataObject $row
  45. * @return string
  46. */
  47. public function render(\Magento\Framework\DataObject $row)
  48. {
  49. if ($this->getColumn()->getGrid()->getMassactionIdFieldOnlyIndexValue()) {
  50. $this->setNoObjectId(true);
  51. }
  52. return parent::render($row);
  53. }
  54. /**
  55. * Returns HTML of the checkbox
  56. *
  57. * @param string $value
  58. * @param bool $checked
  59. * @return string
  60. */
  61. protected function _getCheckboxHtml($value, $checked)
  62. {
  63. $id = 'id_' . random_int(0, 999);
  64. $html = '<label class="data-grid-checkbox-cell-inner" for="'. $id .'">';
  65. $html .= '<input type="checkbox" name="' . $this->getColumn()->getName() . '" ';
  66. $html .= 'id="' . $id . '" data-role="select-row"';
  67. $html .= 'value="' . $this->escapeHtml($value) . '" class="admin__control-checkbox"' . $checked . '/>';
  68. $html .= '<label for="'. $id .'"></label></label>';
  69. return $html;
  70. }
  71. }