annotate sites/all/modules/flexslider_views_slideshow/js/flexslider_views_slideshow.js @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents b74b41bb73f0
children
rev   line source
danielebarchiesi@2 1 (function ($) {
danielebarchiesi@2 2 // @todo convert to use Drupal.behaviors
danielebarchiesi@2 3 // @todo add configuration options
danielebarchiesi@2 4
danielebarchiesi@2 5 // Register callback to save references to flexslider instances. Allows
danielebarchiesi@2 6 // Views Slideshow controls to affect the slider
danielebarchiesi@2 7 function flexslider_views_slideshow_register(fullId, slider) {
danielebarchiesi@2 8 Drupal.flexsliderViewsSlideshow.active = Drupal.flexsliderViewsSlideshow.active || {};
danielebarchiesi@2 9 Drupal.flexsliderViewsSlideshow.active[fullId] = slider;
danielebarchiesi@2 10 }
danielebarchiesi@2 11
danielebarchiesi@2 12 Drupal.behaviors.flexsliderViewsSlideshow = {
danielebarchiesi@2 13 attach: function (context) {
danielebarchiesi@2 14 $('.flexslider_views_slideshow_main:not(.flexslider_views_slideshow-processed)', context).addClass('flexslider_views_slideshow-processed').each(function() {
danielebarchiesi@2 15 // Get the ID of the slideshow
danielebarchiesi@2 16 var fullId = '#' + $(this).attr('id');
danielebarchiesi@2 17
danielebarchiesi@2 18 // Create settings container
danielebarchiesi@2 19 var settings = Drupal.settings.flexslider_views_slideshow[fullId];
danielebarchiesi@2 20
danielebarchiesi@2 21 //console.log(settings);
danielebarchiesi@2 22
danielebarchiesi@2 23 // @todo map the settings from the form to their javascript equivalents
danielebarchiesi@2 24 settings.targetId = fullId;
danielebarchiesi@2 25
danielebarchiesi@2 26 settings.loaded = false;
danielebarchiesi@2 27
danielebarchiesi@2 28 // Assign default settings
danielebarchiesi@2 29 // @todo update the list of options to match the new set
danielebarchiesi@2 30 settings.opts = {
danielebarchiesi@2 31 // v2.x options
danielebarchiesi@2 32 namespace:settings.namespace,
danielebarchiesi@2 33 selector:settings.selector,
danielebarchiesi@2 34 easing:settings.easing,
danielebarchiesi@2 35 direction:settings.direction,
danielebarchiesi@2 36 reverse:settings.reverse,
danielebarchiesi@2 37 smoothHeight:settings.smoothHeight,
danielebarchiesi@2 38 startAt:settings.startAt,
danielebarchiesi@2 39 animationSpeed:settings.animationSpeed,
danielebarchiesi@2 40 initDelay:settings.initDelay,
danielebarchiesi@2 41 useCSS:settings.useCSS,
danielebarchiesi@2 42 touch:settings.touch,
danielebarchiesi@2 43 video:settings.video,
danielebarchiesi@2 44 keyboard:settings.keyboard,
danielebarchiesi@2 45 multipleKeyboard:settings.multipleKeyboard,
danielebarchiesi@2 46 mousewheel:settings.mousewheel,
danielebarchiesi@2 47 controlsContainer:settings.controlsContainer,
danielebarchiesi@2 48 sync:settings.sync,
danielebarchiesi@2 49 asNavFor:settings.asNavFor,
danielebarchiesi@2 50 itemWidth:settings.itemWidth,
danielebarchiesi@2 51 itemMargin:settings.itemMargin,
danielebarchiesi@2 52 minItems:settings.minItems,
danielebarchiesi@2 53 maxItems:settings.maxItems,
danielebarchiesi@2 54 move:settings.move,
danielebarchiesi@2 55 // v1.x options
danielebarchiesi@2 56 animation:settings.animation,
danielebarchiesi@2 57 slideshow:settings.slideshow,
danielebarchiesi@2 58 slideshowSpeed:settings.slideshowSpeed,
danielebarchiesi@2 59 directionNav:settings.directionNav,
danielebarchiesi@2 60 controlNav:settings.controlNav,
danielebarchiesi@2 61 prevText:settings.prevText,
danielebarchiesi@2 62 nextText:settings.nextText,
danielebarchiesi@2 63 pausePlay:settings.pausePlay,
danielebarchiesi@2 64 pauseText:settings.pauseText,
danielebarchiesi@2 65 playText:settings.playText,
danielebarchiesi@2 66 randomize:settings.randomize,
danielebarchiesi@2 67 animationLoop:settings.animationLoop,
danielebarchiesi@2 68 pauseOnAction:settings.pauseOnAction,
danielebarchiesi@2 69 pauseOnHover:settings.pauseOnHover,
danielebarchiesi@2 70 manualControls:settings.manualControls,
danielebarchiesi@2 71 start: function(slider) {
danielebarchiesi@2 72 flexslider_views_slideshow_register(fullId, slider);
danielebarchiesi@2 73 }
danielebarchiesi@2 74 // @todo register other callbacks
danielebarchiesi@2 75 };
danielebarchiesi@2 76
danielebarchiesi@2 77 Drupal.flexsliderViewsSlideshow.load(fullId);
danielebarchiesi@2 78 });
danielebarchiesi@2 79 }
danielebarchiesi@2 80 };
danielebarchiesi@2 81
danielebarchiesi@2 82
danielebarchiesi@2 83 // Initialize the flexslider object
danielebarchiesi@2 84 Drupal.flexsliderViewsSlideshow = Drupal.flexsliderViewsSlideshow || {};
danielebarchiesi@2 85
danielebarchiesi@2 86 // Load mapping from Views Slideshow to FlexSlider
danielebarchiesi@2 87 Drupal.flexsliderViewsSlideshow.load = function(fullId) {
danielebarchiesi@2 88 var settings = Drupal.settings.flexslider_views_slideshow[fullId];
danielebarchiesi@2 89
danielebarchiesi@2 90 // Ensure the slider isn't already loaded
danielebarchiesi@2 91 if (!settings.loaded) {
danielebarchiesi@2 92 $(settings.targetId + " .flexslider").flexslider(settings.opts);
danielebarchiesi@2 93 settings.loaded = true;
danielebarchiesi@2 94 }
danielebarchiesi@2 95 }
danielebarchiesi@2 96
danielebarchiesi@2 97 // Pause mapping from Views Slideshow to FlexSlider
danielebarchiesi@2 98 Drupal.flexsliderViewsSlideshow.pause = function (options) {
danielebarchiesi@2 99 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].pause();
danielebarchiesi@2 100 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].manualPause = true;
danielebarchiesi@2 101 }
danielebarchiesi@2 102
danielebarchiesi@2 103 // Play mapping from Views Slideshow to FlexSlider
danielebarchiesi@2 104 Drupal.flexsliderViewsSlideshow.play = function (options) {
danielebarchiesi@2 105 console.log(Drupal.flexsliderViewsSlideshow);
danielebarchiesi@2 106 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].resume();
danielebarchiesi@2 107 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].manualPause = false;
danielebarchiesi@2 108 }
danielebarchiesi@2 109
danielebarchiesi@2 110 Drupal.flexsliderViewsSlideshow.nextSlide = function (options) {
danielebarchiesi@2 111 var target = Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].getTarget('next');
danielebarchiesi@2 112
danielebarchiesi@2 113 if (Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].canAdvance(target)) {
danielebarchiesi@2 114 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].flexAnimate(target, Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].vars.pauseOnAction);
danielebarchiesi@2 115 }
danielebarchiesi@2 116 }
danielebarchiesi@2 117 Drupal.flexsliderViewsSlideshow.previousSlide = function (options) {
danielebarchiesi@2 118 var target = Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].getTarget('prev');
danielebarchiesi@2 119
danielebarchiesi@2 120 if (Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].canAdvance(target)) {
danielebarchiesi@2 121 Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].flexAnimate(target, Drupal.flexsliderViewsSlideshow.active['#flexslider_views_slideshow_main_' + options.slideshowID].vars.pauseOnAction);
danielebarchiesi@2 122 }
danielebarchiesi@2 123 }
danielebarchiesi@2 124 // @todo add support for jquery mobile page init
danielebarchiesi@2 125 })(jQuery);