"use strict";(globalThis.__googlesitekit_webpackJsonp=globalThis.__googlesitekit_webpackJsonp||[]).push([[308],{40308(e,t,l){l.r(t),l.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var r,c,a,i,h,n,s,d,m,f,o,E,p,v,k,M,F,x,y,D,Z,B,g,W,A,w,u,H,b,z,C,_,j,V,O,J,L,R,T,P,q,G,I,K,N,Q,S,U,X,Y,$=l(63696);function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t$.createElement("svg",ee({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 455 281"},e),r||(r=$.createElement("path",{fill:"#F1F3F4",d:"M63 281c34.794 0 63-4.702 63-10.5 0-5.799-28.206-10.5-63-10.5s-63 4.701-63 10.5c0 5.798 28.206 10.5 63 10.5Z"})),c||(c=$.createElement("path",{fill:"#F9AB00",d:"M119.47 249.471c14.62 0 26.471-4.346 26.471-9.706v-3.53H93v3.53c0 5.36 11.851 9.706 26.47 9.706Z"})),a||(a=$.createElement("ellipse",{cx:119.47,cy:236.235,fill:"#FDD663",rx:26.471,ry:9.706})),i||(i=$.createElement("path",{fill:"#F9AB00",d:"M119.471 242.411c14.619 0 26.47-4.345 26.47-9.706v-3.529h-52.94v3.529c0 5.361 11.85 9.706 26.47 9.706Z"})),h||(h=$.createElement("ellipse",{cx:119.471,cy:229.176,fill:"#FDD663",rx:26.471,ry:9.706})),n||(n=$.createElement("path",{fill:"#F9AB00",d:"M119.47 235.352c14.62 0 26.471-4.345 26.471-9.706v-3.529H93v3.529c0 5.361 11.851 9.706 26.47 9.706Z"})),s||(s=$.createElement("ellipse",{cx:119.47,cy:222.117,fill:"#FDD663",rx:26.471,ry:9.706})),d||(d=$.createElement("path",{fill:"#F9AB00",d:"M119.471 228.294c14.619 0 26.47-4.346 26.47-9.706v-3.529h-52.94v3.529c0 5.36 11.85 9.706 26.47 9.706Z"})),m||(m=$.createElement("ellipse",{cx:119.471,cy:215.059,fill:"#FDD663",rx:26.471,ry:9.706})),f||(f=$.createElement("path",{fill:"#F9AB00",d:"M119.471 221.234c14.619 0 26.47-4.346 26.47-9.706v-3.529h-52.94v3.529c0 5.36 11.85 9.706 26.47 9.706Z"})),o||(o=$.createElement("ellipse",{cx:119.471,cy:207.999,fill:"#FDD663",rx:26.471,ry:9.706})),E||(E=$.createElement("path",{fill:"#F9AB00",d:"M119.47 214.176c14.62 0 26.471-4.345 26.471-9.705v-3.53H93v3.53c0 5.36 11.851 9.705 26.47 9.705Z"})),p||(p=$.createElement("ellipse",{cx:119.471,cy:200.941,fill:"#FDD663",rx:26.471,ry:9.706})),v||(v=$.createElement("path",{fill:"#F29900",d:"M118.669 204v-.591a5.576 5.576 0 0 1-1.11-.19 3.601 3.601 0 0 1-.948-.421 1.753 1.753 0 0 1-.611-.658l1.172-.258c.1.199.283.378.549.536.275.159.591.26.948.306v-1.507l-.037-.014c-.665-.135-1.214-.312-1.647-.529-.432-.222-.648-.505-.648-.848 0-.204.091-.396.274-.577.191-.181.462-.331.811-.448a4.403 4.403 0 0 1 1.247-.218V198h.998v.597c.433.036.794.106 1.086.21.299.1.532.215.698.347.175.131.295.255.362.373l-1.148.271a1.077 1.077 0 0 0-.349-.298c-.158-.1-.374-.174-.649-.224v1.425c.449.1.849.211 1.198.333.349.117.624.26.823.427a.748.748 0 0 1 .312.611c0 .267-.112.493-.337.679-.216.185-.503.332-.861.441a5.092 5.092 0 0 1-1.135.21V204h-.998Zm-1.047-4.174c0 .144.087.267.262.366.182.095.444.188.785.278v-1.221a2.213 2.213 0 0 0-.761.21c-.191.104-.286.226-.286.367Zm3.081 2.253c0-.154-.092-.278-.275-.373a3.459 3.459 0 0 0-.761-.272v1.283c.3-.041.545-.115.736-.224.2-.109.3-.247.3-.414Z"})),k||(k=$.createElement("path",{stroke:"#F9AB00",strokeWidth:2,d:"M141.412 200.941c0 .675-.393 1.463-1.436 2.317-1.036.848-2.595 1.656-4.611 2.353-4.021 1.392-9.64 2.271-15.894 2.271-6.255 0-11.874-.879-15.895-2.271-2.015-.697-3.575-1.505-4.61-2.353-1.043-.854-1.437-1.642-1.437-2.317 0-.675.394-1.464 1.437-2.317 1.035-.848 2.595-1.656 4.61-2.353 4.021-1.392 9.64-2.271 15.895-2.271 6.254 0 11.873.879 15.894 2.271 2.016.697 3.575 1.505 4.611 2.353 1.043.853 1.436 1.642 1.436 2.317Z"})),M||(M=$.createElement("rect",{width:292.941,height:200.008,x:123,y:51.824,fill:"#F1F3F4",rx:8})),F||(F=$.createElement("path",{fill:"#fff",d:"M138.883 92.23h88.892v143.44h-88.892z"})),x||(x=$.createElement("circle",{cx:163.126,cy:116.473,r:12.122,fill:"#D9DBDF"})),y||(y=$.createElement("path",{fill:"#D9DBDF",d:"M164.438 150.312 146.964 169h72.73l-26.448-28.284-18.89 20.202-9.918-10.606Z"})),D||(D=$.createElement("rect",{width:32.325,height:16.162,x:167.166,y:211.426,fill:"#639AF8",rx:8.081})),Z||(Z=$.createElement("path",{fill:"#E7E9EC",fillRule:"evenodd",d:"M219.694 190.457h-72.73v-10.589h72.73v10.589ZM219.694 203.089h-72.73v-3.53h72.73v3.53Z",clipRule:"evenodd"})),B||(B=$.createElement("path",{fill:"#3C4043",d:"M123 59.824a8 8 0 0 1 8-8h276.941a8 8 0 0 1 8 8v16.243H123V59.824Z"})),g||(g=$.createElement("rect",{width:8.081,height:8.081,x:135.122,y:59.904,fill:"#fff",rx:4.041})),W||(W=$.createElement("rect",{width:8.081,height:8.081,x:147.244,y:59.904,fill:"#fff",rx:4.041})),A||(A=$.createElement("rect",{width:8.081,height:8.081,x:159,y:59.904,fill:"#fff",rx:4.041})),w||(w=$.createElement("path",{fill:"#fff",d:"M251.824 92.23h142.43v48.487h-142.43z"})),u||(u=$.createElement("path",{fill:"#E6E8EB",d:"M251.824 156.879h105.055v16.162H251.824zM251.824 181.121h123.237v4.041H251.824zM251.824 193.244h105.055v4.041H251.824zM251.824 205.365h142.43v4.041h-142.43z"})),H||(H=$.createElement("path",{stroke:"#C5221F",strokeWidth:4,d:"M62.118 214.177 60.38 221.5l-5.308 22.368-5.307 22.367H33"})),b||(b=$.createElement("path",{stroke:"#B31412",strokeWidth:4,d:"M62.118 214.176 60.38 221.5"})),z||(z=$.createElement("path",{stroke:"#C5221F",strokeWidth:4,d:"m81.53 214.177 6.176 15-10.588 37.058h15"})),C||(C=$.createElement("path",{stroke:"#B31412",strokeWidth:4,d:"m81.53 214.176 3.088 7.5"})),_||(_=$.createElement("path",{stroke:"#E94235",strokeLinejoin:"round",strokeWidth:4,d:"M111.412 184.576c7.157.828 36.234 7.419 28.459-18.151l6.835-1.66"})),j||(j=$.createElement("path",{stroke:"#E94235",strokeMiterlimit:10,strokeWidth:4,d:"M37.662 185.927c.868 11.581 1.05 24.942-2.262 36.106"})),V||(V=$.createElement("circle",{cx:73.588,cy:178.882,r:38.824,fill:"#D93025"})),O||(O=$.createElement("path",{stroke:"#fff",strokeMiterlimit:10,strokeWidth:4,d:"M85.941 193c-5.771 7.852-16.52 10.425-24.706 1.069"})),J||(J=$.createElement("path",{fill:"#F9AB00",d:"M424.765 258.293c14.619 0 26.47-4.345 26.47-9.706v-3.529h-52.941v3.529c0 5.361 11.851 9.706 26.471 9.706Z"})),L||(L=$.createElement("ellipse",{cx:424.765,cy:245.058,fill:"#FDD663",rx:26.471,ry:9.706})),R||(R=$.createElement("path",{fill:"#F9AB00",d:"M428.294 249.471c14.619 0 26.471-4.346 26.471-9.706v-3.53h-52.941v3.53c0 5.36 11.851 9.706 26.47 9.706Z"})),T||(T=$.createElement("ellipse",{cx:428.294,cy:236.235,fill:"#FDD663",rx:26.471,ry:9.706})),P||(P=$.createElement("path",{fill:"#F9AB00",d:"M423 242.411c14.619 0 26.471-4.345 26.471-9.705v-3.53H396.53v3.53c0 5.36 11.851 9.705 26.47 9.705Z"})),q||(q=$.createElement("ellipse",{cx:423,cy:229.176,fill:"#FDD663",rx:26.471,ry:9.706})),G||(G=$.createElement("path",{stroke:"#F9AB00",strokeWidth:2,d:"M444.941 229.177c0 .674-.393 1.463-1.436 2.317-1.036.847-2.595 1.655-4.61 2.353-4.021 1.392-9.641 2.271-15.895 2.271s-11.874-.879-15.895-2.271c-2.015-.698-3.574-1.506-4.61-2.353-1.043-.854-1.436-1.643-1.436-2.317 0-.675.393-1.464 1.436-2.318 1.036-.847 2.595-1.655 4.61-2.353 4.021-1.392 9.641-2.271 15.895-2.271s11.874.879 15.895 2.271c2.015.698 3.574 1.506 4.61 2.353 1.043.854 1.436 1.643 1.436 2.318Z"})),I||(I=$.createElement("path",{stroke:"#1967D2",strokeWidth:4,d:"m190.059 51.824 6.301 7.088a3 3 0 0 1 .758 1.993V80.06h10.588"})),K||(K=$.createElement("path",{stroke:"#185ABC",strokeWidth:4,d:"M190.059 51.824 195 57.499"})),N||(N=$.createElement("path",{stroke:"#1967D2",strokeWidth:4,d:"m207.706 49.058 6.048 6.805a4 4 0 0 1 1.011 2.657v18.773h10.588"})),Q||(Q=$.createElement("path",{stroke:"#185ABC",strokeWidth:4,d:"m207.706 49.058 3.529 3.97"})),S||(S=$.createElement("path",{stroke:"#4285F4",strokeMiterlimit:10,strokeWidth:4,d:"M230.647 26.458c15.346 3.878 28.408-9.969 26.233-25.117-.032-.232-.07-.464-.114-.694"})),U||(U=$.createElement("path",{stroke:"#4285F4",strokeLinejoin:"round",strokeWidth:4,d:"m130.059 32.7.549-.13a6.333 6.333 0 0 1 3.775.299c1.189.481 2.177 1.313 2.811 2.367 3.157 5.17 7.698 8.75 14.807 9.43 5.087.487 11.596-.803 15.117-4.53"})),X||(X=$.createElement("path",{fill:"#1A73E8",d:"M204.078 51.725c20.711-5.55 33.002-26.838 27.453-47.55l-75.002 20.097c5.55 20.711 26.838 33.002 47.549 27.453Z"})),Y||(Y=$.createElement("path",{stroke:"#fff",strokeMiterlimit:10,strokeWidth:4,d:"M206.515 33.52a20.239 20.239 0 0 1-2.436 1.853 17.86 17.86 0 0 1-3.224 1.662 16.883 16.883 0 0 1-7.035 1.148 18.474 18.474 0 0 1-2.589-.314"})))}}]);/* global fusionredux, confirm, relid:true, jsonView */ (function( $ ) { 'use strict'; $.fusionredux = $.fusionredux || {}; $( document ).ready( function() { $.fn.isOnScreen = function() { if ( !window ) { return; } var win = $( window ); var viewport = { top: win.scrollTop(), }; viewport.right = viewport.left + win.width(); viewport.bottom = viewport.top + win.height(); var bounds = this.offset(); bounds.right = bounds.left + this.outerWidth(); bounds.bottom = bounds.top + this.outerHeight(); return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom)); }; $.fusionredux.hideFields(); $.fusionredux.checkRequired(); $.fusionredux.initEvents(); $.fusionredux.initQtip(); $.fusionredux.tabCheck(); $.fusionredux.notices(); $.fusionredux.tabControl(); } ); $.fusionredux.ajax_save = function( button ) { var overlay = $( document.getElementById( 'fusionredux_ajax_overlay' ) ); overlay.fadeIn(); // Add the loading mechanism jQuery( '.fusionredux-action_bar .spinner' ).addClass( 'is-active' ); jQuery( '.fusionredux-action_bar input, .awb-ignore' ).attr( 'disabled', 'disabled' ); var $notification_bar = jQuery( document.getElementById( 'fusionredux_notification_bar' ) ); $notification_bar.slideUp(); jQuery( '.fusionredux-save-warn' ).slideUp(); jQuery( '.fusionredux_ajax_save_error' ).slideUp( 'medium', function() { jQuery( this ).remove(); } ); var $parent = jQuery( document.getElementById( "fusionredux-form-wrapper" ) ); // Editor field doesn't auto save. Have to call it. Boo. if ( fusionredux.fields.hasOwnProperty( "editor" ) ) { $.each( fusionredux.fields.editor, function( $key, $index ) { if (typeof(tinyMCE) !== 'undefined') { var editor = tinyMCE.get( $key ); if ( editor ) { editor.save(); } } } ); } var $data = $parent.serialize(); // add values for checked and unchecked checkboxes fields $parent.find( 'input[type=checkbox]' ).each( function() { if ( typeof $( this ).attr( 'name' ) !== "undefined" ) { var chkVal = $( this ).is( ':checked' ) ? $( this ).val() : "0"; $data += "&" + $( this ).attr( 'name' ) + "=" + chkVal; } } ); if ( button.attr( 'name' ) != "fusionredux_save" ) { $data += "&" + button.attr( 'name' ) + "=" + button.val(); } var $nonce = $parent.attr( "data-nonce" ); jQuery.ajax( { type: "post", dataType: "json", url: ajaxurl, data: { action: fusionredux.args.opt_name + "_ajax_save", nonce: $nonce, _wp_http_referer: $parent.find( '> [name=_wp_http_referer]:first' ).val(), 'opt_name': fusionredux.args.opt_name, data: $data } } ) .fail( function( response ) { if ( !window.console ) console = {}; console.log = console.log || function( name, data ) { }; console.log( fusionredux.ajax.console ); console.log( response.responseText ); jQuery( '.fusionredux-action_bar input, .awb-ignore' ).removeAttr( 'disabled' ); overlay.fadeOut( 'fast' ); jQuery( '.fusionredux-action_bar .spinner' ).removeClass( 'is-active' ); alert( fusionredux.ajax.alert ); } ) .done( function( response ) { if ( response.action && response.action == "reload" ) { location.reload( true ); } else if ( response.status == "success" ) { jQuery( '.fusionredux-action_bar input, .awb-ignore' ).removeAttr( 'disabled' ); overlay.fadeOut( 'fast' ); jQuery( '.fusionredux-action_bar .spinner' ).removeClass( 'is-active' ); fusionredux.options = response.options; //fusionredux.defaults = response.defaults; fusionredux.errors = response.errors; fusionredux.warnings = response.warnings; $notification_bar.html( response.notification_bar ).slideDown( 'fast' ); if ( response.errors !== null || response.warnings !== null ) { $.fusionredux.notices(); } var $save_notice = $( document.getElementById( 'fusionredux_notification_bar' ) ).find( '.saved_notice' ); $save_notice.slideDown(); $save_notice.delay( 4000 ).slideUp(); } else { jQuery( '.fusionredux-action_bar input, .awb-ignore' ).removeAttr( 'disabled' ); jQuery( '.fusionredux-action_bar .spinner' ).removeClass( 'is-active' ); overlay.fadeOut( 'fast' ); jQuery( '.wrap h2:first' ).parent().append( '' ); jQuery( '.fusionredux_ajax_save_error' ).slideDown(); jQuery( "html, body" ).animate( {scrollTop: 0}, "slow" ); } } ); return false; }; $.fusionredux.initEvents = function() { $( '.fusionredux-presets-bar' ).on( 'click', function() { window.onbeforeunload = null; } ); $( '#toplevel_page_' + fusionredux.args.slug + ' .wp-submenu a, #wp-admin-bar-' + fusionredux.args.slug + ' a.ab-item' ).on( 'click', function( e ) { if ( ( $( '#toplevel_page_' + fusionredux.args.slug ).hasClass( 'wp-menu-open' ) || $( this ).hasClass( 'ab-item' ) ) && !$( this ).parents( 'ul.ab-submenu:first' ).hasClass( 'ab-sub-secondary' ) && $( this ).attr( 'href' ).toLowerCase().indexOf( fusionredux.args.slug + "&tab=" ) >= 0 ) { e.preventDefault(); var url = $( this ).attr( 'href' ).split( '&tab=' ); $( '#' + url[1] + '_section_group_li_a' ).click(); $( this ).parents( 'ul:first' ).find( '.current' ).removeClass( 'current' ); $( this ).addClass( 'current' ); $( this ).parent().addClass( 'current' ); return false; } } ); // Save button clicked $( '.fusionredux-action_bar input' ).on( 'click', function( e ) { if ( $( this ).attr( 'name' ) == fusionredux.args.opt_name + '[defaults]' ) { // Defaults button clicked if ( !confirm( fusionredux.args.reset_confirm ) ) { return false; } } else if ( $( this ).attr( 'name' ) == fusionredux.args.opt_name + '[defaults-section]' ) { // Default section clicked if ( !confirm( fusionredux.args.reset_section_confirm ) ) { return false; } } window.onbeforeunload = null; if ( fusionredux.args.ajax_save === true ) { $.fusionredux.ajax_save( $( this ) ); e.preventDefault(); } } ); // //// Default button clicked //$( 'input[name="' + fusionredux.args.opt_name + '[defaults]"]' ).click( // function() { // if ( !confirm( fusionredux.args.reset_confirm ) ) { // return false; // } // window.onbeforeunload = null; // } //); //$( 'input[name="' + fusionredux.args.opt_name + '[defaults-section]"]' ).click( // function() { // if ( !confirm( fusionredux.args.reset_section_confirm ) ) { // return false; // } // // window.onbeforeunload = null; // } //); //$( '.fusionredux-save' ).click( // function() { // window.onbeforeunload = null; // } //); $( '.expand_options' ).on( 'click', function( e ) { e.preventDefault(); var container = $( '.fusionredux-container' ); if ( $( container ).hasClass( 'fully-expanded' ) ) { $( container ).removeClass( 'fully-expanded' ); var tab = $.cookie( "fusionredux_current_tab" ); $( '.fusionredux-container:first' ).find( '#' + tab + '_section_group' ).fadeIn( 200, function() { if ( $( '.fusionredux-container:first' ).find( '#fusionredux-footer' ).length !== 0 ) { $.fusionredux.stickyInfo(); // race condition fix } $.fusionredux.initFields(); } ); } $.fusionredux.expandOptions( $( this ).parents( '.fusionredux-container:first' ) ); return false; } ); if ( $( '.saved_notice' ).is( ':visible' ) ) { $( '.saved_notice' ).slideDown(); } var stickyHeight = $( '#fusionredux-footer' ).height(); $( '#fusionredux-sticky-padder' ).css( { height: stickyHeight } ); $( '#fusionredux-footer-sticky' ).removeClass( 'hide' ); if ( $( '#fusionredux-footer' ).length !== 0 ) { $( window ).on( 'scroll', function() { $.fusionredux.stickyInfo(); } ); $( window ).on( 'resize', function() { $.fusionredux.stickyInfo(); } ); } $( '.saved_notice' ).delay( 4000 ).slideUp(); }; $.fusionredux.hideFields = function() { $( "label[for='fusionredux_hide_field']" ).each( function( idx, val ) { var tr = $( this ).parent().parent(); $( tr ).addClass( 'hidden' ); } ); }; $.fusionredux.checkRequired = function() { $.fusionredux.required(); // todo: fix for Fusion-Beta issue : 155. WIP var $parent = $( "#fusionredux-form-wrapper" ); $parent.serialize(); $.fusionredux.check_active_tab_dependencies(); $( "body" ).on( 'change', '.fusionredux-field input, .fusionredux-field textarea, .fusionredux-field select, .fusionredux-main select, .fusionredux-main radio, .fusionredux-main input[type=checkbox], .fusionredux-main input[type=hidden]', function( e ) { if ( ! $( this ).hasClass( 'noUpdate' ) ) { fusionredux_change( $( this ) ); } } ); $( 'td > fieldset:empty,td > div:empty' ).parent().parent().hide(); }; $.fusionredux.initQtip = function() { if ( $().qtip ) { // Shadow var shadow = ''; var tip_shadow = fusionredux.args.hints.tip_style.shadow; if ( tip_shadow === true ) { shadow = 'qtip-shadow'; } // Color var color = ''; var tip_color = fusionredux.args.hints.tip_style.color; if ( tip_color !== '' ) { color = 'qtip-' + tip_color; } // Rounded var rounded = ''; var tip_rounded = fusionredux.args.hints.tip_style.rounded; if ( tip_rounded === true ) { rounded = 'qtip-rounded'; } // Tip style var style = ''; var tip_style = fusionredux.args.hints.tip_style.style; if ( tip_style !== '' ) { style = 'qtip-' + tip_style; } var classes = shadow + ',' + color + ',' + rounded + ',' + style + ',fusionredux-qtip'; classes = classes.replace( /,/g, ' ' ); // Get position data var myPos = fusionredux.args.hints.tip_position.my; var atPos = fusionredux.args.hints.tip_position.at; // Gotta be lowercase, and in proper format myPos = $.fusionredux.verifyPos( myPos.toLowerCase(), true ); atPos = $.fusionredux.verifyPos( atPos.toLowerCase(), false ); // Tooltip trigger action var showEvent = fusionredux.args.hints.tip_effect.show.event; var hideEvent = fusionredux.args.hints.tip_effect.hide.event; // Tip show effect var tipShowEffect = fusionredux.args.hints.tip_effect.show.effect; var tipShowDuration = fusionredux.args.hints.tip_effect.show.duration; // Tip hide effect var tipHideEffect = fusionredux.args.hints.tip_effect.hide.effect; var tipHideDuration = fusionredux.args.hints.tip_effect.hide.duration; $( 'div.fusionredux-dev-qtip' ).each( function() { $( this ).qtip( { content: { text: $( this ).attr( 'qtip-content' ), title: $( this ).attr( 'qtip-title' ) }, show: { effect: function() { $( this ).slideDown( 500 ); }, event: 'mouseover', }, hide: { effect: function() { $( this ).slideUp( 500 ); }, event: 'mouseleave', }, style: { classes: 'qtip-shadow qtip-light', }, position: { my: 'top center', at: 'bottom center', }, } ); } ); $( 'div.fusionredux-hint-qtip' ).each( function() { $( this ).qtip( { content: { text: $( this ).attr( 'qtip-content' ), title: $( this ).attr( 'qtip-title' ) }, show: { effect: function() { switch ( tipShowEffect ) { case 'slide': $( this ).slideDown( tipShowDuration ); break; case 'fade': $( this ).fadeIn( tipShowDuration ); break; default: $( this ).show(); break; } }, event: showEvent, }, hide: { effect: function() { switch ( tipHideEffect ) { case 'slide': $( this ).slideUp( tipHideDuration ); break; case 'fade': $( this ).fadeOut( tipHideDuration ); break; default: $( this ).hide( tipHideDuration ); break; } }, event: hideEvent, }, style: { classes: classes, }, position: { my: myPos, at: atPos, }, } ); } ); // }); $( 'input[qtip-content]' ).each( function() { $( this ).qtip( { content: { text: $( this ).attr( 'qtip-content' ), title: $( this ).attr( 'qtip-title' ) }, show: 'focus', hide: 'blur', style: classes, position: { my: myPos, at: atPos, }, } ); } ); } }; $.fusionredux.tabCheck = function() { $( '.fusionredux-group-tab-link-a' ).on( 'click', function() { var link = $( this ); if ( link.parent().hasClass( 'empty_section' ) && link.parent().hasClass( 'hasSubSections' ) ) { var elements = $( this ).closest( 'ul' ).find( '.fusionredux-group-tab-link-a' ); var index = elements.index( this ); link = elements.slice( index + 1, index + 2 ); } var el = link.parents( '.fusionredux-container:first' ); var relid = link.data( 'rel' ); // The group ID of interest var oldid = el.find( '.fusionredux-group-tab-link-li.active:first .fusionredux-group-tab-link-a' ).data( 'rel' ); if ( oldid === relid ) { return; } $( '#currentSection' ).val( relid ); if ( !link.parents( '.postbox-container:first' ).length ) { // Set the proper page cookie $.cookie( 'fusionredux_current_tab', relid, { expires: 7, path: '/' } ); } if ( el.find( '#' + relid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).length ) { var parentID = el.find( '#' + relid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).attr( 'id' ).split( '_' ); parentID = parentID[0]; } el.find( '#toplevel_page_' + fusionredux.args.slug + ' .wp-submenu a.current' ).removeClass( 'current' ); el.find( '#toplevel_page_' + fusionredux.args.slug + ' .wp-submenu li.current' ).removeClass( 'current' ); el.find( '#toplevel_page_' + fusionredux.args.slug + ' .wp-submenu a' ).each( function() { var url = $( this ).attr( 'href' ).split( '&tab=' ); if ( url[1] == relid || url[1] == parentID ) { $( this ).addClass( 'current' ); $( this ).parent().addClass( 'current' ); } } ); if ( el.find( '#' + oldid + '_section_group_li' ).find( '#' + oldid + '_section_group_li' ).length ) { el.find( '#' + oldid + '_section_group_li' ).addClass( 'activeChild' ); el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ).removeClass( 'activeChild' ); } else if ( el.find( '#' + relid + '_section_group_li' ).parents( '#' + oldid + '_section_group_li' ).length || el.find( '#' + oldid + '_section_group_li' ).parents( 'ul.subsection' ).find( '#' + relid + '_section_group_li' ).length ) { if ( el.find( '#' + relid + '_section_group_li' ).parents( '#' + oldid + '_section_group_li' ).length ) { el.find( '#' + oldid + '_section_group_li' ).addClass( 'activeChild' ).removeClass( 'active' ); } else { el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ); el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ); } el.find( '#' + relid + '_section_group_li' ).removeClass( 'activeChild' ).addClass( 'active' ); } else { el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ).removeClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); if ( el.find( '#' + oldid + '_section_group_li' ).find( 'ul.subsection' ).length ) { el.find( '#' + oldid + '_section_group_li' ).find( 'ul.subsection' ).slideUp( 'fast', function() { el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ).removeClass( 'activeChild' ); } ); var newParent = el.find( '#' + relid + '_section_group_li' ).parents( '.hasSubSections:first' ); if ( newParent.length > 0 ) { el.find( '#' + relid + '_section_group_li' ).removeClass( 'active' ); relid = newParent.find( '.fusionredux-group-tab-link-a:first' ).data( 'rel' ); if ( newParent.hasClass( 'empty_section' ) ) { newParent.find( '.subsection li:first' ).addClass( 'active' ); el.find( '#' + relid + '_section_group_li' ).removeClass( 'active' ).addClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); newParent = newParent.find( '.subsection li:first' ); relid = newParent.find( '.fusionredux-group-tab-link-a:first' ).data( 'rel' ); } else { el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ).removeClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); } } } else if ( el.find( '#' + oldid + '_section_group_li' ).parents( 'ul.subsection' ).length ) { if ( !el.find( '#' + oldid + '_section_group_li' ).parents( '#' + relid + '_section_group_li' ).length ) { el.find( '#' + oldid + '_section_group_li' ).parents( 'ul.subsection' ).slideUp( 'fast', function() { el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ); el.find( '#' + oldid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).removeClass( 'active' ).removeClass( 'activeChild' ); el.find( '#' + relid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).addClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ); } ); } else { el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ); } } else { el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ); if ( el.find( '#' + relid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).length ) { // ThemeFusion edit: added the timeout to make the slidedown work correctly setTimeout( function() { el.find( '#' + relid + '_section_group_li' ).parents( '.fusionredux-group-tab-link-li' ).addClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); }, 50 ); el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ); } } } // Show the group el.find( '#' + oldid + '_section_group' ).hide(); el.find( '#' + relid + '_section_group' ).fadeIn( 200, function() { if ( el.find( '#fusionredux-footer' ).length !== 0 ) { $.fusionredux.stickyInfo(); // race condition fix } $.fusionredux.initFields(); } ); $( '#toplevel_page_' + fusionredux.args.slug ).find( '.current' ).removeClass( 'current' ); } ); if (fusionredux.last_tab !== undefined) { $( '#' + fusionredux.last_tab + '_section_group_li_a' ).click(); return; } var tab = decodeURI( (new RegExp( 'tab' + '=' + '(.+?)(&|$)' ).exec( location.search ) || [, ''])[1] ); if ( tab !== "" ) { if ( $.cookie( "fusionredux_current_tab_get" ) !== tab ) { $.cookie( 'fusionredux_current_tab', tab, { expires: 7, path: '/' } ); $.cookie( 'fusionredux_current_tab_get', tab, { expires: 7, path: '/' } ); $( '#' + tab + '_section_group_li' ).click(); } } else if ( $.cookie( 'fusionredux_current_tab_get' ) !== "" ) { $.removeCookie( 'fusionredux_current_tab_get' ); } var sTab = $( '#' + $.cookie( "fusionredux_current_tab" ) + '_section_group_li_a' ); // Tab the first item or the saved one if ( $.cookie( "fusionredux_current_tab" ) === null || typeof ($.cookie( "fusionredux_current_tab" )) === "undefined" || sTab.length === 0 ) { $( '.fusionredux-container' ).find( '.fusionredux-group-tab-link-a:first' ).click(); } else { sTab.click(); } }; $.fusionredux.initFields = function() { // Theme-Fusion Change: // Some fields needs to be init even when the tab is not displayed, because // the settings are not rendered via PHP, and they are not saved from other section. $( ".fusionredux-group-tab .fusionredux-field-init" ).each( function() { if ( 'typography_sets' !== $( this ).attr( 'data-type' ) ) { return; } var type = $( this ).attr( 'data-type' ); if ( typeof fusionredux.field_objects != 'undefined' && fusionredux.field_objects[type] ) { fusionredux.field_objects[type].init(); } if ( !fusionredux.customizer && $( this ).hasClass( 'fusionredux_remove_th' ) ) { var tr = $( this ).parents( 'tr:first' ); var th = tr.find( 'th:first' ); if ( th.html() && th.html().length > 0 ) { $( this ).prepend( th.html() ); $( this ).find( '.fusionredux_field_th' ).css( 'padding', '0 0 10px 0' ); } $( this ).parent().attr( 'colspan', '2' ); th.remove(); } } ); $( ".fusionredux-group-tab:visible" ).find( ".fusionredux-field-init:visible" ).each( function() { // Initialize color picker $( this ).find( ".color-picker:not( .fusionredux-typography-color )" ).each( function() { $(this).awbColorPicker(); }); var type = $( this ).attr( 'data-type' ); if ( typeof fusionredux.field_objects != 'undefined' && fusionredux.field_objects[type] && fusionredux.field_objects[type] ) { fusionredux.field_objects[type].init(); } if ( !fusionredux.customizer && $( this ).hasClass( 'fusionredux_remove_th' ) ) { var tr = $( this ).parents( 'tr:first' ); var th = tr.find( 'th:first' ); if ( th.html() && th.html().length > 0 ) { $( this ).prepend( th.html() ); $( this ).find( '.fusionredux_field_th' ).css( 'padding', '0 0 10px 0' ); } $( this ).parent().attr( 'colspan', '2' ); th.remove(); } } ); }; $.fusionredux.notices = function() { if ( fusionredux.errors && fusionredux.errors.errors ) { $.each( fusionredux.errors.errors, function( sectionID, sectionArray ) { $.each( sectionArray.errors, function( key, value ) { $( "#" + fusionredux.args.opt_name + '-' + value.id ).addClass( "fusionredux-field-error" ); if ( $( "#" + fusionredux.args.opt_name + '-' + value.id ).parent().find( '.fusionredux-th-error' ).length === 0 ) { $( "#" + fusionredux.args.opt_name + '-' + value.id ).append( '
' + value.msg + '
' ); } else { $( "#" + fusionredux.args.opt_name + '-' + value.id ).parent().find( '.fusionredux-th-error' ).html( value.msg ).css( 'display', 'block' ); } } ); } ); $( '.fusionredux-container' ).each( function() { var container = $( this ); // Ajax cleanup container.find( '.fusionredux-menu-error' ).remove(); var totalErrors = container.find( '.fusionredux-field-error' ).length; if ( totalErrors > 0 ) { container.find( ".fusionredux-field-errors span" ).text( totalErrors ); container.find( ".fusionredux-field-errors" ).slideDown(); container.find( '.fusionredux-group-tab' ).each( function() { var total = $( this ).find( '.fusionredux-field-error' ).length; if ( total > 0 ) { var sectionID = $( this ).attr( 'id' ).split( '_' ); sectionID = sectionID[0]; container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).prepend( '' + total + '' ); container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).addClass( "hasError" ); var subParent = container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).parents( '.hasSubSections:first' ); if ( subParent ) { subParent.find( '.fusionredux-group-tab-link-a:first' ).addClass( 'hasError' ); } } } ); } } ); } if ( fusionredux.warnings && fusionredux.warnings.warnings ) { $.each( fusionredux.warnings.warnings, function( sectionID, sectionArray ) { $.each( sectionArray.warnings, function( key, value ) { $( "#" + fusionredux.args.opt_name + '-' + value.id ).addClass( "fusionredux-field-warning" ); if ( $( "#" + fusionredux.args.opt_name + '-' + value.id ).parent().find( '.fusionredux-th-warning' ).length === 0 ) { $( "#" + fusionredux.args.opt_name + '-' + value.id ).append( '
' + value.msg + '
' ); } else { $( "#" + fusionredux.args.opt_name + '-' + value.id ).parent().find( '.fusionredux-th-warning' ).html( value.msg ).css( 'display', 'block' ); } } ); } ); $( '.fusionredux-container' ).each( function() { var container = $( this ); // Ajax cleanup container.find( '.fusionredux-menu-warning' ).remove(); var totalWarnings = container.find( '.fusionredux-field-warning' ).length; if ( totalWarnings > 0 ) { container.find( ".fusionredux-field-warnings span" ).text( totalWarnings ); container.find( ".fusionredux-field-warnings" ).slideDown(); container.find( '.fusionredux-group-tab' ).each( function() { var total = $( this ).find( '.fusionredux-field-warning' ).length; if ( total > 0 ) { var sectionID = $( this ).attr( 'id' ).split( '_' ); sectionID = sectionID[0]; container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).prepend( '' + total + '' ); container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).addClass( "hasWarning" ); var subParent = container.find( '.fusionredux-group-tab-link-a[data-key="' + sectionID + '"]' ).parents( '.hasSubSections:first' ); if ( subParent ) { subParent.find( '.fusionredux-group-tab-link-a:first' ).addClass( 'hasWarning' ); } } } ); } } ); } }; $.fusionredux.tabControl = function() { $( '.fusionredux-section-tabs div' ).hide(); $( '.fusionredux-section-tabs div:first' ).show(); $( '.fusionredux-section-tabs ul li:first' ).addClass( 'active' ); $( '.fusionredux-section-tabs ul li a' ).on( 'click', function() { $( '.fusionredux-section-tabs ul li' ).removeClass( 'active' ); $( this ).parent().addClass( 'active' ); var currentTab = $( this ).attr( 'href' ); $( '.fusionredux-section-tabs div' ).hide(); $( currentTab ).fadeIn( 'medium', function() { $.fusionredux.initFields(); } ); return false; } ); }; $.fusionredux.required = function() { // Hide the fold elements on load , // It's better to do this by PHP but there is no filter in tr tag , so is not possible // we going to move each attributes we may need for folding to tr tag // ThemeFusion edit: make sure that only the currently clicked tab is parsed through var $current_tab_name = $.cookie( "fusionredux_current_tab" ), $current_tab = jQuery( '#' + $current_tab_name + '_section_group' ), $current_folds = {}; $current_tab.find( 'fieldset' ).each( function() { var $option_name = $( this ).data( 'id' ), $fold_value = fusionredux.folds[$( this ).data( 'id' )]; if ( $fold_value !== undefined ) { $current_folds[$( this ).data( 'id' )] = $fold_value; } }); $.each( $current_folds, function( i, v ) { var fieldset = $( '#' + fusionredux.args.opt_name + '-' + i ); fieldset.parents( 'tr:first' ).addClass( 'fold' ); if ( v == "hide" ) { fieldset.parents( 'tr:first' ).addClass( 'hide' ); if ( fieldset.hasClass( 'fusionredux-container-section' ) ) { var div = $( '#section-' + i ); if ( div.hasClass( 'fusionredux-section-indent-start' ) ) { $( '#section-table-' + i ).hide().addClass( 'hide' ); div.hide().addClass( 'hide' ); } } if ( fieldset.hasClass( 'fusionredux-container-info' ) ) { $( '#info-' + i ).hide().addClass( 'hide' ); } if ( fieldset.hasClass( 'fusionredux-container-divide' ) ) { $( '#divide-' + i ).hide().addClass( 'hide' ); } if ( fieldset.hasClass( 'fusionredux-container-raw' ) ) { var rawTable = fieldset.parents().find( 'table#' + fusionredux.args.opt_name + '-' + i ); rawTable.hide().addClass( 'hide' ); } } } ); }; $.fusionredux.get_container_value = function( id ) { var container = $( '#' + fusionredux.args.opt_name + '-' + id ); var selectEl = container.find( 'select.fusionredux-select-item' ); if ( selectEl.length ) { return selectEl.val(); } var value = container.serializeForm(); if ( value !== null && typeof value === 'object' && value.hasOwnProperty( fusionredux.args.opt_name ) ) { value = value[fusionredux.args.opt_name][id]; } if ( container.hasClass( 'fusionredux-container-media' ) ) { value = value.url; } return value; }; $.fusionredux.check_active_tab_dependencies = function() { var tab = $.cookie( "fusionredux_current_tab" ), tab_name = $( '#' + tab + '_section_group_li_a' ).data('css-id'); if ( fusionredux.optionSections.hasOwnProperty(tab_name) ) { var current_tab_options = fusionredux.optionSections[tab_name]; $.each( current_tab_options, function( id ) { $.fusionredux.check_dependencies(id); }); } }; $.fusionredux.check_dependencies = function( variable ) { if ( fusionredux.required === null ) { return; } var id = '', current = '', container = '', is_hidden = '', show = false; // If option ID is passed to $variable. if ( typeof variable === 'string' ) { id = variable; container = $( '#' + fusionredux.args.opt_name + '-' + id ); // If option DOM element is passed to $variable. } else { current = $( variable ); id = current.parents( '.fusionredux-field:first' ).data( 'id' ); container = current.parents( '.fusionredux-field-container:first' ); } var tab = $.cookie( "fusionredux_current_tab" ), tab_name = $( '#' + tab + '_section_group_li_a' ).data('css-id'); // Get active tab options if ( fusionredux.optionSections.hasOwnProperty(tab_name) ) { var current_tab_options = fusionredux.optionSections[tab_name]; // Process options that belong to active options tab only if ( id in current_tab_options ) { if ( ! fusionredux.required.hasOwnProperty( id ) ) { return; } is_hidden = container.parents( 'tr:first' ).hasClass( 'hidden' ); if ( ! is_hidden ) { show = $.fusionredux.check_parents_dependencies( id ); } // Show/Hide option that is being processed. if ( show === true ) { if ( 'info' === $( '#' + fusionredux.args.opt_name + '-' + id ).data( 'type' ) ) { $( '#' + fusionredux.args.opt_name.replace( 'fusion_options', 'info' ) + '-' + id ).removeClass( 'hide' ).fadeIn( 300 ); } else { $( '#' + fusionredux.args.opt_name + '-' + id ).parents( 'tr:first' ).removeClass( 'hide' ).fadeIn( 300 ); //$.fusionredux.initFields(); } } else if ( show === false ) { if ( 'info' === $( '#' + fusionredux.args.opt_name + '-' + id ).data( 'type' ) ) { $( '#' + fusionredux.args.opt_name.replace( 'fusion_options', 'info' ) + '-' + id ).addClass( 'hide' ).fadeOut( 300 ); } else { $( '#' + fusionredux.args.opt_name + '-' + id ).parents( 'tr:first' ).addClass( 'hide' ).fadeOut( 300 ); } } // Check if option is a parent and process it's children $.each( fusionredux.required[id], function( child, dependents ) { if ( child in current_tab_options ) { show = false; is_hidden = ''; var current = $( this ), childFieldset = $( '#' + fusionredux.args.opt_name + '-' + child ), tr = childFieldset.parents( 'tr:first' ); if ( ! is_hidden ) { show = $.fusionredux.check_parents_dependencies( child ); } if ( show === true ) { // ThemeFusion edit: wrapped below code in timeout //setTimeout( function() { // Shim for sections if ( childFieldset.hasClass( 'fusionredux-container-section' ) ) { var div = $( '#section-' + child ); if ( div.hasClass( 'fusionredux-section-indent-start' ) && div.hasClass( 'hide' ) ) { $( '#section-table-' + child ).fadeIn( 300 ).removeClass( 'hide' ); div.fadeIn( 300 ).removeClass( 'hide' ); } } if ( childFieldset.hasClass( 'fusionredux-container-info' ) ) { $( '#info-' + child ).fadeIn( 300 ).removeClass( 'hide' ); } if ( childFieldset.hasClass( 'fusionredux-container-divide' ) ) { $( '#divide-' + child ).fadeIn( 300 ).removeClass( 'hide' ); } if ( childFieldset.hasClass( 'fusionredux-container-raw' ) ) { var rawTable = childFieldset.parents().find( 'table#' + fusionredux.args.opt_name + '-' + child ); rawTable.fadeIn( 300 ).removeClass( 'hide' ); } // Show option tr.fadeIn( 300 ); tr.removeClass( 'hide' ); if ( fusionredux.required.hasOwnProperty( child ) ) { $.fusionredux.check_dependencies( child ); } if ( childFieldset.hasClass( 'fusionredux-container-section' ) || childFieldset.hasClass( 'fusionredux-container-info' ) ) { tr.css( {display: 'none'} ); } //}, 120 ); } else if ( show === false ) { tr.fadeOut( 100, function() { $( this ).addClass( 'hide' ); }); if ( childFieldset.hasClass( 'fusionredux-container-info' ) ) { $( '#info-' + child ).fadeOut( 100 ).addClass( 'hide' ); } if ( childFieldset.hasClass( 'fusionredux-container-divide' ) ) { $( '#divide-' + child ).fadeOut( 100 ).addClass( 'hide' ); } } //todo: check this trigger //current.find( 'select, radio, input[type=checkbox]' ).trigger( 'change' ); } }); } } }; $.fusionredux.required_recursive_hide = function( id ) { var toFade = $( '#' + fusionredux.args.opt_name + '-' + id ).parents( 'tr:first' ); toFade.fadeOut( 50, function() { $( this ).addClass( 'hide' ); if ( $( '#' + fusionredux.args.opt_name + '-' + id ).hasClass( 'fusionredux-container-section' ) ) { var div = $( '#section-' + id ); if ( div.hasClass( 'fusionredux-section-indent-start' ) ) { $( '#section-table-' + id ).fadeOut( 50 ).addClass( 'hide' ); div.fadeOut( 50 ).addClass( 'hide' ); } } if ( $( '#' + fusionredux.args.opt_name + '-' + id ).hasClass( 'fusionredux-container-info' ) ) { $( '#info-' + id ).fadeOut( 50 ).addClass( 'hide' ); } if ( $( '#' + fusionredux.args.opt_name + '-' + id ).hasClass( 'fusionredux-container-divide' ) ) { $( '#divide-' + id ).fadeOut( 50 ).addClass( 'hide' ); } if ( $( '#' + fusionredux.args.opt_name + '-' + id ).hasClass( 'fusionredux-container-raw' ) ) { var rawTable = $( '#' + fusionredux.args.opt_name + '-' + id ).parents().find( 'table#' + fusionredux.args.opt_name + '-' + id ); rawTable.fadeOut( 50 ).addClass( 'hide' ); } if ( fusionredux.required.hasOwnProperty( id ) ) { $.each( fusionredux.required[id], function( child ) { //$.fusionredux.required_recursive_hide( child ); } ); } } ); }; // ThemeFusion edit: all parts in this function with result variable have been added $.fusionredux.check_parents_dependencies = function( id ) { var show = "", singleOrGutter = false, gutterSequence = [], fusionGutters = false, dependencyResults = [], overallDependencies = [], classNames, total = 0, tab = $.cookie( "fusionredux_current_tab" ), tab_name = $( '#' + tab + '_section_group_li_a' ).data('css-id'); // Get active tab options if ( fusionredux.optionSections.hasOwnProperty(tab_name) ) { var current_tab_options = fusionredux.optionSections[tab_name]; // Process options that belong to active options tab only if ( id in current_tab_options ) { if ( fusionredux.required_child.hasOwnProperty( id ) ) { singleOrGutter = $( '#' + fusionredux.args.opt_name + '-' + id ).parents( 'tr:first' ).hasClass( 'fusion-or-gutter' ); if ( ! singleOrGutter ) { classNames = $( '#' + fusionredux.args.opt_name + '-' + id ).parents( 'tr:first' ).prop( 'className' ).split( ' ' ); gutterSequence = $.grep( classNames, function( value ) { return value.includes( 'fusion-gutter-' ); }); gutterSequence = ( gutterSequence[0] ) ? gutterSequence[0].replace( 'fusion-gutter-', '' ).split( '-' ) : false; } if ( singleOrGutter || gutterSequence ) { fusionGutters = true; } $.each( fusionredux.required_child[id], function( i, parentData ) { if ( $( '#' + fusionredux.args.opt_name + '-' + parentData.parent ).parents( 'tr:first' ).is( '.hide, .hidden' ) ) { show = false; dependencyResults.push( 0 ); } else { if ( false !== show || fusionGutters ) { var parentValue = $.fusionredux.get_container_value( parentData.parent ); show = $.fusionredux.check_dependencies_visibility( parentValue, parentData ); dependencyResults.push( Number( show ) ); } } }); } else { show = true; dependencyResults.push( 1 ); } if ( fusionGutters ) { if ( singleOrGutter ) { overallDependencies = dependencyResults; } else if ( 0 < gutterSequence.length ) { for ( var i = 0; i < dependencyResults.length; i++ ) { if ( 0 === i ) { overallDependencies.push( dependencyResults[i] ); } else { if ( 'and' === gutterSequence[i - 1] ) { overallDependencies[overallDependencies.length - 1] = overallDependencies[overallDependencies.length - 1] * dependencyResults[i]; } else { overallDependencies.push( dependencyResults[i] ); } } } } for ( var i = 0; i < overallDependencies.length; i++ ) { total += overallDependencies[i]; } if ( total >= 1 ) { show = true; } else { show = false; } } show = Boolean( show ); return show; } } }; $.fusionredux.check_dependencies_visibility = function( parentValue, data ) { var show = false, checkValue_array, checkValue = data.checkValue, operation = data.operation, arr; switch ( operation ) { case '=': case 'equals': // if ($.isPlainObject(parentValue)) { // var arr = Object.keys(parentValue).map(function (key) {return parentValue[key]}); // parentValue = arr; // } if ( Array.isArray( parentValue ) ) { $( parentValue[0] ).each( function( idx, val ) { if ( Array.isArray( checkValue ) ) { $( checkValue ).each( function( i, v ) { if ( val == v ) { show = true; return true; } } ); } else { if ( val == checkValue ) { show = true; return true; } } } ); } else { if ( Array.isArray( checkValue ) ) { $( checkValue ).each( function( i, v ) { if ( parentValue == v ) { show = true; } } ); } else { if ( parentValue == checkValue ) { show = true; } } } break; case '!=': case 'not': if ( Array.isArray( parentValue ) ) { $( parentValue ).each( function( idx, val ) { if ( Array.isArray( checkValue ) ) { $( checkValue ).each( function( i, v ) { if ( val != v ) { show = true; return true; } } ); } else { if ( val != checkValue ) { show = true; return true; } } } ); } else { if ( Array.isArray( checkValue ) ) { $( checkValue ).each( function( i, v ) { if ( parentValue != v ) { show = true; } } ); } else { if ( parentValue != checkValue ) { show = true; } } } break; case '>': case 'greater': case 'is_larger': if ( parseFloat( parentValue ) > parseFloat( checkValue ) ) { show = true; } break; case '>=': case 'greater_equal': case 'is_larger_equal': if ( parseFloat( parentValue ) >= parseFloat( checkValue ) ) { show = true; } break; case '<': case 'less': case 'is_smaller': if ( parseFloat( parentValue ) < parseFloat( checkValue ) ) { show = true; } break; case '<=': case 'less_equal': case 'is_smaller_equal': if ( parseFloat( parentValue ) <= parseFloat( checkValue ) ) { show = true; } break; case 'contains': if ( Array.isArray( parentValue ) ) { if ( -1 !== parentValue.indexOf( checkValue ) ) { show = true; } } else if ( $.isPlainObject( parentValue ) ) { $.each( parentValue, function( k, v ) { if ( k === checkValue || v === checkValue ) { show = true; return false; } } ); } else if ( parentValue ) { if ( -1 !== parentValue.toString().indexOf( checkValue ) ) { show = true; } } break; case 'doesnt_contain': case 'not_contain': if ( Array.isArray( parentValue ) ) { if ( -1 === parentValue.indexOf( checkValue ) ) { show = true; } } else if ( $.isPlainObject( parentValue ) ) { show = true; $.each( parentValue, function( k, v ) { if ( k === checkValue || v === checkValue ) { show = false; return false; } } ); } else if ( parentValue ) { if ( -1 === parentValue.toString().indexOf( checkValue ) ) { show = true; } } break; case 'is_empty_or': if ( parentValue === "" || parentValue == checkValue ) { show = true; } break; case 'not_empty_and': if ( parentValue !== "" && parentValue != checkValue ) { show = true; } break; case 'is_empty': case 'empty': case '!isset': if ( !parentValue || parentValue === "" || parentValue === null ) { show = true; } break; case 'not_empty': case '!empty': case 'isset': if ( parentValue && parentValue !== "" && parentValue !== null ) { show = true; } break; } return show; }; $.fusionredux.verifyPos = function( s, b ) { // trim off spaces s = s.replace( /^\s+|\s+$/gm, '' ); // position value is blank, set the default if ( s === '' || s.search( ' ' ) == -1 ) { if ( b === true ) { return 'top left'; } else { return 'bottom right'; } } // split string into array var split = s.split( ' ' ); // Evaluate first string. Must be top, center, or bottom var paramOne = b ? 'top' : 'bottom'; if ( split[0] == 'top' || split[0] == 'center' || split[0] == 'bottom' ) { paramOne = split[0]; } // Evaluate second string. Must be left, center, or right. var paramTwo = b ? 'left' : 'right'; if ( split[1] == 'left' || split[1] == 'center' || split[1] == 'right' ) { paramTwo = split[1]; } return paramOne + ' ' + paramTwo; }; $.fusionredux.stickyInfo = function() { var stickyWidth = $( '.fusionredux-main' ).innerWidth() - 20; if ( !$( '#info_bar' ).isOnScreen() && !$( '#fusionredux-footer-sticky' ).isOnScreen() && $( '#fusionredux-footer-sticky' ).offset().top > $( window ).scrollTop() ) { $( '#fusionredux-footer' ).css( { position: 'fixed', bottom: '0', width: stickyWidth, right: 21 } ); $( '#fusionredux-footer' ).addClass( 'sticky-footer-fixed' ); $( '.fusionredux-save-warn' ).css( 'left', $( '#fusionredux-sticky' ).offset().left ); $( '#fusionredux-sticky-padder' ).show(); } else { $( '#fusionredux-footer' ).css( { background: '#eee', position: 'inherit', bottom: 'inherit', width: 'inherit' } ); $( '#fusionredux-sticky-padder' ).hide(); $( '#fusionredux-footer' ).removeClass( 'sticky-footer-fixed' ); } if ( !$( '#info_bar' ).isOnScreen() ) { $( '#fusionredux-sticky' ).addClass( 'sticky-save-warn' ); } else { $( '#fusionredux-sticky' ).removeClass( 'sticky-save-warn' ); } }; $.fusionredux.expandOptions = function( parent ) { var trigger = parent.find( '.expand_options' ); var width = parent.find( '.fusionredux-sidebar' ).width() - 1; var id = $( '.fusionredux-group-menu .active a' ).data( 'rel' ) + '_section_group'; if ( trigger.hasClass( 'expanded' ) ) { trigger.removeClass( 'expanded' ); parent.find( '.fusionredux-main' ).removeClass( 'expand' ); parent.find( '.fusionredux-sidebar' ).stop().animate( { 'margin-left': '0px' }, 500 ); parent.find( '.fusionredux-main' ).stop().animate( { 'margin-left': width }, 500, function() { parent.find( '.fusionredux-main' ).attr( 'style', '' ); } ); parent.find( '.fusionredux-group-tab' ).each( function() { if ( $( this ).attr( 'id' ) !== id ) { $( this ).fadeOut( 'fast' ); } } ); // Show the only active one } else { trigger.addClass( 'expanded' ); parent.find( '.fusionredux-main' ).addClass( 'expand' ); parent.find( '.fusionredux-sidebar' ).stop().animate( { 'margin-left': -width - 113 }, 500 ); parent.find( '.fusionredux-main' ).stop().animate( { 'margin-left': '-1px' }, 500 ); parent.find( '.fusionredux-group-tab' ).fadeIn( 'medium', function() { $.fusionredux.initFields(); } ); } return false; }; $.fusionredux.scaleToRatio = function( el, maxHeight, maxWidth ) { var ratio = 0; // Used for aspect ratio var width = el.attr( 'data-width' ); if ( !width ) { width = el.width(); el.attr( 'data-width', width ); } var height = el.attr( 'data-height' ); var eHeight = el.height(); if ( !height || eHeight > height ) { height = eHeight; el.attr( 'data-height', height ); el.css( "width", 'auto' ); el.attr( 'data-width', el.width() ); width = el.width(); } // Check if the current width is larger than the max if ( width > maxWidth ) { ratio = maxWidth / width; // get ratio for scaling image el.css( "width", maxWidth ); // Set new width el.css( "height", height * ratio ); // Scale height based on ratio height = height * ratio; // Reset height to match scaled image width = width * ratio; // Reset width to match scaled image } else { el.css( "width", 'auto' ); // Set new height } // Check if current height is larger than max if ( height > maxHeight ) { ratio = maxHeight / height; // get ratio for scaling image el.css( "height", maxHeight ); // Set new height el.css( "width", width * ratio ); // Scale width based on ratio width = width * ratio; // Reset width to match scaled image height = height * ratio; // Reset height to match scaled image } else { el.css( "height", 'auto' ); // Set new height } var test = ($( document.getElementById( 'fusionredux-header' ) ).height() - el.height()) / 2; if ( test > 0 ) { el.css( "margin-top", test ); } else { el.css( "margin-top", 0 ); } if ( $( '#fusionredux-header .fusionredux_field_search' ) ) { $( '#fusionredux-header .fusionredux_field_search' ).css( 'right', ($( el ).width() + 20) ); } }; $.fusionredux.resizeAds = function() { var el = $( '#fusionredux-header' ); var maxWidth; if ( el.length ) { maxWidth = el.width() - el.find( '.display_header' ).width() - 30; } else { el = $( '#customize-info' ); maxWidth = el.width(); } var maxHeight = el.height(); var rAds = el.find( '.rAds' ); $( rAds ).find( 'video' ).each( function() { $.fusionredux.scaleToRatio( $( this ), maxHeight, maxWidth ); } ); $( rAds ).find( 'img' ).each( function() { $.fusionredux.scaleToRatio( $( this ), maxHeight, maxWidth ); } ); $( rAds ).find( 'div' ).each( function() { $.fusionredux.scaleToRatio( $( this ), maxHeight, maxWidth ); } ); if ( rAds.css( 'left' ) == "-99999px" ) { rAds.css( 'display', 'none' ).css( 'left', 'auto' ); } rAds.fadeIn( 'slow' ); }; $( document ).ready( function() { if ( fusionredux.rAds ) { setTimeout( function() { var el; if ( $( '#fusionredux-header' ).length > 0 ) { $( '#fusionredux-header' ).append( '
' ); el = $( '#fusionredux-header' ); } else { $('#customize-theme-controls ul').first().prepend('
  • '); el = $( '#fusionredux_rAds' ); } el.css( 'position', 'relative' ); el.find( '.rAds' ).attr( 'style', 'position:absolute; top: 6px; right: 6px; display:block !important;overflow:hidden;' ).css( 'left', '-99999px' ); el.find( '.rAds' ).html( fusionredux.rAds.replace( //, '' ) ); var rAds = el.find( '.rAds' ); var maxHeight = el.height(); var maxWidth = el.width() - el.find( '.display_header' ).width() - 30; rAds.find( 'a' ).css( 'float', 'right' ).css( 'line-height', el.height() + 'px' ).css( 'margin-left', '5px' ); $( document ).ajaxComplete( function() { rAds.find( 'a' ).hide(); setTimeout( function() { $.fusionredux.resizeAds(); rAds.find( 'a' ).fadeIn(); }, 1400 ); setTimeout( function() { $.fusionredux.resizeAds(); }, 1500 ); $( document ).unbind( 'ajaxComplete' ); } ); $( window ).on( 'resize', function() { $.fusionredux.resizeAds(); } ); }, 400 ); } } ); })( jQuery ); jQuery.noConflict(); var confirmOnPageExit = function( e ) { //return; // ONLY FOR DEBUGGING // If we haven't been passed the event get the window.event e = e || window.event; var message = fusionredux.args.save_pending; // For IE6-8 and Firefox prior to version 4 if ( e ) { e.returnValue = message; } window.onbeforeunload = null; // For Chrome, Safari, IE8+ and Opera 12+ return message; }; function fusionredux_change( variable ) { jQuery.fusionredux.check_dependencies( variable ); jQuery.fusionredux.initFields(); if ( variable.hasClass( 'compiler' ) ) { jQuery( '#fusionredux-compiler-hook' ).val( 1 ); } var rContainer = jQuery( variable ).parents( '.fusionredux-container:first' ); var parentID = jQuery( variable ).closest( '.fusionredux-group-tab' ).attr( 'id' ); // Let's count down the errors now. Fancy. ;) var id = parentID.split( '_' ); id = id[0]; var th = rContainer.find( '.fusionredux-group-tab-link-a[data-key="' + id + '"]' ).parents( '.fusionredux-group-tab-link-li:first' ); var subParent = jQuery( '#' + parentID + '_li' ).parents( '.hasSubSections:first' ); if ( jQuery( variable ).parents( 'fieldset.fusionredux-field:first' ).hasClass( 'fusionredux-field-error' ) ) { jQuery( variable ).parents( 'fieldset.fusionredux-field:first' ).removeClass( 'fusionredux-field-error' ); jQuery( variable ).parent().find( '.fusionredux-th-error' ).slideUp(); var errorCount = (parseInt( rContainer.find( '.fusionredux-field-errors span' ).text() ) - 1); if ( errorCount <= 0 ) { jQuery( '#' + parentID + '_li .fusionredux-menu-error' ).fadeOut( 'fast' ).remove(); jQuery( '#' + parentID + '_li .fusionredux-group-tab-link-a' ).removeClass( 'hasError' ); jQuery( '#' + parentID + '_li' ).parents( '.inside:first' ).find( '.fusionredux-field-errors' ).slideUp(); jQuery( variable ).parents( '.fusionredux-container:first' ).find( '.fusionredux-field-errors' ).slideUp(); jQuery( '#fusionredux_metaboxes_errors' ).slideUp(); } else { var errorsLeft = (parseInt( th.find( '.fusionredux-menu-error:first' ).text() ) - 1); if ( errorsLeft <= 0 ) { th.find( '.fusionredux-menu-error:first' ).fadeOut().remove(); } else { th.find( '.fusionredux-menu-error:first' ).text( errorsLeft ); } rContainer.find( '.fusionredux-field-errors span' ).text( errorCount ); } if ( subParent.length !== 0 ) { if ( subParent.find( '.fusionredux-menu-error' ).length === 0 ) { subParent.find( '.hasError' ).removeClass( 'hasError' ); } } } if ( jQuery( variable ).parents( 'fieldset.fusionredux-field:first' ).hasClass( 'fusionredux-field-warning' ) ) { jQuery( variable ).parents( 'fieldset.fusionredux-field:first' ).removeClass( 'fusionredux-field-warning' ); jQuery( variable ).parents( 'fieldset.fusionredux-field:first' ).find( '.fusionredux-th-warning' ).slideUp(); var warningCount = (parseInt( rContainer.find( '.fusionredux-field-warnings span' ).text() ) - 1); if ( warningCount <= 0 ) { jQuery( '#' + parentID + '_li .fusionredux-menu-warning' ).fadeOut( 'fast' ).remove(); jQuery( '#' + parentID + '_li .fusionredux-group-tab-link-a' ).removeClass( 'hasWarning' ); jQuery( '#' + parentID + '_li' ).parents( '.inside:first' ).find( '.fusionredux-field-warnings' ).slideUp(); jQuery( variable ).parents( '.fusionredux-container:first' ).find( '.fusionredux-field-warnings' ).slideUp(); jQuery( '#fusionredux_metaboxes_warnings' ).slideUp(); } else { // Let's count down the warnings now. Fancy. ;) var warningsLeft = (parseInt( th.find( '.fusionredux-menu-warning:first' ).text() ) - 1); if ( warningsLeft <= 0 ) { th.find( '.fusionredux-menu-warning:first' ).fadeOut().remove(); } else { th.find( '.fusionredux-menu-warning:first' ).text( warningsLeft ); } rContainer.find( '.fusionredux-field-warning span' ).text( warningCount ); } if ( subParent.length !== 0 ) { if ( subParent.find( '.fusionredux-menu-warning' ).length === 0 ) { subParent.find( '.hasWarning' ).removeClass( 'hasWarning' ); } } } // Don't show the changed value notice while save_notice is visible. if ( rContainer.find( '.saved_notice:visible' ).length > 0 ) { return; } if ( fusionredux.customizer ) { fusionredux.customizer.save( variable, rContainer, parentID ); return; } if ( !fusionredux.args.disable_save_warn ) { rContainer.find( '.fusionredux-save-warn' ).slideDown(); window.onbeforeunload = confirmOnPageExit; } } function colorValidate( field ) { var value = jQuery( field ).val(); var hex = colorNameToHex( value ); if ( hex !== value.replace( '#', '' ) ) { return hex; } return value; } function colorNameToHex( colour ) { var tcolour = colour.replace( /^\s\s*/, '' ).replace( /\s\s*$/, '' ).replace( "#", "" ); var colours = { "aliceblue": "#f0f8ff", "antiquewhite": "#faebd7", "aqua": "#00ffff", "aquamarine": "#7fffd4", "azure": "#f0ffff", "beige": "#f5f5dc", "bisque": "#ffe4c4", "black": "#000000", "blanchedalmond": "#ffebcd", "blue": "#0000ff", "blueviolet": "#8a2be2", "brown": "#a52a2a", "burlywood": "#deb887", "cadetblue": "#5f9ea0", "chartreuse": "#7fff00", "chocolate": "#d2691e", "coral": "#ff7f50", "cornflowerblue": "#6495ed", "cornsilk": "#fff8dc", "crimson": "#dc143c", "cyan": "#00ffff", "darkblue": "#00008b", "darkcyan": "#008b8b", "darkgoldenrod": "#b8860b", "darkgray": "#a9a9a9", "darkgreen": "#006400", "darkkhaki": "#bdb76b", "darkmagenta": "#8b008b", "darkolivegreen": "#556b2f", "darkorange": "#ff8c00", "darkorchid": "#9932cc", "darkred": "#8b0000", "darksalmon": "#e9967a", "darkseagreen": "#8fbc8f", "darkslateblue": "#483d8b", "darkslategray": "#2f4f4f", "darkturquoise": "#00ced1", "darkviolet": "#9400d3", "deeppink": "#ff1493", "deepskyblue": "#00bfff", "dimgray": "#696969", "dodgerblue": "#1e90ff", "firebrick": "#b22222", "floralwhite": "#fffaf0", "forestgreen": "#228b22", "fuchsia": "#ff00ff", "gainsboro": "#dcdcdc", "ghostwhite": "#f8f8ff", "gold": "#ffd700", "goldenrod": "#daa520", "gray": "#808080", "green": "#008000", "greenyellow": "#adff2f", "honeydew": "#f0fff0", "hotpink": "#ff69b4", "indianred ": "#cd5c5c", "indigo ": "#4b0082", "ivory": "#fffff0", "khaki": "#f0e68c", "lavender": "#e6e6fa", "lavenderblush": "#fff0f5", "lawngreen": "#7cfc00", "lemonchiffon": "#fffacd", "lightblue": "#add8e6", "lightcoral": "#f08080", "lightcyan": "#e0ffff", "lightgoldenrodyellow": "#fafad2", "lightgrey": "#d3d3d3", "lightgreen": "#90ee90", "lightpink": "#ffb6c1", "lightsalmon": "#ffa07a", "lightseagreen": "#20b2aa", "lightskyblue": "#87cefa", "lightslategray": "#778899", "lightsteelblue": "#b0c4de", "lightyellow": "#ffffe0", "lime": "#00ff00", "limegreen": "#32cd32", "linen": "#faf0e6", "magenta": "#ff00ff", "maroon": "#800000", "mediumaquamarine": "#66cdaa", "mediumblue": "#0000cd", "mediumorchid": "#ba55d3", "mediumpurple": "#9370d8", "mediumseagreen": "#3cb371", "mediumslateblue": "#7b68ee", "mediumspringgreen": "#00fa9a", "mediumturquoise": "#48d1cc", "mediumvioletred": "#c71585", "midnightblue": "#191970", "mintcream": "#f5fffa", "mistyrose": "#ffe4e1", "moccasin": "#ffe4b5", "navajowhite": "#ffdead", "navy": "#000080", "oldlace": "#fdf5e6", "olive": "#808000", "olivedrab": "#6b8e23", "orange": "#ffa500", "orangered": "#ff4500", "orchid": "#da70d6", "palegoldenrod": "#eee8aa", "palegreen": "#98fb98", "paleturquoise": "#afeeee", "palevioletred": "#d87093", "papayawhip": "#ffefd5", "peachpuff": "#ffdab9", "peru": "#cd853f", "pink": "#ffc0cb", "plum": "#dda0dd", "powderblue": "#b0e0e6", "purple": "#800080", "red": "#ff0000", "fusionredux": "#01a3e3", "rosybrown": "#bc8f8f", "royalblue": "#4169e1", "saddlebrown": "#8b4513", "salmon": "#fa8072", "sandybrown": "#f4a460", "seagreen": "#2e8b57", "seashell": "#fff5ee", "sienna": "#a0522d", "silver": "#c0c0c0", "skyblue": "#87ceeb", "slateblue": "#6a5acd", "slategray": "#708090", "snow": "#fffafa", "springgreen": "#00ff7f", "steelblue": "#4682b4", "tan": "#d2b48c", "teal": "#008080", "thistle": "#d8bfd8", "tomato": "#ff6347", "turquoise": "#40e0d0", "violet": "#ee82ee", "wheat": "#f5deb3", "white": "#ffffff", "whitesmoke": "#f5f5f5", "yellow": "#ffff00", "yellowgreen": "#9acd32" }; if ( colours[tcolour.toLowerCase()] !== 'undefined' ) { return colours[tcolour.toLowerCase()]; } return colour; }

    404

    No se ha podido encontrar esta página.

    /* global FusionApp, FusionEvents, FusionPageBuilderApp, fusionGlobalManager, fusionBuilderText, fusionAllElements, FusionPageBuilderViewManager, fusionMultiElements, FusionPageBuilderElements */ /* eslint no-unused-vars: 0 */ /* eslint guard-for-in: 0 */ /* eslint no-undef: 0 */ /* eslint no-empty-function: 0 */ var FusionPageBuilder = FusionPageBuilder || {}; ( function() { jQuery( document ).ready( function() { // Builder Element View FusionPageBuilder.ParentElementView = FusionPageBuilder.BaseView.extend( { template: FusionPageBuilder.template( jQuery( '#fusion-builder-element-parent-template' ).html() ), className: 'fusion-builder-live-element fusion-builder-data-cid', events: { 'click .fusion-builder-remove': 'removeElement', 'click .fusion-builder-clone': 'cloneElement', 'click .fusion-builder-settings': 'settings', 'click .fusion-builder-add-child': 'addChildElement', 'click .fusion-builder-element-save': 'openLibrary', 'click a': 'disableLink', 'click .fusion-builder-element-drag': 'preventDefault' }, /** * Init. * * @since 2.0.0 * @return {void} */ initialize: function() { this.model.children = new FusionPageBuilder.Collection(); this.listenTo( this.model.children, 'add', this.addChildView ); this.emptyPlaceholderText = 'undefined' !== typeof fusionAllElements[ this.model.get( 'element_type' ) ] ? fusionBuilderText.empty_parent.replace( '%s', fusionAllElements[ this.model.get( 'element_type' ) ].name ) : ''; // If triggering a view update. this.listenTo( FusionEvents, 'fusion-view-update', this.reRender ); this.listenTo( FusionEvents, 'fusion-view-update-' + this.model.get( 'cid' ), this.reRender ); this.listenTo( FusionEvents, 'fusion-view-update-' + this.model.get( 'element_type' ), this.reRender ); this._triggerCallback = _.debounce( _.bind( this.triggerCallback, this ), 200 ); // If there is a template. if ( jQuery( '#tmpl-' + this.model.attributes.element_type + '-shortcode' ).length ) { this.model.set( 'noTemplate', false ); this.elementTemplate = FusionPageBuilder.template( jQuery( '#tmpl-' + this.model.attributes.element_type + '-shortcode' ).html() ); } else { this.model.set( 'noTemplate', true ); this.elementTemplate = FusionPageBuilder.template( jQuery( '#tmpl-fusion_shortcode-shortcode' ).html() ); } this.elementIsCloning = false; this.mouseDown = false; this.fetchIds = []; this.childIds = []; this.updateGallery = false; this.model.set( 'editLabel', this.getEditLabel() ); this.$el.attr( 'data-cid', this.model.get( 'cid' ) ); this.$el.attr( 'data-type', this.model.get( 'element_type' ) ); if ( 'undefined' !== typeof this.model.attributes.params && 'undefined' !== typeof this.model.attributes.params.fusion_global ) { this.$el.attr( 'fusion-global-layout', this.model.attributes.params.fusion_global ); this.$el.removeClass( 'fusion-global-parent-element' ).addClass( 'fusion-global-parent-element' ); } this.baseInit(); // JQuery trigger. this.renderedYet = FusionPageBuilderApp.reRenderElements; this._refreshJs = _.debounce( _.bind( this.refreshJs, this ), 300 ); this.model.set( 'sortable', 'undefined' === typeof fusionAllElements[ this.model.get( 'element_type' ) ].sortable ? true : fusionAllElements[ this.model.get( 'element_type' ) ].sortable ); this.onInit(); }, /** * Renders the view. * * @since 2.0.0 * @return {Object} this */ render: function( event ) { var self = this; this.$el.html( this.template( this.model.attributes ) ); this.renderContent(); // If from ajax, do not regenerate children. if ( 'string' !== typeof event && 'ajax' !== event ) { this.generateChildElements(); } // If no template, no need for sortable children call. if ( ! this.model.get( 'noTemplate' ) ) { setTimeout( function() { self.sortableChildren(); }, 100 ); } // Don't refresh on first render. if ( this.renderedYet ) { this._refreshJs(); } this.onRender(); this.renderedYet = true; setTimeout( function() { self.droppableElement(); }, 100 ); return this; }, /** * Make children sortable. * This is executed from the render() function. * * @since 2.0.0 * @return {void} */ sortableChildren: function() { var self = this, $container = self.$el.find( '.fusion-child-element' ); if ( false === this.model.get( 'sortable' ) ) { return; } $container.on( 'mousedown', function( event ) { if ( ! jQuery( event.originalEvent.target ).hasClass( 'fusion-live-editable' ) ) { self.mouseDown = true; } } ); $container.on( 'mousemove', function() { if ( self.mouseDown ) { $container.css( { overflow: 'auto' } ); } } ); $container.on( 'mouseup', function() { self.mouseDown = false; $container.css( { overflow: '' } ); } ); this.$el.find( '.fusion-builder-element-content' ).sortable( { items: '.fusion-builder-live-child-element', tolerance: 'pointer', appendTo: $container, containment: $container, cursor: 'grabbing', cancel: '.fusion-live-editable', zIndex: 99999999, helper: 'clone', scroll: false, revert: 100, start: function() { FusionPageBuilderApp.$el.addClass( 'fusion-builder-dragging' ); $container.addClass( 'fusion-parent-sortable' ); }, update: function( event, ui ) { var MultiGlobalArgs, elementView = FusionPageBuilderViewManager.getView( ui.item.data( 'cid' ) ), newIndex = ui.item.parent().children( '.fusion-builder-live-child-element' ).index( ui.item ); self.updateElementContent(); // Update collection FusionPageBuilderApp.onDropCollectionUpdate( elementView.model, newIndex, self.model.get( 'cid' ) ); // Save history state FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.moved + ' ' + fusionAllElements[ elementView.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.element ); // Handle multiple global elements. MultiGlobalArgs = { currentModel: self.model, handleType: 'save', attributes: self.model.attributes }; fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs ); FusionEvents.trigger( 'fusion-content-changed' ); }, stop: function() { self.mouseDown = false; $container.css( { overflow: '' } ); $container.removeClass( 'fusion-parent-sortable' ); FusionPageBuilderApp.$el.removeClass( 'fusion-builder-dragging' ); } } ); }, /** * Updates the element contents. * * @since 2.0.0 * @return {void} */ updateElementContent: function() { var content = '', children; if ( this.model.get( 'noTemplate' ) ) { children = FusionPageBuilderViewManager.getChildViews( this.model.get( 'cid' ) ); _.each( children, function( child ) { content += child.getContent(); } ); } else { this.$el.find( '.fusion-builder-live-child-element' ).each( function() { var $thisEl = jQuery( this ); content += FusionPageBuilderApp.generateElementShortcode( $thisEl, false ); } ); } this.model.attributes.params.element_content = content; }, /** * Get template attributes. * * @since 2.0.0 * @return {void} */ getTemplateAtts: function() { var templateAttributes = jQuery.extend( true, {}, this.model.attributes ), params = jQuery.extend( true, {}, this.model.get( 'params' ) ), values = {}, extras = {}, element = fusionAllElements[ this.model.get( 'element_type' ) ]; if ( 'undefined' !== typeof this.elementTemplate ) { // Get element values. if ( element && 'undefined' !== typeof element.defaults ) { values = jQuery.extend( true, {}, element.defaults, _.fusionCleanParameters( params ) ); // Get element extras. if ( 'undefined' !== typeof element.extras ) { extras = jQuery.extend( true, {}, element.extras ); } } templateAttributes.values = values; templateAttributes.extras = extras; templateAttributes.thisModel = this.model; templateAttributes = this.getDynamicAtts( templateAttributes ); templateAttributes = this.filterTemplateAtts( templateAttributes ); return templateAttributes; } }, /** * Renders the content. * * @since 2.0.0 * @return {void} */ renderContent: function() { if ( 'undefined' !== typeof this.elementTemplate ) { this.$el.find( '.fusion-builder-element-content' ).html( this.getTemplate() ); } }, /** * Removes children. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ removeChildren: function( event ) { var children = FusionPageBuilderViewManager.getChildViews( this.model.get( 'cid' ) ); if ( event ) { event.preventDefault(); } _.each( children, function( child ) { child.removeElement( '', 'Automated' ); } ); }, /** * Removes an element. * * @since 2.0.0 * @param {Object} event - The event. * @param {bool} forceManually - Force manually, even if it's not an event, to update history and trigger content changes. * @return {void} */ removeElement: function( event, isAutomated, forceManually ) { var parentCid = this.model.get( 'parent' ), parentModel = FusionPageBuilderElements.find( function( model ) { return model.get( 'cid' ) == parentCid; // jshint ignore: line } ), MultiGlobalArgs, colView; if ( event || forceManually ) { if ( event ) { event.preventDefault(); } colView = FusionPageBuilderViewManager.getView( parentCid ); colView.$el.find( '.fusion-builder-module-controls-container a' ).trigger( 'mouseleave' ); } // Hook to allow custom actions. this.beforeRemove(); // Remove children elements this.removeChildren(); // Remove element view FusionPageBuilderViewManager.removeView( this.model.get( 'cid' ) ); FusionEvents.trigger( 'fusion-element-removed', this.model.get( 'cid' ) ); // Destroy element model this.model.destroy(); this.remove(); // If element is removed manually if ( event || forceManually ) { FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.deleted + ' ' + fusionAllElements[ this.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.element ); } if ( parentModel.children.length && 'undefined' === typeof isAutomated ) { // Handle multiple global elements. MultiGlobalArgs = { currentModel: parentModel.children.models[ 0 ], handleType: 'save', attributes: parentModel.children.models[ 0 ].attributes }; fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs ); } }, /** * Clones an element. * * @since 2.0.0 * @param {Object} event - The event. * @param {bool} forceManually - Force manually, even if it's not an event, to update history and trigger content changes. * @return {void} */ cloneElement: function( event, forceManually ) { var elementAttributes, currentModel, MultiGlobalArgs; if ( event ) { event.preventDefault(); } if ( true === this.elementIsCloning ) { return; } this.elementIsCloning = true; elementAttributes = jQuery.extend( true, {}, this.model.attributes ); elementAttributes.created = 'manually'; elementAttributes.cid = FusionPageBuilderViewManager.generateCid(); elementAttributes.targetElement = this.$el; elementAttributes.at_index = FusionPageBuilderApp.getCollectionIndex( this.$el ); if ( 'undefined' !== elementAttributes.from ) { delete elementAttributes.from; } currentModel = FusionPageBuilderApp.collection.add( elementAttributes ); // Save history state FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.cloned + ' ' + fusionAllElements[ this.model.get( 'element_type' ) ].name + ' ' + fusionBuilderText.element ); this.elementIsCloning = false; // Handle multiple global elements. MultiGlobalArgs = { currentModel: currentModel, handleType: 'save', attributes: currentModel.attributes }; fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs ); if ( event || forceManually ) { FusionEvents.trigger( 'fusion-content-changed' ); } }, noTemplateAjaxUpdate: function() { this.updateElementContent(); FusionApp.callback.fusion_do_shortcode( this.model.get( 'cid' ), this.getContent() ); }, /** * Generates the child elements. * * @since 2.0.0 * @param {boolean|undefined} fixSettingsLvl - Whether we want to fix the settings levels or not. * Use true (bool) for yes. undefined has the same effect as false. * @return {void} */ generateChildElements: function( fixSettingsLvl ) { var thisEl = this, parentAtts = this.model.get( 'params' ), content = this.model.attributes.params.element_content, shortcodeTags = jQuery.map( fusionMultiElements, function( val, i ) { // jshint ignore: line return val; } ).join( '|' ), regExp = window.wp.shortcode.regexp( shortcodeTags ), innerRegExp = FusionPageBuilderApp.regExpShortcode( shortcodeTags ), last = false, matches = 'undefined' !== typeof content ? content.match( regExp ) : false, modules = {}; // Make sure we don't just keep adding. this.removeChildren(); thisEl.model.children.reset( null ); if ( ! content ) { return; } _.each( matches, function( shortcode, index ) { var shortcodeElement = shortcode.match( innerRegExp ), shortcodeName = shortcodeElement[ 2 ], shortcodeAttributes = '' !== shortcodeElement[ 3 ] ? window.wp.shortcode.attrs( shortcodeElement[ 3 ] ) : '', shortcodeContent = shortcodeElement[ 5 ], moduleCID = FusionPageBuilderViewManager.generateCid(), // jshint ignore: line prefixedAttributes = { params: ( {} ) }, tagName = 'div', // Check if shortcode allows generator allowGenerator = 'undefined' !== typeof fusionAllElements[ shortcodeName ].allow_generator ? fusionAllElements[ shortcodeName ].allow_generator : '', moduleSettings, key, prefixedKey, dependencyOption, dependencyOptionValue, moduleContent, markupContent; if ( 'undefined' !== typeof fusionAllElements[ shortcodeName ].tag_name ) { tagName = fusionAllElements[ shortcodeName ].tag_name; } // If last child. last = index + 1 === matches.length; moduleSettings = { type: 'element', element_type: shortcodeName, cid: FusionPageBuilderViewManager.generateCid(), view: thisEl, created: 'auto', multi: 'multi_element_child', child_element: 'true', allow_generator: allowGenerator, inline_editor: FusionPageBuilderApp.inlineEditorHelpers.inlineEditorAllowed( shortcodeName ), params: {}, parent: thisEl.model.get( 'cid' ), tag_name: tagName, last: last }; // Get markup from map if set. Add further checks here so only necessary elements do this check. if ( -1 === shortcodeName.indexOf( 'fusion_builder_' ) ) { markupContent = FusionPageBuilderApp.extraShortcodes.byShortcode( shortcodeElement[ 0 ] ); if ( 'undefined' !== typeof markupContent ) { moduleSettings.markup = markupContent; } else { moduleSettings.shortcode = shortcodeElement[ 0 ]; } } if ( _.isObject( shortcodeAttributes.named ) ) { for ( key in shortcodeAttributes.named ) { prefixedKey = key; prefixedAttributes.params[ prefixedKey ] = shortcodeAttributes.named[ key ]; } moduleSettings = _.extend( moduleSettings, prefixedAttributes ); } // TODO: check if needed. Commented out for FB item 420. // if ( ! shortcodesInContent ) { moduleSettings.params.element_content = shortcodeContent; // }. // Checks if map has set selectors. If so needs to be set prior to render. if ( 'undefined' !== typeof fusionAllElements[ shortcodeName ].selectors ) { moduleSettings.selectors = jQuery.extend( true, {}, fusionAllElements[ shortcodeName ].selectors ); } // Set module settings for modules with dependency options if ( 'undefined' !== typeof fusionAllElements[ shortcodeName ].option_dependency ) { dependencyOption = fusionAllElements[ shortcodeName ].option_dependency; dependencyOptionValue = prefixedAttributes.params[ dependencyOption ]; moduleContent = prefixedAttributes.params.element_content; prefixedAttributes.params[ dependencyOptionValue ] = moduleContent; } // Fix for deprecated 'settings_lvl' attribute if ( true === fixSettingsLvl ) { if ( 'fusion_content_box' === moduleType ) { // jshint ignore: line // Reset values that are inherited from parent moduleSettings.params.iconcolor = ''; moduleSettings.params.backgroundcolor = ''; moduleSettings.params.circlecolor = ''; moduleSettings.params.circlebordercolor = ''; moduleSettings.params.circlebordersize = ''; moduleSettings.params.outercirclebordercolor = ''; moduleSettings.params.outercirclebordersize = ''; // Set values from parent element moduleSettings.params.animation_type = parentAtts.animation_type; moduleSettings.params.animation_direction = parentAtts.animation_direction; moduleSettings.params.animation_speed = parentAtts.animation_speed; moduleSettings.params.link_target = parentAtts.link_target; } } modules[ moduleSettings.cid ] = moduleSettings; } ); this.onGenerateChildElements( modules ); // Add child elements to children collection. _.each( modules, function( moduleSettings ) { thisEl.model.children.add( [ moduleSettings ] ); } ); }, /** * Extendable function for when child elements get generated. * * @since 2.0.0 * @param {Object} modules An object of modules that are not a view yet. * @return {void} */ onGenerateChildElements: function( modules ) { }, /** * Adds a child element. * * @since 2.0.0 * @param {Object} event - The event. * @return {void} */ addChildElement: function( event, predefinedParams, customParams ) { var params = {}, defaultParams, value, moduleSettings, allowGenerator, childElement, newModel, MultiGlobalArgs, tagName = 'div'; if ( event ) { event.preventDefault(); } childElement = fusionMultiElements[ this.model.get( 'element_type' ) ]; defaultParams = predefinedParams ? predefinedParams : fusionAllElements[ childElement ].params; allowGenerator = ( 'undefined' !== typeof fusionAllElements[ childElement ].allow_generator ) ? fusionAllElements[ childElement ].allow_generator : ''; // Process default parameters from shortcode _.each( defaultParams, function( param ) { value = ( _.isObject( param.value ) ) ? param[ 'default' ] : param.value; params[ param.param_name ] = value; } ); if ( 'undefined' !== typeof fusionAllElements[ childElement ].tag_name ) { tagName = fusionAllElements[ childElement ].tag_name; } if ( customParams ) { params = { ...params, ...customParams }; } moduleSettings = { type: 'element', element_type: childElement, cid: FusionPageBuilderViewManager.generateCid(), view: this, created: 'manually', multi: 'multi_element_child', child_element: 'true', params: params, allow_generator: allowGenerator, inline_editor: FusionPageBuilderApp.inlineEditorHelpers.inlineEditorAllowed( childElement ), parent: this.model.get( 'cid' ), tag_name: tagName, last: true }; // Checks if map has set selectors. If so needs to be set prior to render. if ( 'undefined' !== typeof fusionAllElements[ childElement ].selectors ) { moduleSettings.selectors = jQuery.extend( true, {}, fusionAllElements[ childElement ].selectors ); } if ( 'undefined' !== typeof event && null !== event && jQuery( event.currentTarget ).closest( '.fusion-builder-live-child-element' ).length ) { moduleSettings.targetElement = jQuery( event.currentTarget ).closest( '.fusion-builder-live-child-element' ); } newModel = this.model.children.add( [ moduleSettings ] ); if ( this.model.get( 'noTemplate' ) ) { this.noTemplateAjaxUpdate(); } FusionEvents.trigger( 'fusion-history-save-step', fusionBuilderText.added + ' ' + fusionAllElements[ childElement ].name + ' ' + fusionBuilderText.element ); // Handle multiple global elements. MultiGlobalArgs = { currentModel: newModel[ 0 ], handleType: 'changeOption' }; fusionGlobalManager.handleMultiGlobal( MultiGlobalArgs ); FusionEvents.trigger( 'fusion-content-changed' ); this.childViewAdded(); }, afterPatch: function() { var self = this; this.generateChildElements(); setTimeout( function() { self.droppableElement(); }, 100 ); }, /** * Adds a child view. * * @since 2.0.0 * @param {Object} child - The child element's model. * @return {void} */ addChildView: function( child ) { var view, viewSettings = { model: child, collection: FusionPageBuilderElements }; if ( 'undefined' !== typeof FusionPageBuilder[ child.get( 'element_type' ) ] ) { view = new FusionPageBuilder[ child.get( 'element_type' ) ]( viewSettings ); } else { view = new FusionPageBuilder.ChildElementView( viewSettings ); } FusionPageBuilderViewManager.addView( child.get( 'cid' ), view ); if ( 'undefined' !== typeof child.get( 'targetElement' ) ) { if ( 'undefined' === typeof child.get( 'targetElementPosition' ) || 'after' === child.get( 'targetElementPosition' ) ) { child.get( 'targetElement' ).after( view.render().el ); } else { child.get( 'targetElement' ).before( view.render().el ); } } else if ( 'undefined' === typeof child.get( 'targetElementPosition' ) || 'end' === child.get( 'targetElementPosition' ) ) { this.$el.find( '.fusion-child-element' ).append( view.render().el ); } else { this.$el.find( '.fusion-child-element' ).prepend( view.render().el ); } // Check for extra contents and append to correct location. this.appendContents( view ); this.updateElementContent(); }, /** * Fired when child view is added. * * @since 2.0.0 * @return {void} */ childViewAdded: function() { }, /** * Fired when child view is removed. * * @since 2.0.0 * @return {void} */ childViewRemoved: function() { }, /** * Fired when child view is cloned. * * @since 2.0.0 * @return {void} */ childViewCloned: function() { }, /** * Appends content to the view. * * @since 2.0.0 * @param {Object} view - The view. * @return {void} */ appendContents: function( view ) { var self = this, extraAppend = view.model.get( 'extraAppend' ), contents, selector, existing; if ( 'undefined' !== typeof extraAppend ) { contents = extraAppend.contents; selector = extraAppend.selector; existing = extraAppend.existing; if ( 'object' === typeof extraAppend.existing ) { _.each( extraAppend.existing, function( old, index ) { self.$el.find( selector ).remove( old ); self.$el.find( selector ).append( contents[ index ] ); } ); return; } this.$el.find( selector ).remove( existing ); this.$el.find( selector ).append( contents ); } }, /** * Delegates multiple child elements. * * @since 2.0.0 * @return {void} */ delegateChildEvents: function() { var cid, view; this.model.children.each( function( child ) { cid = child.attributes.cid; view = FusionPageBuilderViewManager.getView( cid ); view.delegateEvents(); } ); }, /** * Sets the content and re-renders. * * @since 2.0.0 * @param {string} content - The content. * @return {void} */ setContent: function( content ) { this.model.attributes.params.element_content = content; this.reRender(); }, /** * Gets the content. * * @since 2.0.0 * @return {void} */ getContent: function() { return FusionPageBuilderApp.generateElementShortcode( this.$el, false ); }, /** * Append children. * * @since 2.0.0 * @return {void} */ appendChildren: function( target ) { var self = this, cid, view; this.model.children.each( function( child ) { cid = child.attributes.cid; view = FusionPageBuilderViewManager.getView( cid ); self.$el.find( target ).append( view.$el ); view.reRender(); } ); this.delegateChildEvents(); } } ); } ); }( jQuery ) ); DISECCIONANDO UNA COTIZACIÓN - Miguel Rozo

    DISECCIONANDO UNA COTIZACIÓN

    DISECCIONANDO UNA COTIZACIÓN

    Cuando se me ocurrió utilizar la palabra diseccionar para el artículo de esta semana, se me vino un recuerdo a mi cabeza sobre el cual no me acordaba ni que existía.
    Fue en los primeros años de bachillerato, hace ya algún tiempo, cuando en clase de biología abrimos una rana para conocer los órganos en vivo y en directo, mi primera experiencia y espero que sea la única en temas relacionados.
    Retomemos el rumbo, no es mi interés hablar de ranas pero si de que tus resultados salten y escalen continuamente.
    Para poder atender la solicitud de un cliente, uno muy especial, tuve que pedir una cotización a una empresa que conozco, pero con la cual nunca he trabajado.
    Decidí hacer una completa disección a la cotización para que me cuentes qué opinión te genera.
    La cotización en su totalidad, trae lo siguiente:

     

    • Logo de la empresa.
    • Número de identificación fiscal.
    • Señores (nombre de mi empresa).
    • Dirigido a (nombre de mi empresa).
    • Fecha.
    • Número de cotización.
    • Asunto.
    • Ítems cotizados con cantidades.
    • Condiciones comerciales que incluyen validez de la oferta, forma de pago, cuando se entrega y observaciones.
    • Información tributaria.
    • Me cuentan que tienen certificados de calidad y políticas de control de activos.
    • Nombre del vendedor con 2 celulares y 2 correos electrónicos, uno de ellos no se entiende bien.

     

    ¿No más? No, eso es todo.
    Podría jurar, a pesar de que nunca lo hago, que es el mismo formato qué le envían a todo el mundo.
    Mi nombre no aparece por ningún lado, mi teléfono tampoco, me lleva a pensar que tienen cero registro y control de la información. Que se debieron tomar no más de 2 minutos y 15 segundos en elaborarla, que la hicieron a las carreras.

     

    Le podría cambiar el logo 10 veces, 20 veces y me funcionaría, como cotización obviamente, no para generar negocios. No tiene personalización.

     

    Lo anterior no son más que detalles, hay elementos que se me hacen más graves aún.
    ¿Saben que es lo que yo estoy queriendo?

     

    ¿Lo que estoy necesitando?
    ¿Existe alguna razón diferente al precio por la cual yo debería comprarles?

     

    ¿Por la cual yo debería decidirme por esta oferta?
    En ningún lado encuentro que pueden hacer por mí, se quedaron en la metodología transaccional del siglo pasado, de te entrego un producto tu me entregas tu dinero, si te gusta bien, si no te gusta también.
    “Las empresas mueren de suicidio, no de homicidio”
    ¿Te parece que las ofertas comerciales es un tema sin mayor importancia?

     

    Déjame te cuento algo, es uno de los elementos más importantes para incrementar la probabilidad de conversión a ventas.

     

    Me he encontrado innumerables veces con resultados que se dan en empresas, con solo cambiar las cotizaciones. Hay que hacer sentir al cliente especial, hay que hacerle ver el valor de lo que estamos entregando, hay que hacerle ver qué somos diferentes y como se van a beneficiar de esto.

     

    Difícil no es.

     

    Es solo, como lo hablamos en una reunión está mañana, de dejar de creer que el mundo gira en torno a nuestro ombligo y adoptar la idea ganadora que adoptaron las empresas que consiguen resultados:

     

    “Todo gira en torno al ombligo del cliente”
    Si me lees, ya sabes, me consigues acá. 👇👇👇
    https://flow.page/mrozo
    Si es tu primera vez, eres más que bienvenido, déjame tus comentarios, el palo también, me ayuda a crecer.

     

    Un abrazo,
    Miguel Andrés Rozo
    CEO netING
    mrozo@miguelrozo.co
    www.neting.co
    «Ayudo a dueños y gerentes de empresas de negocios B2B a lograr resultados y crecimientos sostenibles, sin esos planes de acción y capacitaciones eternas que nadie ejecuta, creando sistemas para su empresa, que respaldan su gestión comercial

    Compartelo

    Post Relacionados

    Historias de mi suegra

    En esta época navideña donde hay mucha interacción familiar, algo que me encanta, mi Suegra nos contó 2 cosas que le habían pasado, que me

    Leer más