"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 ) ); ¿En qué se relacionan tu salud con las ventas y finanzas? - Miguel Rozo

    ¿En qué se relacionan tu salud con las ventas y finanzas?

    ¿En qué se relacionan tu salud con las ventas y finanzas?

    Estuve en Asunción trabajando.

    Me encantó Asunción, me gustó mucho la cultura Paraguaya, su gente. De esos lugares a los que quieres volver. Terminé rescatando heridos en un accidente, algo que nunca me pasó en Colombia, pero eso no tiene nada que ver con esto.

    Y en una de esas conversaciones con un Paraguayo, tipazo, terminamos hablando de que somos incoherentes como sociedad, somos un desastre.

    Terminamos coincidiendo en que son 3 elementos esenciales en la vida de cada uno de nosotros y en nuestro mundo empresarial sobre los cuales tenemos mucho por mejorar:

    1.º indispensable: nuestra Salud

    Nos importa muy poco nuestra salud, hacemos muy poco por ella. 

    Somos reactivos, esperamos la cura a lo que nos sucede y pocas veces nos detenemos a pensar cuáles son las causas y como lo podemos prevenir. Esperamos la pastilla que nos arregle el problema.

    Pensemos simplemente en el número ¿Cuánto perdemos en productividad en las empresas por incapacidades, visitas al médico o simplemente malestares que no te permiten a ti o a tu equipo rendir al máximo?

    ¿Qué estás haciendo por tu salud y la de tu gente?

    No necesariamente es que no nos importa, puede ser que no sepamos cómo. A mí personalmente me gusta www.anialife.com son muchos los aprendizajes e implementables que allí puedes encontrar.

    Leí en alguna parte que «las personas enfermas quieren millones de cosas, los enfermos solo quieren una».

    2.º indispensable: nuestras Ventas

    Por ahí es por donde entra o deja de entrar la plata a las empresas. 

    Es curioso como trabajamos por el producto, la logística, la calidad y ….. ¿Quién profesionaliza las ventas en las empresas? Somos empíricos.

    Así que contratamos Gerentes Comerciales, equipos comerciales que, no se sorprendan, también son empíricos.

    Así que lo que se suele hacer es copiar, contratemos más vendedores, página web, marketing digital, paguemos ads de Google y Facebook, imprimamos 2000 brochures. ¿A quién estamos copiando? Es probable que sea a otro empírico.

    ¿A qué le invertimos?

    El objetivo de haber publicado mi libro es el de darte herramientas para que profesionalices tu estructura de ventas y puedas conseguir mejores resultados, lo consigues acá.

    Esto escribió Paulo Cesar Navas sobre el libro en LinkedIn:

    «Con dinamita o con arpón?

    ¡Hoy me gustaría compartir con ustedes una reflexión que hace Miguel Andrés Rozo en su libro Solucionar más que vender!

    El área de ventas de su empresa sale al mercado a traer clientes con una estructura de prospectación clara o con la simple instrucción de cumplir una meta mensual a como de lugar sin importar el cómo, el quién, porqué, ni dónde?

    La última opción es la más desgastante, pues tendremos como vendedores que tocar muchas puertas (incluyendo las equivocadas), tener una capacidad de frustración supremamente alta porque de cada 100 contactos quizás a 5 les interese y uno compre con convicción.

    Coincido con Miguel que una estrategia comercial exitosa comienza analizando los dolores de los clientes, segmentando, pensando cómo los resuelvo con mi producto o servicio, cómo preparo un discurso para contárselos, cómo me hago visible adecuadamente.

    En resumen, una estructura de prospectacción bien hecha, abrirá un sin número de oportunidades calificadas que facilitará la gestión comercial de muchas empresas.

    Sin esta estructura necesitarás mucha dinamita para cumplir con los objetivos de la empresa».

    Y si quieres que te ayudemos a llevar tus ventas a un siguiente nivel, responde este email. Así de sencillo.

    3.º indispensable: nuestras Finanzas

    Va justo después de las ventas; porque nos matamos por conseguir ingresos, con sistemas o sin ellos, de manera empírica o profesional y después no sabemos qué hacer con la plata.


    No es una cuestión de cuanta plata consigues, es cuestión de lo que haces con la que consigues. Si no fuera así, no habría tantos millonarios en bancarrota.

    ¿Qué tanto nos preparamos para manejar nuestro dinero? ¿Para saber dónde invertirlo?

    ¿Qué tanto nos interesa?

    Conozco gente muy profesional que viene ayudando a muchos con esto.

    Escríbeme de vuelta y te pongo en contacto.

    Tristemente, se suele esperar a estar enfermos, a ver comprometida la sostenibilidad de la empresa o a sufrir un fraude o perder dinero para empezar a aprender, a veces es muy tarde.

    Lo anterior no es nada diferente a compartir contigo reflexiones de una linda cena en Asunción.
    Seguro te van a servir.

    Hasta el próximo miércoles.

    Un abrazo apretado.

    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