| Current Path : /home/rtorresani/www/vendor/magento/module-backend/Block/Widget/Button/Toolbar/ |
| Current File : //home/rtorresani/www/vendor/magento/module-backend/Block/Widget/Button/Toolbar/Container.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backend\Block\Widget\Button\Toolbar;
use Magento\Backend\Block\Widget\Button\ContextInterface;
/**
* @method \Magento\Backend\Block\Widget\Button\Item getButtonItem()
* @method ContextInterface getContext()
* @method ContextInterface setContext(ContextInterface $context)
* @api
* @since 100.0.2
*/
class Container extends \Magento\Framework\View\Element\AbstractBlock
{
/**
* Create button renderer
*
* @param string $blockName
* @param string $blockClassName
* @return \Magento\Backend\Block\Widget\Button
*/
protected function createButton($blockName, $blockClassName = null)
{
if (null === $blockClassName) {
$blockClassName = \Magento\Backend\Block\Widget\Button::class;
}
return $this->getLayout()->createBlock($blockClassName, $blockName);
}
/**
* {@inheritdoc}
*/
protected function _toHtml()
{
$item = $this->getButtonItem();
$context = $this->getContext();
if ($item && $context && $context->canRender($item)) {
$data = $item->getData();
$blockClassName = isset($data['class_name']) ? $data['class_name'] : null;
$buttonName = $this->getContext()->getNameInLayout() . '-' . $item->getId() . '-button';
$block = $this->createButton($buttonName, $blockClassName);
$block->setData($data);
return $block->toHtml();
}
return parent::_toHtml();
}
}