diff --git a/config/schema/ctools.schema.yml b/config/schema/ctools.schema.yml index 33a80f7..594a0d2 100644 --- a/config/schema/ctools.schema.yml +++ b/config/schema/ctools.schema.yml @@ -16,3 +16,11 @@ condition.plugin.entity_type:*: type: sequence sequence: type: string + +condition.plugin.route: + type: condition.plugin + label: 'Route condition' + mapping: + route_name: + type: string + label: 'Route Name' diff --git a/src/Plugin/Condition/RouteCondition.php b/src/Plugin/Condition/RouteCondition.php index 9ba7da5..271c042 100644 --- a/src/Plugin/Condition/RouteCondition.php +++ b/src/Plugin/Condition/RouteCondition.php @@ -39,8 +39,8 @@ class RouteCondition extends ConditionPluginBase implements ContainerFactoryPlug * The plugin_id for the plugin instance. * @param array $plugin_definition * The plugin implementation definition. - * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack - * The request stack. + * @param \Drupal\Core\Routing\RouteMatchInterface $route_match + * The route match. */ public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteMatchInterface $route_match) { parent::__construct($configuration, $plugin_id, $plugin_definition); @@ -63,10 +63,10 @@ class RouteCondition extends ConditionPluginBase implements ContainerFactoryPlug * {@inheritdoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { - $form['route'] = array( + $form['route_name'] = array( '#type' => 'textfield', - '#title' => $this->t('Route'), - '#default_value' => $this->configuration['route'], + '#title' => $this->t('Route name'), + '#default_value' => $this->configuration['route_name'], '#description' => $this->t("Specify a route by it's unique key."), '#required' => TRUE, ); @@ -77,7 +77,7 @@ class RouteCondition extends ConditionPluginBase implements ContainerFactoryPlug * {@inheritdoc} */ public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { - $this->configuration['route'] = $form_state->getValue('route'); + $this->configuration['route_name'] = $form_state->getValue('route_name'); parent::submitConfigurationForm($form, $form_state); } @@ -85,21 +85,21 @@ class RouteCondition extends ConditionPluginBase implements ContainerFactoryPlug * {@inheritdoc} */ public function defaultConfiguration() { - return array('route' => ''); + return array('route_name' => ''); } /** * {@inheritdoc} */ public function evaluate() { - return $this->configuration['route'] == $this->routeMatch->getRouteName(); + return $this->configuration['route_name'] == $this->routeMatch->getRouteName(); } /** * {@inheritdoc} */ public function summary() { - return $this->t('Return true on the following route: @route', array('@route' => $this->configuration['route'])); + return $this->t('Return true on the following route: @route', array('@route' => $this->configuration['route_name'])); } }