TestInterpreter.php in Recurring Dates Field 3.x
File
tests/modules/date_recur_interpreter_test/src/Plugin/DateRecurInterpreter/TestInterpreter.php
View source
<?php
namespace Drupal\date_recur_interpreter_test\Plugin\DateRecurInterpreter;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\PluginFormInterface;
use Drupal\date_recur\Plugin\DateRecurInterpreterPluginBase;
class TestInterpreter extends DateRecurInterpreterPluginBase implements PluginFormInterface {
public function defaultConfiguration() : array {
return [
'show_foo' => FALSE,
];
}
public function interpret(array $rules, string $language, ?\DateTimeZone $timeZone = NULL) : string {
$pluginConfig = $this
->getConfiguration();
if ($pluginConfig['show_foo']) {
return 'foo';
}
else {
return 'bar';
}
}
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form['show_foo'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Show the foo'),
'#default_value' => $this->configuration['show_foo'],
];
return $form;
}
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
}
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$this->configuration['show_foo'] = $form_state
->getValue('show_foo');
}
public function supportedLanguages() : array {
return [
'es',
];
}
}