3 namespace Drupal\search\Plugin;
5 use Drupal\Component\Utility\NestedArray;
6 use Drupal\Core\Form\FormStateInterface;
9 * Provides a base implementation for a configurable Search plugin.
11 abstract class ConfigurableSearchPluginBase extends SearchPluginBase implements ConfigurableSearchPluginInterface {
14 * The unique ID for the search page using this plugin.
18 protected $searchPageId;
23 public function __construct(array $configuration, $plugin_id, $plugin_definition) {
24 parent::__construct($configuration, $plugin_id, $plugin_definition);
26 $this->setConfiguration($configuration);
32 public function defaultConfiguration() {
39 public function getConfiguration() {
40 return $this->configuration;
46 public function setConfiguration(array $configuration) {
47 $this->configuration = NestedArray::mergeDeep($this->defaultConfiguration(), $configuration);
53 public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
59 public function calculateDependencies() {
66 public function setSearchPageId($search_page_id) {
67 $this->searchPageId = $search_page_id;