"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 ) ); ¿Es la inteligencia artificial necesaria para vender? - Miguel Rozo

    ¿Es la inteligencia artificial necesaria para vender?

    ¿Es la inteligencia artificial necesaria para vender?

    ¿Es la inteligencia artificial necesaria para vender?

    Mi respuesta es un rotundo NO.

    ¿Te ayuda a potencializar tus ventas?

    Aquí hay un SI enfático.

    La inteligencia artificial es una herramienta muy poderosa.

    Déjame lo pongo de 2 maneras diferentes.

    Para vender no necesitas un CRM, tenerlo te da una ventaja enorme.

    O aún más coloquial, puedes clavar una puntilla con el tacón de un zapato, pero si tienes un buen martillo 🔨 te va a quedar mejor y lo vas a hacer más rápido.

    Y eso creo que es justo lo que puede hacer la IA por ti, darte tiempo ⏳y mejores formas de hacerlo.

    Luego viene el cómo y lo que está sucediendo está confundiendo a muchos. Es posible que tú mismo te hayas hecho preguntas cómo estás:

    ¿Por dónde arranco?

    ¿Qué herramientas uso?

    ¿Qué curso es el que debo hacer?

    Lo primero. La IA no reemplaza el diseño de tu estrategia. Tampoco lo hace con la construcción de tu sistema de ventas y no te da las tácticas para tener mejores resultados.

    Recuerda que vender no es un tema de números, es un tema de habilidad y desarrollar la habilidad te va a permitir incrementar tu probabilidad de conversión.

    Por un rato más, vamos a seguir necesitando al piloto detrás de la máquina.

    Lo que te voy a contar a partir de este momento, son las formas como yo utilizo la IA.

    Teniendo en cuenta que la habilidad más importante que debe tener un vendedor, es el entendimiento, es para lo que yo más lo uso.

    Pasé de hacer preguntas a clientes potenciales, al mercado, a hacérselas a la inteligencia artificial.

    Te doy un ejemplo:

    Menciona cuáles son los principales dolores por los cuales una empresa que vende repuestos para maquinaria en Colombia, puede estar sufriendo para conseguir sus resultados.

    ¿Cuál es el estado del arte para este tipo de empresas en el mercado Colombiano?

    ¿Cuáles son los mayores riesgos de mercado, que tienen estas empresas?

    Y genero una conversación que me da mucha información en un periodo muy corto de tiempo.

    Lo hago en Chat GPT, Gemini y Copilot y comparo.

    Me ha reemplazado también el uso de Google y la interacción de poder preguntar y repreguntar, me profundiza las búsquedas que hago.

    Otra herramienta que utilizo mucho es el Chat GPT para You Tube, para generación de conocimiento. Me hace resumen, en minutos, de cualquier vídeo que antes me gastaba una eternidad viendo, por lo menos puedo determinar si vale la pena o no verlo.

    Algo que es innegable, es el uso de la inteligencia artificial en la generación de contenido y creación de marketing, desde ideas de contenido, generación de imágenes y vídeos. Es algo que no uso, pero por física falta de tiempo, qué incoherente, ¿no?

    Pensaría que ir más allá, es algo que debemos delegar. En un taller que hicimos en una empresa de tecnología, me contaban de una solución que habían entregado a una empresa de abogados donde habían digitalizado la documentación de los procesos y la IA permitía en cuestión de segundos consultar históricos y así mejoraron radicalmente el servicio al cliente. Ni hablar de lo que redujeron los costos.

    Entiendo que eventualmente tengas angustia y te taladres la cabeza pensando en como carajos me monto en la ola de la inteligencia artificial. Ese no es el camino, no es usarla por usarla.

    Mejor piensa en cada proceso separado que tienes, mira como lo manejas actualmente y mira como optimizar el proceso usando la IA como herramienta.

    Y por último, no te deslumbres por cada cosa que aparece nueva, esto va a ser una constante de aquí hacia adelante. Aparecen cosas maravillosas, con muy poca funcionalidad real.

    Un abrazo apretado,

    Miguel Rozo

    Para que dejes de hacer propuestas comerciales en las que tus clientes solo ven el precio https://propuestascomercialesganadoras.com

    Si necesitas de mi ayuda, te puedes contactar conmigo por acá: https://switchy.miguelrozo.co/whatsapp

    Si quieres comprar un libro que está revolucionando el concepto de como vender, lo puedes comprar acá: https://switchy.miguelrozo.co/libro

    Si te pareció útil la newsletter de hoy, compártela, abajo el link para que otros se suscriban. Es gratis. https://switchy.miguelrozo.co/newsletter

    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