fullcalendar_view.module in Fullcalendar View 8
Same filename and directory in other branches
Full Canlendar Views module help and theme functions.
File
fullcalendar_view.moduleView source
<?php
/**
* @file
* Full Canlendar Views module help and theme functions.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Datetime\DrupalDateTime;
// Store the preprocess theme functions in a separate .inc file.
\Drupal::moduleHandler()
->loadInclude('fullcalendar_view', 'inc', 'fullcalendar_view.theme');
/**
* Implements hook_theme().
*/
function fullcalendar_view_theme($existing, $type, $theme, $path) {
return [
'fullcalendar' => [
'file' => 'fullcalendar_view.theme.inc',
],
];
}
/**
* Implements hook_form_BASE_FORM_ID_alter().
*
* Prepopulate the datetime field with the date passed from query parameter.
*/
function fullcalendar_view_form_node_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Event start date from query parameter.
$start = \Drupal::request()->query
->get('start');
// Field name of the start date from query parameter.
$start_field = \Drupal::request()->query
->get('start_field');
if (!empty($start) && !empty($start_field)) {
$node = $form_state
->getFormObject()
->getEntity();
// Only handle new node with the start field.
if ($node
->isNew() && isset($form[$start_field]) && isset($form[$start_field]['widget'][0])) {
// Only handle datetime field.
if ($form[$start_field]['widget'][0]['value']['#type'] === 'datetime') {
// Prepopulate the start date field as the event date.
$form[$start_field]['widget'][0]['value']['#default_value'] = new DrupalDateTime($start);
}
}
}
}
Functions
Name | Description |
---|---|
fullcalendar_view_form_node_form_alter | Implements hook_form_BASE_FORM_ID_alter(). |
fullcalendar_view_theme | Implements hook_theme(). |