Changeset 110327 in spip-zone


Ignore:
Timestamp:
May 21, 2018, 6:08:42 AM (3 years ago)
Author:
arnaud.berard@…
Message:

suite a https://contrib.spip.net/Owl-Carousel-2?id_article=4936&id_objet=4936&id_forum=497021#forum497021
ajout de l'option navText dans les modèles et noisettes, en place d'exemple d'utilisation => les chaines de langue étant déjà surchargeables

au passage mise a jour de owl en 2.3.4

+z

Location:
_plugins_/owlcarousel/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/owlcarousel/trunk/javascript/owl.carousel.js

    r106857 r110327  
    11/**
    2  * Owl Carousel v2.2.1
    3  * Copyright 2013-2017 David Deutsch
    4  * Licensed under  ()
     2 * Owl Carousel v2.3.4
     3 * Copyright 2013-2018 David Deutsch
     4 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
    55 */
    66/**
    77 * Owl carousel
    8  * @version 2.1.6
     8 * @version 2.3.4
    99 * @author Bartosz Wojciechowski
    1010 * @author David Deutsch
     
    5858
    5959                /**
    60                  * Currently suppressed events to prevent them from beeing retriggered.
     60                 * Currently suppressed events to prevent them from being retriggered.
    6161                 * @protected
    6262                 */
     
    189189                center: false,
    190190                rewind: false,
     191                checkVisibility: true,
    191192
    192193                mouseDrag: true,
     
    214215
    215216                fallbackEasing: 'swing',
     217                slideTransition: '',
    216218
    217219                info: false,
     
    336338                        repeat /= 2;
    337339
    338                         while (repeat--) {
     340                        while (repeat > 0) {
    339341                                // Switch to only using appended clones
    340342                                clones.push(this.normalize(clones.length / 2, true));
     
    342344                                clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
    343345                                prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
     346                                repeat -= 1;
    344347                        }
    345348
     
    436439                        this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');
    437440
     441                        this.$stage.children('.center').removeClass('center');
    438442                        if (this.settings.center) {
    439                                 this.$stage.children('.center').removeClass('center');
    440443                                this.$stage.children().eq(this.current()).addClass('center');
    441444                        }
    442445                }
    443446        } ];
     447
     448        /**
     449         * Create the stage DOM element
     450         */
     451        Owl.prototype.initializeStage = function() {
     452                this.$stage = this.$element.find('.' + this.settings.stageClass);
     453
     454                // if the stage is already in the DOM, grab it and skip stage initialization
     455                if (this.$stage.length) {
     456                        return;
     457                }
     458
     459                this.$element.addClass(this.options.loadingClass);
     460
     461                // create stage
     462                this.$stage = $('<' + this.settings.stageElement + '>', {
     463                        "class": this.settings.stageClass
     464                }).wrap( $( '<div/>', {
     465                        "class": this.settings.stageOuterClass
     466                }));
     467
     468                // append stage
     469                this.$element.append(this.$stage.parent());
     470        };
     471
     472        /**
     473         * Create item DOM elements
     474         */
     475        Owl.prototype.initializeItems = function() {
     476                var $items = this.$element.find('.owl-item');
     477
     478                // if the items are already in the DOM, grab them and skip item initialization
     479                if ($items.length) {
     480                        this._items = $items.get().map(function(item) {
     481                                return $(item);
     482                        });
     483
     484                        this._mergers = this._items.map(function() {
     485                                return 1;
     486                        });
     487
     488                        this.refresh();
     489
     490                        return;
     491                }
     492
     493                // append content
     494                this.replace(this.$element.children().not(this.$stage.parent()));
     495
     496                // check visibility
     497                if (this.isVisible()) {
     498                        // update view
     499                        this.refresh();
     500                } else {
     501                        // invalidate width
     502                        this.invalidate('width');
     503                }
     504
     505                this.$element
     506                        .removeClass(this.options.loadingClass)
     507                        .addClass(this.options.loadedClass);
     508        };
    444509
    445510        /**
     
    464529                }
    465530
    466                 this.$element.addClass(this.options.loadingClass);
    467 
    468                 // create stage
    469                 this.$stage = $('<' + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>')
    470                         .wrap('<div class="' + this.settings.stageOuterClass + '"/>');
    471 
    472                 // append stage
    473                 this.$element.append(this.$stage.parent());
    474 
    475                 // append content
    476                 this.replace(this.$element.children().not(this.$stage.parent()));
    477 
    478                 // check visibility
    479                 if (this.$element.is(':visible')) {
    480                         // update view
    481                         this.refresh();
    482                 } else {
    483                         // invalidate width
    484                         this.invalidate('width');
    485                 }
    486 
    487                 this.$element
    488                         .removeClass(this.options.loadingClass)
    489                         .addClass(this.options.loadedClass);
     531                this.initializeStage();
     532                this.initializeItems();
    490533
    491534                // register event handlers
     
    494537                this.leave('initializing');
    495538                this.trigger('initialized');
     539        };
     540
     541        /**
     542         * @returns {Boolean} visibility of $element
     543         *                    if you know the carousel will always be visible you can set `checkVisibility` to `false` to
     544         *                    prevent the expensive browser layout forced reflow the $element.is(':visible') does
     545         */
     546        Owl.prototype.isVisible = function() {
     547                return this.settings.checkVisibility
     548                        ? this.$element.is(':visible')
     549                        : true;
    496550        };
    497551
     
    651705                }
    652706
    653                 if (!this.$element.is(':visible')) {
     707                if (!this.isVisible()) {
    654708                        return false;
    655709                }
     
    857911                                        position = index + 1;
    858912                                } else if (this.op(coordinate, '<', value)
    859                                         && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
     913                                        && this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) {
    860914                                        position = direction === 'left' ? index + 1 : index;
    861915                                }
     
    895949                        this.$stage.css({
    896950                                transform: 'translate3d(' + coordinate + 'px,0px,0px)',
    897                                 transition: (this.speed() / 1000) + 's'
     951                                transition: (this.speed() / 1000) + 's' + (
     952                                        this.settings.slideTransition ? ' ' + this.settings.slideTransition : ''
     953                                )
    898954                        });
    899955                } else if (animate) {
     
    10341090                } else if (settings.autoWidth || settings.merge) {
    10351091                        iterator = this._items.length;
    1036                         reciprocalItemsWidth = this._items[--iterator].width();
    1037                         elementWidth = this.$element.width();
    1038                         while (iterator--) {
    1039                                 reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
    1040                                 if (reciprocalItemsWidth > elementWidth) {
    1041                                         break;
     1092                        if (iterator) {
     1093                                reciprocalItemsWidth = this._items[--iterator].width();
     1094                                elementWidth = this.$element.width();
     1095                                while (iterator--) {
     1096                                        reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
     1097                                        if (reciprocalItemsWidth > elementWidth) {
     1098                                                break;
     1099                                        }
    10421100                                }
    10431101                        }
     
    12171275                this.current(position);
    12181276
    1219                 if (this.$element.is(':visible')) {
     1277                if (this.isVisible()) {
    12201278                        this.update();
    12211279                }
     
    14141472                this.$stage.children().contents().unwrap();
    14151473                this.$stage.children().unwrap();
    1416 
     1474                this.$stage.remove();
    14171475                this.$element
    14181476                        .removeClass(this.options.refreshClass)
     
    16991757/**
    17001758 * AutoRefresh Plugin
    1701  * @version 2.1.0
     1759 * @version 2.3.4
    17021760 * @author Artus Kolanowski
    17031761 * @author David Deutsch
     
    17701828                }
    17711829
    1772                 this._visible = this._core.$element.is(':visible');
     1830                this._visible = this._core.isVisible();
    17731831                this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
    17741832        };
     
    17781836         */
    17791837        AutoRefresh.prototype.refresh = function() {
    1780                 if (this._core.$element.is(':visible') === this._visible) {
     1838                if (this._core.isVisible() === this._visible) {
    17811839                        return;
    17821840                }
     
    18111869/**
    18121870 * Lazy Plugin
    1813  * @version 2.1.0
     1871 * @version 2.3.4
    18141872 * @author Bartosz Wojciechowski
    18151873 * @author David Deutsch
     
    18611919                                                clones = this._core.clones().length,
    18621920                                                load = $.proxy(function(i, v) { this.load(v) }, this);
     1921                                        //TODO: Need documentation for this new option
     1922                                        if (settings.lazyLoadEager > 0) {
     1923                                                n += settings.lazyLoadEager;
     1924                                                // If the carousel is looping also preload images that are to the "left"
     1925                                                if (settings.loop) {
     1926              position -= settings.lazyLoadEager;
     1927              n++;
     1928            }
     1929                                        }
    18631930
    18641931                                        while (i++ < n) {
     
    18831950         */
    18841951        Lazy.Defaults = {
    1885                 lazyLoad: false
     1952                lazyLoad: false,
     1953                lazyLoadEager: 0
    18861954        };
    18871955
     
    19011969                $elements.each($.proxy(function(index, element) {
    19021970                        var $element = $(element), image,
    1903                                 url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');
     1971                url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset');
    19041972
    19051973                        this._core.trigger('load', { element: $element, url: url }, 'lazy');
     
    19101978                                        this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
    19111979                                }, this)).attr('src', url);
     1980            } else if ($element.is('source')) {
     1981                $element.one('load.owl.lazy', $.proxy(function() {
     1982                    this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
     1983                }, this)).attr('srcset', url);
    19121984                        } else {
    19131985                                image = new Image();
     
    19472019/**
    19482020 * AutoHeight Plugin
    1949  * @version 2.1.0
     2021 * @version 2.3.4
    19502022 * @author Bartosz Wojciechowski
    19512023 * @author David Deutsch
     
    19672039                this._core = carousel;
    19682040
     2041                this._previousHeight = null;
     2042
    19692043                /**
    19702044                 * All event handlers.
     
    19792053                        }, this),
    19802054                        'changed.owl.carousel': $.proxy(function(e) {
    1981                                 if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
     2055                                if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){
    19822056                                        this.update();
    19832057                                }
     
    19962070                // register event handlers
    19972071                this._core.$element.on(this._handlers);
     2072                this._intervalId = null;
     2073                var refThis = this;
     2074
     2075                // These changes have been taken from a PR by gavrochelegnou proposed in #1575
     2076                // and have been made compatible with the latest jQuery version
     2077                $(window).on('load', function() {
     2078                        if (refThis._core.settings.autoHeight) {
     2079                                refThis.update();
     2080                        }
     2081                });
     2082
     2083                // Autoresize the height of the carousel when window is resized
     2084                // When carousel has images, the height is dependent on the width
     2085                // and should also change on resize
     2086                $(window).resize(function() {
     2087                        if (refThis._core.settings.autoHeight) {
     2088                                if (refThis._intervalId != null) {
     2089                                        clearTimeout(refThis._intervalId);
     2090                                }
     2091
     2092                                refThis._intervalId = setTimeout(function() {
     2093                                        refThis.update();
     2094                                }, 250);
     2095                        }
     2096                });
     2097
    19982098        };
    19992099
     
    20132113                var start = this._core._current,
    20142114                        end = start + this._core.settings.items,
     2115                        lazyLoadEnabled = this._core.settings.lazyLoad,
    20152116                        visible = this._core.$stage.children().toArray().slice(start, end),
    20162117                        heights = [],
     
    20232124                maxheight = Math.max.apply(null, heights);
    20242125
     2126                if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) {
     2127                        maxheight = this._previousHeight;
     2128                }
     2129
     2130                this._previousHeight = maxheight;
     2131
    20252132                this._core.$stage.parent()
    20262133                        .height(maxheight)
     
    20352142                }
    20362143                for (property in Object.getOwnPropertyNames(this)) {
    2037                         typeof this[property] != 'function' && (this[property] = null);
     2144                        typeof this[property] !== 'function' && (this[property] = null);
    20382145                }
    20392146        };
     
    20452152/**
    20462153 * Video Plugin
    2047  * @version 2.1.0
     2154 * @version 2.3.4
    20482155 * @author Bartosz Wojciechowski
    20492156 * @author David Deutsch
     
    21762283                        */
    21772284
    2178                         id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
     2285                        id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
    21792286
    21802287                        if (id[3].indexOf('youtu') > -1) {
     
    22152322                        icon,
    22162323                        path,
    2217                         dimensions = video.width && video.height ? 'style="width:' + video.width + 'px;height:' + video.height + 'px;"' : '',
     2324                        dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '',
    22182325                        customTn = target.find('img'),
    22192326                        srcType = 'src',
     
    22242331
    22252332                                if (settings.lazyLoad) {
    2226                                         tnLink = '<div class="owl-video-tn ' + lazyClass + '" ' + srcType + '="' + path + '"></div>';
     2333                                        tnLink = $('<div/>',{
     2334                                                "class": 'owl-video-tn ' + lazyClass,
     2335                                                "srcType": path
     2336                                        });
    22272337                                } else {
    2228                                         tnLink = '<div class="owl-video-tn" style="opacity:1;background-image:url(' + path + ')"></div>';
     2338                                        tnLink = $( '<div/>', {
     2339                                                "class": "owl-video-tn",
     2340                                                "style": 'opacity:1;background-image:url(' + path + ')'
     2341                                        });
    22292342                                }
    22302343                                target.after(tnLink);
     
    22332346
    22342347                // wrap video content into owl-video-wrapper div
    2235                 target.wrap('<div class="owl-video-wrapper"' + dimensions + '></div>');
     2348                target.wrap( $( '<div/>', {
     2349                        "class": "owl-video-wrapper",
     2350                        "style": dimensions
     2351                }));
    22362352
    22372353                if (this._core.settings.lazyLoad) {
     
    22992415                        width = video.width || '100%',
    23002416                        height = video.height || this._core.$stage.height(),
    2301                         html;
     2417                        html,
     2418                        iframe;
    23022419
    23032420                if (this._playing) {
     
    23122429                this._core.reset(item.index());
    23132430
     2431                html = $( '<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>' );
     2432                html.attr( 'height', height );
     2433                html.attr( 'width', width );
    23142434                if (video.type === 'youtube') {
    2315                         html = '<iframe width="' + width + '" height="' + height + '" src="//www.youtube.com/embed/' +
    2316                                 video.id + '?autoplay=1&rel=0&v=' + video.id + '" frameborder="0" allowfullscreen></iframe>';
     2435                        html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id );
    23172436                } else if (video.type === 'vimeo') {
    2318                         html = '<iframe src="//player.vimeo.com/video/' + video.id +
    2319                                 '?autoplay=1" width="' + width + '" height="' + height +
    2320                                 '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
     2437                        html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' );
    23212438                } else if (video.type === 'vzaar') {
    2322                         html = '<iframe frameborder="0"' + 'height="' + height + '"' + 'width="' + width +
    2323                                 '" allowfullscreen mozallowfullscreen webkitAllowFullScreen ' +
    2324                                 'src="//view.vzaar.com/' + video.id + '/player?autoplay=true"></iframe>';
    2325                 }
    2326 
    2327                 $('<div class="owl-video-frame">' + html + '</div>').insertAfter(item.find('.owl-video'));
     2439                        html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' );
     2440                }
     2441
     2442                iframe = $(html).wrap( '<div class="owl-video-frame" />' ).insertAfter(item.find('.owl-video'));
    23282443
    23292444                this._playing = item.addClass('owl-video-playing');
     
    23652480/**
    23662481 * Animate Plugin
    2367  * @version 2.1.0
     2482 * @version 2.3.4
    23682483 * @author Bartosz Wojciechowski
    23692484 * @author David Deutsch
     
    24872602/**
    24882603 * Autoplay Plugin
    2489  * @version 2.1.0
     2604 * @version 2.3.4
    24902605 * @author Bartosz Wojciechowski
    24912606 * @author Artus Kolanowski
    24922607 * @author David Deutsch
     2608 * @author Tom De Caluwé
    24932609 * @license The MIT License (MIT)
    24942610 */
     
    25092625
    25102626                /**
    2511                  * The autoplay timeout.
    2512                  * @type {Timeout}
    2513                  */
    2514                 this._timeout = null;
     2627                 * The autoplay timeout id.
     2628                 * @type {Number}
     2629                 */
     2630                this._call = null;
     2631
     2632                /**
     2633                 * Depending on the state of the plugin, this variable contains either
     2634                 * the start time of the timer or the current timer value if it's
     2635                 * paused. Since we start in a paused state we initialize the timer
     2636                 * value.
     2637                 * @type {Number}
     2638                 */
     2639                this._time = 0;
     2640
     2641                /**
     2642                 * Stores the timeout currently used.
     2643                 * @type {Number}
     2644                 */
     2645                this._timeout = 0;
    25152646
    25162647                /**
     
    25182649                 * @type {Boolean}
    25192650                 */
    2520                 this._paused = false;
     2651                this._paused = true;
    25212652
    25222653                /**
     
    25332664                                                this.stop();
    25342665                                        }
    2535                                 } else if (e.namespace && e.property.name === 'position') {
    2536                                         //console.log('play?', e);
    2537                                         if (this._core.settings.autoplay) {
    2538                                                 this._setAutoPlayInterval();
    2539                                         }
     2666                                } else if (e.namespace && e.property.name === 'position' && this._paused) {
     2667                                        // Reset the timer. This code is triggered when the position
     2668                                        // of the carousel was changed through user interaction.
     2669                                        this._time = 0;
    25402670                                }
    25412671                        }, this),
     
    25962726
    25972727        /**
     2728         * Transition to the next slide and set a timeout for the next transition.
     2729         * @private
     2730         * @param {Number} [speed] - The animation speed for the animations.
     2731         */
     2732        Autoplay.prototype._next = function(speed) {
     2733                this._call = window.setTimeout(
     2734                        $.proxy(this._next, this, speed),
     2735                        this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()
     2736                );
     2737
     2738                if (this._core.is('interacting') || document.hidden) {
     2739                        return;
     2740                }
     2741                this._core.next(speed || this._core.settings.autoplaySpeed);
     2742        }
     2743
     2744        /**
     2745         * Reads the current timer value when the timer is playing.
     2746         * @public
     2747         */
     2748        Autoplay.prototype.read = function() {
     2749                return new Date().getTime() - this._time;
     2750        };
     2751
     2752        /**
    25982753         * Starts the autoplay.
    25992754         * @public
     
    26022757         */
    26032758        Autoplay.prototype.play = function(timeout, speed) {
    2604                 this._paused = false;
    2605 
     2759                var elapsed;
     2760
     2761                if (!this._core.is('rotating')) {
     2762                        this._core.enter('rotating');
     2763                }
     2764
     2765                timeout = timeout || this._core.settings.autoplayTimeout;
     2766
     2767                // Calculate the elapsed time since the last transition. If the carousel
     2768                // wasn't playing this calculation will yield zero.
     2769                elapsed = Math.min(this._time % (this._timeout || timeout), timeout);
     2770
     2771                if (this._paused) {
     2772                        // Start the clock.
     2773                        this._time = this.read();
     2774                        this._paused = false;
     2775                } else {
     2776                        // Clear the active timeout to allow replacement.
     2777                        window.clearTimeout(this._call);
     2778                }
     2779
     2780                // Adjust the origin of the timer to match the new timeout value.
     2781                this._time += this.read() % timeout - elapsed;
     2782
     2783                this._timeout = timeout;
     2784                this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed);
     2785        };
     2786
     2787        /**
     2788         * Stops the autoplay.
     2789         * @public
     2790         */
     2791        Autoplay.prototype.stop = function() {
    26062792                if (this._core.is('rotating')) {
    2607                         return;
    2608                 }
    2609 
    2610                 this._core.enter('rotating');
    2611 
    2612                 this._setAutoPlayInterval();
    2613         };
    2614 
    2615         /**
    2616          * Gets a new timeout
    2617          * @private
    2618          * @param {Number} [timeout] - The interval before the next animation starts.
    2619          * @param {Number} [speed] - The animation speed for the animations.
    2620          * @return {Timeout}
    2621          */
    2622         Autoplay.prototype._getNextTimeout = function(timeout, speed) {
    2623                 if ( this._timeout ) {
    2624                         window.clearTimeout(this._timeout);
    2625                 }
    2626                 return window.setTimeout($.proxy(function() {
    2627                         if (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {
    2628                                 return;
    2629                         }
    2630                         this._core.next(speed || this._core.settings.autoplaySpeed);
    2631                 }, this), timeout || this._core.settings.autoplayTimeout);
    2632         };
    2633 
    2634         /**
    2635          * Sets autoplay in motion.
    2636          * @private
    2637          */
    2638         Autoplay.prototype._setAutoPlayInterval = function() {
    2639                 this._timeout = this._getNextTimeout();
    2640         };
    2641 
    2642         /**
    2643          * Stops the autoplay.
    2644          * @public
    2645          */
    2646         Autoplay.prototype.stop = function() {
    2647                 if (!this._core.is('rotating')) {
    2648                         return;
    2649                 }
    2650 
    2651                 window.clearTimeout(this._timeout);
    2652                 this._core.leave('rotating');
    2653         };
    2654 
    2655         /**
    2656          * Stops the autoplay.
     2793                        // Reset the clock.
     2794                        this._time = 0;
     2795                        this._paused = true;
     2796
     2797                        window.clearTimeout(this._call);
     2798                        this._core.leave('rotating');
     2799                }
     2800        };
     2801
     2802        /**
     2803         * Pauses the autoplay.
    26572804         * @public
    26582805         */
    26592806        Autoplay.prototype.pause = function() {
    2660                 if (!this._core.is('rotating')) {
    2661                         return;
    2662                 }
    2663 
    2664                 this._paused = true;
     2807                if (this._core.is('rotating') && !this._paused) {
     2808                        // Pause the clock.
     2809                        this._time = this.read();
     2810                        this._paused = true;
     2811
     2812                        window.clearTimeout(this._call);
     2813                }
    26652814        };
    26662815
     
    26872836/**
    26882837 * Navigation Plugin
    2689  * @version 2.1.0
     2838 * @version 2.3.4
    26902839 * @author Artus Kolanowski
    26912840 * @author David Deutsch
     
    28142963        Navigation.Defaults = {
    28152964                nav: false,
    2816                 navText: [ 'prev', 'next' ],
     2965                navText: [
     2966                        '<span aria-label="' + 'Previous' + '">&#x2039;</span>',
     2967                        '<span aria-label="' + 'Next' + '">&#x203a;</span>'
     2968                ],
    28172969                navSpeed: false,
    2818                 navElement: 'div',
     2970                navElement: 'button type="button" role="presentation"',
    28192971                navContainer: false,
    28202972                navContainerClass: 'owl-nav',
    2821                 navClass: [ 'owl-prev', 'owl-next' ],
     2973                navClass: [
     2974                        'owl-prev',
     2975                        'owl-next'
     2976                ],
    28222977                slideBy: 1,
    28232978                dotClass: 'owl-dot',
     
    28593014                // create DOM structure for absolute navigation
    28603015                if (!settings.dotsData) {
    2861                         this._templates = [ $('<div>')
     3016                        this._templates = [ $('<button role="button">')
    28623017                                .addClass(settings.dotClass)
    28633018                                .append($('<span>'))
     
    28683023                        : $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
    28693024
    2870                 this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
     3025                this._controls.$absolute.on('click', 'button', $.proxy(function(e) {
    28713026                        var index = $(e.target).parent().is(this._controls.$absolute)
    28723027                                ? $(e.target).index() : $(e.target).parent().index();
     
    28763031                        this.to(index, settings.dotsSpeed);
    28773032                }, this));
     3033
     3034                /*$el.on('focusin', function() {
     3035                        $(document).off(".carousel");
     3036
     3037                        $(document).on('keydown.carousel', function(e) {
     3038                                if(e.keyCode == 37) {
     3039                                        $el.trigger('prev.owl')
     3040                                }
     3041                                if(e.keyCode == 39) {
     3042                                        $el.trigger('next.owl')
     3043                                }
     3044                        });
     3045                });*/
    28783046
    28793047                // override public methods of the carousel
     
    28883056         */
    28893057        Navigation.prototype.destroy = function() {
    2890                 var handler, control, property, override;
     3058                var handler, control, property, override, settings;
     3059                settings = this._core.settings;
    28913060
    28923061                for (handler in this._handlers) {
     
    28943063                }
    28953064                for (control in this._controls) {
    2896                         this._controls[control].remove();
     3065                        if (control === '$relative' && settings.navContainer) {
     3066                                this._controls[control].html('');
     3067                        } else {
     3068                                this._controls[control].remove();
     3069                        }
    28973070                }
    28983071                for (override in this.overides) {
     
    30703243/**
    30713244 * Hash Plugin
    3072  * @version 2.1.0
     3245 * @version 2.3.4
    30733246 * @author Artus Kolanowski
    30743247 * @author David Deutsch
     
    31943367 * Support Plugin
    31953368 *
    3196  * @version 2.1.0
     3369 * @version 2.3.4
    31973370 * @author Vivid Planet Software GmbH
    31983371 * @author Artus Kolanowski
  • _plugins_/owlcarousel/trunk/lang/owlcarousel_fr.php

    r104551 r110327  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    5  
     5
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    77
     
    1515
    1616        'cfg_titre_parametrages' => 'Configurer OwlCarousel',
    17        
     17
    1818        // P
    1919        'prec'=>'précédent',
    2020        'suiv'=>'suivant',
    2121        // T
    22     'titre_menu' => 'Owl Carousel',
     22  'titre_menu' => 'Owl Carousel',
    2323        'titre_page_configurer_owlcarousel' => 'configurer_owlcarousel',
    2424);
  • _plugins_/owlcarousel/trunk/modeles/article_owl.html

    r108907 r110327  
    6767        URLhashListener:(#ENV{URLhashListener}),
    6868        startPosition: 'URLHash',]
     69        navText : ["<:owlcarousel:prec:>","<:owlcarousel:suiv:>"],
    6970        responsive:{
    7071                0:{
  • _plugins_/owlcarousel/trunk/noisettes/owl-video-player.html

    r109198 r110327  
    9797                                },
    9898        URLhashListener:true,
    99         startPosition: 'URLHash'
     99        startPosition: 'URLHash',
     100        navText: ["<:owlcarousel:prec:>","<:owlcarousel:suiv:>"]
    100101    });
    101102
  • _plugins_/owlcarousel/trunk/noisettes/owlcarousel-objet-portfolio.html

    r109067 r110327  
    7474[(#REM)<!-- Visuel Grand -->]
    7575<div id="[(#GET{id-carousel})]" class="owl-carousel owl-theme">
    76     <BOUCLE_listDocs(DOCUMENTS spip_documents_liens){objet=#ENV{objet}}{id_objet=#ENV{id_objet}}{mode=document}{extension==jpg|png|gif}>
     76    <BOUCLE_listDocs(DOCUMENTS spip_documents_liens){objet ?}{id_objet ?}
     77                                                  {par rang_lien,num titre, date}
     78                                                  {mode=document}{extension==jpg|png|gif}>
    7779    <div class="owl-slide" data-hash="[(#GET{id-carousel})]_#ID_DOCUMENT">
    7880        [(#ENV{caption,oui}|=={oui}|oui)
     
    8890<div class="diapo_vignettes">
    8991    <ul id="list-thumbnails" class="diapo_thumbnails owl-carousel">
    90     <BOUCLE_docs(DOCUMENTS spip_documents_liens){objet=#ENV{objet}}{id_objet=#ENV{id_objet}}{mode=document}{extension==jpg|png|gif}>
     92    <BOUCLE_docs(DOCUMENTS spip_documents_liens){objet ?}{id_objet ?}
     93                                  {par rang_lien,num titre, date}
     94                                  {mode=document}{extension==jpg|png|gif}>
    9195        [<li class="owl-slide">
    9296            <a class="diapo_thumbnail[ (#ENV{doc}|=={#ID_DOCUMENT}|oui)active]"
     
    109113        items: 1,
    110114        dots: true,[
     115        autoHeight:(#ENV{autoHeight, false}),][
    111116        nav:(#ENV{navigation, false}),][
    112117        autoplay: (#ENV{autoplay}),][
     
    115120        animateIn:'(#ENV{animateIn})',][
    116121        animateOut:'(#ENV{animateOut})',]
     122        navText : ["<:owlcarousel:suiv:>","<:owlcarousel:suiv:>"],
    117123        responsive:{
    118124                                        0:{
  • _plugins_/owlcarousel/trunk/paquet.xml

    r109153 r110327  
    22        prefix="owlcarousel"
    33        categorie="multimedia"
    4         version="1.0.9"
     4        version="1.0.10"
    55        schema="0.0.1"
    66        etat="test"
Note: See TracChangeset for help on using the changeset viewer.