/* global FusionApp, fusionAllElements, FusionPageBuilderApp */
var FusionPageBuilder = FusionPageBuilder || {};
( function () {
jQuery( document ).ready( function () {
FusionPageBuilder.fusion_submenu = FusionPageBuilder.ElementView.extend( {
onRender: function() {
var self = this;
setTimeout( function() {
jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' ).trigger( 'fusion-element-render-fusion_menu', self.model.get( 'cid' ) );
}, 300 );
},
/**
* Modify template attributes.
*
* @since 3.0
* @param {Object} atts - The attributes object.
* @return {Object}
*/
filterTemplateAtts: function ( atts ) {
var attributes = {};
this.values = atts.values;
// Force opacity submenu transition for vertical menus.
this.values.expand_transition = 'row' !== this.values.direction ? 'opacity' : this.values.expand_transition;
attributes.attr = this.buildAttr();
attributes.menuMarkup = 'undefined' !== typeof atts.query_data && 'undefined' !== typeof atts.query_data.menu_markup ? atts.query_data.menu_markup : 'No menu markup';
return attributes;
},
isDefault: function( param ) {
return this.values[ param ] === fusionAllElements.fusion_submenu.defaults[ param ];
},
/**
* Builds attributes.
*
* @since 3.0
* @return {Object}
*/
buildAttr: function () {
var attr = {
class: [
'awb-submenu',
'awb-submenu_' + this.values.direction,
'awb-submenu_icons-' + this.values.icons_position,
'awb-submenu_dc-' + this.values.dropdown_carets
].join( ' ' ),
style: ''
},
cssVarsOptions,
cssVariables,
self = this;
let expandMethod = this.values.expand_method;
if ( 'stacked' === this.values.submenu_mode && 'column' === this.values.direction ) {
attr[ 'class' ] += ' awb-submenu_v-stacked';
if ( 'always' === this.values.stacked_expand_method ) {
attr[ 'class' ] += ' awb-submenu_em-always';
}
expandMethod = this.values.stacked_expand_method;
if ( 'always' === this.values.stacked_expand_method ) {
expandMethod = 'click';
}
if ( 'click' === this.values.stacked_expand_method ) {
attr[ 'class' ] += ' awb-submenu_cm_' + this.values.stacked_click_mode;
}
} else {
attr[ 'class' ] += ' awb-submenu_dropdown';
attr[ 'class' ] += ' awb-submenu_expand-' + this.values.expand_direction;
attr[ 'class' ] += ' awb-submenu_transition-' + this.values.expand_transition;
}
attr[ 'class' ] += ' awb-submenu_em-' + expandMethod;
attr[ 'data-cid' ] = this.model.get( 'cid' );
attr[ 'class' ] += _.fusionGetStickyClass( this.values.sticky_display );
attr[ 'data-transition-type' ] = this.values.transition_type;
if ( '' !== this.values[ 'class' ] ) {
attr[ 'class' ] += ' ' + this.values[ 'class' ];
}
if ( '' !== this.values.id ) {
attr.id = this.values.id;
}
attr = _.fusionAnimations( this.values, attr );
attr = _.fusionVisibilityAtts( this.values.hide_on_mobile, attr );
this.values.main_justify_content = this.values.main_justify_content.replace( 'left', 'flex-start' ).replace( 'right', 'flex-end' );
this.values.sub_justify_content = this.values.sub_justify_content.replace( 'left', 'flex-start' ).replace( 'right', 'flex-end' );
cssVarsOptions = [
'line_height',
'transition_time',
'fusion_font_family_typography',
'fusion_font_variant_typography',
'text_transform',
'bg',
'align_items',
'justify_content',
'border_color',
'color',
'active_color',
'active_bg',
'active_border_color',
'submenu_color',
'submenu_bg',
'submenu_sep_color',
'submenu_items_padding_top',
'submenu_items_padding_right',
'submenu_items_padding_bottom',
'submenu_items_padding_left',
'fusion_font_family_submenu_typography',
'fusion_font_variant_submenu_typography',
'submenu_active_bg',
'submenu_active_color',
'submenu_space',
'submenu_text_transform',
'submenu_line_height',
'submenu_letter_spacing',
'submenu_max_width',
'icons_size',
'icons_color',
'icons_hover_color',
'main_justify_content',
'sub_justify_content',
'sticky_min_height',
'stacked_submenu_indent'
];
cssVarsOptions.margin_top = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.margin_bottom = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.items_padding_top = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.items_padding_bottom = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.items_padding_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.items_padding_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.gap = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.font_size = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.min_height = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_top = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_bottom = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.active_border_top = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.active_border_bottom = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.active_border_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.active_border_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_radius_top_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_radius_top_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_radius_bottom_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.border_radius_bottom_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_border_radius_top_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_border_radius_top_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_border_radius_bottom_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_border_radius_bottom_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_space = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_items_padding_top = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_items_padding_bottom = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_items_padding_left = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_items_padding_right = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.submenu_font_size = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.thumbnail_size_width = { 'callback': _.fusionGetValueWithUnit };
cssVarsOptions.thumbnail_size_height = { 'callback': _.fusionGetValueWithUnit };
attr.style += this.getCssVarsForOptions( cssVarsOptions );
cssVariables = {};
// Add box shadow as a full string.
if ( 'yes' === this.values.box_shadow ) {
cssVariables.box_shadow = _.fusionGetBoxShadowStyle( this.values );
}
jQuery.each( _.fusionGetFontStyle( 'typography', self.values, 'object' ), function( rule, value ) {
cssVariables[ 'fusion-' + rule + '-typography' ] = value;
} );
jQuery.each( _.fusionGetFontStyle( 'submenu_typography', self.values, 'object' ), function( rule, value ) {
cssVariables[ 'fusion-' + rule + '-submenu-typography' ] = value;
} );
attr.style += this.getCustomCssVars( cssVariables );
return attr;
},
/**
* Runs just after render on cancel.
*
* @since 3.5
* @return null
*/
beforeGenerateShortcode: function() {
var elementType = this.model.get( 'element_type' ),
options = fusionAllElements[ elementType ].params,
values = jQuery.extend( true, {}, fusionAllElements[ elementType ].defaults, _.fusionCleanParameters( this.model.get( 'params' ) ) );
if ( 'object' !== typeof options ) {
return;
}
// If images needs replaced lets check element to see if we have media being used to add to object.
if ( 'undefined' !== typeof FusionApp.data.replaceAssets && FusionApp.data.replaceAssets && ( 'undefined' !== typeof FusionApp.data.fusion_element_type || 'fusion_template' === FusionApp.getPost( 'post_type' ) ) ) {
this.mapStudioImages( options, values );
if ( '' !== values.menu ) {
// If its not within object already, add it.
if ( 'undefined' === typeof FusionPageBuilderApp.mediaMap.menus[ values.menu ] ) {
FusionPageBuilderApp.mediaMap.menus[ values.menu ] = true;
}
}
}
}
} );
} );
}( jQuery ) );
February 2024 – Greenview Turf
Characteristic Details Active Ingredient Chloroquine Phosphate Available Dosages 250 mg, 500 mg Common Use Antimalarial Treatment Prescription Required Link Learn More Why is Generic Chloroquine Prescribed? Chloroquine Phosphate 250 mg…
Feature Details Active Ingredient Sildenafil Citrate 100 mg Form Chewable Tablets Onset 15-30 Minutes Duration 4-6 Hours Visit Cenforce Soft Site Cenforce Soft, a widely recognized name in the realm…
Characteristics Details Active Ingredients Sildenafil 100 mg, Duloxetine 30 mg Form Tablet Indications Erectile Dysfunction, Premature Ejaculation Route Oral Duration of Action 4-6 hours More about Malegra DXT Plus Chemical…
Understanding Mitigare: A New Frontier in Equine Health In the realm of equine health, the introduction of Mitigare represents a revolutionary stride toward enhancing the vitality and well-being of horses.…