function brightcove_field_formatter_settings_form in Brightcove Video Connect 7.6
Same name and namespace in other branches
- 7.7 brightcove.module \brightcove_field_formatter_settings_form()
Impelements hook_field_formatter_settings_form().
_state
Parameters
$field:
$instance:
$view_mode:
$form:
Return value
array
File
- ./
brightcove.module, line 587 - Brightcove module is an integration layer between any modules using Brightcove API. It makes all necessary checks for the API and makes settings available to the user.
Code
function brightcove_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$element = [];
if ($display['type'] == 'brightcove_default') {
$element['width'] = [
'#title' => t('Width'),
'#type' => 'textfield',
'#default_value' => $settings['width'],
'#required' => TRUE,
'#element_validate' => [
'brightcove_field_formatter_width_validate',
],
'#formatter_type' => $display['type'],
];
$element['height'] = [
'#title' => t('Height'),
'#type' => 'textfield',
'#default_value' => $settings['height'],
'#required' => TRUE,
'#element_validate' => [
'brightcove_field_formatter_height_validate',
],
'#formatter_type' => $display['type'],
];
}
if ($display['type'] == 'brightcove_image') {
$image_styles = image_style_options(FALSE);
$element['brightcove_image_style'] = [
'#title' => t('Image style'),
'#type' => 'select',
'#default_value' => $settings['brightcove_image_style'],
'#empty_option' => t('None (original image)'),
'#options' => $image_styles,
];
$link_types = [
'entity' => t('Entity'),
'dialog' => t('Dialog'),
];
$element['brightcove_image_link'] = [
'#title' => t('Link image to'),
'#type' => 'select',
'#default_value' => $settings['brightcove_image_link'],
'#empty_option' => t('Nothing'),
'#options' => $link_types,
'#attributes' => [
'class' => [
'brightcove-image-link',
],
],
];
$element['width'] = [
'#title' => t('Width'),
'#type' => 'textfield',
'#default_value' => $settings['width'],
'#element_validate' => [
'brightcove_field_formatter_width_validate',
],
'#formatter_type' => $display['type'],
'#states' => [
'visible' => [
':input[class="brightcove-image-link"]' => [
'value' => 'dialog',
],
],
],
];
$element['height'] = [
'#title' => t('Height'),
'#type' => 'textfield',
'#default_value' => $settings['height'],
'#element_validate' => [
'brightcove_field_formatter_height_validate',
],
'#formatter_type' => $display['type'],
'#states' => [
'visible' => [
':input[name="brightcove-image-link"]' => [
'value' => 'dialog',
],
],
],
];
if ($instance['widget']['type'] == BRIGHTCOVE_VIDEO_WIDGET) {
$image_types = [
'thumbnail' => t('Thumbnail'),
'poster' => t('Poster'),
];
$element['brightcove_image_type'] = [
'#title' => t('Image type'),
'#type' => 'select',
'#default_value' => $settings['brightcove_image_type'],
'#empty_option' => t('Default'),
'#options' => $image_types,
];
}
else {
$element['brightcove_image_type'] = [
'#type' => 'value',
'#value' => 'thumbnail',
];
}
}
if ($display['type'] == 'brightcove_metadata') {
$type = $instance['widget']['type'] == BRIGHTCOVE_VIDEO_WIDGET ? 'video' : 'playlist';
$metadata_options = _brightcove_field_get_object_formatter_keys($type);
$element['brightcove_metadata_type'] = [
'#title' => t('Metadata type'),
'#type' => 'select',
'#default_value' => $settings['brightcove_metadata_type'],
'#options' => $metadata_options,
];
}
return $element;
}