/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Grid/Action
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Grid/Action/AbstractGridAction.php (3077B)
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
namespace PrestaShop\PrestaShop\Core\Grid\Action;
use Symfony\Component\OptionsResolver\OptionsResolver;
abstract class AbstractGridAction implements GridActionInterface
{
/**
* @var string
*/
private $id;
/**
* @var string
*/
private $name;
/**
* @var string
*/
private $icon;
/**
* @var array
*/
private $options;
/**
* @param string $id
*/
public function __construct($id)
{
$this->id = $id;
}
/**
* {@inheritdoc}
*/
public function getId()
{
return $this->id;
}
/**
* {@inheritdoc}
*/
public function getName()
{
return $this->name;
}
/**
* {@inheritdoc}
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* {@inheritdoc}
*/
public function getIcon()
{
return $this->icon;
}
/**
* {@inheritdoc}
*/
public function setIcon($icon)
{
$this->icon = $icon;
return $this;
}
/**
* {@inheritdoc}
*/
public function setOptions(array $options)
{
$this->resolveOptions($options);
return $this;
}
/**
* {@inheritdoc}
*/
public function getOptions()
{
if (null === $this->options) {
$this->resolveOptions();
}
return $this->options;
}
/**
* Default bulk action options configuration. You can override it if options are needed.
*
* @param OptionsResolver $resolver
*/
protected function configureOptions(OptionsResolver $resolver)
{
}
/**
* Resolve action options.
*
* @param array $options
*/
private function resolveOptions(array $options = [])
{
$resolver = new OptionsResolver();
$this->configureOptions($resolver);
$this->options = $resolver->resolve($options);
}
}