annotate core/modules/search/src/Plugin/ConfigurableSearchPluginBase.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\search\Plugin;
Chris@0 4
Chris@0 5 use Drupal\Component\Utility\NestedArray;
Chris@0 6 use Drupal\Core\Form\FormStateInterface;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Provides a base implementation for a configurable Search plugin.
Chris@0 10 */
Chris@0 11 abstract class ConfigurableSearchPluginBase extends SearchPluginBase implements ConfigurableSearchPluginInterface {
Chris@0 12
Chris@0 13 /**
Chris@0 14 * The unique ID for the search page using this plugin.
Chris@0 15 *
Chris@0 16 * @var string
Chris@0 17 */
Chris@0 18 protected $searchPageId;
Chris@0 19
Chris@0 20 /**
Chris@0 21 * {@inheritdoc}
Chris@0 22 */
Chris@0 23 public function __construct(array $configuration, $plugin_id, $plugin_definition) {
Chris@0 24 parent::__construct($configuration, $plugin_id, $plugin_definition);
Chris@0 25
Chris@0 26 $this->setConfiguration($configuration);
Chris@0 27 }
Chris@0 28
Chris@0 29 /**
Chris@0 30 * {@inheritdoc}
Chris@0 31 */
Chris@0 32 public function defaultConfiguration() {
Chris@0 33 return [];
Chris@0 34 }
Chris@0 35
Chris@0 36 /**
Chris@0 37 * {@inheritdoc}
Chris@0 38 */
Chris@0 39 public function getConfiguration() {
Chris@0 40 return $this->configuration;
Chris@0 41 }
Chris@0 42
Chris@0 43 /**
Chris@0 44 * {@inheritdoc}
Chris@0 45 */
Chris@0 46 public function setConfiguration(array $configuration) {
Chris@0 47 $this->configuration = NestedArray::mergeDeep($this->defaultConfiguration(), $configuration);
Chris@0 48 }
Chris@0 49
Chris@0 50 /**
Chris@0 51 * {@inheritdoc}
Chris@0 52 */
Chris@0 53 public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
Chris@0 54 }
Chris@0 55
Chris@0 56 /**
Chris@0 57 * {@inheritdoc}
Chris@0 58 */
Chris@0 59 public function calculateDependencies() {
Chris@0 60 return [];
Chris@0 61 }
Chris@0 62
Chris@0 63 /**
Chris@0 64 * {@inheritdoc}
Chris@0 65 */
Chris@0 66 public function setSearchPageId($search_page_id) {
Chris@0 67 $this->searchPageId = $search_page_id;
Chris@0 68 return $this;
Chris@0 69 }
Chris@0 70
Chris@0 71 }