You are here

function views_toggle_filter_set_element_dependency in Views Toggle Filter 7

1 call to views_toggle_filter_set_element_dependency()
views_toggle_filter_exposed_form_after_build in ./views_toggle_filter.module
After build form processor for the views exposed form.

File

./views_toggle_filter.module, line 43
Views Toggle Filter module hook implementations.

Code

function views_toggle_filter_set_element_dependency(&$element, $identifier, $value) {
  if (!isset($element['#dependency'])) {
    $element['#dependency'] = array();
  }
  $element['#dependency']['radio:' . $identifier] = array(
    $value,
  );
  if (!isset($element['#dependency_count'])) {
    $element['#dependency_count'] = 1;
  }
  else {
    $element['#dependency_count']++;
  }
  if (!isset($element['#dependency_type'])) {
    $element['#dependency_type'] = 'hide';
  }
  if (!isset($element['#pre_render']) || !in_array('ctools_dependent_pre_render', $element['#pre_render'])) {

    // Non-standard element, attach dependent.js manually.
    // Do not rely on ctools_dependent_pre_render() since it uses $element['#type'] which can be absent.
    $element['#attached']['js'][] = ctools_attach_js('dependent');
    $options = array();
    $options['CTools']['dependent'][$element['#id']] = array(
      'values' => $element['#dependency'],
      'num' => $element['#dependency_count'],
      'type' => $element['#dependency_type'],
    );
    $element['#attached']['js'][] = array(
      'type' => 'setting',
      'data' => $options,
    );
  }
}