You are here

function masonry_formatter_is_supported in Masonry API 7

Check if a given field/formatter is supported.

Parameters

$context: The $context array provided by the Field Formatter Settings module. See field_formatter_settings.api.php for more information.

Return value

A boolean indicating the supported status.

2 calls to masonry_formatter_is_supported()
masonry_formatter_field_formatter_settings_form_alter in masonry_formatter/masonry_formatter.module
Implements hook_field_formatter_settings_form_alter().
masonry_formatter_field_formatter_settings_summary_alter in masonry_formatter/masonry_formatter.module
Implements hook_field_formatter_settings_summary_alter().

File

masonry_formatter/masonry_formatter.module, line 249
Allows multi-value fields to be displayed in a jQuery Masonry grid.

Code

function masonry_formatter_is_supported($context) {
  $formatter = $context['instance']['display'][$context['view_mode']];

  // Fields in Views aren't supported at this stage...
  if ($context['instance']['entity_type'] == 'ctools' && $context['instance']['bundle'] == 'ctools') {
    return FALSE;
  }

  // Get list of supported field types
  $field_types = masonry_formatter_field_types();

  // Return true for supported formatters with multi-value fields
  $field_type_supported = array_key_exists($context['field']['type'], $field_types);
  $formatter_supported = $field_type_supported && in_array($formatter['type'], $field_types[$context['field']['type']]);
  $multi_value_field = $context['field']['cardinality'] > 1 || $context['field']['cardinality'] == FIELD_CARDINALITY_UNLIMITED;
  if ($formatter_supported && $multi_value_field) {
    return TRUE;
  }
  else {
    return FALSE;
  }
}