function editor_note_field_formatter_settings_form in Editor Notes 7
Implements hook_field_formatter_settings_form().
Creates field formatter forms for registered types of formatters.
File
- ./
editor_note.module, line 840 - Main functionality for Editor Notes module.
Code
function editor_note_field_formatter_settings_form($field, $instance, $view_mode) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$element = array();
if ($display['type'] == 'editor_note_field_formatter') {
$element['notes_display_mode'] = array(
'#type' => 'radios',
'#title' => t('Display mode'),
'#required' => TRUE,
'#description' => t('"Display list of notes per entity revision" means separate list of notes for each revision while "Display list of notes per entity" displays combined list of notes for all revisions.'),
'#default_value' => isset($settings['notes_display_mode']) ? $settings['notes_display_mode'] : 'per_revision',
'#options' => array(
'per_revision' => t('Display list of notes per entity revision'),
'per_entity' => t('Display list of notes per entity'),
),
);
$element['limit'] = array(
'#type' => 'textfield',
'#title' => t('Display a specified number of items.'),
'#default_value' => $settings['limit'],
'#required' => TRUE,
'#description' => t('Display a specified number of items in table. Set 0 for no limit.'),
'#element_validate' => array(
'editor_note_validate_integer_positive_or_zero',
),
);
$element['order'] = array(
'#type' => 'radios',
'#title' => t('Order notes'),
'#options' => array(
'DESC' => t('display recently updated notes first'),
'ASC' => t('display recently updated notes last'),
),
'#default_value' => $settings['order'],
'#description' => t('Set order of notes in the table.'),
);
$element['pager'] = array(
'#type' => 'fieldset',
'#title' => t('Pagination'),
'#collapsed' => FALSE,
'#collapsible' => FALSE,
'#states' => array(
'invisible' => array(
'input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][limit]"]' => array(
'value' => 0,
),
),
),
);
$element['pager']['enabled'] = array(
'#type' => 'checkbox',
'#title' => t('Enable pagination'),
'#default_value' => $settings['pager']['enabled'],
'#description' => t('Whether to display pagination if number of notes added is greater that can be displayed.'),
);
$element['pager']['pager_below'] = array(
'#type' => 'checkbox',
'#title' => t('Pagination below notes table'),
'#default_value' => $settings['pager']['pager_below'],
'#description' => t('Displays pagination below the notes table, if unchecked pagination displays above the table.'),
'#states' => array(
'invisible' => array(
'input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][pager][enabled]"]' => array(
'checked' => FALSE,
),
),
),
);
}
return $element;
}