You are here

function openlayers_views_style_data_image::options_form in Openlayers 7.2

Options form

Overrides views_plugin_style->options_form

Overrides views_plugin_style::options_form

File

modules/openlayers_views/views/openlayers_views_style_data_image.inc, line 85
This file holds style plugin for OpenLayers Views

Class

openlayers_views_style_data_image
@class Extension of the Views Plugin Style for OpenLayers

Code

function options_form(&$form, &$form_state) {
  parent::options_form($form, $form_state);

  // Get list of fields in this view & flag available geodata fields
  $handlers = $this->display->handler
    ->get_handlers('field');

  // Check for any fields, as the view needs them
  if (empty($handlers)) {
    $form['error_markup'] = array(
      '#value' => t('You need to enable at least one field before you can ' . 'configure your field settings'),
      '#prefix' => '<div class="error form-item description">',
      '#suffix' => '</div>',
    );
    return;
  }
  $fields = array();
  foreach ($handlers as $field_id => $handler) {
    $fields[$field_id] = $handler
      ->ui_name();
  }
  $form['config'] = array(
    '#type' => 'fieldset',
    '#tree' => TRUE,
    '#title' => t('Image Source'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );
  $form['config']['image_field'] = array(
    '#type' => 'select',
    '#title' => t('Map Data Sources'),
    '#description' => t('Choose which sources of data that the map will ' . 'provide features for.'),
    '#options' => $fields,
    '#default_value' => $this->options['config']['image_field'],
  );
  $form['config']['factors'] = array(
    '#tree' => TRUE,
    'x' => array(
      '#title' => 'Width divider',
      '#type' => 'textfield',
      '#default_value' => isset($this->options['config']['factors']['x']) ? $this->options['config']['factors']['x'] : 1,
      '#description' => t('Width divider.'),
    ),
    'y' => array(
      '#title' => 'Height divider',
      '#type' => 'textfield',
      '#default_value' => isset($this->options['config']['factors']['y']) ? $this->options['config']['factors']['y'] : 1,
      '#description' => t('Height divider.'),
    ),
  );
  $form['config']['maxExtent'] = array(
    '#type' => 'textfield',
    '#title' => t('Max Extent'),
    '#default_value' => isset($this->options['config']['maxExtent']) ? implode(', ', $this->options['config']['maxExtent']) : '',
    '#description' => t('Should consist of four values (left, bottom, right, top). The maximum extent for the layer. Image is stretched to cover whole map if left empty.'),
  );
  $form['config']['numZoomLevels'] = array(
    '#title' => 'Zoomlevels',
    '#type' => 'textfield',
    '#default_value' => isset($this->options['config']['numZoomLevels']) ? $this->options['config']['numZoomLevels'] : 1,
  );
}