You are here

function collageformatter_field_formatter_settings_form in Collage Formatter 7

Implements hook_field_formatter_settings_form().

File

./collageformatter.module, line 54
Main file for Collage Formatter module.

Code

function collageformatter_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $element = _collageformatter_settings_form($settings);
  $element['image_link_image_style']['#states'] = array(
    'visible' => array(
      ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][image_link]"]' => array(
        'value' => 'file',
      ),
    ),
  );
  $element['image_link_modal']['#states'] = array(
    'visible' => array(
      ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][image_link]"]' => array(
        'value' => 'file',
      ),
    ),
  );
  $element['image_link_class']['#states'] = array(
    'invisible' => array(
      ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][image_link]"]' => array(
        'value' => '',
      ),
    ),
  );
  $element['image_link_rel']['#states'] = array(
    'invisible' => array(
      ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][image_link]"]' => array(
        'value' => '',
      ),
    ),
  );

  // Field formatter in Views - doesn't work.
  if ($view_mode == '_custom') {
    $element['image_link_image_style']['#states'] = array(
      'visible' => array(
        ':input[name="options[settings][image_link]"]' => array(
          'value' => 'file',
        ),
      ),
    );
    $element['image_link_modal']['#states'] = array(
      'visible' => array(
        ':input[name="options[settings][image_link]"]' => array(
          'value' => 'file',
        ),
      ),
    );
    $element['image_link_class']['#states'] = array(
      'invisible' => array(
        ':input[name="options[settings][image_link]"]' => array(
          'value' => '',
        ),
      ),
    );
    $element['image_link_rel']['#states'] = array(
      'invisible' => array(
        ':input[name="options[settings][image_link]"]' => array(
          'value' => '',
        ),
      ),
    );
  }
  return $element;
}