1(function( $ ) { 2 'use strict'; 3 4 /** 5 * Check if Divi Visual Builder is loaded 6 * 7 * @returns {boolean} 8 */ 9 function isFrontBuilder() { 10 if ($('.et-fb').length > 0) 11 return true; 12 return false; 13 } 14 15 /** 16 * Quick Delay, so actions can override some Divi stuff 17 */ 18 var waitForFinalEvent = (function () { 19 var timers = {}; 20 return function (callback, ms, uniqueId) { 21 if (!uniqueId) { 22 uniqueId = "Don't call this twice without a uniqueId"; 23 } 24 if (timers[uniqueId]) { 25 clearTimeout (timers[uniqueId]); 26 } 27 timers[uniqueId] = setTimeout(callback, ms); 28 }; 29 })(); 30 31 32 /** 33 * ONLOAD Launcher 34 */ 35 // $(document).ready(function () { 36 $(window).bind("load", function () { 37 waitForFinalEvent(function () { 38 if(false==isFrontBuilder()) 39 masonry_setup($('.acme_grid')); 40 if($('.acme_carousel').length > 0) { 41 var $et_pb_fullwidth_portfolio = $('.acme_carousel'); 42 $et_pb_fullwidth_portfolio.each(function () { 43 var set_container_height = $(this).hasClass('et_pb_fullwidth_portfolio_carousel') ? true : false; 44 if ( set_container_height ) { 45 set_fullwidth_portfolio_columns ( $ ( this ), set_container_height ); 46 } 47 $('.et_pb_fullwidth_portfolio' ).attr('style',''); 48 }); 49 } 50 Â Â Â }, 800, 'callbackID'); 51 }); 52 53 /** 54 * ON WINDOW RESIZE Launcher 55 */ 56 $(window).resize(function () { 57 waitForFinalEvent(function () { 58 if(false==isFrontBuilder()) 59 masonry_setup($('.acme_grid')); 60 if($('.acme_carousel').length > 0) { 61 var $et_pb_fullwidth_portfolio = $('.acme_carousel'); 62 $et_pb_fullwidth_portfolio.each(function () { 63 var set_container_height = $(this).hasClass('et_pb_fullwidth_portfolio_carousel') ? true : false; 64 if ( set_container_height ) { 65 set_fullwidth_portfolio_columns ( $ ( this ), set_container_height ); 66 } 67 $('.et_pb_fullwidth_portfolio' ).attr('style',''); 68 }); 69 } 70 }, 40, 'callbackID'); 71 }); 72 73 74 75 /***************************** 76 * MASONRY ******************* 77 ****************************/ 78 79 80 /** 81 * Setup Mansonry Display Settings 82 **/ 83 var MasonryOptions = { 84 // options 85 itemSelector: '.acme_grid-item', 86 columnWidth: '.acme_grid_sizer', 87 percentPosition: true, 88 fitWidth: true, 89 initLayout: true, 90 resize: true 91 }; 92 93 /** 94 * Setup column width for responsive design 95 **/ 96 function masonry_colums_calc(obj){ 97 var columns; 98 var defaults_columns = [1, 1, 1, 1, 1]; 99 var masonry_columns = obj.attr('data-acme-columns'); 100 var myWidth=obj.width(); 101 var my_columns = masonry_columns.split(','); 102 // calculate column breakpoints 103 if (myWidth >= 1600) { 104 columns = my_columns[0] ? parseInt(my_columns[0]) : defaults_columns[0]; 105 } else if (myWidth >= 1024) { 106 columns = my_columns[1] ? parseInt(my_columns[1]) : defaults_columns[1]; 107 } else if (myWidth >= 768) { 108 columns = my_columns[2] ? parseInt(my_columns[2]) : defaults_columns[2]; 109 } else if (myWidth >= 480) { 110 columns = my_columns[3] ? parseInt(my_columns[3]) : defaults_columns[3]; 111 } else { 112 columns = my_columns[4] ? parseInt(my_columns[4]) : defaults_columns[4]; 113 } 114 var size_container = parseInt(100 / columns); 115 116 return size_container; 117 } 118 119 /** 120 * Launch Masonry 121 **/ 122 function masonry_setup(obj) { 123 var $grid = obj.masonry(); 124 $grid.masonry('destroy'); 125 obj.each(function () { 126 var size_container = masonry_colums_calc($(this)); 127 $(this).find('.acme_grid_sizer').css('width', size_container + '%'); 128 $(this).find('.acme_grid-item').css('width', parseInt(size_container * 0.99) + '%'); 129 if(size_container<100) { 130 $(this).find('.acme_grid-item--width2').css('width', parseInt(size_container * 1.98) + '%'); 131 } 132 $grid.masonry(MasonryOptions); 133 }); 134 } 135 136 137 /********************************* 138 * 139 * ACME FULL WIDTH PORTFOLIO **** 140 * 141 * @param $the_portfolio 142 * @param carousel_mode 143 * @returns {*} 144 ********************************/ 145 function set_fullwidth_portfolio_columns( $the_portfolio, carousel_mode ) { 146 147 var columns, 148 $portfolio_items = $the_portfolio.find('.et_pb_portfolio_items'), 149 portfolio_items_width = $portfolio_items.width(), 150 $the_portfolio_items = $portfolio_items.find('.et_pb_portfolio_item'), 151 portfolio_item_count = $the_portfolio_items.length; 152 153 if ('undefined' === typeof $the_portfolio_items) { 154 return; 155 } 156 var defaults_columns = [5, 4, 3, 2, 1]; 157 var max_columns= $the_portfolio.attr('data-max-columns'); 158 159 var my_columns = max_columns.split(','); 160 161 // calculate column breakpoints 162 if ( portfolio_items_width >= 1600 ) { 163 columns = my_columns[0] ? parseInt(my_columns[0]) : defaults_columns[0]; 164 } else if ( portfolio_items_width >= 1024 ) { 165 columns = my_columns[1] ? parseInt(my_columns[1]) : defaults_columns[1]; 166 } else if ( portfolio_items_width >= 768 ) { 167 columns = my_columns[2] ? parseInt(my_columns[2]) : defaults_columns[2]; 168 } else if ( portfolio_items_width >= 480 ) { 169 columns = my_columns[3] ? parseInt(my_columns[3]) : defaults_columns[3]; 170 } else { 171 columns = my_columns[4] ? parseInt(my_columns[4]) : defaults_columns[4]; 172 } 173 // set height of items 174 var portfolio_item_width = portfolio_items_width / columns; 175 var portfolio_item_height = 'auto';
175//portfolio_item_width * .75; 176 177 if ( carousel_mode ) { 178 $portfolio_items.css({ 'height' : portfolio_item_height }); 179 } 180 181 $the_portfolio_items.css({ 'height' : portfolio_item_height }); 182 $the_portfolio.height($the_portfolio_items.height()); 183 //fix position of arrows at 50% of content height 184 $('.et-pb-arrow-prev').css('top',$the_portfolio_items.height()/2); 185 $('.et-pb-arrow-next').css('top',$the_portfolio_items.height()/2); 186 187 188 189 if ( columns === $portfolio_items.data('portfolio-columns') ) { 190 return; 191 } 192 193 if ( $the_portfolio.data('columns_setting_up') ) { 194 return; 195 } 196 197 $the_portfolio.data('columns_setting_up', true ); 198 199 var portfolio_item_width_percentage = ( 100 / columns ) + '%'; 200 $the_portfolio_items.css({ 'width' : portfolio_item_width_percentage }); 201 202 // store last setup column 203 $portfolio_items.removeClass('columns-' + $portfolio_items.data('portfolio-columns') ); 204 $portfolio_items.addClass('columns-' + columns ); 205 $portfolio_items.data('portfolio-columns', columns ); 206 207 if ( !carousel_mode ) { 208 return $the_portfolio.data('columns_setting_up', false ); 209 } 210 211 // kill all previous groups to get ready to re-group 212 if ( $portfolio_items.find('.et_pb_carousel_group').length ) { 213 $the_portfolio_items.appendTo( $portfolio_items ); 214 $portfolio_items.find('.et_pb_carousel_group').remove(); 215 } 216 217 // setup the grouping 218 var the_portfolio_items = $portfolio_items.data('items' ), 219 $carousel_group = $('<div class="et_pb_carousel_group active">').appendTo( $portfolio_items ); 220 221 if ('undefined' === typeof the_portfolio_items) { 222 return; 223 } 224 225 226 $the_portfolio_items.data('position', ''); 227 if ( the_portfolio_items.length <= columns ) { 228 $portfolio_items.find('.et-pb-slider-arrows').hide(); 229 } else { 230 $portfolio_items.find('.et-pb-slider-arrows').show(); 231 } 232 for ( var position = 1, x=0 ;x < the_portfolio_items.length; x++, position++ ) { 233 if ( x < columns ) { 234 $( the_portfolio_items[x] ).show(); 235 $( the_portfolio_items[x] ).appendTo( $carousel_group ); 236 $( the_portfolio_items[x] ).data('position', position ); 237 } else { 238 position = $( the_portfolio_items[x] ).data('position'); 239 $( the_portfolio_items[x] ).removeClass('position_' + position ); 240 $( the_portfolio_items[x] ).data('position', '' ); 241 $( the_portfolio_items[x] ).hide(); 242 } 243 } 244 245 $the_portfolio.data('columns_setting_up', false ); 246 247 } 248 249 250})( 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.