function views_slideshow_jcarousel_pager_views_slideshow_widget_pager_form_options in Views Slideshow JCarousel 7
Same name and namespace in other branches
- 6 views_slideshow_jcarousel.module \views_slideshow_jcarousel_pager_views_slideshow_widget_pager_form_options()
- 7.2 views_slideshow_jcarousel.module \views_slideshow_jcarousel_pager_views_slideshow_widget_pager_form_options()
Implementation [widget-type]_views_slideshow_pager_form_options
File
- ./
views_slideshow_jcarousel.module, line 107
Code
function views_slideshow_jcarousel_pager_views_slideshow_widget_pager_form_options(&$form, &$form_state, &$view, $defaults, $dependency) {
// Check for the library, prompt as necessary
if (!($jq_path = _views_slideshow_jcarousel_library_path())) {
$form['views_slideshow_jcarousel_not_found'] = array(
'#markup' => '<div class="messages error">' . t('The jCarousel library was not found. Please extract the jCarousel package to sites/all/libraries/jcarousel, so that the javascript files are located at sites/all/libraries/jcarousel/lib. You can download the jCarousel package at !url', array(
'!url' => l('http://sorgalla.com/jcarousel/', 'http://sorgalla.com/jcarousel/', array(
'attributes' => array(
'target' => '_blank',
),
)),
)) . '</div>',
);
}
// Settings for fields pager.
$options = array();
// Get each field and it's name.
foreach ($view->display->handler
->get_handlers('field') as $field => $handler) {
$options[$field] = $handler
->ui_name();
}
// Add ability to choose which fields to show in the pager.
$form['views_slideshow_jcarousel_pager_fields'] = array(
'#type' => 'checkboxes',
'#title' => t('Pager fields'),
'#options' => $options,
'#default_value' => $defaults['views_slideshow_jcarousel_pager_fields'],
'#description' => t("Choose the fields that will appear in the pager."),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-fields-wrapper">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// Add field to see if they would like the carousel to activate the pager item
// on slide change.
$form['views_slideshow_jcarousel_pager_move_on_change'] = array(
'#type' => 'checkbox',
'#title' => t('Move To Active Pager Item On Slide Change'),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_move_on_change'],
'#description' => t('When the slide changes move the carousel to the active pager item.'),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-move-on-change">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
$form['views_slideshow_jcarousel_pager_update_on_prev_next'] = array(
'#type' => 'checkbox',
'#title' => t('Make Previous/Next Buttons Update the Current Slide'),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_update_on_prev_next'],
'#description' => t('Cycle the slideshow forward or backwards when the pager previous/next buttons are clicked'),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-update-on-prev-next">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
$skin_directory = libraries_get_path('jcarousel') . '/skins';
$skins = array();
foreach (scandir($skin_directory) as $dir) {
if ($dir !== '.' && $dir !== '..' && is_dir($skin_directory . '/' . $dir)) {
$skins[$dir] = $dir;
}
}
// Set the skin.
$form['views_slideshow_jcarousel_pager_skin'] = array(
'#type' => 'select',
'#title' => t('jCarousel Skin'),
'#options' => $skins,
'#default_value' => $defaults['views_slideshow_jcarousel_pager_skin'],
'#description' => t('Choose the skin for your carousel. You can add more by placing your skin in the jcarousel library directory.'),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-skin">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// Set orientation of the pager.
$form['views_slideshow_jcarousel_pager_orientation'] = array(
'#type' => 'select',
'#title' => t('Orientation of the Pager'),
'#options' => array(
FALSE => 'Horizontal',
TRUE => 'Vertical',
),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_orientation'],
'#description' => t('Should the pager be horizontal or vertical.'),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-orientation">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// Set the number of visible items.
$form['views_slideshow_jcarousel_pager_visible'] = array(
'#type' => 'textfield',
'#title' => t('Number of Visible Pager Items'),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_visible'],
'#description' => t('Set the number of pager items that are visible at a single time.'),
'#size' => 10,
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-visible">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// Set the number of items to scroll by.
$form['views_slideshow_jcarousel_pager_scroll'] = array(
'#type' => 'textfield',
'#title' => t('Scroll'),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_scroll'],
'#description' => t('The number of items to scroll by.'),
'#size' => 10,
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-scroll">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// animation speed
$form['views_slideshow_jcarousel_pager_animation'] = array(
'#type' => 'textfield',
'#title' => t('Speed of the transition'),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_animation'],
'#description' => t('Options are fast, slow or a number in milliseconds.'),
'#size' => '10',
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-animation">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
// Wrap the carousel
$form['views_slideshow_jcarousel_pager_wrap'] = array(
'#type' => 'select',
'#title' => t('Wrapping'),
'#options' => array(
NULL => 'Disabled',
'circular' => 'Circular',
'first' => 'First',
'last' => 'Last',
'both' => 'Both',
),
'#default_value' => $defaults['views_slideshow_jcarousel_pager_wrap'],
'#description' => t('Wrap the carousel.'),
'#prefix' => '<div id="' . $dependency . '-views-slideshow-jcarousel-pager-wrap">',
'#suffix' => '</div>',
'#states' => array(
'visible' => array(
':input[name="' . $dependency . '[enable]"]' => array(
'checked' => TRUE,
),
':input[name="' . $dependency . '[type]"]' => array(
'value' => 'views_slideshow_jcarousel_pager',
),
),
),
);
}