12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Theme\Ui\Component\Design\Config\SearchRobots;
- use Magento\Framework\App\Config\ScopeConfigInterface;
- use Magento\Framework\View\Element\UiComponent\ContextInterface;
- use Magento\Framework\View\Element\UiComponentFactory;
- use Magento\Ui\Component\Form\Field;
- /**
- * ResetButton field instance
- *
- * @api
- * @since 100.1.9
- */
- class ResetButton extends Field
- {
- /**
- * Page robots default instructions
- */
- const XML_PATH_ROBOTS_DEFAULT_CUSTOM_INSTRUCTIONS = 'design/search_engine_robots/default_custom_instructions';
- /**
- * @var ScopeConfigInterface
- */
- private $scopeConfig;
- /**
- * ResetButton constructor
- *
- * @param ContextInterface $context
- * @param UiComponentFactory $uiComponentFactory
- * @param \Magento\Framework\View\Element\UiComponentInterface[] $components
- * @param array $data
- * @param ScopeConfigInterface $scopeConfig
- */
- public function __construct(
- ContextInterface $context,
- UiComponentFactory $uiComponentFactory,
- $components,
- array $data,
- ScopeConfigInterface $scopeConfig
- ) {
- $this->scopeConfig = $scopeConfig;
- parent::__construct($context, $uiComponentFactory, $components, $data);
- }
- /**
- * Get robots.txt custom instruction default value
- *
- * @return string
- */
- private function getRobotsDefaultCustomInstructions()
- {
- return trim((string)$this->scopeConfig->getValue(
- self::XML_PATH_ROBOTS_DEFAULT_CUSTOM_INSTRUCTIONS,
- ScopeConfigInterface::SCOPE_TYPE_DEFAULT
- ));
- }
- /**
- * Add js listener to reset button
- *
- * @return void
- * @throws \Magento\Framework\Exception\LocalizedException
- * @since 100.1.9
- */
- public function prepare()
- {
- parent::prepare();
- $this->_data['config']['actions'] = [
- [
- 'actionName' => 'reset',
- 'targetName' => '${ $.name }',
- 'params' => [
- json_encode($this->getRobotsDefaultCustomInstructions())
- ]
- ]
- ];
- }
- }
|