1(function ($) { 2 "use strict"; 3 4 $(document).ready(function () { 5 bp_grid_isotope(); 6 slide_slick_gallery(); 7 popup_video(); 8 }); 9 10 /** 11 * grid_isotope 12 */ 13 var bp_grid_isotope = function() { 14 if ( $().isotope ) { 15 $('.grid-isotope').isotope({ 16 // set itemSelector so .grid-sizer is not used in layout 17 itemSelector: '.grid-item', 18 percentPosition: true, 19 masonry: { 20 // use element for option 21 columnWidth: '.grid-sizer' 22 } 23 }) 24 } 25 }; 26 27 /** 28 * Slide slick col. 29 */ 30 var slide_slick_gallery = function() { 31 $('.js-call-slick-gallery').each(function(){ 32 var data = [ 33 ['responsive', 'array'], 34 ['customdot', 'bool'], 35 ['numofshow', 'number'], 36 ['numofscroll', 'number'], 37 ['fade', 'bool'], 38 ['loopslide', 'bool'], 39 ['autoscroll', 'bool'], 40 ['speedauto', 'number'], 41 ['verticalslide', 'bool'], 42 ['verticalswipe', 'bool'], 43 ['rtl', 'bool'], 44 ['navfor', 'string'], 45 ['animate', 'bool'], 46 ['middlearrow', 'string'] 47 ] 48 49 var parameter = { 50 responsive: [[1, 1], [1, 1], [1, 1], [1, 1], [1, 1]], 51 customdot: false, 52 numofshow: 1, 53 numofscroll: 1, 54 fade: false, 55 loopslide: false, 56 autoscroll: false, 57 speedauto: 5000, 58 verticalslide: false, 59 verticalswipe: false, 60 rtl: false, 61 navfor: '', 62 animate: false, 63 middlearrow: null 64 } 65 66 var showDot = false; 67 var showArrow = false; 68 var wrapSlick = $(this); 69 var slideSlick = $(this).find('.slide-slick'); 70 var itemSlick = $(slideSlick).find('.item-slick'); 71 var layerSlick = $(slideSlick).find('[data-appear]'); 72 var actionSlick = []; 73 74 // Check show dot, arrows 75 if($(wrapSlick).find('.wrap-dot-slick').length > 0) { 76 showDot = true; 77 } 78 79 if($(wrapSlick).find('.wrap-arrow-slick').length > 0) { 80 showArrow = true; 81 } 82 83 // Get data 84 for(var i=0; i<data.length; i++) { 85 var value = $(this).data(data[i][0]); 86 87 if (value != null) { 88 if(data[i][1] === 'bool') { 89 if(value === '1' || value === 1) { 90 parameter[data[i][0]] = true; 91 } else { 92 parameter[data[i][0]] = false; 93 } 94 } 95 else if(data[i][1] === 'number') { 96 parameter[data[i][0]] = Number(value); 97 } 98 else if(data[i][1] === 'string') { 99 parameter[data[i][0]] = value; 100 } 101 else if(data[i][1] === 'array') { 102 var strArray = value.match(/(\d+)/g); 103 parameter[data[i][0]] = [ 104 [Number(strArray[0]), Number(strArray[1])], 105 [Number(strArray[2]), Number(strArray[3])], 106 [Number(strArray[4]), Number(strArray[5])], 107 [Number(strArray[6]), Number(strArray[7])], 108 [Number(strArray[8]), Number(strArray[9])] 109 ] 110 } 111 } 112 } 113 114 // Call slick 115 if(parameter.animate) { 116 $(layerSlick).addClass('animated').css('visibility', 'hidden'); 117 118 $(slideSlick).on('init', function(){ 119 showLayer(0); 120 }); 121 } 122 123 $(slideSlick).slick({ 124 asNavFor: parameter.navfor, 125 rtl: parameter.rtl, 126 vertical: parameter.verticalslide, 127 verticalSwiping: parameter.verticalswipe, 128 pauseOnFocus: false, 129 pauseOnHover: true, 130 slidesToShow: parameter.numofshow, 131 slidesToScroll: parameter.numofscroll, 132 fade: parameter.fade, 133 infinite: parameter.loopslide, 134 autoplay: parameter.autoscroll, 135 autoplaySpeed: parameter.speedauto, 136 arrows: showArrow, 137 appendArrows: $(wrapSlick).find('.wrap-arrow-slick'), 138 prevArrow: $(wrapSlick).find('.prev-slick'), 139 nextArrow: $(wrapSlick).find('.next-slick'), 140 dots: showDot, 141 appendDots: $(wrapSlick).find('.wrap-dot-slick'), 142 dotsClass:'dots-slick', 143 customPaging: function(slick, index) { 144 var portrait = $(slick.$slides[index]).data('thumb'); 145 146 if(parameter.customdot) return '<img src=" ' + portrait + ' "/>'; 147 148 return '<span></span>' 149 }, 150 responsive: [ 151 { 152 breakpoint: 1368, 153 settings: { 154 slidesToShow: parameter.responsive[0][0], 155 slidesToScroll: parameter.responsive[0][1] 156 } 157 }, 158 { 159 breakpoint: 1199, 160 settings: { 161 slidesToShow: parameter.responsive[1][0], 162 slidesToScroll: parameter.responsive[1][1] 163 } 164 }, 165 { 166 breakpoint: 991, 167 settings: { 168 slidesToShow: parameter.responsive[2][0], 169 slidesToScroll: parameter.responsive[2][1] 170 } 171 }, 172 { 173 breakpoint: 767, 174 settings: { 175 slidesToShow: parameter.responsive[3][0], 176 slidesToScroll: parameter.responsive[3][1] 177 } 178 }, 179 { 180 breakpoint: 575, 181 settings: { 182 slidesToShow: parameter.responsive[4][0], 183 slidesToScroll: parameter.responsive[4][1] 184 } 185 } 186 ] 187 }) 188 .on('setPosition', function(event, slick){ 189 // Equal height 190 if($(this).parent().data('equalheight') === '1' || $(this).parent().data('equalheight') === 1) { 191 var maxHeight = 0;
192 var $items = $(this).find('.item-slick'); 193 194 $items.each(function(){ 195 if($(this).outerHeight() > maxHeight) { 196 maxHeight = $(this).outerHeight(); 197 } 198 }) 199 200 $items.css('min-height', maxHeight); 201 } 202 203 // Middle Arrow 204 if(parameter.middlearrow != null) { 205 var $wrapArrows = $(wrapSlick).find('.wrap-arrow-slick'); 206 var middleOf = $(wrapSlick).find(parameter.middlearrow).outerHeight(); 207 208 $wrapArrows.css('height', middleOf + 'px'); 209 } 210 }); 211 212 // Animate 213 if(parameter.animate) { 214 $(slideSlick).on('afterChange', function(event, slick, currentSlide){ 215 showLayer(currentSlide); 216 }); 217 } 218 219 function showLayer(currentSlide) { 220 var layerCurrentItem = $(itemSlick[currentSlide]).find('[data-appear]'); 221 222 for(var i=0; i<actionSlick.length; i++) { 223 clearTimeout(actionSlick[i]); 224 } 225 226 $(layerSlick).each(function(){ 227 $(this).removeClass($(this).data('appear')).css('visibility', 'hidden'); 228 }) 229 230 231 for(var i=0; i<layerCurrentItem.length; i++) { 232 actionSlick[i] = setTimeout(function(index) { 233 $(layerCurrentItem[index]).addClass($(layerCurrentItem[index]).data('appear')).css('visibility', 'visible'); 234 },$(layerCurrentItem[i]).data('delay'),i); 235 } 236 }; 237 }); 238 }; 239 240 /** 241 * Magnic popup 242 */ 243 var popup_video = function () { 244 $('.bp-element-posts .btn-play-blog').magnificPopup({ 245 type: 'inline', 246 fixedContentPos: false, 247 removalDelay: 500, //delay removal by X to allow out-animation 248 midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source. 249 }); 250 }; 251 252})(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.