"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 REALMENTE IMPORTANTE LA DISCIPLINA PARA MI NEGOCIO? - Miguel Rozo

    ¿ES REALMENTE IMPORTANTE LA DISCIPLINA PARA MI NEGOCIO?

    ¿ES REALMENTE IMPORTANTE LA DISCIPLINA PARA MI NEGOCIO?

    LA DISCIPLINA TE LLEVA A OTRO NIVEL, SI LE INCLUYES METODOLOGÍA, ERES IMPARABLE

    ­
    ­­
    ­
    Este fin se semana me oí mi primer episodio del podcast “Elévate” de Silvia y Francisco.

    Al igual que como lo haría cualquiera, busqué en las descripciones de los episodios para decidir por donde arrancar y encontré mi palabra favorita: disciplina.

    En realidad, son 2 favoritas, esta es una de ellas.

    Es un episodio que puedo recomendar, vale la pena que lo escuchen, yo lo encontré en Spotify, pero asumo que esta en todas las plataformas, aquí me faltó disciplina para investigar.

    Entonces lo primero es definir que es disciplina. La definición de Francisco me encantó, dijo, es hacer lo que tienes que hacer así no tengas ganas.

    También hay un debate interesante entre ellos 2 acerca de lo que te gusta y lo que no te gusta, de entender que hay cosas que por más que no sean de tu agrado, las debes hacer.

    Claro, pero en mi opinión se puede complementar con 2 cosas, primero la definición del objetivo, porque, si este es claro y es tuyo, lo tienes apropiado, las cosas que tengas que hacer las haces sin problema y con gusto, por que no estas viendo la tarea, estas viendo tu objetivo.

    Lo segundo es enmarcarlo dentro del valor, para lo cual también se requiere ser disciplinado y algo de valentía, si no te agrega valor, es algo que hay que eliminar.

    Se me viene a la cabeza una frase que dijo Pamela Valdes fundadora de Beek,

    “si te gusta surfear, tienes que tomarle el gusto a remar con tus brazos”

    yo diría y hasta tomar agua salada.

    Pero para no entrar en detalles de definiciones particulares, voy a tratar de resumirles lo que es la disciplina para mí.

    Es no abandonar a ninguno de mis clientes hasta que empiecen a conseguir resultados. Mantengo el canal abierto con todos, independientemente de que ya no estemos trabajando juntos, si me contactan siempre respondo y estoy todo el tiempo pensando como les agrego más valor.

    Es empujarlos a que ejecuten, lo más fácil sería dejarlos que avanzaran a su propio ritmo y concluir que no se dio por que no hicieron algo. Me gusta pedirles tareas y verificar que se hagan. Hay que hacer que las cosas pasen.

    Es darles respuesta permanente. No siempre lo logro inmediatamente, pero siempre respondo y trato de agregar el mayor valor posible en cada respuesta.

    Es escribir esta newsletter cada semana, no importa si hemos tenido un luto familiar como me ha pasado, si es semana santa, navidad o año nuevo. Algunos artículos han tenido mayor acogida que otros, es sentarse a escribir sin pensar en el resultado.

    Es responder cada uno de los comentarios que me llegan del emailing que enviamos a través del email, de LinkedIn y de las redes sociales. Promesa de servicio: A todos les doy respuesta, así sea un simple gracias.

    Es estar creando documentos, plantillas, presentación, esquemas, graficas, que les hagan la vida más fácil a nuestros clientes. Es una constante evolución.

    Es cumplir con mis compromisos de reuniones, llegar a tiempo, tener todo muy agendado, correr lo que tengo que correr en los entrenamientos, fortalecer cuando toca y comprometerme con temas como mis Partners de golf y mi equipo de fútbol, si me comprometo allí estaré.

    Es tener construidos los OKRs de mi empresa, lo resultados claves, las tareas e ir monitoreando la ejecución y aprendiendo del proceso.

    Es estar presente en cada conversación que tengo, si estoy con alguien, estoy allí.

    Es hacer todo lo posible para que la semana de los doERs y así como el podcast salgan lo mejor posible, así la vida en determinados momentos no nos dé.

    Y por último, disciplina es siempre priorizar mi familia, saber que son ellos los que sin decir ni hacer nada siempre me están agregando valor.

    Decía Silvia en el podcast que curiosamente la disciplina siendo uno de los elementos más importantes para las empresas es una de las habilidades que menos se mencionan como relevantes cuando se ha preguntado.

    Pero, la disciplina, tiene un atenuante, si no se usa con metodología, no vas a ser eficiente en la consecución de resultados, si nadie nos dice como se hace y como no se hace, no vamos a llegar a ningún Pereira como decimos en Colombia.

    Para ser parte de los que se benefician de encontrar acompañamiento y respaldo con disciplina, por favor envíame un mensaje por acá, https://wa.me/message/3R72TBB324MLM1

    Una forma de llevar tus resultados a un siguiente nivel.

     

    Un abrazo,

     

    Miguel Andrés Rozo
    CEO netING
    mrozo@miguelrozo.co
    www.neting.co
    www.flow.page/mrozo

     

    ­­
    ­
    «Me paro al lado de dueños y gerentes de empresas para lograr resultados en ventas y crecimientos sostenibles. Creando aprendizaje en la ejecución,­ sin planes y capacitaciones eternas que nadie ejecuta»
    ­

    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