pagelayer_svg_cache = {}; var pagelayer_document_width; // For automatic row parent change jQuery(window).resize(function(){ var new_vw = jQuery(document).width(); if(new_vw == pagelayer_document_width){ return false; } pagelayer_document_width = new_vw; // Set a timeout to prevent bubbling setTimeout(function(){ jQuery(pagelayer_editable+' .pagelayer-row-stretch-full').each(function(){ var par = jQuery(this).parent(); pagelayer_pl_row_parent_full(par); }); }, 200); }); // Render for row function pagelayer_render_pl_row(el){ var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : []; el.atts['slider'] = ''; if(!pagelayer_empty(img_urls)){ for(var x in img_urls){ el.atts['slider'] += '<div class="pagelayer-bgimg-slide" style="background-image:url('+img_urls[x]+')"></div>'; } } // Row background parallax image. if(!pagelayer_empty(el.atts['parallax_img'])){ el.atts['parallax_img_src'] = el.tmp['parallax_img-'+el.atts['parallax_id_size']+'-url'] || el.tmp['parallax_img-url']; el.atts['parallax_img_src'] = el.atts['parallax_img_src'] || el.atts['parallax_img']; } pagelayer_bg_video(el); } // Render for inner row function pagelayer_render_pl_inner_row(el){ pagelayer_render_pl_row(el); } // Render for col function pagelayer_render_pl_col(el){ var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : []; el.atts['slider'] = ''; if(!pagelayer_empty(img_urls)){ for(var x in img_urls){ el.atts['slider'] += '<div class="pagelayer-bgimg-slide" style="background-image:url('+img_urls[x]+')"></div>'; } } // We need the parent of type pagelayer-wrap-col var par = el.$.parent('.pagelayer-wrap-col'); // Apply to wrapper if(!pagelayer_empty(el.atts['col'])){ for(var x=1; x<=12; x++){ if(par.hasClass('pagelayer-col-'+x)){ par.removeClass('pagelayer-col-'+x); break; } } par.addClass('pagelayer-col-'+el.atts['col']); par.css('width', ''); } if(el.atts['col_width']){ par.css('width', ''); } // Col background parallax image. if(!pagelayer_empty(el.atts['parallax_img'])){ el.atts['parallax_img_src'] = el.tmp['parallax_img-'+el.atts['parallax_id_size']+'-url'] || el.tmp['parallax_img-url']; el.atts['parallax_img_src'] = el.atts['parallax_img_src'] || el.atts['parallax_img']; } pagelayer_bg_video(el); } function pagelayer_bg_video(el){ el.tmp['bg_video_src-url'] = el.tmp['bg_video_src-url'] || el.atts['bg_video_src']; var src = el.tmp['bg_video_src-url']; if(pagelayer_empty(src)){ return; } var iframe_atts = pagelayer_video_url(src, true); // console.log(iframe_atts); iframe_atts['src'] += (iframe_atts['src'].indexOf('?') == -1 ? '?' : ''); // Adding mute and loop option in row or col if(el.atts['mute'] == "true"){ iframe_atts['src'] +="&mute=1"; el.atts['mute'] = " muted "; }else{ iframe_atts['src'] +="&mute=0"; el.atts['mute'] = ""; } if(el.atts['stop_loop'] != "true"){ iframe_atts['src'] +="&loop=1"; el.atts['stop_loop'] = " loop "; }else{ iframe_atts['src'] +="&loop=0"; el.atts['stop_loop'] =""; } if (iframe_atts['type'] == 'youtube') { var settings = 'data-loop="'+(!pagelayer_empty(el['atts']['stop_loop']) ? 1 : 0)+'" data-mute="'+ (!pagelayer_empty(el['atts']['mute']) ? 1 : 0)+'" data-videoid="'+(iframe_atts['id'].split('&')[0])+'"'; el.atts['vid_src'] = '<div class = "pagelayer-youtube-video" '+ settings +'></div>'; } else if (iframe_atts['type'] == 'vimeo') { el.atts['vid_src'] = '<iframe src="'+iframe_atts['src']+'&background=1&autoplay=1&byline=0&title=0" allowfullscreen="1" webkitallowfullscreen="1" mozallowfullscreen="1" frameborder="0"></iframe>'; }else{ el.atts['vid_src'] = '<video autoplay playsinline '+el.atts['mute']+el.atts['stop_loop']+'>'+ '<source src="'+iframe_atts['src']+'" type="video/mp4">'+ '</video>'; } } // Load the full width row function pagelayer_render_end_pl_row(el){ // The parent var par = el.$.parent(); // Any class with full width if(el.$.hasClass('pagelayer-row-stretch-full')){ // Give it the full width pagelayer_pl_row_full(el.$); // Give full width to the parent pagelayer_pl_row_parent_full(par); // Also add that we had a full width el.$.addClass('pagelayer-row-stretch-had-full'); // Did this row have full width ? }else if(el.$.hasClass('pagelayer-row-stretch-had-full')){ // Remove style el.$.removeAttr('style'); par.removeAttr('style'); par.children('.pagelayer-ele-overlay').removeAttr('style'); // Remove HAD class el.$.removeClass('pagelayer-row-stretch-had-full'); } pagelayer_pl_row_video(el.$); el.$.find('.pagelayer-parallax-window img').each(function(){ pagelayer_pl_row_parallax(jQuery(this)); }); el.$.find('.pagelayer-bgimg-slider').each(function(){ pagelayer_pl_row_slider(jQuery(this)); }); // Row shape if('row_shape_type_top' in el.atts){ pagelayer_render_row_shape(el, 'top') } if('row_shape_type_bottom' in el.atts){ pagelayer_render_row_shape(el, 'bottom') } } // Render for inner row function pagelayer_render_end_pl_inner_row(el){ pagelayer_render_end_pl_row(el); } // Set Row parent width function pagelayer_pl_row_parent_full(par){ var vw = jQuery('html').width(); par.css({'width': vw,'max-width': '100vw'}); par.offset({left: 0}); par.children('.pagelayer-row').css({left: 0}); } // Row shape render function pagelayer_render_row_shape(el, shape_pos){ var name = el.atts['row_shape_type_'+shape_pos]+'-'+shape_pos+'.svg'; // DO we have in cache if(!(name in pagelayer_svg_cache)){ // Make url and fetch var url = pagelayer_url+'/images/shapes/'+name; jQuery.get(url, function(data){ el.$.find('.pagelayer-svg-'+shape_pos).html(data); pagelayer_svg_cache[name] = data; }, 'html'); // Fill with cache }else{ el.$.find('.pagelayer-svg-'+shape_pos).html(pagelayer_svg_cache[name]); } } // Load the col function pagelayer_render_end_pl_col(el){ pagelayer_pl_row_video(el.$); el.$.find('.pagelayer-parallax-window img').each(function(){ pagelayer_pl_row_parallax(jQuery(this)); }); el.$.find('.pagelayer-bgimg-slider').each(function(){ pagelayer_pl_row_slider(jQuery(this)); }); } // Render the image object function pagelayer_render_pl_image(el){ // Decide the image URL el.atts['func_id'] = el.tmp['id-'+el.atts['id-size']+'-url'] || el.tmp['id-url']; el.atts['func_id'] = el.atts['func_id'] || el.atts['id']; el.atts['pagelayer-srcset'] = el.atts['func_id']+', '+el.atts['func_id']+' 1x, '; var image_atts = { name : 'id', size : 'id-size' }; pagelayer_get_img_src(el, image_atts); // What is the link ? if('link_type' in el.atts){ // Custom url if(el.atts['link_type'] == 'custom_url'){ el.atts['func_link'] = el.tmp['link'] || ''; } // Link to the media file itself if(el.atts['link_type'] == 'media_file'){ el.atts['func_link'] = el.tmp['id-url'] || el.atts['id']; } // Lightbox if(el.atts['link_type'] == 'lightbox'){ el.atts['func_link'] = el.tmp['id-url'] || el.atts['id']; } } } // Incase if there is a lightbox function pagelayer_render_end_pl_image(el){ pagelayer_pl_image(el.$); } // Pre DragAndDrop function function pagelayer_preDAndD_image(jEle){ dropzoneParent = jEle.find('.pagelayer-img').parent(); // Check if drop zone is already there then return if(dropzoneParent.find('.pagelayer-image-drop-zone').length > 0){ return; } var dropDiv = '<div class="pagelayer-image-drop-zone">'+ '<div>'+ '<i class="fas fa-upload"></i>'+ '<h4>'+pagelayer_l('drop_file')+'</h4>'+ '<div class="pagelayer-img-up-progress">'+ '<div class="pagelayer-img-up-bar"></div>'+ '</div>'+ '</div>'+ '</div>'; dropzoneParent.prepend(dropDiv); dropZone = dropzoneParent.find('.pagelayer-image-drop-zone'); // Inserting values in image drag and drop function pagelayer_img_dragAndDrop(dropzoneParent, dropZone, jEle, ''); } // Render for video function pagelayer_render_pl_video(el){ el.atts['video_overlay_image-url'] = el.tmp['video_overlay_image-'+el.atts['custom_size']+'-url'] || el.tmp['video_overlay_image-url']; el.atts['video_overlay_image-url'] = el.atts['video_overlay_image-url'] || el.atts['video_overlay_image']; el.tmp['src-url'] = el.tmp['src-url'] || el.atts['src']; el.tmp['ele_id'] = el['id']; var vid_atts = pagelayer_video_url(el.tmp['src-url'], true); vid_atts['src'] += (vid_atts['src'].indexOf('?') == -1 ? '?' : ''); vid_atts['src'] += el.atts['autoplay'] == 'true' ? '&autoplay=1' : '&autoplay=0' ; var mute = el.atts['mute'] == 'true' ? 1 : 0; vid_atts['src'] +='&'+(vid_atts['type'] == 'vimeo' ? 'muted' : 'mute')+'='+mute; vid_atts['src'] += el.atts['loop'] == 'true' ? '&loop=1' : '&loop=0' ; el.atts['vid_src'] = vid_atts['src']+(vid_atts['type'] == 'youtube' ? '&playlist='+vid_atts['id'] : ''); } // Incase if there is a lightbox function pagelayer_render_end_pl_video(el){ pagelayer_pl_video(el.$); } // Render the testimonial function pagelayer_render_pl_testimonial(el){ if(!pagelayer_empty(el.tmp['avatar-no-image-set'])){ el.atts['avatar'] = ''; return; } //console.log(el); // Decide the image URL el.atts['func_image'] = el.tmp['avatar-'+el.atts['custom_size']+'-url'] || el.tmp['avatar-url']; el.atts['func_image'] = el.atts['func_image'] || el.atts['avatar']; } // Render the stars function pagelayer_render_end_pl_stars(el){ var jEle = el.$.find('.pagelayer-stars-container'); pagelayer_stars(jEle); }; // Render the service box function pagelayer_render_pl_service(el){ // Decide the image URL el.atts['func_image'] = el.tmp['service_image-'+el.atts['service_image_size']+'-url'] || el.tmp['service_image-url']; el.atts['func_image'] = el.atts['func_image'] || el.atts['service_image']; el.atts['pagelayer-srcset'] = el.atts['func_image']+', '+el.atts['func_image']+' 1x, '; var image_atts = { name : 'service_image', size : 'service_image_size' }; pagelayer_get_img_src(el, image_atts); } function pagelayer_render_end_pl_service(el){ // Drag and Drop function for image if (typeof pagelayer_preDAndD_image !== "undefined") { pagelayer_preDAndD_image(el.$); } } function pagelayer_social(jEle,sel){ var holder = jEle.find(sel); var icon = holder.data('icon'); if(pagelayer_empty(icon)){ return; } //alert(icon); var icon_splited = icon.split(' fa-'); //console.log(icon_splited); holder.addClass('pagelayer-'+icon_splited[1]); } function pagelayer_social_icon_onchange(jEle, row, val){ var url = ''; // Lets get the value of the nearest social icon for(var k in pagelayer_social_urls){ var patt = new RegExp(k, 'i'); if(patt.test(val)){ url = pagelayer_social_urls[k]; } } if(url.length > 0){ var social_url_row = row.parent().find('[pagelayer-elp-name="social_url"]'); //console.log(social_url_row); social_url_row.find('.pagelayer-elp-link').val(url).trigger('change'); } } // Render the social icon function pagelayer_render_end_pl_social(el){ pagelayer_social(el.$, '.pagelayer-icon-holder'); } // Render the social profile group function pagelayer_render_end_pl_social_grp(el){ // Removing extra animation classes el.$.find('.pagelayer-icon-holder').removeClass (function (index, className) { return (className.match (/(^|\s)pagelayer-animation-\S+/g) || []).join(' '); }); pagelayer_pl_social_profile(el.$); } // Render the counter function pagelayer_render_end_pl_counter(el){ pagelayer_counter(); }; // Render the progress function pagelayer_render_end_pl_progress(el){ pagelayer_progress(); }; // Render the image slider function pagelayer_render_pl_image_slider(el){ // The URLs var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : []; var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : []; var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : []; //console.log(img_urls); var ul = ''; var is_link = 'link_type' in el.atts && !pagelayer_empty(el.atts['link_type']) ? true : false; // Create figure HTML for (var x in img_urls){ // Use the default URL first var url = img_urls[x]; // But if we have a custom size, use that if(el.atts['size'] != 'custom' && x in all_urls && el.atts['size'] in all_urls[x]){ url = all_urls[x][el.atts['size']]; } ul += '<li class="pagelayer-slider-item">'; if(is_link){ var link = (el.atts['link_type'] == 'media_file' ? (!pagelayer_empty(img_urls[x]) ? img_urls[x] : url) : (el.tmp['link'] || '')) ul += '<a href="'+link+'" class="pagelayer-link-sel">'; } ul += '<img class="pagelayer-img" src="'+url+'" title="'+img_title[x]+'" alt="'+img_title[x]+'">'; if(is_link){ ul += '</a>'; } ul += '</li>'; } if(pagelayer_empty(ul)){ ul = '<h4 style="text-align:center;">'+ pagelayer_l('Please select Images from left side Widget properties.')+'</h4>'; } el.atts['ul'] = ul; // Which arrows to show if('controls' in el.atts && (el.atts['controls'] == 'arrows' || el.atts['controls'] == 'none')){ el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-pager="false"'}); } if('controls' in el.atts && (el.atts['controls'] == 'pager' || el.atts['controls'] == 'none')){ el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-controls="false"'}); } }; // Render the image slider function pagelayer_render_end_pl_image_slider(el){ pagelayer_owl_destroy(el.$, '.pagelayer-image-slider-ul'); pagelayer_pl_image_slider(el.$); } // Render the grid gallery function pagelayer_render_pl_grid_gallery(el){ // The URLs var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : []; var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : []; var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : []; var img_links = !pagelayer_empty(el.tmp['ids-all-links']) ? JSON.parse(el.tmp['ids-all-links']) : []; var img_captions = !pagelayer_empty(el.tmp['ids-all-captions']) ? JSON.parse(el.tmp['ids-all-captions']) : []; //console.log(img_urls); var ul = ''; var pagin = '<li class="pagelayer-grid-page-item active">1</li>'; var is_link = 'link_to' in el.atts && !pagelayer_empty(el.atts['link_to']) ? true : false; var i = 0; var j = 1; if(pagelayer_empty(el.tmp)){ ul = '<h4 style="text-align:center;">'+ pagelayer_l('select_images')+'</h4>'; el.atts['ul'] = ul; el.atts['pagin'] = ''; return; } ul += '<ul class="pagelayer-grid-gallery-ul">'; var gallery_rand = 'gallery-id-'+Math.floor((Math.random() * 100) + 1); var imgInPage = el.atts['images_no']; // Create figure HTML for (var x in img_urls){ if(imgInPage != 0 && (i % imgInPage) == 0 && i != 0){ ul += '</ul><ul class="pagelayer-grid-gallery-ul">'; j++; pagin += '<li class="pagelayer-grid-page-item">'+j+'</li>'; } // Use the default URL first var url = img_urls[x]; // But if we have a custom size, use that if(el.atts['size'] != 'custom' && x in all_urls && el.atts['size'] in all_urls[x]){ url = all_urls[x][el.atts['size']]; } ul += '<li class="pagelayer-gallery-item" >'; if(!is_link){ ul += '<div>'; } if(is_link && el.atts['link_to'] == 'media_file'){ var link = (el.atts['link_to'] == 'media_file' ? url : (el.atts['link'] || '')); ul += '<a href="'+link+'" class="pagelayer-ele-link">'; } if(is_link && el.atts['link_to'] == 'attachment'){ var link = img_links[x]; ul += '