Buttons.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\User\Block;
  7. /**
  8. * Buttons block
  9. *
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Buttons extends \Magento\Backend\Block\Template
  14. {
  15. /**
  16. * Core registry
  17. *
  18. * @var \Magento\Framework\Registry
  19. */
  20. protected $_coreRegistry = null;
  21. /**
  22. * @param \Magento\Backend\Block\Template\Context $context
  23. * @param \Magento\Framework\Registry $registry
  24. * @param array $data
  25. */
  26. public function __construct(
  27. \Magento\Backend\Block\Template\Context $context,
  28. \Magento\Framework\Registry $registry,
  29. array $data = []
  30. ) {
  31. $this->_coreRegistry = $registry;
  32. parent::__construct($context, $data);
  33. }
  34. /**
  35. * Prepare layout
  36. *
  37. * @return $this
  38. */
  39. protected function _prepareLayout()
  40. {
  41. $this->getToolbar()->addChild(
  42. 'backButton',
  43. \Magento\Backend\Block\Widget\Button::class,
  44. [
  45. 'label' => __('Back'),
  46. 'onclick' => 'window.location.href=\'' . $this->getUrl('*/*/') . '\'',
  47. 'class' => 'back'
  48. ]
  49. );
  50. $this->getToolbar()->addChild(
  51. 'resetButton',
  52. \Magento\Backend\Block\Widget\Button::class,
  53. ['label' => __('Reset'), 'onclick' => 'window.location.reload()', 'class' => 'reset']
  54. );
  55. if ((int)$this->getRequest()->getParam('rid')) {
  56. $this->getToolbar()->addChild(
  57. 'deleteButton',
  58. \Magento\Backend\Block\Widget\Button::class,
  59. [
  60. 'label' => __('Delete Role'),
  61. 'onclick' => 'deleteConfirm(\'' . __(
  62. 'Are you sure you want to do this?'
  63. ) . '\', \'' . $this->getUrl(
  64. '*/*/delete',
  65. ['rid' => $this->getRequest()->getParam('rid')]
  66. ) . '\')',
  67. 'class' => 'delete'
  68. ]
  69. );
  70. }
  71. $this->getToolbar()->addChild(
  72. 'saveButton',
  73. \Magento\Backend\Block\Widget\Button::class,
  74. [
  75. 'label' => __('Save Role'),
  76. 'class' => 'save primary save-role',
  77. 'data_attribute' => [
  78. 'mage-init' => ['button' => ['event' => 'save', 'target' => '#role-edit-form']],
  79. ]
  80. ]
  81. );
  82. return parent::_prepareLayout();
  83. }
  84. /**
  85. * Get back button html
  86. *
  87. * @return string
  88. */
  89. public function getBackButtonHtml()
  90. {
  91. return $this->getChildHtml('backButton');
  92. }
  93. /**
  94. * Get reset button html
  95. *
  96. * @return string
  97. */
  98. public function getResetButtonHtml()
  99. {
  100. return $this->getChildHtml('resetButton');
  101. }
  102. /**
  103. * Get save button html
  104. *
  105. * @return string
  106. */
  107. public function getSaveButtonHtml()
  108. {
  109. return $this->getChildHtml('saveButton');
  110. }
  111. /**
  112. * Get delete button html
  113. *
  114. * @return string|void
  115. */
  116. public function getDeleteButtonHtml()
  117. {
  118. if ((int)$this->getRequest()->getParam('rid') == 0) {
  119. return;
  120. }
  121. return $this->getChildHtml('deleteButton');
  122. }
  123. /**
  124. * Get user
  125. *
  126. * @return mixed
  127. */
  128. public function getUser()
  129. {
  130. return $this->_coreRegistry->registry('user_data');
  131. }
  132. }