You are here

function civicrm_case_activity_reference_field_field_formatter_settings_form in CiviCRM Entity 7.2

Implements hook_field_formatter_settings_form().

_state

Parameters

$field:

$instance:

$view_mode:

$form:

Return value

array

File

modules/civicrm_case_activity_reference_field/civicrm_case_activity_reference_field.module, line 284
Provide CiviCRM entity reference field type

Code

function civicrm_case_activity_reference_field_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  if ($field['type'] == 'civicase_activity_reference') {
    $display = $instance['display'][$view_mode];
    $settings = $display['settings'];
    $target_entity_type = 'civicrm_activity';
    $modes = field_view_mode_settings($target_entity_type, $target_entity_type);
    $view_modes = array(
      'default' => 'default',
    );
    foreach ($modes as $key => $data) {
      $view_modes[$key] = $key;
    }
    $element = array();
    $element['view_mode'] = array(
      '#type' => 'select',
      '#title' => t('View mode'),
      '#description' => 'Select the view mode to render the Activity as.',
      '#options' => $view_modes,
      '#default_value' => isset($settings['view_mode']) ? $settings['view_mode'] : 'default',
    );
    $element['link_to_entity'] = array(
      '#type' => 'checkbox',
      '#title' => t('Output as link to entity'),
      '#default_value' => isset($settings['link_to_entity']) ? $settings['link_to_entity'] : 'default',
      '#return_value' => 1,
    );
    if ($display['type'] == 'civicase_activity_reference_entity_formatter') {
      $element['link_to_entity']['#access'] = FALSE;
    }
    elseif ($display['type'] == 'civicase_activity_reference_entity_label_formatter') {
      $element['view_mode']['#access'] = FALSE;
    }
    return $element;
  }
}