? .svn ? views_slideshow_plugins_and_cycle-2.patch ? views_slideshow_plugins_and_cycle.patch ? contrib/.svn ? contrib/views_slideshow_singleframe/.svn ? contrib/views_slideshow_thumbnailhover/.svn ? css/.svn ? js/.svn Index: views_slideshow.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/views_slideshow.module,v retrieving revision 1.11.2.2 diff -u -p -r1.11.2.2 views_slideshow.module --- views_slideshow.module 16 Apr 2009 02:04:55 -0000 1.11.2.2 +++ views_slideshow.module 21 May 2009 23:40:45 -0000 @@ -7,7 +7,7 @@ */ define('VIEWS_SLIDESHOW_MODE_SINGLE_FRAME', 'singleframe'); // this will rotate through all slideshows in a single div element -define('VIEWS_SLIDESHOW_MODE_THUMBNAIL_HOVER', 'thumbnail_hover'); // this will create thumbnails of all the node teasers, with a mouse-over triggering a larger div full node view +define('VIEWS_SLIDESHOW_MODE_THUMBNAIL_HOVER', 'thumbnailhover'); // this will create thumbnails of all the node teasers, with a mouse-over triggering a larger div full node view define('VIEWS_SLIDESHOW_MODE_JCAROUSEL', 'jcarousel'); // this uses the jcarousel jquery plugin, if the jcarousel module is installed define('VIEWS_SLIDESHOW_DEFAULT_MODE', VIEWS_SLIDESHOW_MODE_SINGLE_FRAME); @@ -54,10 +54,6 @@ function views_slideshow_theme($existing 'template' => 'views-slideshow-thumbnail-hover', 'file' => 'views_slideshow.theme.inc', ), - 'views_slideshow_div_js' => array( - 'arguments' => array('rows' => NULL, 'options' => NULL, 'id' => NULL), - 'file' => 'views_slideshow.theme.inc', - ), 'views_slideshow_breakout_teaser_js' => array( 'arguments' => array('id' => NULL, 'count' => NULL), 'file' => 'views_slideshow.theme.inc', Index: views_slideshow.theme.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/Attic/views_slideshow.theme.inc,v retrieving revision 1.1.2.2 diff -u -p -r1.1.2.2 views_slideshow.theme.inc --- views_slideshow.theme.inc 21 Mar 2009 00:36:39 -0000 1.1.2.2 +++ views_slideshow.theme.inc 21 May 2009 23:40:46 -0000 @@ -2,45 +2,6 @@ // $Id: views_slideshow.theme.inc,v 1.1.2.2 2009/03/21 00:36:39 aaron Exp $ /** - * This inline js sets up the timer for this slideshow. - */ -function theme_views_slideshow_div_js($rows, $options, $id) { - $hover = 'hover'; - if ($options['hover'] == 'hoverIntent') { - if (module_exists('jq')) { - $hover = jq_add('hoverIntent') ? 'hoverIntent' : 'hover'; - } - else if (module_exists('hoverintent')) { - $hover = hoverintent_add() ? 'hoverIntent' : 'hover'; - } - } - - $num_divs = sizeof($rows); - $fade = $options['fade'] ? 'true' : 'false'; - - $js = <<' . "\n"; if ($mode == VIEWS_SLIDESHOW_MODE_THUMBNAIL_HOVER) { foreach ($view->result as $count => $node) { @@ -61,18 +33,6 @@ function theme_views_slideshow_no_displa } } else { - // Add support for the jQuery Cycle plugin. - // If we have the jQ module installed, use that to add the Cycle plugin if possible. - // That allows for version control. - if (module_exists('jq')) { - $js = jq_add('cycle'); - } - - // Otherwise, we'll add the version included with this module. - if (!$js) { - drupal_add_js(drupal_get_path('module', 'views_slideshow') .'/js/jquery.cycle.all.min.js', 'module'); - } - foreach ($rows as $count => $item) { $output .= theme('views_slideshow_no_display_teaser', $item, $id, $count); } @@ -85,8 +45,8 @@ function theme_views_slideshow_no_displa * The html that will be placed into the element in its turn during its frame. */ function theme_views_slideshow_no_display_teaser($item, $id, $count) { - $hidden = $count ? 'class="views_slideshow_hidden"' : ''; - $output = '
' . "\n "; + $class = 'class="views_slideshow_slide' . ($count ? ' views_slideshow_hidden"' : '"'); + $output = '
' . "\n "; $output .= $item . "\n"; $output .= '
' . "\n\n"; return $output; @@ -127,7 +87,7 @@ function theme_views_slideshow_breakout_ views_slideshow_resume("' . $id . '"); }); '; - return $js; + return '';//$js; } /** Index: views_slideshow.views_slideshow.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/Attic/views_slideshow.views_slideshow.inc,v retrieving revision 1.1.2.2 diff -u -p -r1.1.2.2 views_slideshow.views_slideshow.inc --- views_slideshow.views_slideshow.inc 16 Apr 2009 02:04:55 -0000 1.1.2.2 +++ views_slideshow.views_slideshow.inc 21 May 2009 23:40:46 -0000 @@ -6,99 +6,9 @@ * The default options available with Views Slideshow. */ -function views_slideshow_views_slideshow_modes() { - $options = array( -// VIEWS_SLIDESHOW_MODE_SINGLE_FRAME => t('Single frame'), - VIEWS_SLIDESHOW_MODE_THUMBNAIL_HOVER => t('Thumbnail hover'), -// VIEWS_SLIDESHOW_MODE_JCAROUSEL => t('jCarousel'), - ); - return $options; -} function views_slideshow_views_slideshow_option_definition() { $options['mode'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_MODE); - $options['hover'] = array('default' => (module_exists('hoverintent') ? 'hoverIntent' : 'hover')); - $options['timer_delay'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_TIMER_DELAY); - $options['sort'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_SORT_ORDER); - $options['fade'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_FADE); - $options['fade_speed'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_FADE_SPEED); - $options['fade_value'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_FADE_VALUE); - $options['hover_breakout'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_HOVER_BREAKOUT); - $options['teasers_last'] = array('default' => VIEWS_SLIDESHOW_DEFAULT_TEASERS_LAST); + //$options = array_merge($options, module_invoke_all('views_slideshow_option_definition')); return $options; } - -function views_slideshow_views_slideshow_options_form(&$form, &$form_state, &$view) { - $options = array( - VIEWS_SLIDESHOW_HOVER_BREAKOUT_TEASER => t('Teaser'), - VIEWS_SLIDESHOW_HOVER_BREAKOUT_FULL => t('Full'), - ); - $form['hover_breakout'] = array( - '#type' => 'radios', - '#title' => t('Hover breakout'), - '#options' => $options, - '#default_value' => $view->options['hover_breakout'], - '#description' => t("Hover breakout determines how to display the breakout element of the %thumbnail mode, either as a teaser or full node. It is ignored in %single mode.", array('%thumbnail' => t('Thumbnail hover'), '%single' => t('Single frame'))), - ); - $form['teasers_last'] = array( - '#type' => 'checkbox', - '#title' => t('Display teasers last'), - '#default_value' => $view->options['teasers_last'], - '#description' => t('When the mode is thumbnail hover, this determines whether to print the teasers first or second.'), - ); - $options = array('hover' => t('Hover')); - if (module_exists('hoverintent')) { - $options['hoverIntent'] = t('HoverIntent'); - } - $form['hover'] = array( - '#type' => 'radios', - '#title' => t('Mouse hover'), - '#options' => $options, - '#default_value' => $view->options['hover'], - '#description' => t('The !hoverintent, if installed, adds the %hoverintent option here. Selecting it causes a delay when the mouse hovers, to stop quick flybys from triggering the behavior. Selecting %hoverdefault chooses the default mouse behavior.', array('!hoverintent' => l(t('HoverIntent module'), 'http://drupal.org/project/hoverintent'), '%hoverintent' => t('HoverIntent'), '%hoverdefault' => t('Hover'))), - ); - $form['timer_delay'] = array( - '#type' => 'textfield', - '#title' => t('Timer delay (in milliseconds)'), - '#default_value' => $view->options['timer_delay'], - ); - $options = array( - VIEWS_SLIDESHOW_SORT_FORWARD => t('Forward'), - VIEWS_SLIDESHOW_SORT_REVERSE => t('Reverse'), - VIEWS_SLIDESHOW_SORT_RANDOM => t('Random'), - ); - $form['sort'] = array( - '#type' => 'radios', - '#title' => t('Slideshow sort order'), - '#description' => t('This option determines the sort order of the returned results within the slideshow. Note that it is not related to the View\'s sorting options, and will only affect resulting items.'), - '#options' => $options, - '#default_value' => $view->options['sort'], - ); - $form['fade'] = array( - '#type' => 'checkbox', - '#title' => t('Fade'), - '#default_value' => $view->options['fade'], - '#description' => t('If checked, then the slideshow will fade between frames. Otherwise, the Fade speed and value, below, will be ignored.'), - ); - $options = array( - VIEWS_SLIDESHOW_FADE_SPEED_SLOW => t('Slow'), - VIEWS_SLIDESHOW_FADE_SPEED_NORMAL => t('Normal'), - VIEWS_SLIDESHOW_FADE_SPEED_FAST => t('Fast'), - ); - $form['fade_speed'] = array( - '#type' => 'radios', - '#title' => t('Fade speed'), - '#options' => $options, - '#default_value' => $view->options['fade_speed'], - ); - $form['fade_value'] = array( - '#type' => 'textfield', - '#title' => t('Fade value'), - '#description' => t('The opacity to fade to, between 0 (fully transparent) and 1 (fully opaque).'), - '#default_value' => $view->options['fade_value'], - ); - $options = array( - VIEWS_SLIDESHOW_HOVER_BREAKOUT_TEASER => t('Teaser'), - VIEWS_SLIDESHOW_HOVER_BREAKOUT_FULL => t('Full'), - ); -} Index: contrib/views_slideshow_singleframe/views_slideshow.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_singleframe/Attic/views_slideshow.js,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow.js --- contrib/views_slideshow_singleframe/views_slideshow.js 16 Apr 2009 02:04:52 -0000 1.1.2.1 +++ contrib/views_slideshow_singleframe/views_slideshow.js 21 May 2009 23:40:46 -0000 @@ -16,118 +16,15 @@ Drupal.behaviors.viewsSlideshowSingleFra Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div = Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div ? Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div : 0; var settings = Drupal.settings.viewsSlideshowSingleFrame[fullId]; + var targetId = '#'+$(fullId+" :first").attr('id'); - // If we only have a single div, then we have nothing to do. - // Thus, only turn on our slideshow if we have more than one slide. - if (settings.num_divs > 1) { - // This turns on the timer. - views_slideshow_timer(fullId, true); - - // This sets up the mouseover & mouseout to pause on the main element. - $(fullId).hover( - function() { - views_slideshow_pause(fullId); - }, - function() { - views_slideshow_resume(fullId); - } - ); - } + $(targetId).cycle({ + fx:settings.effect, + speed:settings.speed, + timeout:settings.timeout, + sync:settings.sync, + random:settings.random, + pause:settings.pause + }); }); -} - -/** - * Set the timer on or off. - */ -function views_slideshow_timer(slideshow_main, slideshow_status) { - // Stop the current timer. - clearTimeout(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._timer_id); - - // Start a new timer, if slideshow_status is true, unless we're currently paused. - if (slideshow_status && !Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause) { // !slideshow_data[slideshow_main]._pause) { - // Our timer will call views_slideshow_switch, which fades out the current slide. - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._timer_id = setTimeout("views_slideshow_switch('" + slideshow_main + "', views_slideshow_next_div('" + slideshow_main + "'))", Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].timer_delay); - } -} - -function views_slideshow_pause(slideshow_main) { - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause = true; - views_slideshow_timer(slideshow_main, false); -} - -function views_slideshow_resume(slideshow_main) { - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause = false; - views_slideshow_timer(slideshow_main, true); -} - -/** - * Fade out to the new div indicated. - */ -function views_slideshow_switch(slideshow_main, new_div) { - // Turn off our timer. - views_slideshow_timer(slideshow_main, false); - - // Check to see if we fade or not. - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade) { - // Fade out -- at the end, switch to the next slide in the slideshow. - $(slideshow_main).fadeTo(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_speed, Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_value, function() { views_slideshow_set_div(slideshow_main, new_div); }); - } - else { - // If we don't have a fade, then just switch without fading. - views_slideshow_set_div(slideshow_main, new_div); - } -} - -/** - * Set the main div html to the new node. - * We come here at the bottom of the fade. - */ -function views_slideshow_set_div(slideshow_main, new_div_number) { - // If the new div is greater than length, wrap to the first. - // If it's less than zero, wrap to the last. - if (new_div_number >= Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs) { - new_div_number = 0; - } - else if (new_div_number < 0) { - new_div_number = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs - 1; - } - - // Grab the ID's for the two slides. - _old_breakout = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].div_prefix + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].id + "_" + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div; - _new_breakout = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].div_prefix + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].id + "_" + new_div_number; - - // Hide our old slide and display the new one. - $(_old_breakout).hide(); - $(_new_breakout).show(); - - // Set the current_div number to the new node. - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div = new_div_number; - - // Check to see if we faded here or not. - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade) { - // Fade in -- at the end, turn on our timer. - $(slideshow_main).fadeTo(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_speed, 1, function() { views_slideshow_timer(slideshow_main, true); }); - } - else { - // If we don't have a fade, then just turn on our timer without fading. - views_slideshow_timer(slideshow_main, true); - } -} - -/** - * Get the next node div in our sequence. - */ -function views_slideshow_next_div(slideshow_main) { - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].sort) { - // Select the next div, in forward or reverse order. - new_div_number = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].sort; - } - else { - // Select a random div, but make sure we don't repeat ourselves, unless there's only one div. - do { - new_div_number = Math.floor(Math.random() * Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs); - } while (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs > 1 && (new_div_number == Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs - 1)); - } - return new_div_number; -} - +} \ No newline at end of file Index: contrib/views_slideshow_singleframe/views_slideshow_singleframe.theme.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_singleframe/Attic/views_slideshow_singleframe.theme.inc,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow_singleframe.theme.inc --- contrib/views_slideshow_singleframe/views_slideshow_singleframe.theme.inc 16 Apr 2009 02:04:52 -0000 1.1.2.1 +++ contrib/views_slideshow_singleframe/views_slideshow_singleframe.theme.inc 21 May 2009 23:40:46 -0000 @@ -15,26 +15,15 @@ function template_preprocess_views_slide drupal_add_js($base . '/views_slideshow.js', 'module'); drupal_add_css($base . '/views_slideshow.css', 'module'); - $hover = 'hover'; - if ($options['hover'] == 'hoverIntent') { - if (module_exists('jq')) { - $hover = jq_add('hoverIntent') ? 'hoverIntent' : 'hover'; - } - else if (module_exists('hoverintent')) { - $hover = hoverintent_add() ? 'hoverIntent' : 'hover'; - } - } - $num_divs = sizeof($vars['rows']); - $fade = $options['fade'] ? 'true' : 'false'; $settings = array( 'num_divs' => $num_divs, - 'timer_delay' => $options['timer_delay'], - 'sort' => intval($options['sort']), - 'fade' => $fade, - 'fade_speed' => $options['fade_speed'], - 'fade_value' => $options['fade_value'], + 'timeout' => $options['singleframe']['timeout'], + 'sort' => intval($options['singleframe']['sort']), + 'effect' => $options['singleframe']['effect'], + 'speed' => $options['singleframe']['speed'], + 'fade_value' => $options['singleframe']['fade_value'], 'hoverFunction' => $hover, 'id_prefix' => '#views_slideshow_main_', 'div_prefix' => '#views_slideshow_div_', Index: contrib/views_slideshow_singleframe/views_slideshow_singleframe.views_slideshow.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_singleframe/Attic/views_slideshow_singleframe.views_slideshow.inc,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow_singleframe.views_slideshow.inc --- contrib/views_slideshow_singleframe/views_slideshow_singleframe.views_slideshow.inc 16 Apr 2009 02:04:52 -0000 1.1.2.1 +++ contrib/views_slideshow_singleframe/views_slideshow_singleframe.views_slideshow.inc 21 May 2009 23:40:46 -0000 @@ -14,18 +14,19 @@ function views_slideshow_singleframe_vie } function views_slideshow_singleframe_views_slideshow_option_definition() { - $options['singleframe'] = array(); - $options['singleframe']['hover'] = array('default' => (module_exists('hoverintent') ? 'hoverIntent' : 'hover')); - $options['singleframe']['timer_delay'] = array('default' => 5000); - $options['singleframe']['sort'] = array('default' => 1); - $options['singleframe']['fade'] = array('default' => TRUE); - $options['singleframe']['fade_speed'] = array('default' => 'slow'); - $options['singleframe']['fade_value'] = array('default' => 0.25); + $options['singleframe'] =array( + 'contains' => array( + 'timeout' => array('default' => 5000), + 'sort' => array('default' => 1), + 'effect' => array('default' => 'fade'), + 'speed' => array('default' => 300) //normal + ) + ); return $options; } function views_slideshow_singleframe_views_slideshow_options_form(&$form, &$form_state, &$view) { - dpm($view->options); + //dpm($view->options); $form['singleframe'] = array( '#type' => 'fieldset', @@ -33,55 +34,78 @@ function views_slideshow_singleframe_vie '#collapsible' => TRUE, '#collapsed' => !($view->options['mode'] == 'singleframe'), ); - $options = array('hover' => t('Hover')); - if (module_exists('hoverintent')) { - $options['hoverIntent'] = t('HoverIntent'); - } - $form['singleframe']['hover'] = array( - '#type' => 'radios', - '#title' => t('Mouse hover'), - '#options' => $options, - '#default_value' => $view->options['singleframe']['hover'], - '#description' => t('The !hoverintent, if installed, adds the %hoverintent option here. Selecting it causes a delay when the mouse hovers, to stop quick flybys from triggering the behavior. Selecting %hoverdefault chooses the default mouse behavior.', array('!hoverintent' => l(t('HoverIntent module'), 'http://drupal.org/project/hoverintent'), '%hoverintent' => t('HoverIntent'), '%hoverdefault' => t('Hover'))), - ); - $form['singleframe']['timer_delay'] = array( + $form['singleframe']['timeout'] = array( '#type' => 'textfield', '#title' => t('Timer delay (in milliseconds)'), - '#default_value' => $view->options['singleframe']['timer_delay'], + '#default_value' => $view->options['singleframe']['timeout'], + ); + $form['singleframe']['random'] = array( + '#type' => 'radios', + '#title' => t('Random'), + '#description' => t('This option determines the sort order of the returned results within the slideshow. Note that it is not related to the View\'s sorting options, and will only affect resulting items.'), + '#options' => array(0 => t('Forward'), 1 => t('Reverse')), + '#default_value' => $view->options['singleframe']['random'], ); $options = array( - 1 => t('Forward'), - -1 => t('Reverse'), - 0 => t('Random'), + 'none' => 'none', + 'blindX' => 'blindX', + 'blindY' => 'blindY', + 'blindZ' => 'blindZ', + 'cover' => 'cover', + 'curtainX' => 'curtainX', + 'curtainY' => 'curtainY', + 'fade' => 'fade', + 'fadeZoom' => 'fadeZoom', + 'growX' => 'growX', + 'growY' => 'growY', + 'scrollUp' => 'scrollUp', + 'scrollDown' => 'scrollDown', + 'scrollLeft' => 'scrollLeft', + 'scrollRight' => 'scrollRight', + 'scrollHorz' => 'scrollHorz', + 'scrollVert' => 'scrollVert', + 'shuffle' => 'shuffle', + 'slideX' => 'slideX', + 'slideY' => 'slideY', + 'toss' => 'toss', + 'turnUp' => 'turnUp', + 'turnDown' => 'turnDown', + 'turnLeft' => 'turnLeft', + 'turnRight' => 'turnRight', + 'uncover' => 'uncover', + 'wipe' => 'wipe', + 'zoom' => 'zoom' ); - $form['singleframe']['sort'] = array( + $form['singleframe']['pause'] = array( '#type' => 'radios', - '#title' => t('Slideshow sort order'), - '#description' => t('This option determines the sort order of the returned results within the slideshow. Note that it is not related to the View\'s sorting options, and will only affect resulting items.'), + '#title' => t('Pause'), + '#options' => array(1 => t('Yes'),2 => t('No')), + '#default_value' => $view->options['singleframe']['pause'], + '#description' => t('Pause when hovering on the slideshow image.'), + ); + $form['singleframe']['effect'] = array( + '#type' => 'select', + '#title' => t('Effect'), '#options' => $options, - '#default_value' => $view->options['singleframe']['sort'], + '#default_value' => $view->options['singleframe']['effect'], + '#description' => t('The transition effect that will be used to change between images. Not all options below may be relevant depending on the effect.'), ); - $form['singleframe']['fade'] = array( - '#type' => 'checkbox', - '#title' => t('Fade'), - '#default_value' => $view->options['singleframe']['fade'], - '#description' => t('If checked, then the slideshow will fade between frames. Otherwise, the Fade speed and value, below, will be ignored.'), + $form['singleframe']['sync'] = array( + '#type' => 'radios', + '#title' => t('Sync'), + '#options' => array(1 => t('Yes'), 2 => t('No')), + '#default_value' =>$view->options['singleframe']['sync'], + '#description' => t('The sync option controls whether the slide transitions occur simultaneously. The default is yes which means that the current slide transitions out as the next slide transitions in. By setting the sync option to no you can get some interesting twists on your transitions.'), ); $options = array( - 'slow' => t('Slow'), - 'normal' => t('Normal'), - 'fast' => t('Fast'), + 700 => t('Slow'), + 300 => t('Normal'), + 150 => t('Fast'), ); - $form['singleframe']['fade_speed'] = array( + $form['singleframe']['speed'] = array( '#type' => 'radios', - '#title' => t('Fade speed'), + '#title' => t('Speed'), '#options' => $options, - '#default_value' => $view->options['singleframe']['fade_speed'], + '#default_value' => $view->options['singleframe']['speed'] ); - $form['singleframe']['fade_value'] = array( - '#type' => 'textfield', - '#title' => t('Fade value'), - '#description' => t('The opacity to fade to, between 0 (fully transparent) and 1 (fully opaque).'), - '#default_value' => $view->options['singleframe']['fade_value'], - ); -} +} \ No newline at end of file Index: contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views-slideshow-thumbnailhover.tpl.php,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views-slideshow-thumbnailhover.tpl.php --- contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php 20 Apr 2009 22:51:08 -0000 1.1.2.1 +++ contrib/views_slideshow_thumbnailhover/views-slideshow-thumbnailhover.tpl.php 21 May 2009 23:40:46 -0000 @@ -7,19 +7,17 @@ */ $base = drupal_get_path('module', 'views_slideshow_thumbnailhover'); - drupal_add_js($base . '/js/views_slideshow.js', 'module'); - drupal_add_css($base . '/css/views_slideshow.css', 'module'); $js = theme('views_slideshow_div_js', $rows, $options, $id); drupal_add_js($js, 'inline'); - $teaser = ($options['hover_breakout'] == 'teaser' ? TRUE : FALSE); + $teaser = ($options['thumbnailhover']['hover_breakout'] == 'teaser' ? TRUE : FALSE); $output = ''; $view_teasers = FALSE; // As we're using the 'thumbnail hover' mode, then we need to display all the view thumbnails. $view_teasers = theme('views_slideshow_breakout_teasers', $rows, $id); - if (!$options['teasers_last']) { + if (!$options['thumbnailhover']['teasers_last']) { $output .= $view_teasers; } @@ -27,7 +25,7 @@ $hidden_elements = theme('views_slideshow_no_display_section', $view, $rows, $id, $options['mode'], $teaser); $output .= theme('views_slideshow_main_section', $id, $hidden_elements); - if ($view_teasers && $options['teasers_last']) { + if ($view_teasers && $options['thumbnailhover']['teasers_last']) { $output .= $view_teasers; } Index: contrib/views_slideshow_thumbnailhover/views_slideshow.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views_slideshow.js,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow.js --- contrib/views_slideshow_thumbnailhover/views_slideshow.js 20 Apr 2009 22:51:08 -0000 1.1.2.1 +++ contrib/views_slideshow_thumbnailhover/views_slideshow.js 21 May 2009 23:40:46 -0000 @@ -8,126 +8,37 @@ /** * This will set our initial behavior, by starting up each individual slideshow. */ -Drupal.behaviors.viewsSlideshowSingleFrame = function (context) { +Drupal.behaviors.viewsSlideshowThumbnailHover = function (context) { $('.views_slideshow_main:not(.viewsSlideshowSingleFrame-processed)', context).addClass('viewsSlideshowSingleFrame-processed').each(function() { var fullId = '#' + $(this).attr('id'); - // Make sure we're working from - Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div = Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div ? Drupal.settings.viewsSlideshowSingleFrame[fullId]._current_div : 0; - - var settings = Drupal.settings.viewsSlideshowSingleFrame[fullId]; + var settings = Drupal.settings.viewsSlideshowThumbnailHover[fullId]; // If we only have a single div, then we have nothing to do. // Thus, only turn on our slideshow if we have more than one slide. - if (settings.num_divs > 1) { - // This turns on the timer. - views_slideshow_timer(fullId, true); + var targetId = '#'+$(fullId+" :first").attr('id'); - // This sets up the mouseover & mouseout to pause on the main element. - $(fullId).hover( - function() { - views_slideshow_pause(fullId); - }, - function() { - views_slideshow_resume(fullId); - } - ); - } + $(targetId).cycle({ + fx:settings.effect, + speed:settings.speed, + timeout:settings.timeout + }); + + $('#views_slideshow_breakout_teasers_'+settings.id).find('.views_slideshow_div_breakout_teaser').each( + function(index, obj) { + $(obj).hover( + function() { + var id = $(this).attr('id'); + var i = id.substring(id.lastIndexOf('_')+1); + $(targetId).cycle(parseInt(i)).cycle('pause'); + }, + function() + { + $(targetId).cycle('resume'); + } + ); + } + ); + }); } - -/** - * Set the timer on or off. - */ -function views_slideshow_timer(slideshow_main, slideshow_status) { - // Stop the current timer. - clearTimeout(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._timer_id); - - // Start a new timer, if slideshow_status is true, unless we're currently paused. - if (slideshow_status && !Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause) { // !slideshow_data[slideshow_main]._pause) { - // Our timer will call views_slideshow_switch, which fades out the current slide. - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._timer_id = setTimeout("views_slideshow_switch('" + slideshow_main + "', views_slideshow_next_div('" + slideshow_main + "'))", Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].timer_delay); - } -} - -function views_slideshow_pause(slideshow_main) { - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause = true; - views_slideshow_timer(slideshow_main, false); -} - -function views_slideshow_resume(slideshow_main) { - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._pause = false; - views_slideshow_timer(slideshow_main, true); -} - -/** - * Fade out to the new div indicated. - */ -function views_slideshow_switch(slideshow_main, new_div) { - // Turn off our timer. - views_slideshow_timer(slideshow_main, false); - - // Check to see if we fade or not. - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade) { - // Fade out -- at the end, switch to the next slide in the slideshow. - $(slideshow_main).fadeTo(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_speed, Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_value, function() { views_slideshow_set_div(slideshow_main, new_div); }); - } - else { - // If we don't have a fade, then just switch without fading. - views_slideshow_set_div(slideshow_main, new_div); - } -} - -/** - * Set the main div html to the new node. - * We come here at the bottom of the fade. - */ -function views_slideshow_set_div(slideshow_main, new_div_number) { - // If the new div is greater than length, wrap to the first. - // If it's less than zero, wrap to the last. - if (new_div_number >= Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs) { - new_div_number = 0; - } - else if (new_div_number < 0) { - new_div_number = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs - 1; - } - - // Grab the ID's for the two slides. - _old_breakout = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].div_prefix + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].id + "_" + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div; - _new_breakout = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].div_prefix + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].id + "_" + new_div_number; - - // Hide our old slide and display the new one. - $(_old_breakout).hide(); - $(_new_breakout).show(); - - // Set the current_div number to the new node. - Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div = new_div_number; - - // Check to see if we faded here or not. - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade) { - // Fade in -- at the end, turn on our timer. - $(slideshow_main).fadeTo(Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].fade_speed, 1, function() { views_slideshow_timer(slideshow_main, true); }); - } - else { - // If we don't have a fade, then just turn on our timer without fading. - views_slideshow_timer(slideshow_main, true); - } -} - -/** - * Get the next node div in our sequence. - */ -function views_slideshow_next_div(slideshow_main) { - if (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].sort) { - // Select the next div, in forward or reverse order. - new_div_number = Drupal.settings.viewsSlideshowSingleFrame[slideshow_main]._current_div + Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].sort; - } - else { - // Select a random div, but make sure we don't repeat ourselves, unless there's only one div. - do { - new_div_number = Math.floor(Math.random() * Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs); - } while (Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs > 1 && (new_div_number == Drupal.settings.viewsSlideshowSingleFrame[slideshow_main].num_divs - 1)); - } - return new_div_number; -} - Index: contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views_slideshow_thumbnailhover.theme.inc,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow_thumbnailhover.theme.inc --- contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc 20 Apr 2009 22:51:08 -0000 1.1.2.1 +++ contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.theme.inc 21 May 2009 23:40:46 -0000 @@ -16,7 +16,7 @@ function template_preprocess_views_slide drupal_add_css($base . '/views_slideshow.css', 'module'); $hover = 'hover'; - if ($options['hover'] == 'hoverIntent') { + if ($options['thumbnailhover']['hover'] == 'hoverIntent') { if (module_exists('jq')) { $hover = jq_add('hoverIntent') ? 'hoverIntent' : 'hover'; } @@ -26,25 +26,25 @@ function template_preprocess_views_slide } $num_divs = sizeof($vars['rows']); - $fade = $options['fade'] ? 'true' : 'false'; - $teasers_last = $options['teasers_last'] ? 'true' : 'false'; + $fade = $options['thumbnailhover']['fade'] ? 'true' : 'false'; + $teasers_last = $options['thumbnailhover']['teasers_last'] ? 'true' : 'false'; $settings = array( 'num_divs' => $num_divs, - 'timer_delay' => $options['timer_delay'], - 'sort' => intval($options['sort']), - 'fade' => $fade, - 'fade_speed' => $options['fade_speed'], - 'fade_value' => $options['fade_value'], + 'timeout' => $options['thumbnailhover']['timeout'], + 'sort' => intval($options['thumbnailhover']['sort']), + 'effect' => $options['thumbnailhover']['effect'], + 'speed' => $options['thumbnailhover']['speed'], + 'fade_value' => $options['thumbnailhover']['fade_value'], 'hoverFunction' => $hover, - 'hover_breakout' => $options['hover_breakout'], + 'hover_breakout' => $options['thumbnailhover']['hover_breakout'], 'teasers_last' => $teasers_last, 'id_prefix' => '#views_slideshow_main_', 'div_prefix' => '#views_slideshow_div_', 'id' => $vars['id'], ); - drupal_add_js(array('viewsSlideshowSingleFrame' => array('#views_slideshow_main_'. $vars['id'] => $settings)), 'setting'); + drupal_add_js(array('viewsSlideshowThumbnailHover' => array('#views_slideshow_main_'. $vars['id'] => $settings)), 'setting'); /* $js = theme('views_slideshow_div_js', $vars['rows'], $vars['options'], $vars['id']); drupal_add_js($js, 'inline');*/ Index: contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/Attic/views_slideshow_thumbnailhover.views_slideshow.inc,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 views_slideshow_thumbnailhover.views_slideshow.inc --- contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc 20 Apr 2009 22:51:08 -0000 1.1.2.1 +++ contrib/views_slideshow_thumbnailhover/views_slideshow_thumbnailhover.views_slideshow.inc 21 May 2009 23:40:46 -0000 @@ -8,49 +8,70 @@ function views_slideshow_thumbnailhover_views_slideshow_modes() { $options = array( - 'thumbnailhover' => t('SingleFrame'), + 'thumbnailhover' => t('ThumbnailHover'), ); return $options; } function views_slideshow_thumbnailhover_views_slideshow_option_definition() { - $options['thumbnailhover'] = array(); - $options['thumbnailhover']['hover'] = array('default' => (module_exists('hoverintent') ? 'hoverIntent' : 'hover')); - $options['thumbnailhover']['timer_delay'] = array('default' => 5000); - $options['thumbnailhover']['sort'] = array('default' => 1); - $options['thumbnailhover']['fade'] = array('default' => TRUE); - $options['thumbnailhover']['fade_speed'] = array('default' => 'slow'); - $options['thumbnailhover']['fade_value'] = array('default' => 0.25); - $options['thumbnailhover']['hover_breakout'] = array('default' => 'teaser'); - $options['thumbnailhover']['teasers_last'] = array('default' => TRUE); - + $options['thumbnailhover'] = array( + 'contains' => array ( + 'default' => (module_exists('hoverintent') ? 'hoverIntent' : 'hover'), + 'timeout' => array('default' => 5000), + 'sort' => array('default' => 1), + 'effect' => array('default' => 'fade'), + 'speed' => array('default' => 300), + 'fade_value' => array('default' => 0.25), + 'hover_breakout' => array('default' => 'teaser'), + 'teasers_last' => array('default' => TRUE) + ) + ); return $options; } function views_slideshow_thumbnailhover_views_slideshow_options_form(&$form, &$form_state, &$view) { - dpm($view->options); + //dpm($view->options); $form['thumbnailhover'] = array( '#type' => 'fieldset', - '#title' => t('SingleFrame rotator options'), + '#title' => t('ThumbnailHover rotator options'), '#collapsible' => TRUE, '#collapsed' => !($view->options['mode'] == 'thumbnailhover'), ); - $options = array('hover' => t('Hover')); + if (module_exists('hoverintent')) { + $options = array('hover' => t('Hover')); $options['hoverIntent'] = t('HoverIntent'); + $form['thumbnailhover']['hover'] = array( + '#type' => 'radios', + '#title' => t('Mouse hover'), + '#options' => $options, + '#default_value' => $view->options['thumbnailhover']['hover'], + '#description' => t('The !hoverintent, if installed, adds the %hoverintent option here. Selecting it causes a delay when the mouse hovers, to stop quick flybys from triggering the behavior. Selecting %hoverdefault chooses the default mouse behavior.', array('!hoverintent' => l(t('HoverIntent module'), 'http://drupal.org/project/hoverintent'), '%hoverintent' => t('HoverIntent'), '%hoverdefault' => t('Hover'))), + ); } - $form['thumbnailhover']['hover'] = array( + + $options = array( + 'teaser' => t('Teaser'), + 'full' => t('Full'), + ); + $form['thumbnailhover']['hover_breakout'] = array( '#type' => 'radios', - '#title' => t('Mouse hover'), + '#title' => t('Hover breakout'), '#options' => $options, - '#default_value' => $view->options['thumbnailhover']['hover'], - '#description' => t('The !hoverintent, if installed, adds the %hoverintent option here. Selecting it causes a delay when the mouse hovers, to stop quick flybys from triggering the behavior. Selecting %hoverdefault chooses the default mouse behavior.', array('!hoverintent' => l(t('HoverIntent module'), 'http://drupal.org/project/hoverintent'), '%hoverintent' => t('HoverIntent'), '%hoverdefault' => t('Hover'))), + '#default_value' => $view->options['thumbnailhover']['hover_breakout'], + '#description' => t("Hover breakout determines how to display the breakout element of the %thumbnail mode, either as a teaser or full node. It is ignored in %single mode.", array('%thumbnail' => t('Thumbnail hover'), '%single' => t('Single frame'))), ); - $form['thumbnailhover']['timer_delay'] = array( + $form['thumbnailhover']['teasers_last'] = array( + '#type' => 'checkbox', + '#title' => t('Display teasers last'), + '#default_value' => $view->options['thumbnailhover']['teasers_last'], + '#description' => t('When the mode is thumbnail hover, this determines whether to print the teasers first or second.'), + ); + $form['thumbnailhover']['timeout'] = array( '#type' => 'textfield', '#title' => t('Timer delay (in milliseconds)'), - '#default_value' => $view->options['thumbnailhover']['timer_delay'], + '#default_value' => $view->options['thumbnailhover']['timeout'], ); $options = array( 1 => t('Forward'), @@ -64,22 +85,53 @@ function views_slideshow_thumbnailhover_ '#options' => $options, '#default_value' => $view->options['thumbnailhover']['sort'], ); - $form['thumbnailhover']['fade'] = array( - '#type' => 'checkbox', - '#title' => t('Fade'), - '#default_value' => $view->options['thumbnailhover']['fade'], - '#description' => t('If checked, then the slideshow will fade between frames. Otherwise, the Fade speed and value, below, will be ignored.'), + $options = array( + 'none' => 'none', + 'blindX' => 'blindX', + 'blindY' => 'blindY', + 'blindZ' => 'blindZ', + 'cover' => 'cover', + 'curtainX' => 'curtainX', + 'curtainY' => 'curtainY', + 'fade' => 'fade', + 'fadeZoom' => 'fadeZoom', + 'growX' => 'growX', + 'growY' => 'growY', + 'scrollUp' => 'scrollUp', + 'scrollDown' => 'scrollDown', + 'scrollLeft' => 'scrollLeft', + 'scrollRight' => 'scrollRight', + 'scrollHorz' => 'scrollHorz', + 'scrollVert' => 'scrollVert', + 'shuffle' => 'shuffle', + 'slideX' => 'slideX', + 'slideY' => 'slideY', + 'toss' => 'toss', + 'turnUp' => 'turnUp', + 'turnDown' => 'turnDown', + 'turnLeft' => 'turnLeft', + 'turnRight' => 'turnRight', + 'uncover' => 'uncover', + 'wipe' => 'wipe', + 'zoom' => 'zoom' + ); + $form['thumbnailhover']['effect'] = array( + '#type' => 'select', + '#title' => t('Effect'), + '#options' => $options, + '#default_value' => $view->options['singleframe']['effect'], + '#description' => t('The transition effect that will be used to change between images. Not all options below may be relevant depending on the effect.'), ); $options = array( 'slow' => t('Slow'), 'normal' => t('Normal'), 'fast' => t('Fast'), ); - $form['thumbnailhover']['fade_speed'] = array( + $form['thumbnailhover']['speed'] = array( '#type' => 'radios', - '#title' => t('Fade speed'), + '#title' => t('Speed'), '#options' => $options, - '#default_value' => $view->options['thumbnailhover']['fade_speed'], + '#default_value' => $view->options['thumbnailhover']['speed'], ); $form['thumbnailhover']['fade_value'] = array( '#type' => 'textfield', @@ -87,22 +139,4 @@ function views_slideshow_thumbnailhover_ '#description' => t('The opacity to fade to, between 0 (fully transparent) and 1 (fully opaque).'), '#default_value' => $view->options['thumbnailhover']['fade_value'], ); - - $options = array( - 'teaser' => t('Teaser'), - 'full' => t('Full'), - ); - $form['hover_breakout'] = array( - '#type' => 'radios', - '#title' => t('Hover breakout'), - '#options' => $options, - '#default_value' => $view->options['hover_breakout'], - '#description' => t("Hover breakout determines how to display the breakout element of the %thumbnail mode, either as a teaser or full node. It is ignored in %single mode.", array('%thumbnail' => t('Thumbnail hover'), '%single' => t('Single frame'))), - ); - $form['teasers_last'] = array( - '#type' => 'checkbox', - '#title' => t('Display teasers last'), - '#default_value' => $view->options['teasers_last'], - '#description' => t('When the mode is thumbnail hover, this determines whether to print the teasers first or second.'), - ); }