From 5dd8437f4e04b173ea326c7b387897df3e839bc8 Mon Sep 17 00:00:00 2001 From: Tim Plunkett Date: Sat, 13 Aug 2011 12:01:38 -0400 Subject: [PATCH] Issue #1177198 by tim.plunkett: Allow CTools to process #dependency for date elements. --- date.module | 5 ++++- date_api/date_api_elements.inc | 13 ++++++++----- date_popup/date_popup.module | 32 +++++++++++++++++--------------- date_repeat/date_repeat.module | 3 +++ 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/date.module b/date.module index ac4fabf..a39329b 100644 --- a/date.module +++ b/date.module @@ -257,7 +257,10 @@ function date_element_info() { '#element_validate' => array('date_combo_validate'), '#value_callback' => 'date_combo_value_callback', '#theme_wrappers' => array('date_combo'), - ); + ); + if (module_exists('ctools')) { + $type['date_combo']['#pre_render'] = array('ctools_dependent_pre_render'); + } return $type; } diff --git a/date_api/date_api_elements.inc b/date_api/date_api_elements.inc index 413e39c..783b7c7 100644 --- a/date_api/date_api_elements.inc +++ b/date_api/date_api_elements.inc @@ -72,29 +72,32 @@ function _date_api_element_info() { '#date_increment' => 1, '#date_year_range' => '-3:+3', '#date_label_position' => 'above', - ); + ); + if (module_exists('ctools')) { + $date_base['#pre_render'] = array('ctools_dependent_pre_render'); + } $type['date_select'] = array_merge($date_base, array( '#process' => array('date_select_element_process'), '#theme_wrappers' => array('date_select'), '#value_callback' => 'date_select_element_value_callback', - )); + )); $type['date_text'] = array_merge($date_base, array( '#process' => array('date_text_element_process'), '#theme_wrappers' => array('date_text'), '#value_callback' => 'date_text_element_value_callback', - )); + )); $type['date_timezone'] = array( '#input' => TRUE, '#tree' => TRUE, '#process' => array('date_timezone_element_process'), '#theme_wrappers' => array('date_text'), '#value_callback' => 'date_timezone_element_value_callback', - ); + ); $type['date_year_range'] = array( '#input' => TRUE, '#process' => array('date_year_range_element_process'), '#value_callback' => 'date_year_range_element_value_callback', '#element_validate' => array('date_year_range_validate'), - ); + ); return $type; } diff --git a/date_popup/date_popup.module b/date_popup/date_popup.module index 80bcfca..4e2320c 100644 --- a/date_popup/date_popup.module +++ b/date_popup/date_popup.module @@ -185,21 +185,23 @@ function date_popup_theme() { */ function date_popup_element_info() { $timepicker = date_popup_get_preferred_timepicker(); - return array( - 'date_popup' => array( - '#input' => TRUE, - '#tree' => TRUE, - '#date_timezone' => date_default_timezone(), - '#date_flexible' => 0, - '#date_format' => variable_get('date_format_short', 'm/d/Y - H:i'), - '#timepicker' => variable_get('date_popup_timepicker', $timepicker), - '#date_increment' => 1, - '#date_year_range' => '-3:+3', - '#process' => array('date_popup_element_process'), - '#value_callback' => 'date_popup_element_value_callback', - '#theme_wrappers' => array('date_popup'), - ), - ); + $type['date_popup'] = array( + '#input' => TRUE, + '#tree' => TRUE, + '#date_timezone' => date_default_timezone(), + '#date_flexible' => 0, + '#date_format' => variable_get('date_format_short', 'm/d/Y - H:i'), + '#timepicker' => variable_get('date_popup_timepicker', $timepicker), + '#date_increment' => 1, + '#date_year_range' => '-3:+3', + '#process' => array('date_popup_element_process'), + '#value_callback' => 'date_popup_element_value_callback', + '#theme_wrappers' => array('date_popup'), + ); + if (module_exists('ctools')) { + $type['date_popup']['#pre_render'] = array('ctools_dependent_pre_render'); + } + return $type; } function date_popup_date_granularity($element) { diff --git a/date_repeat/date_repeat.module b/date_repeat/date_repeat.module index 1b34ce5..b7b582d 100644 --- a/date_repeat/date_repeat.module +++ b/date_repeat/date_repeat.module @@ -24,6 +24,9 @@ function date_repeat_element_info() { '#value_callback' => 'date_repeat_value_callback', '#theme_wrappers' => array('date_repeat_rrule'), ); + if (module_exists('ctools')) { + $type['date_repeat_rrule']['#pre_render'] = array('ctools_dependent_pre_render'); + } return $type; } -- 1.7.3.2