Loading config/schema/smart_date.argument_default.schema.yml 0 → 100644 +9 −0 Original line number Diff line number Diff line # Schema for the Smart Date views default arguments. views.argument_default.date_token: type: mapping label: 'Date Token' mapping: token: type: string label: 'Token value' src/Plugin/views/argument_default/DateToken.php 0 → 100644 +67 −0 Original line number Diff line number Diff line <?php namespace Drupal\smart_date\Plugin\views\argument_default; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableDependencyInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase; /** * The date token argument default handler. * * @ingroup views_argument_default_plugins * * @ViewsArgumentDefault( * id = "date_token", * title = @Translation("Date Token") * ) */ class DateToken extends ArgumentDefaultPluginBase implements CacheableDependencyInterface { /** * {@inheritdoc} */ protected function defineOptions() { $options = parent::defineOptions(); $options['token'] = ['default' => '']; return $options; } /** * {@inheritdoc} */ public function buildOptionsForm(&$form, FormStateInterface $form_state) { parent::buildOptionsForm($form, $form_state); $form['token'] = [ '#type' => 'textfield', '#title' => $this->t('Token'), '#default_value' => $this->options['token'], ]; } /** * {@inheritdoc} */ public function getArgument() { $token_service = \Drupal::token(); $value = $token_service->replace($this->options['token']); return $value; } /** * {@inheritdoc} */ public function getCacheMaxAge() { return Cache::PERMANENT; } /** * {@inheritdoc} */ public function getCacheContexts() { return []; } } Loading
config/schema/smart_date.argument_default.schema.yml 0 → 100644 +9 −0 Original line number Diff line number Diff line # Schema for the Smart Date views default arguments. views.argument_default.date_token: type: mapping label: 'Date Token' mapping: token: type: string label: 'Token value'
src/Plugin/views/argument_default/DateToken.php 0 → 100644 +67 −0 Original line number Diff line number Diff line <?php namespace Drupal\smart_date\Plugin\views\argument_default; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableDependencyInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase; /** * The date token argument default handler. * * @ingroup views_argument_default_plugins * * @ViewsArgumentDefault( * id = "date_token", * title = @Translation("Date Token") * ) */ class DateToken extends ArgumentDefaultPluginBase implements CacheableDependencyInterface { /** * {@inheritdoc} */ protected function defineOptions() { $options = parent::defineOptions(); $options['token'] = ['default' => '']; return $options; } /** * {@inheritdoc} */ public function buildOptionsForm(&$form, FormStateInterface $form_state) { parent::buildOptionsForm($form, $form_state); $form['token'] = [ '#type' => 'textfield', '#title' => $this->t('Token'), '#default_value' => $this->options['token'], ]; } /** * {@inheritdoc} */ public function getArgument() { $token_service = \Drupal::token(); $value = $token_service->replace($this->options['token']); return $value; } /** * {@inheritdoc} */ public function getCacheMaxAge() { return Cache::PERMANENT; } /** * {@inheritdoc} */ public function getCacheContexts() { return []; } }