src/module-elasticsuite-catalog-optimizer/Block/Adminhtml/Optimizer/Edit/Button/AbstractButton.php
<?php
/**
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
* versions in the future.
*
* @category Smile
* @package Smile\ElasticsuiteCatalogOptimizer
* @author Fanny DECLERCK <fadec@smile.fr>
* @copyright 2020 Smile
* @license Open Software License ("OSL") v. 3.0
*/
namespace Smile\ElasticsuiteCatalogOptimizer\Block\Adminhtml\Optimizer\Edit\Button;
use Magento\Framework\Registry;
use Magento\Framework\View\Element\UiComponent\Context;
use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface;
use Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface;
/**
* Abstract ElasticsuiteCatalogOptimizer edit button
*
* @category Smile
* @package Smile\ElasticsuiteCatalogOptimizer
* @author Fanny DECLERCK <fadec@smile.fr>
*/
class AbstractButton implements ButtonProviderInterface
{
/**
* Url Builder
*
* @var Context
*/
protected $context;
/**
* Registry
*
* @var Registry
*/
protected $registry;
/**
* Generic constructor
*
* @param Context $context Application context
* @param Registry $registry Application registry
*/
public function __construct(
Context $context,
Registry $registry
) {
$this->context = $context;
$this->registry = $registry;
}
/**
* Generate url by route and parameters
*
* @param string $route The route
* @param array $params The params
*
* @return string
*/
public function getUrl($route = '', $params = [])
{
return $this->context->getUrl($route, $params);
}
/**
* Get Optimizer
*
* @return OptimizerInterface
*/
public function getOptimizer()
{
return $this->registry->registry('current_optimizer');
}
/**
* {@inheritdoc}
*/
public function getButtonData()
{
return [];
}
}