1(function ($) { 2 "use strict"; 3 4 $(document).ready(function () { 5 slide_slick_col(); 6 }); 7 8 /** 9 * Slide slick col. 10 */ 11 var slide_slick_col = function() { 12 $('.js-call-slick-images').each(function(){ 13 var data = [ 14 ['responsive', 'array'], 15 ['customdot', 'bool'], 16 ['numofshow', 'number'], 17 ['numofscroll', 'number'], 18 ['fade', 'bool'], 19 ['loopslide', 'bool'], 20 ['autoscroll', 'bool'], 21 ['speedauto', 'number'], 22 ['verticalslide', 'bool'], 23 ['verticalswipe', 'bool'], 24 ['rtl', 'bool'], 25 ['navfor', 'string'], 26 ['animate', 'bool'], 27 ['middlearrow', 'string'], 28 ['numofrows', 'number'], 29 ['slidesperrow', 'number'], 30 ['speedslide', 'number'], 31 ['modecenter', 'bool'], 32 ['paddingcenter', 'string'] 33 ] 34 35 var parameter = { 36 responsive: [[1, 1], [1, 1], [1, 1], [1, 1], [1, 1]], 37 customdot: false, 38 numofshow: 1, 39 numofscroll: 1, 40 fade: false, 41 loopslide: false, 42 autoscroll: false, 43 speedauto: 5000, 44 verticalslide: false, 45 verticalswipe: false, 46 rtl: false, 47 navfor: '', 48 animate: false, 49 middlearrow: null, 50 numofrows: 1, 51 slidesperrow: 1, 52 speedslide: 500, 53 modecenter: false, 54 paddingcenter: '50px' 55 } 56 57 var showDot = false; 58 var showArrow = false; 59 var wrapSlick = $(this); 60 var slideSlick = $(this).find('.slide-slick'); 61 var itemSlick = $(slideSlick).find('.item-slick'); 62 var layerSlick = $(slideSlick).find('[data-appear]'); 63 var actionSlick = []; 64 65 // Check show dot, arrows 66 if($(wrapSlick).find('.wrap-dot-slick').length > 0) { 67 showDot = true; 68 } 69 70 if($(wrapSlick).find('.wrap-arrow-slick').length > 0) { 71 showArrow = true; 72 } 73 74 // Get data 75 for(var i=0; i<data.length; i++) { 76 var value = $(this).data(data[i][0]); 77 78 if (value != null) { 79 if(data[i][1] === 'bool') { 80 if(value === '1' || value === 1) { 81 parameter[data[i][0]] = true; 82 } else { 83 parameter[data[i][0]] = false; 84 } 85 } 86 else if(data[i][1] === 'number') { 87 parameter[data[i][0]] = Number(value); 88 } 89 else if(data[i][1] === 'string') { 90 parameter[data[i][0]] = value; 91 } 92 else if(data[i][1] === 'array') { 93 var strArray = value.match(/(\d+)/g); 94 parameter[data[i][0]] = [ 95 [Number(strArray[0]), Number(strArray[1])], 96 [Number(strArray[2]), Number(strArray[3])], 97 [Number(strArray[4]), Number(strArray[5])], 98 [Number(strArray[6]), Number(strArray[7])], 99 [Number(strArray[8]), Number(strArray[9])] 100 ] 101 } 102 } 103 } 104 105 // Init Animate 106 if(parameter.animate) { 107 $(layerSlick).addClass('animated').css('visibility', 'hidden'); 108 109 $(slideSlick).on('init', function(){ 110 showLayer(0); 111 }); 112 } 113 114 //Init Show dot process 115 if($(wrapSlick).hasClass('dot-has-process')) { 116 $(slideSlick).on('init', function(){ 117 $(wrapSlick).find('.wrap-dot-slick .dots-slick li').removeClass('process-dot'); 118 $(wrapSlick).find('.wrap-dot-slick .dots-slick li.slick-active').addClass('process-dot'); 119 }); 120 } 121 122 // Call slick 123 $(slideSlick).slick({ 124 centerMode: parameter.modecenter, 125 centerPadding: parameter.paddingcenter, 126 speed: parameter.speedslide, 127 asNavFor: parameter.navfor, 128 rtl: parameter.rtl, 129 vertical: parameter.verticalslide, 130 verticalSwiping: parameter.verticalswipe, 131 pauseOnFocus: false, 132 pauseOnHover: true, 133 slidesToShow: parameter.numofshow, 134 slidesToScroll: parameter.numofscroll, 135 fade: parameter.fade, 136 infinite: parameter.loopslide, 137 autoplay: parameter.autoscroll, 138 autoplaySpeed: parameter.speedauto, 139 rows: parameter.numofrows, 140 slidesPerRow: parameter.slidesperrow, 141 arrows: showArrow, 142 appendArrows: $(wrapSlick).find('.wrap-arrow-slick'), 143 prevArrow: $(wrapSlick).find('.prev-slick'), 144 nextArrow: $(wrapSlick).find('.next-slick'), 145 dots: showDot, 146 appendDots: $(wrapSlick).find('.wrap-dot-slick'), 147 dotsClass:'dots-slick', 148 customPaging: function(slick, index) { 149 var portrait = $(slick.$slides[index]).data('thumb'); 150 151 if(parameter.customdot) return portrait + ''; 152 153 return '<span></span>' 154 }, 155 responsive: [ 156 { 157 breakpoint: 1368, 158 settings: { 159 slidesToShow: parameter.responsive[0][0], 160 slidesToScroll: parameter.responsive[0][1] 161 } 162 }, 163 { 164 breakpoint: 1199, 165 settings: { 166 slidesToShow: parameter.responsive[1][0], 167 slidesToScroll: parameter.responsive[1][1] 168 } 169 }, 170 { 171 breakpoint: 991, 172 settings: { 173 slidesToShow: parameter.responsive[2][0], 174 slidesToScroll: parameter.responsive[2][1] 175 } 176 }, 177 { 178 breakpoint: 767, 179 settings: { 180 slidesToShow: parameter.responsive[3][0], 181 slidesToScroll: parameter.responsive[3][1] 182 } 183 }, 184 { 185 breakpoint: 575, 186 settings: { 187 slidesToShow: parameter.responsive[4][0], 188 slidesToScroll: parameter.responsive[4][1] 189 } 190 } 191 ] 192 }) 193 .on('setPosition', function(event, slick){ 194 // Equal height 195 if($(this).parent().data('equalheight') === '1' || $(this).parent().data('equalheight') === 1) { 196 var maxHeight = 0;
197 var $items = $(this).find('.item-slick'); 198 199 $items.each(function(){ 200 if($(this).outerHeight() > maxHeight) { 201 maxHeight = $(this).outerHeight(); 202 } 203 }) 204 205 $items.css('min-height', maxHeight); 206 } 207 208 // Middle Arrow 209 if(parameter.middlearrow != null) { 210 var $wrapArrows = $(wrapSlick).find('.wrap-arrow-slick'); 211 var middleOf = $(wrapSlick).find(parameter.middlearrow).outerHeight(); 212 213 $wrapArrows.css('height', middleOf + 'px'); 214 } 215 }); 216 217 // Animate 218 if(parameter.animate) { 219 $(slideSlick).on('afterChange', function(event, slick, currentSlide){ 220 showLayer(currentSlide); 221 }); 222 } 223 224 function showLayer(currentSlide) { 225 var layerCurrentItem = $(itemSlick[currentSlide]).find('[data-appear]'); 226 227 for(var i=0; i<actionSlick.length; i++) { 228 clearTimeout(actionSlick[i]); 229 } 230 231 $(layerSlick).each(function(){ 232 $(this).removeClass($(this).data('appear')).css('visibility', 'hidden'); 233 }) 234 235 236 for(var i=0; i<layerCurrentItem.length; i++) { 237 actionSlick[i] = setTimeout(function(index) { 238 $(layerCurrentItem[index]).addClass($(layerCurrentItem[index]).data('appear')).css('visibility', 'visible'); 239 },$(layerCurrentItem[i]).data('delay'),i); 240 } 241 }; 242 243 //Show dot number 244 if($(wrapSlick).hasClass('show-dot-number')) { 245 var $wrapDotNumber = $(wrapSlick).find('.wrap-dot-slick'); 246 var $dotItem = $wrapDotNumber.find('.dots-slick > li'); 247 248 $wrapDotNumber.append('<span class="num-active">0</span><span class="div-num">/</span><span class="num-total">0</span>'); 249 250 var $numActive = $wrapDotNumber.find('.num-active'); 251 var $numTotal = $wrapDotNumber.find('.num-total'); 252 253 $(slideSlick).on('setPosition', function(event, slick, currentSlide){ 254 $dotItem = $wrapDotNumber.find('.dots-slick > li'); 255 $dotItem.length < 10 ? $numTotal.html('0' + $dotItem.length + '') : $numTotal.html($dotItem.length + ''); 256 }); 257 258 $(slideSlick).on('afterChange setPosition', function(event, slick, currentSlide){ 259 for(var i=0; i<$dotItem.length; i++) { 260 if($($dotItem[i]).hasClass('slick-active')) { 261 (i + 1) < 10 ? $numActive.html('0' + (i + 1) + '') : $numActive.html(i + 1 + ''); 262 break; 263 } 264 } 265 }); 266 } 267 268 //Show dot process 269 if($(wrapSlick).hasClass('dot-has-process')) { 270 $(slideSlick).on('afterChange breakpoint', function(){ 271 $(wrapSlick).find('.wrap-dot-slick .dots-slick li').removeClass('process-dot'); 272 $(wrapSlick).find('.wrap-dot-slick .dots-slick li.slick-active').addClass('process-dot'); 273 }); 274 } 275 }); 276 }; 277 278})(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.