1// 2// slick.js 3// Theme module 4// 5'use strict'; 6 7( function( $ ) { 8 9 // 10 // Variables 11 // 12 var toggle = $( '[data-toggle="slick"]' ); 13 14 15 // 16 // Functions 17 // 18 function init( toggle ) { 19 20 toggle.each( function ( index, el ) { 21 22 var $el = $( el ), 23 userOptions = $el.data(), 24 options; 25 26 // Remove le data attr toggle from the options array 27 delete userOptions.toggle 28 29 30 var breakpoints = { 31 xs: 576, 32 sm: 768, 33 md: 992, 34 lg: 1200, 35 } 36 37 var defaultOptions = { 38 accessibility: true, 39 infinite: true, 40 slidesToShow: 3, 41 dots: true, 42 arrows: true, 43 // adaptiveHeight: true, 44 // mobileFirst: true, 45 responsive: [], 46 prevArrow: '<button class="btn slick-prev" type="button"><span class="sr-only">Précédent</span></button>', 47 nextArrow: '<button class="btn slick-next" type="button"><span class="sr-only">Suivant</span></button>', 48 } 49 50 $.each( userOptions, function( index, val ) { 51 52 if ( [ 'xs', 'sm', 'md', 'lg', 'xl' ].indexOf( index.substring( 0, 2 ) ) !== -1 ) { 53 var bk = index.substring( 0, 2 ), 54 bkOption = index.substring( 2 ).charAt( 0 ).toLowerCase() + index.substring( 2 ).slice( 1 ), 55 exists = false 56 57 if ( bkOption == '' ) { 58 59 var bkOptions = { 60 breakpoint: breakpoints[ bk ], 61 settings: val 62 } 63 64 defaultOptions.responsive.push( bkOptions ) 65 66 } else { 67 for ( var i = defaultOptions.responsive.length - 1; i >= 0; i-- ) { 68 if ( defaultOptions.responsive[ i ].breakpoint == breakpoints[ bk ] ) { 69 defaultOptions.responsive[ i ].settings[ bkOption ] = val 70 exists = true 71 break; 72 } 73 } 74 75 if ( ! exists ) { 76 var bkOptions = { 77 breakpoint: breakpoints[ bk ], 78 settings: {} 79 } 80 81 bkOptions.settings[ bkOption ] = val 82 83 defaultOptions.responsive.push( bkOptions ) 84 } 85 } 86 87 } else { 88 defaultOptions[ index ] = userOptions[ index ]; 89 } 90 91 }); 92 options = defaultOptions; 93 94 var $slick = false; 95 96 // If in boostrap modal, refresh map on display 97 if ( $el.parents( '.modal' ).length ) { 98 $el.parents( '.modal' ).on( 'shown.bs.modal', function () { 99 if ( ! $slick ) { 100 $slick = $el.slick( options ); 101 } 102 }); 103 104 // If in boostrap tab, refresh map on display 105 } else if ( $el.parents( '.tab-pane' ).length ) { 106 var trigger_id = $el.parents( '.tab-pane' ).attr( 'id' ); 107 if ( $( '#' + trigger_id ).hasClass( 'active' ) ) { 108 $slick = $el.slick( options ); 109 } else { 110 $( '[href="#' + trigger_id + '"], [data-target="#' + trigger_id + '"]' ).on( 'shown.bs.tab', function () { 111 if ( ! $slick ) { 112 $slick = $el.slick( options ); 113 } 114 }); 115 } 116 117 // If in collapse modal, refresh map on display 118 } else if ( $el.parents( '.collapse' ).length ) { 119 if ( $el.parents( '.collapse' ).hasClass( 'in' ) ) { 120 $slick = $el.slick( options ); 121 } else { 122 $el.parents( '.collapse' ).on( 'shown.bs.collapse', function () { 123 if ( ! $slick ) { 124 $slick = $el.slick( options ); 125 } 126 }); 127 } 128 129 } else { 130 $slick = $el.slick( options ); 131 } 132 133 // Check if is enough items to show nav (dots, arrows) on slider 134 if ( $slick !== false ) { 135 $slick.on('setPosition', function ( event, slick ) { 136 137 if ( slick.activeBreakpoint !== null ) { 138 if ( slick.breakpointSettings[ slick.activeBreakpoint ].slidesToShow != undefined && 139 slick.slideCount <= slick.breakpointSettings[ slick.activeBreakpoint ].slidesToShow ) { 140 slick.$slider.addClass( 'slick-no-nav' ); 141 } else { 142 slick.$slider.removeClass( 'slick-no-nav' ); 143 } 144 145 } else { 146 if ( slick.slideCount <= slick.options.slidesToShow ) { 147 slick.$slider.addClass( 'slick-no-nav' ); 148 } else { 149 slick.$slider.removeClass( 'slick-no-nav' ); 150 } 151 } 152 }) 153 } 154 155 } ); 156 157 } 158 159 160 // 161 // Events 162 // 163 if ( typeof $.fn.slick !== 'undefined' && toggle ) { 164 init( toggle ); 165 } 166 167} )( 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.