"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 ) ); LA HABILIDAD PARA REBOTAR ESTÁ EN LA COMUNICACIÓN - Miguel Rozo

    LA HABILIDAD PARA REBOTAR ESTÁ EN LA COMUNICACIÓN

    LA HABILIDAD PARA REBOTAR ESTÁ EN LA COMUNICACIÓN

    Crear o sobrevivir. Por que las empresas tienen alternativas para elegir.

    Un aprendizaje de que podemos optimizar en nosotros y en nuestros negocios.

    Muchos de nosotros tuvimos que arrancar de cero a partir de lo sucedido el año pasado, por diferentes razones, muchas de ellas relacionadas con la crisis económica generada por el Covid, por que la crisis desnudó las ineficiencias en las empresas, otras totalmente ajenas al Covid pero muy relacionadas con búsquedas profesionales diferentes, pero también pudo estar relacionado con los aprendizajes que tuvimos, las oportunidades que se abrieron y las cosas que entendimos en el camino que teníamos que asumir y ejecutar.

    He podido ver casos de no pocas personas que cuando se les movió el piso, sintieron que su vida se derrumbaba. Pero esas mismas personas con el paso del tiempo encontraron caminos, encontraron alternativas, y hoy los veo felices, aprendiendo nuevas cosas en el camino que seguramente no lo hubieran hecho si las condiciones no hubieran cambiado. Saltaron, muchos de ellos, a otros los empujaron, pero lo verdaderamente relevante es que todos han venido encontrando piso, y en algunos casos pareciera piso de caucho porque han rebotado en grande.

    Cuando me comunico con personas o empresas que están pasando por momentos de miedo, zozobra e incertidumbre, con marcadas dificultades, se me ocurre preguntarles 3 cosas:

    1.   ¿Qué libros está leyendo que le ayuden a solucionar su problema?

    2.   ¿Qué cursos está haciendo que le ayuden a solucionar su problema?

    3.   ¿Qué ayuda o acompañamiento está buscando en otras empresas o personas que le permitan solucionar sus problemas?

    Siempre van a existir las oportunidades, pero tenemos que hacer algo para encontrarlas. Es real, sucede, las oportunidades están. Lo que sí es irreal, es querer que las cosas cambien haciendo lo mismo que venimos haciendo, o no hacer nada y esperar que las cosas pasen.

    Pequeñas perillas mueven grandes puertas. La primera perilla que yo movería, es la perilla de la comunicación. “Es tan importante, incluso más importante, la forma como se dice que lo que se dice”.

    Los negocios por más que sintamos que es el mundo formal, son emocionales. Está más que comprobado que el 95% de las decisiones de compra son emocionales, independientemente que después racionalicemos para justificar nuestra decisión.

    En nuestra comunicación tenemos que hacerle ver a nuestro mercado objetivo que sabemos qué les duele, que sabemos que genera su dolor, que sabemos cómo solucionarlo, que ya lo hemos hecho antes y que lo volveremos a hacer por ellos, por su bienestar.

    Lo único que genera movilización es el dolor. Piensen en su caso propio, piensen en sus últimas decisiones de compra, ¿Qué dolor o necesidad las generó?

    Nos pasa también que nos volvemos muy formales, nos ponemos el traje de trabajador, donde pertenecemos a una compañía y nos volvemos aburridos, acartonados, no enamoramos a nadie. De esto se trata, de enamorar a nuestro mercado ¿no?

    Imagínenme escribiéndole una carta de amor a mi esposa de aniversario:

    “Apreciada María José, por medio de la presente quiero desearte un feliz aniversario. Me siento honrado de que me hayas permitido compartir contigo todos estos años. Cómo has podido ver, mis grandes valores están en el servicio y la calidad, tengo la experiencia de hacerte sentir bien.

    Aprovecho este momento de celebración para confirmarte que esta oferta es valida hasta el 28 de febrero, donde tendré que revisar si se hace necesario un ajuste en los precios. Como regalo especial este mes, toda la logística de camino a tu oficina ida y vuelta está incluida en el precio, lo que no está incluido es el IVA.”

    Debería hacer una encuesta preguntando dónde creen que voy a dormir la próxima semana si envío esta comunicación. ¡Bajito, el sofá!

    ¿Por qué pensamos que con los clientes es diferente? Al igual que en nuestras relaciones personales, se trata de entretener, se trata de hacerlos sentir bien, que se sientan identificados con nosotros, que logremos llenar un vacío que tienen, que nuestra presencia, nuestra oferta y nuestra experiencia logren solucionar un problema, satisfacer una necesidad.

    No lo duden un minuto, hagan reír a su mercado. No les digo que seamos payasos, digo, hagamoslos pasar un rato divertido.

    Seguimos con la comunicación. En el proceso de escribir este artículo decidí consultar varias páginas web al azar, y esto fue lo que me encontré:

    “Contamos con profesionales de visión integral y experiencia para entregarle lo mejor para su compañía”.

    “Somos un referente en Colombia en la prestación de servicios xxxxx”.

    “Somos profesionales rigurosos y los asociados han sido de alta calidad, su trabajo es impecable, nos diferencia el servicio al cliente”.

    “Tenemos 22 de años de experiencia entregando asesoría en xxxxx a empresas de diferentes tamaños en Colombia”.

    “Estamos 100% comprometidos con la excelencia, le garantizamos la orientación adecuada y la búsqueda óptima de la mejor solución de su caso”.

    “Somos un grupo de profesionales con alto nivel de especialización”.

    ¿Ustedes que opinan? ¿Les genera algo? A mi no. ¿Algo que nos genere recordación? Más grave aún, no hay ningún tipo de diferenciación: “Somos profesionales, expertos, líderes, únicos, tenemos calidad, experiencia, servicio. 

    ¿Cómo hacer para que mis clientes se acuerden de mí, si todos decimos lo mismo?

    Si ya tenemos clara la importancia de la comunicación, no podemos permitirnos que aparezcan las excusas en el camino para no tener las competencias para esto. La comunicación no es más que una habilidad y como cualquier habilidad se aprende, y se puede aprender muy bien. O podemos pedir ayuda, no tenemos que ser buenos en todo ni saber acerca de todo.

    Por último, si me siguen y comparten la importancia de la comunicación, actúen, que no sea ese nivel de conciencia sobre el cual decimos, si, tiene razón, y no hacemos nada al respecto. El cuándo es ya!

    Cualquier plan o reflexión sin ejecución no es más que un cuadro en una pared y si nuestro negocio no es un museo o una tienda de arte, no pasa de ser un elemento de decoración.

    Feliz fin de semana.

    Un abrazo,

    Miguel Andrés Rozo

    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