PageSourceSearch

https://ulldemolins.cat/sites/all/modules/flexslider_views_slideshow/js/flexslider_views_slideshow.js?nlmhco

js ulldemolins.cat collected 2026-10-02 21:53:31 UTC 5,526 bytes, 125 lines download raw bytes

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

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.