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'] += '
'; } } 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'] += ''; } } // 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', ''); } pagelayer_bg_video(el); } function pagelayer_bg_video(el){ var youtubeRegExp = /youtube\.com|youtu\.be/; var vimeoRegExp = /vimeo\.com/; 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']; var iframe_src = pagelayer_video_url(el.tmp['bg_video_src-url']); // Adding mute and loop option in row or col if(el.atts['mute'] == "true"){ iframe_src +="?&mute=1"; el.atts['mute'] = " muted "; }else{ iframe_src +="?&mute=0"; el.atts['mute'] = ""; } if(el.atts['stop_loop'] != "true"){ iframe_src +="&loop=1"; el.atts['stop_loop'] = " loop "; }else{ iframe_src +="&loop=0"; el.atts['stop_loop'] =""; } if (youtubeRegExp.exec(src)) { var youtubeRegExp1 = /youtube\.com/; var youtubewatch = /watch/; var youtubeembed = /embed/; var youtube = /youtu\.be/; var videoId; if (youtubeRegExp1.exec(src)) { if (youtubewatch.exec(src)) { videoId = src.split('?v='); } else if (youtubewatch.exec(src)) { videoId = src.split('embed/'); } } else if (youtube.exec(src)) { videoId = src.split('.be/'); } //console.log(frame_height); el.atts['vid_src'] = ''; } else if (vimeoRegExp.exec(src)) { el.atts['vid_src'] = ''; }else{ el.atts['vid_src'] = ''; } } // 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']; // 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 = '