You are here

function views_plugin_style_fullcalendar::options_form in FullCalendar 7

Same name and namespace in other branches
  1. 6 views_plugin_style_fullcalendar.inc \views_plugin_style_fullcalendar::options_form()

Provide a form to edit options for this plugin.

Overrides views_plugin_style::options_form

File

./views_plugin_style_fullcalendar.inc, line 47
Contains the fullcalendar style plugin.

Class

views_plugin_style_fullcalendar
@file Contains the fullcalendar style plugin.

Code

function options_form(&$form, &$form_state) {
  $form['display'] = array(
    '#type' => 'fieldset',
    '#title' => t('Display settings'),
    '#description' => 'Blank values will use the current day, month, or year.',
    '#attributes' => array(
      'class' => 'clear-block',
    ),
  );
  $form['display']['fc_view'] = array(
    '#type' => 'select',
    '#title' => t('Initial display'),
    '#options' => array(
      'month' => 'Month',
      'agendaWeek' => 'Week (Agenda)',
      'basicWeek' => 'Week (Basic)',
      'agendaDay' => 'Day (Agenda)',
      'basicDay' => 'Day (Basic)',
    ),
    '#default_value' => $this->options['display']['fc_view'],
    '#description' => l(t('Default timespan displayed.'), 'http://arshaw.com/fullcalendar/docs/views/Available_Views', array(
      'attributes' => array(
        'target' => '_blank',
      ),
    )),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
  );
  $form['display']['fc_firstday'] = array(
    '#type' => 'select',
    '#title' => t('First day'),
    '#options' => array(
      '0' => 'Sunday',
      '1' => 'Monday',
    ),
    '#default_value' => $this->options['display']['fc_firstday'],
    '#description' => l(t('The day each week begins.'), 'http://arshaw.com/fullcalendar/docs/display/firstDay', array(
      'attributes' => array(
        'target' => '_blank',
      ),
    )),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
  );
  $form['display']['fc_weekmode'] = array(
    '#type' => 'select',
    '#title' => t('Week mode'),
    '#options' => array(
      'fixed' => 'Fixed',
      'liquid' => 'Liquid',
      'variable' => 'Variable',
    ),
    '#default_value' => $this->options['display']['fc_weekmode'],
    '#description' => l(t('Number of weeks displayed.'), 'http://arshaw.com/fullcalendar/docs/display/weekMode', array(
      'attributes' => array(
        'target' => '_blank',
      ),
    )),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
  );
  $form['header'] = array(
    '#type' => 'fieldset',
    '#title' => t('Header elements'),
    '#description' => l(t('Buttons and title to be shown in header.'), 'http://arshaw.com/fullcalendar/docs/display/header', array(
      'attributes' => array(
        'target' => '_blank',
      ),
    )),
    '#attributes' => array(
      'class' => 'clear-block',
    ),
  );
  $form['header']['fc_left'] = array(
    '#type' => 'textfield',
    '#title' => t('Left header'),
    '#default_value' => $this->options['header']['fc_left'],
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
    '#size' => '20',
  );
  $form['header']['fc_center'] = array(
    '#type' => 'textfield',
    '#title' => t('Center header'),
    '#default_value' => $this->options['header']['fc_center'],
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
    '#size' => '20',
  );
  $form['header']['fc_right'] = array(
    '#type' => 'textfield',
    '#title' => t('Right header'),
    '#default_value' => $this->options['header']['fc_right'],
    '#prefix' => '<div class="views-left-40">',
    '#suffix' => '</div>',
    '#size' => '30',
  );
  $form['defaults'] = array(
    '#type' => 'fieldset',
    '#title' => t('Default values'),
    '#description' => 'Blank values will use the current day, month, or year.',
    '#attributes' => array(
      'class' => 'clear-block',
    ),
  );
  $form['defaults']['fc_year'] = array(
    '#type' => 'textfield',
    '#title' => t('Year'),
    '#default_value' => $this->options['defaults']['fc_year'],
    '#description' => t('Full 4 digits.'),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
    '#size' => '20',
  );
  $form['defaults']['fc_month'] = array(
    '#type' => 'textfield',
    '#title' => t('Month'),
    '#default_value' => $this->options['defaults']['fc_month'],
    '#description' => t('No leading zeros.'),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
    '#size' => '20',
  );
  $form['defaults']['fc_day'] = array(
    '#type' => 'textfield',
    '#title' => t('Day'),
    '#default_value' => $this->options['defaults']['fc_day'],
    '#description' => t('No leading zeros.'),
    '#prefix' => '<div class="views-left-30">',
    '#suffix' => '</div>',
    '#size' => '20',
  );
  $form['times'] = array(
    '#type' => 'fieldset',
    '#title' => t('Time display'),
    '#description' => l(t('Formatting options for time.'), 'http://arshaw.com/fullcalendar/docs/utilities/formatDate', array(
      'attributes' => array(
        'target' => '_blank',
      ),
    )),
    '#attributes' => array(
      'class' => 'clear-block',
    ),
  );
  $form['times']['fc_timeformat'] = array(
    '#type' => 'textfield',
    '#title' => t('Time format'),
    '#default_value' => $this->options['times']['fc_timeformat'],
    '#description' => 'Format of time display on each event.',
  );
  $form['times']['fc_clock'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use 24 hour display'),
    '#default_value' => $this->options['times']['fc_clock'],
    '#description' => 'Use 24 display (ignores custom time format).',
  );
  $form['modules'] = array(
    '#type' => 'fieldset',
    '#title' => t('Module integration'),
    '#description' => 'Settings for integration with other modules.',
    '#attributes' => array(
      'class' => 'clear-block',
    ),
  );
  $form['modules']['fc_theme'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use jQuery UI Theme'),
    '#default_value' => $this->options['modules']['fc_theme'],
    '#description' => t('If checked, the calendar will use any loaded jQuery UI themes.'),
  );
  $form['modules']['fc_url_colorbox'] = array(
    '#type' => 'checkbox',
    '#title' => t('Open events in colorbox'),
    '#default_value' => $this->options['modules']['fc_url_colorbox'],
    '#description' => t('If checked, each event will open in colorbox (if it is installed).'),
  );
}