public static function CalendarHelper::getDateArgumentHandler in Calendar 8
Helper function to find the first date argument handler for this view.
Parameters
\Drupal\views\ViewExecutable $view: The view executable object.
null $display_id:
Return value
\Drupal\calendar\DateArgumentWrapper|false Returns the Date handler if one is found, or FALSE otherwise.
8 calls to CalendarHelper::getDateArgumentHandler()
- Calendar::render in src/
Plugin/ views/ style/ Calendar.php - Render the display in this style.
- Calendar::validate in src/
Plugin/ views/ style/ Calendar.php - Validate that the plugin is correct and can be saved.
- Calendar::viewOptionsForGranularity in src/
Plugin/ views/ style/ Calendar.php - Get options for Views displays that support Calendar with set granularity.
- CalendarHeader::render in src/
Plugin/ views/ area/ CalendarHeader.php - Render the area.
- CalendarHelper::getDisplayForGranularity in src/
CalendarHelper.php - Get the display that handles a given granularity.
File
- src/
CalendarHelper.php, line 722
Class
- CalendarHelper
- Defines Gregorian Calendar date values.
Namespace
Drupal\calendarCode
public static function getDateArgumentHandler(ViewExecutable $view, $display_id = NULL) {
$all_arguments = [];
if ($display_id) {
// If we aren't dealing with current display we have to load the argument handlers.
/** @var \Drupal\views\Plugin\ViewsHandlerManager $argument_manager */
$argument_manager = \Drupal::getContainer()
->get('plugin.manager.views.argument');
$argument_configs = $view
->getHandlers('argument', $display_id);
foreach ($argument_configs as $argument_config) {
$all_arguments[] = $argument_manager
->getHandler($argument_config);
}
}
else {
// $view->argument actually contains an array of current arguments.
$all_arguments = $view->argument;
}
if ($all_arguments) {
$current_position = 0;
/**
* @var $name
* @var \Drupal\views\Plugin\views\argument\ArgumentPluginBase $handler
*/
foreach ($all_arguments as $name => $handler) {
if (static::isCalendarArgument($handler)) {
$wrapper = new DateArgumentWrapper($handler);
$wrapper
->setPosition($current_position);
return $wrapper;
}
$current_position++;
}
}
return FALSE;
}